利用“先天与后天”方法开发人工智能 SoC

Synopsys 产品营销经理 Ron Lowman

在过去十年里,设计人员开发出了芯片技术,它能以足够快的速度运行先进的深度学习数学,以探索和实现对象识别、语音和面部识别等人工智能 (AI) 应用。目前的机器视觉应用通常比人类更精确,是推动新的片上系统 (SoC) 投资以满足日常应用 AI 开发的一个主要功能。在视觉应用中使用卷积神经网络 (CNN) 和其他深度学习算法已经产生了巨大影响,使得 AI 功能在 SoC 中随处可见。Semico 的 2018 年度 AI 报告对此进行了切题的总结:“......一些级别的 AI 功能在各类硅片中都表现出强大的功能和强劲的势头。”

除了视觉之外,深度学习还被用于解决复杂问题,例如蜂窝基础架构的 5G 实现,以及通过配置、优化和修复自身的能力简化 5G 操作任务(称为自组织网络 (SON))。5G 网络将增加新的复杂层,包括波束成形、在毫米波中的增加频谱、载波聚合和更高带宽,所有这些都需要机器学习算法在分布式系统中妥善优化和处理数据。

行业巨头和数百家初创公司都在全力将 AI 功能推广到各个行业的大量新型 SoC 和芯片组,涵盖从云服务器农场到每个厨房的家庭助理等所有环节。SoC 设计人员不再局限于他们力争再现的神经网络,而改为使用更多的生物学示例,去超越竞争对手并持续改善产品。他们接受了既要使用设备的基本构建模块(即先天元素或 DNA),也要利用对 AI 设计的后天培育(即设计工具、服务和专业知识等环境要素)的理念。

后天培养 AI SoC 的方法已扩展至硅设计以外

在 SoC 中添加 AI 功能突显了当今 SoC 架构在 AI 方面的薄弱。在为非 AI 应用构建的 SoC 上实现视觉、语音识别和其他深度学习/机器学习算法时,资源非常匮乏。IP 的选择和集成明确地界定了 AI SoC 的基准效率,它构成了 AI SoC 的“DNA”或先天性。(参见:人工智能 SoC 的 DNA)。例如,引入自定义处理器或处理器阵列可以加速 AI 应用中所需的大规模矩阵乘法。

然而,后天培养设计这一要素会影响各部分在硬件中如何协同工作,或者影响如何优化 IP 以实现更有效、更优化的 AI SoC。优化、测试和基准界定 SoC 性能的设计过程需要工具、服务和/或专业知识来优化 AI 系统。在设计过程中通过定制和优化来培育设计,最终可以决定 SoC 在市场中能否取得成功。

随着 AI SoC 的复杂性不断增加,使用工具、服务和专业知识来降低功耗、性能和成本变得越来越重要。设计人员需要各种后天培养方法来加快实现设计过程和芯片的成功。 

AI 设计面临的三大难题

仅依靠传统的设计流程,设计人员无法得到所有公司都追求的高性能、市场领先的 AI 解决方案。他们必须考虑更广阔范围的半导体解决方案。Semico 的 2018 年度市场报告指出:“训练和推理的架构都在不断完善,旨在达到最佳配置,从而提供合适的性能水平。”

数据中心架构囊括了 GPU、FPGA、ASIC、CPU、加速器和高性能计算 (HPC) 解决方案,而移动市场则是各种异构型片上处理解决方案的大杂烩,糅合了 ISP、DSP、多核应用处理器、音频和传感器处理子系统。这些异构解决方案可通过专有 SDK 进行有效利用,以兼容 AI 和深度学习功能。此外,汽车市场基于预期的无人驾驶功能发生了巨大变化。例如,可以预期 5 级无人驾驶 SoC 的带宽和计算能力支持的性能要远超过 2 级以上无人驾驶 SoC。

这些 AI 设计中一致面临的三大难题是:

  • 添加专门的处理功能,这些功能可以更有效地执行矩阵乘法和点积等必要的数学运算
  • 高效的内存访问,以便处理深度学习所需的权重和激活等唯一系数
  • 可靠且经过验证的实时接口,用于芯片到芯片、芯片到云、传感器数据和加速器到主机的连接

机器学习算法的最大障碍之一是传统 SoC 架构的内存访问和处理能力无法满足需求。例如,人们指责常用的冯·诺伊曼架构达不到 AI 所需的效率,迫使我们加紧构建更好的机器(即 SoC 系统设计)。

有幸设计第二代和第三代 AI 专用 SoC 的人员已经添加了更高效的 AI 硬件加速器,并且/或者已经选择为现有 ISP 和 DSP 添加功能,以应对神经网络带来的挑战。

然而事实证明,仅靠添加有效的矩阵乘法加速器或高带宽存储器接口的确有所帮助,但不足以成就 AI 的市场领导者,这就更加坚定了在系统设计期间专门针对 AI 进行特定优化的理念。

