Jessie Chen作者非凡创芯力来源

如何选择AI芯片?

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 流行框架/库的支持,例如:TensorFlowMXNet 等 -- 这意味着应用开发人员无需学习新知识; 能支持异构计算方法 -- 应用程序可以在多个微处理器运行,以利用不同优势,有开发环境无缝支持这些不同类型的处理器;

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

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

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

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

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

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

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

产业AI芯片
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

Julia技术

Julia 是MIT设计的一个面向科学计算的高性能动态高级程序设计语言,项目大约于2009年中开始,2018年8月JuliaCon2018 发布会上发布Julia 1.0。据介绍,Julia 目前下载量已经达到了 200 万次,且 Julia 社区开发了超过 1900 多个扩展包。这些扩展包包含各种各样的数学库、数学运算工具和用于通用计算的库。除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ 和 Java 中的库,这极大地扩展了 Julia 语言的使用范围。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

边缘计算技术

边缘运算(英语:Edge computing),又译为边缘计算,是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。边缘运算将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。在这种架构下,资料的分析与知识的产生,更接近于数据资料的来源,因此更适合处理大数据。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

MXNet技术

MXNet是开源的,用来训练部署深层神经网络的深度学习框架。它是可扩展的,允许快速模型训练,并灵活支持多种语言(C ++,Python,Julia,Matlab,JavaScript, Go,R,Scala,Perl,Wolfram语言)

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

推荐文章
暂无评论
暂无评论~