人工智能发展迅速,创新步伐不断加快。然而,虽然软件行业已经成功在生产中部署了 AI,但包括汽车、工业和智能零售等在内的硬件行业,在 AI 产品化方面仍处于初级阶段。阻碍 AI 算法概念验证 (PoC) 成为真正硬件部署的主要差距仍然存在。这些不足之处在很大程度上是由于“小数据”、数据输入“不完美”以及更 “先进模型”的不断演进所造成的。对于软件开发者和 AI 科学家们来说,该如何应对这些挑战呢?我坚信, 应对之道便是自适应硬件。
小数据
谷歌 ( Goolge ) 和脸书 ( Facegbook) 等互联网巨头每天都会定期收集和分析海量数据。然后,他们使用这些数据来创建拥有可接受性能的 AI 模型。在这种情况下,用于训练模型的硬件与用于运行模型的硬件有很大不同。
另一方面,在硬件行业,大数据的可用性受到更多的限制,导致 AI 模型不够成熟。因此,收集更多数据和运行“在线模型”(为不断提高精度在相同的已部署硬件上执行训练和推断)成为一种主要推动力。
为了解决这一问题,自适应计算(如:现场可编程门阵列 FPGA 和经过边缘验证的自适应片上系统 SoC 器件)可以同时运行推断和训练,从而不断进行自我更新以适应新捕获的数据。而传统的 AI 训练则需要借助云或大型本地数据中心,并花费数天和数周的时间才能完成。另一方面,真正的数据主要是在边缘生成的,在同一个边缘设备中运行 AI 推断和训练不仅可以降低总拥有成本 (TCO),而且还可以减少时延和安全漏洞。
数据输入“不完美”
虽然发布 AI 模型 PoC 来展示使用 X 射线图像检测新冠病毒的精度变得越来越容易,但这些 PoC 几乎总是基于精心整理的干净的输入图片。在现实生活中,来自医疗设备、机器人和移动汽车的摄像头和传感器输入,会出现随机失真现象,例如暗淡的图像和各种角度的物体。这些输入首先需要经过复杂的预处理以进行清理和重新格式化,然后才能输入到 AI 模型中。对于理解 AI 模型的输出并做出正确的决策而言,后处理是非常重要的。
的确,有些芯片可能非常擅长 AI 推断加速,但它们几乎总是只加速完整应用的一部分。以智能零售为例,预处理包括多流视频解码,然后是传统的计算机视觉算法 ,用于调整视频的大小、重塑视频的形状和转换视频的格式。此外,后处理还包括对象跟踪和数据库查找。最终客户不太关心 AI 推断的运行速度,而是关心它们是否能满足整个应用管道的视频流性能和/或实时响应能力。FPGA 和自适应 SoC 在使用特定领域架构 (DSA) 加速这些预处理和后处理算法方面有着良好的记录。此外,添加 AI 推断 DSA 将可以支持对整个系统进行优化,以满足端到端的产品需求。
图1:DSA 需要加速 AI 和非 AI
图片来源:Ben Dickson
更“先进模型”的不断演进
AI 研究界可以说是当今技术领域最活跃的领域之一,世界各地的顶级研究人员每天都在发明新的 AI 模型。这些模型提高了精度,降低了计算要求,并满足了新型 AI 应用的需求。然而,这种快速的创新,无疑也持续给现有的半导体硬件器件带来了压力,需要更新的架构来有效地支持现代算法。MLPerf 等标准基准测试证明:在运行实际 AI 工作负载时,最先进的 CPU、GPU 和 AI ASIC 芯片,远远低于这些技术提供商们所宣传的 30% 的性能。这种差距不断推动着业界对新型 DSA 的需求,以期跟上创新的步伐。
驱动新型 DSA 需求的主要动力,包括以下这些最新趋势。深度卷积是一个新兴的层,需要高存储器带宽和专用内部存储器缓存才能高效运行。AI 芯片和 GPU 通常采用固定的 L1/L2/L3 缓存架构和有限的内部存储器带宽,导致效率十分低下。
研究人员不断发明新的定制层,而当前的芯片,本身并不提供本地支持。出于这个原因,它们需要在无加速的情况下在主机 CPU 上运行,这往往形成了性能瓶颈。
稀疏神经网络是另一种富有前景的优化技术。在这种网络中,通过修剪网络边缘、删除卷积中的精细颗粒矩阵值等措施,网络被高度修剪,简化程度有时能高达 99%。然而,要在硬件中高效运行这一优化,则需要专门的稀疏架构,并为这些运算提供编码器和****,大多数芯片都不具备这些功能。
二进制/三进制属于极端优化,让所有数学运算都按单个数位操作。大多数 AI 芯片和 GPU 仅有 8 位、16 位或浮点计算单元,因此采用极低精度并不能获得任何性能或功耗效率。FPGA 和自适应 SoC 是完美的,因为开发者可以开发完美的 DSA,并根据产品的工作负载对现有器件进行重新编程。作为证明,最新的 MLPerf 包括赛灵思与Mipsology合作提交的一份文件,该文件使用 ResNet-50 标准基准测试实现了 100% 的硬件数据表性能。
没有硬件专业知识?毫无问题!
一直以来,FPGA 和自适应 SoC++ 面临的最大挑战,就是需要硬件专业知识来实施和部署 DSA。好消息是:现在有了支持 C++、Python 和流行 AI 框架(如 TensorFlow 和 PyTorch)的工具,如:ViTIs 统一软件平台,软件和 AI 开发者之间的差距被大大缩小了。
除了软件抽象工具方面的更多开发以外,开源库(如 ViTIs 硬件加速库)在开发者社区中的采用度也显著提高。在赛灵思最近举办的设计竞赛中,吸引了 1000 多名开发者,并发布了众多创新项目,从用手势控制的无人机,到使用二进制神经网络的强化学习,不一而足。重要的是,大多数提交的项目都是由不具备 FPGA 使用经验的软件和 AI 开发者完成的。这证明 FPGA 行业正在采取正确的措施,使软件和 AI 开发者能够化解现实生活中的 AI 产品化难题。
图3:灵活应变万物智能
直到最近,普通软件开发者和 AI 科学家在想要利用硬件的自适应特性时仍会望而却步, 因为这在以前都需要特定的硬件专业知识。而现如今,通过借助新的开源工具,软件开发者一样能够运用自适应硬件。编程难度的下降,使得数十万名软件开发者和 AI 科学家们,能更充分地受益于 FPGA 和自适应 SoC 的优势,让硬件解决方案成为下一代应用的选择。事实上,DSA 将代表 AI 推断的未来,软件开发者和 AI 科学家将借助s硬件的自适应特性来开发他们的下一代应用。