机器学习和深度学习适用于各种应用,因此设计人员在定义特定硬件实现的目标方面存在很大差异。此外,随着机器学习数学的进步日新月异,对架构灵活性的需要更加强烈。如果是垂直整合的公司,他们可能能够将其设计范围缩小到特定目的,增加优化内容,但也可以灵活地匹配其他不断发展的算法。

最后,正如 Linley 集团微处理器报告“AI 的基准测试仍不成熟”一文中讨论的那样,AI 算法和芯片的基准测试仍处于起步阶段:

几种常用的基准测试程序可以评估 CPU 和图形性能,但即使 AI 工作负载变得越来越普遍,仍然难以比较 AI 性能。许多芯片供应商仅引用每秒浮点运算中的峰值执行率,或者在仅限整数的设计中,只引用每秒运算量进行比较。但是和 CPU 一样,由于软件、存储器或设计的其他部分存在瓶颈,深度学习加速器 (DLA) 的运行速度通常远低于理论性能峰值。大家一致认为应该在运行真正的应用时测量性能,但在运行哪种应用及如何运行的问题上存在分歧。”(2019 年 1 月)

开始针对特定市场推出相关新基准。例如,MLPerf 目前解决的是训练 AI SOC 的效率问题,并且已有扩展计划。虽然这对于解决基准测试难题是个不错的开端,但在影响系统结果的众多不同市场、算法、框架和压缩技术等因素中,训练 AI SoC 仅占一小部分。

另一家机构 AI-Benchmark 着力研究手机 AI 功能的基准测试。手机使用少量芯片组,其中一些带有早期版本的芯片组除了传统处理器外不包含任何 AI 加速功能,实现的是针对 AI 的软件开发套件 (SDK)。这些基准表明,利用现有的非 AI 优化处理解决方案无法提供所需的吞吐量。

所选择的处理器或处理器阵列通常都规定了每秒运算量额定上限或特定处理技术的具体上限频率。处理器性能还取决于每条指令的功能。另一方面,接口 IP(PCIe®、MIPI、DDR)和基础 IP(逻辑库、存储器编译器)都有最大的理论存储器带宽和数据吞吐量级别,对于接口 IP,这些通常由标准组织定义。

然而,系统的真实性能并不是这些部分相加所得的总和;而是在于将处理器、存储器接口和数据管道妥善相连的能力。系统的总体性能是各个集成部件的功能及其优化情况共同促成的结果。

虽然设计人员已经在 AI SoC 的处理器、SDK、数学和其他相关设计层面迅速取得进步,但这些进步带来的变化加大了进行逐项比较的难度。

压缩功能在 Edge 中的作用

压缩将成为边缘 AI 的关键功能组件,例如在进行实时面部识别的摄像机、执行自主导航的汽车或执行超级图像分辨率的数字视频中。压缩功能在市场中的应用似乎只是流于表面。理解算法的类型以及某种压缩级别所需的准确度水平较为困难,并且还需要反复试验。 

人工智能推动协同设计的采用

虽然多年来人们一直在讨论软硬件协同设计的作用,但是 AI Soc 可能会在实际实现时放大这些设计的重要性。协调设计 AI 芯片的概念不会局限于软硬件。存储器和处理器也需要专门针对 AI 进行协同设计。

例如,在了解系统中每个英特尔至强主机处理器存在多少个 Google TPU 时,明显需要协同设计,而且单板计算机的配置和软件程序手册会对此作出规定。

对同一 AI 算法使用不同的 AI 框架是协同设计可以提高效率的另一个实例。各个框架的输出可能需要不同的存储容量。设计人员在设计硬件之前事先了解存储容量,有助于优化功耗、面积和性能。

协同设计 AI 的存储和处理功能势在必行。例如,深度学习算法需要为权重、激活和其他组件留出存储空间。有趣的是,深度学习算法可以在每次激活时都进行重新计算,以减少存储器占用。即使必须考虑额外占用的处理资源或额外花费的处理时间,在内存节省和功耗方面的好处也可能超过损失。与之类似,内存内计算技术可能会在 AI SoC 的未来发挥作用。

这些协同设计的实例都产生自新的 AI 投入,并且这一趋势的发展还将继续需要额外积累新的专业知识。

AI 实现专家可以优化协同设计系统架构所需的权衡。专家们不仅事先了解先前的设计内部的工作原理,而且也非常了解合适的工具和服务,因而更加有助于促进设计的成功。在 AI 设计过程中,设计人员将会采用仿真器、原型设计和架构探索,以便能够快速实现最佳设计实践。

