西门子数字化工业软件日前推出 Catapult™ AI NN 软件,可帮助神经网络加速器在专用集成电路 (ASIC) 和芯片级系统 (SoC) 上进行高层次综合 (HLS)。Catapult AI NN 是一个综合性解决方案,它能够获取 AI 框架中的神经网络描述,然后将其转换为 C++ 代码,并合成为 Verilog 或 VHDL 语言的 RTL 加速器,以便在芯片中实现。
Catapult AI NN 集成了用于机器学习硬件加速的开源软件包 hls4ml,以及用于高层次综合的西门子 Catapult™ HLS 软件。Catapult AI NN 由西门子与美国能源部费米实验室以及其他为 hls4ml 做出贡献的机构合作开发,能满足机器学习加速器设计对于定制芯片功耗、性能和面积 (PPA) 方面的独特要求。
西门子数字化工业软件副总裁兼高层次设计、验证和功耗总经理 Mo Movahed 表示:“无论是神经网络模型的交接过程,还是其向硬件实现的手动转换,效率都非常很低,并且耗时、容易出错,特别是在创建和验证针对特定性能、功耗和面积定制的硬件加速器变体时。通过让科学家和 AI 专家充分利用行业标准的 AI 框架 (例如神经网络模型设计),并将这些模型无缝综合到已经经过 PPA 优化的硬件设计中,我们能够为 AI/ML 软件工程师创造更多可能。使用西门子新的 Catapult AI NN 解决方案,开发人员能够在软件开发过程中自动实现神经网络模型,同时进行 PPA 优化,有效提升 AI 的开发效率,并实现加速创新。”
随着 runtime AI 和机器学习任务从数据中心迁移至消费电器、医疗设备等领域,客户对合适大小的 AI 硬件的需求也在快速增长,以减少功耗,降低成本,并实现终端产品差异化。然而,比起可综合的 C++、Verilog 或 VHDL,多数机器学习专家更习惯使用 TensorFlow、PyTorch 或 Keras 等工具。过去,AI 专家要在合适大小的 ASIC 或 SoC 实现中加快机器学习应用,其实并没有捷径可走。hls4ml 计划旨在将 TensorFlow、PyTorch 或 Keras 等 AI 框架中的神经网络描述生成 C++ 代码,帮助弥补这一缺陷。随后即可部署这些 C++ 代码,用于 FPGA、ASIC 或 SoC 实现。
Catapult AI NN 能够将 hls4ml 的功能扩展到 ASIC 和 SoC 设计,它包括针对 ASIC 设计量身定制的专用 C++ 机器学习功能资源库。使用这些功能,设计人员能够在各个 C++ 代码实现之间进行延时和资源方面的权衡,从而实现 PPA 的优化。此外,设计人员现在还能够评估不同神经网络设计的影响,以确定硬件的理想神经网络结构。
“粒子探测器有非常严格的边缘 AI 约束条件,”费米实验室的新兴技术主管 Panagiotis Spentzouris 表示,“我们与西门子合作开发 Catapult AI NN,这种综合性框架充分利用了我们的科学家和 AI 专家的专业知识,即便他们并不是 ASIC 设计人员。此外,这种框架也非常适合经验丰富的硬件专家使用。”
Catapult AI NN 目前已向早期采用者提供,并将于 2024 年第 4 季度向所有用户开放。