如何选择AI芯片?

2020-06-28 14:36:00
刘大牛
转自文章
230
AI 应用有多种可能,主要的挑战是为正确的目的选择合适的解决方案,并认识到,仅因为 AI 可以应用于特定的流程或问题,并不意味着应该这样做。尽管 AI 被认为是解决几乎所有问题的理想解决方案,但成功应用有三个主要要求。


首先,需要有足够数量的优质数据。仅仅因为有数据并不意味着那些数据可以解决关注的问题。实际上,即使使用最好的工具,太多不相关的数据会增加数据处理的难度与成本。假设有可用数据,问题就变成了需要花费多少努力来清理数据,并应用它。


这比看起来要难得多,因为设计 AI 应用时,基本上是在处理移动中的目标。在软件开发,这是正常的,因为在多数情况下可以对软件进行更新和打补丁。对于硬件工程师,这需要了解软硬分工的界线,因为在硬件出现故障的地方,软件需要进行更正。在软件和硬件相互依赖程度更高的设计中,它会影响所有方面,从性能和功耗、到整体可靠性。


第二个要求是问题本身必须能够从 AI 中受益。如果基于 AI 模型开发算法或测试平台的时间过长,则不一定会使设计受益。更糟糕的是,如果 AI 模型存在缺陷,则很难回溯并找出问题所在,因为 AI 在很大程度上是不透明的。AI的思维是持续自适应和优化,会创造一个不可预测结果的变量。


与更传统的方法相比,使用 AI 必须有明显的好处。但是了解 AI 可以带来什么好处,以及要实现这些好处将需要多少工作,并不单纯。它具有许多经济变量,可能随项目、公司以及工程团队的专业知识而变化。


第三个要求是结果必须是可重复的、有结论的,这意味着它们需要以没有 AI 的结果为比较 基准 。这可能是一个漫长的过程。随着芯片变得越来越复杂,从布局到验证和调试。AI 对于查找和理解大量数据中的模式非常有用,尤其是在不同团队协作的情形。但是要了解 AI 的真正价值需要花费时间,在半定制的芯片中 -- 销售量在数十万或数百万 -- 市场机会不一定允许这个选择。


构建一种芯片,将其集成到 10 亿部智能手机中,甚至跨平台的芯片,是一回事。将 AI 集成到一个少量生产的特定应用芯片中是另一回事。证明 AI 及其迭代的价值不成问题,关键在各种 AI 在特定设计中的应用。面临的挑战是:知道何时何地应用它,到目前为止,这更像是一门艺术。


有数百个(甚至数千个)AI 芯片初创公司,以及成熟半导体公司中的数十个项目,正在创建 AI 芯片或将 AI 技术嵌入产品线中。这些芯片中大多数都在设计中,尚未批量生产,有些会失败。在过去的 12 到 18 个月中,训练算法持续发展变化,如何选择最佳的芯片架构以适用多个终端市场和用例,是一大挑战。这使任何单一芯片架构很难在很长一段时间内占据主导地位。


机器学习 可以在不同处理器上运行,选择取决于关注的指标。现存的 CPU 就可执行轻量的 机器学习 。数据中心的训练芯片对速度要求极高,技术与制程门槛高。与多元化应用结合的推理芯片百花齐放,在边缘进行更多的推理,可降低延迟与提高数据安全,与数据中心服务器或大型 GPU 相比,边缘推理所需的功耗需要低几个数量级。即使谈论边缘,可能涵盖从底层物联网 (IoT) 到边缘数据中心,需求差异很大,工业 IoT 与消费市场的 IoT 也不同,后者例如 AR/VR 与可穿戴装置,通常能耗越低越好 。


不同 AI 应用的工作负载差异决定芯片架构的选择。例如,许多以音频为重点的 机器学习 网络都用繁重的标量 (Scalar),而矩阵 (Matrix) 相对较轻,而对象检测 (Object Detection) 算法多有繁重的矩阵,但在标量需求相当轻。算法不同,同为 线性代数 矩阵仍有不同密度,使用密集矩阵的 深度学习 ,例如医疗影像处理辨识,其最适处理器架构作为稀疏矩阵计算则非优化。另外,应用的规模也是一个考虑因素。


架构没有一体适用。设计考量包括功耗,性能,面积和数据带宽的特别要求,必需评估有形与无形的完整成本,选择 AI 芯片要考虑的,除了芯片本身的成本,还包括以下与总拥有成本 (Total Cost of Ownership) 相关之因素。
  • 效能表现:芯片的规格,这是基本;

  • 微处理器的指令集架构:对于软件与软件的集成程度与特别运算至关重要; 实际影响,例如,较低位分辨率的处理对于AI很有用,它可以提高效率,而不会显着降低准确性;另外,边缘计算 的特别需求,例如:支援网络连接与异构计算的负载平衡;

  • 是否有基准 (Benchmark) 的 AI 效能数据:例如 MLPerf,如果没有则需自己实验比较;

  • AI 用例适配:如前述,根据应用需求而异,主要分为训练、推理、与实时持续学习 (RealTime Learning) 的情形;

  • 软件堆栈的成熟度:它必须提供对多种开发语言的支持。传统上,芯片嵌入式应用程序支持 C / C ++,但 AI 应用程序需要支持的主要是 Python,将来 Julia 的地位会提高; 需有系列开发工具,供程序员编写代码,建模,模拟,测试,对目标芯片上应用程序作调试; 另外,该芯片与生态系统与工具集集成的程度 -- 对 AI 流行框架/库的支持,例如:TensorFlow MXNet 等 -- 这意味着应用开发人员无需学习新知识; 能支持异构计算方法 -- 应用程序可以在多个微处理器运行,以利用不同优势,有开发环境无缝支持这些不同类型的处理器;

  • 功耗 (Power) 要求:除了边缘 AI 的应用需要极低能耗,数据中心的训练芯片能耗也是重要成本因子;

  • 记忆体效率:数据储存单元与计算单元之间的传输效率已成 AI 计算的瓶颈,许多新的架构提出,以求降低这个传输时间,例如:Processor-in-Memory (PIM);

  • 芯片连接:片上连接决定数据流动速度,称为片上网络(NoC)的新型Bus 受关注。片外通信在系统级别发挥作用,是 AI 芯片组的关键规格标准。DDR5 或 HBM 是流行的存储器接口。与 CPU 沟通经常使用 PCI Express。OpenCAPI 则是 CPU 和加速器芯片之间的沟通。

  • 算法变更周期速度:硬连线的算法部分越多,做改变要花费的时间就越长。改版需要不仅来自纠错,也可能来自市场与环境变化,所以算法需更新。所以这是一个重要因子。

  • 芯片安全:安全已成为芯片使用中考虑因素中越来越重要的一部分。芯片需要至少与安全链的其他部分一样强大。这可能涉及将安全凭证嵌入硬件。

半导体行业观察
半导体行业观察

最有深度的半导体新媒体,实时、专业、原创、深度,30万半导体精英关注!专注观察全球半导体最新资讯、技术前沿、发展趋势。

产业 AI芯片
1
发表评论
评论通过审核后显示。
文章分类
联系我们
联系人: 透明七彩巨人
Email: weok168@gmail.com