例如,我们来看一个必须在非常有限的功率预算之内执行非常困难任务的芯片组。SoC 中的管道带宽必须足够大,才能在不占用大量资源的情况下将数据从处理器移动到存储器或其他系统组件中。管道越小,能够添加的处理器和存储器就越多。管道越大,可用的处理和存储空间就越少,这会直接影响 AI 性能。可以在仿真器、原型设计环境和架构探索工具中对这些权衡建模,从而使 AI 设计具有关键的市场优势。

培养 AI Soc 设计

SoC 的开发过程在不断变化,但本质上包括以下标准环节:系统规范和架构设计;逻辑和功能电路设计;物理设计、验证和分析;制造、包装和测试;以及发布硅验证。新增 AI 功能可能会增加各个环节的复杂性。集成的 IP 明确规定了一些理论上的能力上限,但是对设计进行培养可以使实现结果更接近理论上的最大值。

系统和架构设计

由于已经发现传统架构对于 AI SoC 而言效率低下,因此系统规范需要进行越来越多的架构探索来优化设计。而因为传统的架构被认为效率较低,所以更加需要提供架构服务。

此外,一代接一代的 AI SoC 正在接受改造,利用经验丰富的设计团队进行优化和定制。深度学习算法包括许多存储的权重,理想的情况是将其存储在片上 SRAM 中,以便节省功耗和处理工作量,而通过定制来优化 SRAM 编译器的功率和密度是一个明显的趋势。

AI 带来了新的安全漏洞难题。AI 的数据往往是专用的,为其开发的算法非常昂贵,并且只要破坏一个数位,就可能对最终结果的准确性造成灾难性的影响。实现完整的信任根子系统或安全区域可能很有价值,但可能需要额外进行咨询,以确保特定漏洞会基于 SoC 流程早期开发的已定义威胁配置文件获得保护。

电路设计

机器学习数学可能需要标量、向量和大规模矩阵乘法,以及可用于优化特定算法的专用处理器。定制处理器是新型 AI SoC 解决方案最受欢迎的 IP 开发成果之一。设计自定义处理器的工具弥足珍贵,它既能确保门级优化得到充分利用和重用,也能保证不落后于支持自定义处理器所需的生态系统。例如,RISC-V 已经普及;但它只定义了一个指令集,很多时候需要额外的特殊指令来处理机器学习,而且还要有必要的编译器和特定设计实例才能进行优化。设计、支持和软件实现的成本必须依靠内部设计团队的长期规划和支持。拥有管理该成本的工具和支持非常有利于成功实现设计。

开发 AI SoC 需要市场上一些最具创新性的 IP。其中包括快速采用以下新技术:HBM2ePCIe5CCIX,以及最新的 MIPI。为了培养这些标准技术的设计实现,设计人员需要支持早期的软件开发和性能验证的先进仿真和原型设计解决方案。这些工具经常被用来实现 AI,原因同样在于设计的不成熟和复杂性。 

物理设计、验证和分析

预先构建的 AI SoC 验证环境只能供具有 AI SoC 开发经验的人员使用。因此,设计第二代和后代芯片组的设计服务和公司在上市时间方面具有快于先行者的固有优势。设计人员可以依靠设计服务作为利用 AI SoC 专业知识的有效方式,从而缩短产品上市时间,并将内部设计团队解放出来,让其专心设计差异化功能。

接口 IP 的硬化服务是另一种优化工具,可实现更低功耗和更小面积的设计。硬化 IP 为 SoC 腾出空间,为达到更高的 AI 性能提供了宝贵的片上 SRAM 和处理器组件。

最后,凭借专业知识和既有的工具链,轻松快速地对不同的 AI 图进行基准测试。为基准测试活动手动编写这些图表可能是一项艰巨的任务,但要了解 SoC 设计是否能实现预期价值就必须编制这些图表。依靠拥有工具的处理器高效快速地对这些图表进行基准测试,能够加快系统设计,确保其满足要求。

测试和封装

AI SoC 正在使用一些最先进的 FinFET 工艺节点来提高性能、降低功耗,并提高片上存储和计算能力。然而从可测试性的角度来看,最新的工艺节点会增加测试模式的数量,并增加软缺陷的可能性。测试集成、修复和诊断功能可帮助设计人员克服可测试性障碍。Synopsys DesignWare STAR 存储器系统和 STAR 层阶系统等工具可有效解决 AI 测试需求。

HBM2 和即将推出的 HBM2e 等新技术需要特殊的封装专业知识和能力,因此需要与 AI SoC 开发相关的特殊凸点(bump)规划和其他封装专业知识。

结语

在 AI 功能进入新市场时选择用于集成的 IP 为 AI SoC 提供了关键组件。但除了 IP 之外,设计人员还发现利用 AI 专业知识、服务和工具之后具有明显的优势,能够确保按时交付设计,为最终客户提供高水平的质量和价值,以满足新的创新应用需求。

 

网站:实现神奇 AI 的 DesignWare IP

文章:人工智能 SoC 的 DNA