AI和ML应用程序将如何从向量处理中受益
不出所料,人工智能(AI)和机器学习(ML)应用已对社会产生影响。我们每天涉及的许多行业,例如银行,金融服务和保险(BFSI)以及数字化医疗保健,都可以从AI和ML应用程序中受益,以帮助他们优化关键任务操作并实时执行功能。
BFSI部门是AI和ML功能的早期采用者。正在实施自然语言处理(NLP),以实现个人可识别信息(PII)隐私合规性,聊天机器人和情感分析;例如,挖掘社交媒体数据以进行承保和信用评分,以及进行投资研究。预测分析评估哪些资产将产生最高的回报。其他AI和ML应用程序包括将纸质文档数字化和通过大量文档数据库进行搜索。此外,异常检测和规范分析已成为BFSI网络安全部门用于欺诈检测和反洗钱(AML)的关键工具。1个
寻找大流行解决方案的科学家在很大程度上依赖于医疗保健应用程序中的数据采集,处理和管理。他们正在转向AI,ML和NLP来跟踪和控制,并获得对该疾病的更全面的了解。AI和ML的应用包括开发疫苗的医学研究,跟踪疾病的传播,评估干预的效果,在社交媒体中自然语言处理以了解对社会的影响等。2
处理数据雪崩
BFSI应用程序(例如欺诈检测,AML应用程序和聊天机器人)或健康应用程序(例如跟踪大流行)的燃料是包含大量结构化和非结构化数据的决策支持系统(DSS)。总体而言,专家预测,到2025年,全球将产生79万亿GB的数据。3大量的数据使基于标量的高性能计算机难以有效地为其预期应用运行DSS的数据挖掘(DM)。事实证明,功能更强大的加速器卡(例如,由优化的中间件支持的矢量处理引擎)可以有效地处理企业数据湖以填充和更新数据仓库,从中可以将有意义的见解提供给预期的决策者。
向量处理器的复兴
目前,矢量处理正在复苏,由于成本原因,矢量处理以前被保留给世界上最强大的超级计算机使用。向量处理架构正在不断发展,以使用更少的功率以更小,更便宜的外形提供超级计算机性能,并且它们开始超过主流AI和ML应用的标量处理。这导致它们成为高性能计算应用程序中的主要计算引擎,从而将标量处理器释放给其他关键任务处理角色。
当对某些类型的大型数据集进行操作时,矢量处理具有优于标量处理的独特优势。实际上,矢量处理器的速度可以比标量处理器快100倍以上,尤其是在处理大量ML应用程序典型的统计数据和属性值(例如稀疏矩阵运算)时。
虽然标量处理器和矢量处理器都依赖指令流水线,但是矢量处理器不仅对指令流水线,而且对数据流水线,这减少了“先取后解码”步骤的数量,进而减少了解码的周期数。为了说明这一点,请考虑图1所示的简单操作,其中将两组10个数字加在一起。使用标准编程语言,这是通过编写一个循环来执行的,该循环依次获取每对数字并将它们加在一起(图1a)。
当由矢量处理器执行时,此任务仅需要两次地址转换,并且“获取和解码”仅执行一次(图1b),而不是标量处理器所需的10次(图1a)。而且由于矢量处理器的代码较小,因此可以更有效地使用内存。现代矢量处理器还允许同时执行不同类型的操作,从而进一步提高了效率。
为了将向量处理功能带入比科学方法更不复杂的应用程序中,可以将向量处理器与标量CPU结合使用,以产生“向量并行”计算机。该系统包括一个标量主机处理器,一个运行LINUX的矢量主机以及一个或多个矢量处理器加速器卡(或矢量引擎),从而创建了一个异构计算服务器,非常适合广泛的AI和ML工作负载以及数据分析应用程序。在这种情况下,主要的计算组件是矢量引擎,而不是主机处理器。这些矢量引擎还具有独立的内存子系统,以提高系统效率,而不是依靠主机处理器的直接内存访问(DMA)来通过加速卡的I / O引脚路由数据包。
软件事项
处理器的性能仅与交付给它们的编译器和软件指令一样好。理想情况下,它们应基于行业标准的编程语言,例如C / C ++。对于AI和ML应用程序开发,有几种可用的框架,并且还有更多新兴的框架。设计良好的矢量引擎编译器应同时使用行业标准的编程语言和开源的AI和ML框架,例如TensorFlow和PyTorch。应该使用成熟的框架(例如Apache Spark和Scikit-Learn)对数据库管理和数据分析采取类似的方法。这种软件策略允许将旧代码无缝迁移到矢量引擎加速卡。此外,通过使用消息传递接口(MPI)来实现分布式处理,
结论
AI和ML正在推动计算的未来,并将在未来继续渗透更多的应用程序和服务。这些应用程序部署中的许多部署将在较小的服务器群集中实现,甚至可能在单个机箱中实现。要实现这一壮举,需要重新审视AI技术和异构计算的整个领域。具有高级流水线功能的矢量处理器是一项很久以前就证明过的技术。向量处理与针对并行流水线进行了优化的中间件相结合,降低了新的AI和ML应用程序的进入壁垒,并且将解决当今和未来的挑战,这些挑战曾经是超大规模云提供商所无法实现的。