选择合适的推理 NPU(神经网络处理器)是芯片架构师的一个关键决策。此决策事关重大,因为 AI 领域格局瞬息万变,而相关选择将影响产品的整体成本、性能和长期可行性。市面上有无数系统架构和 IP 供应商可供选择。即使是经验最丰富的半导体老手,对此可能也会望而生畏。在与众多客户合作后,我们确定了芯片架构师在选择 NPU 时需要考虑的具体事项。
芯片设计人员需要考虑的因素包括工作负载类型(包括神经网络的架构和算法)、数据集规模、内存和带宽要求、功耗、性能、成本以及针对特定应用或市场的需求(如电池寿命和环境要求)。通常,为边缘 AI 选择加速器的决定性因素是能否满足非常严格的功率和面积要求。
通常情况下,OEM 的顾虑各不相同,因而可能需要可定制的解决方案。不过,我们先来谈谈一些最常见的问题,包括通用架构与优化架构的对比情况、网络支持、可扩展性、未来的适用性和市场接受度。
通用部署与适用特定应用的部署的对比情况
早期的 AI 部署大多采用通用 GPU 或 NPU。这些处理器在设计时并没有侧重于特定神经网络或网络类型的优化。当时 AI 科学还没有发展到出现定制或专有网络,因此没有什么问题。但今时不同往日,我们将在下文详细探讨…
通用 NPU 之所以合适,是因为虽然此类处理器没有针对特定用例进行调整,但其广泛的网络支持使 NPU 能够运行多种网络类型和模型。通用 NPU 可以支持不同的实现,因此 OEM 可以放心使用,但此类处理器不一定能提供更优的支持。
随着 AI 的快速发展,更专业、可以更好地满足 OEM 用例的 NPU 应运而生。艾伯德等供应商提供的定制配置型 NPU 经过优化,可在 OEM 用例所需的功率和面积范围内提供最佳性能。不过,优化型加速器的缺点在于,过于专业化可能意味着对初始设计中没有考虑过对网络和用例的支持有限,甚至干脆不予以支持。
并非所有的 NPU 架构都可以根据具体应用进行配置,即使可以这么做,供应商对其 NPU 进行微调的程度也大相径庭。有的供应商可以稍作优化,而包括艾伯德在内的其他供应商则可以修改几乎所有的架构构建块。芯片架构师应了解其设备的需求,包括其 PPA 和利用率目标,并应探索 NPU 供应商能在多大程度上根据其需求调整解决方案。
网络匹配
早期的 AI 部署主要使用通用公共模型。但是,随着 AI 的发展,OEM 构建针对特定用例的定制模型的能力也日益成熟。这些定制模型可能基于公共模型,但更常见的是私有模型或完全专有的模型。定制模型使 OEM 能够提供更好的性能,从而提供更好的用户体验。不过,定制模型伴随着支持方面的不确定性。此外,OEM 通常将定制模型视为“国家机密”,因此芯片架构师需要了解 NPU 供应商(及其工具集)在“黑盒子”部署方面的灵活性。通用 NPU 能否支持并高效运行模型? 或者,按应用配置的部署方式是否更好?
另一个考虑因素:NPU 是否需要支持多个并发模型? NPU 只运行单个模型的时代已经一去不复返了;现在,OEM 要求 NPU 能够高效运行多个模型,而且通常要求并发运行这些模型。芯片架构师需要在模型需求与 NPU 的能力之间作出权衡,并确保如果需要并发模型支持,NPU 能够以节省功耗和内存的确定方式满足此需求。
未来的适用性
没有人能预测未来,但芯片建筑师却常常需要这么做。AI 的发展如此之快,芯片架构师今天为产品设想的网络和用例很可能会在产品的生命周期内发生变化,甚至可能在产品开发过程中就发生变化。因此,芯片架构师需要考虑产品需要在多大程度上能应对未来变化。选定的 NPU 能否应对新网络? 如何应对? 如果某个网络不受支持该怎么办? NPU 能否将特定层或完整网络转换到本地 CPU 或 GPU? 芯片架构师还必须在认真审视自己产品的同时权衡以下问题:它能在市场上立足多久? 目标市场的变化速度有多快? 所在公司对新的网络支持有何需求?
可扩展性
您的新芯片设计不可能摆脱对 NPU 的采用。当一家公司选择一种计算架构时,无论是 CPU、NPU 还是 GPU 等,他们都会投资学习该架构从设计到软件的方方面面。更换架构的成本并不低,因此大多数 OEM 在考虑处理架构时并不注重单一设计,而是着眼于长远利益。因此,芯片架构师需要考虑 NPU 架构的可扩展性,以确定架构与未来产品的适配性。
例如,如果当前设计的目标处理能力是 10 TOPS,而下一代的相应能力是 25 TOPS,那么该架构目前是否支持 25 TOPS 呢? 如果支持,单个引擎是否足够?或者 NPU 是否需要多个内核或内存块来支持不断上升的性能需求? 如果需要额外的内核或内存块,那么 NPU 架构如何解决内存共享、功耗、带宽、延迟和确定性等多核架构的固有问题? 此外,目前处理能力为 10 TOPS 的系统使用的软件是否也可用于 25 TOPS 系统? 最后,当规模不断扩大,功耗、性能、面积 (PPA) 和利用率会发生怎样的变化?这也是一个非常重要的问题。遗憾的是,性能通常不会随着面积的增加和功耗的优化而线性提升。与所有处理器一样,NPU 也有其性能最优范围,超出这些范围会严重影响 PPA 和利用率。芯片架构师需要预见到这一点并考虑其影响。
市场接受度
AI 领域现阶段较为杂乱,包括艾伯德在内的所有 NPU 供应商都在大力宣扬自己的性能(有些供应商甚至使用第三方数据并公开这些性能数据的计算方式来支持这些宣传)。每个 NPU 供应商都声称拥有市场领先的性能、最节省空间的 NPU 或最节能的设计。
最困难的部分也许就是不受这些声音的干扰,通过自己分辨选择合适的 NPU。芯片架构师需要能洞穿这种炒作,如果 NPU 制造商不提供(或不能提供)基于硅的性能数据,那么事实不言自明。所谓实践出真知,NPU 供应商应能提供具体、周期精确的 PPA 估算。更理想的情况是,即使根据保密协议,他们不能透露客户的姓名,但他们应该能说出搭载了他们产品的设备数量。
总结
虽然选择合适的 NPU 并非易事,但市面上还是有很多卓越的解决方案可供选择,而且相对于自己开发,购买 NPU 往往更快、更好,成本和风险也更低。
艾伯德可为芯片设计人员提供经现场验证的 NPU 专业设计解决方案,其独特优势包括:
- 可以按具体应用随心定制 NPU,以满足 OEM 的 PPA 和利用率目标,且无上市时间风险
- 支持标准模型和定制模型,并提供能够支持黑盒集成的开箱即用型工具
- 按需提供层和网络分流功能,以应对未来的变化
- 单引擎架构具备 3 GOPS 至 128 TOPS 的处理能力
- 已在全球超过 1,000 万台设备中部署