0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在 FPGA 上实施 AI/ML 的选项

李晶 2022-12-28 09:51 次阅读

现场可编程门阵列 (FPGA) 以加速人工智能/机器学习应用而闻名,但它是如何在 FPGA 中实现的,有哪些不同的方法?让我们探索工程师的设计空间。

人工智能 (AI) 是云和边缘应用程序中的热门话题。在许多情况下,人工智能可以实现更安全、更高效和安全的系统。人工智能已经存在很长时间了,它于 1956 年由约翰·麦卡锡 (John McCarthy) 在第一次人工智能会议召开时首次使用。虽然几十年来进行了大量研究,但仅在最近 5 到 10 年,人工智能系统才从实验室和研究转移到产品路线图和产品中。

在云和边缘环境中,部署最广泛的 AI 形式之一是机器学习 (ML)。机器学习是对计算机算法的研究,它允许计算机程序通过经验自动改进。这方面的一个例子是为 ML 网络提供带有标签的图像数据集。机器学习算法识别图像的特征和元素,以便在输入新的未标记的、以前未见过的图像时,ML 算法确定图像包含任何已学习特征和元素的可能性。可以训练此类 ML 算法来检测图像中的对象、处理语音中的关键字以及分析传感器数据的异常情况。典型应用包括视觉引导机器人、车辆自主操作以及工业和安全关键系统的预测。

因此,ML 学习算法分为两个要素,第一个是针对训练数据集对网络进行训练。第二个是训练网络领域的部署,这些元素分别称为训练和推理。训练准确的模型需要一个带标签的大型数据集,并且通常在基于云的 GPU 上执行以加速训练过程。设计工程师可以跨从 MCU 到 GPU 和 FPGA 的一系列技术部署训练有素的网络。

在 FPGA 中嵌入 AI

几个非常流行的框架——Caffe、TensorFlow。和 Pytorch——帮助训练和部署 AI/ML 系统。这些框架用于网络定义、训练和推理。

许多基于边缘的人工智能系统的关键要素之一是能够在确定的时间范围内执行推理。例如,自动驾驶汽车必须快速检测车辆、障碍物和行人以防止碰撞。这需要一个既响应又确定的解决方案,响应是因为传感器数据必须以最小延迟快速处理,确定是因为每个输入的响应时间必须相同并且不依赖于系统操作条件或资源使用,例如,使用共享 DDR 内存会减慢响应时间。

由于响应性和确定性的要求,基于边缘的解决方案的开发人员通常以 FPGA 或基于异构 SoC 的解决方案为目标。这些为开发人员提供了可编程逻辑,是实现机器学习网络的理想选择,因为它的并行特性支持响应式应用程序和非常确定的解决方案。

在可编程逻辑中实现 ML 推理时,可以采用两种方法。在使用浮点数学开发和训练神经网络时,无论采用哪种方法,FPGA 或异构 SoC 中的实现通常都使用定点实现。从浮点数到定点数的转换过程称为量化,推理精度会略有下降;然而,对于大多数应用程序,可以使用量化的权重和激活来执行额外的训练以恢复准确性。

第一种方法直接在可编程逻辑中实现神经网络。为推理训练的权重被加载到网络中。这可以在运行时或在设计的编译/综合期间实现。

这些神经网络的一个例子是 AMD-Xilinx FINN 网络,它可用于在 FPGA 中实现量化神经网络。这些量化神经网络被实现为具有二进制权重和两位激活的量化神经网络。

有了量化神经网络,神经网络可以在 FPGA 中实现,资源更少,因为不需要外部 DDR 或 SoC 支持。使该方法成为空间、组件和成本非常宝贵的受限开发的理想选择。虽然它需要更多的专业知识才能集成到整体解决方案中,但它可能非常有效。可能使用此类方法的典型示例可能是工业机械的预测,例如轴承磨损或振动等。

在 FPGA 逻辑中使用神经网络直接实现的替代方法是使用高度专业化的神经网络加速器。神经网络加速器在可编程逻辑中实现,并与具有高带宽链路的 DDR 存储器以及异构 SoC 中的专用处理器紧密耦合

在使用神经网络加速器的应用程序中,它们由软件应用程序提供网络和权重/激活和偏差。因此,这使得 ML 推理更容易集成到整个应用程序中。神经网络加速器的一个例子是 AMD-Xilinx 深度学习单元,它可以与 Pytorch、Caffe 和 TensorFlow 中定义的网络一起工作,并为应用程序执行所有量化、再训练和程序生成。这样可以更轻松地集成到正在开发的应用程序中。这种方法的典型应用是基于视觉的高性能应用,例如视觉引导机器人、智能城市解决方案,当然还有提高汽车 SAE 自主水平。

最高的准确性和性能来自于使用专门的神经网络加速器,并且易于集成通常提供更好的整体解决方案。因此,这种方法被多家供应商用于他们的 AI 解决方案。这种方法更容易与更高级别的软件框架和抽象堆栈集成,这是利用整体性能的关键,因为 AI 通常只是整体解决方案的一小部分(但很重要)。

最后的想法

很多时候,选择哪种解决方案取决于最终应用,即使 AI 可能是主要的营销元素。在现实世界中,人工智能通常只是整个解决方案的一小部分,因为传感器接口、预处理、执行器驱动和构成解决方案的其他元素也会有自己的限制和要求。

可编程逻辑使开发人员能够构建具有响应性和确定性的 AI/ML 解决方案。通过将这些解决方案与行业标准框架相结合,开发人员可以使云和边缘 AI/ML 应用程序更安全、更高效、更安全。

审核编辑黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593267
收藏 人收藏

    评论

    相关推荐

    基于 Renesas 的 RA8M1 实现 AIML 部署

    新的工作负载会增加功耗,尽管要求设计人员尽量降低功耗并加快产品上市时间。 设计人员需要一个计算选项,既能保持 MCU 的效率,又能增加专为低功耗应用定制的高性能功能。这一选项还应保留与传统 MCU 相关的简单部署模式,同时增加足够的功能,以支持
    的头像 发表于 04-23 15:04 557次阅读
    基于 Renesas 的 RA8M1 实现 <b class='flag-5'>AI</b> 和 <b class='flag-5'>ML</b> 部署

    新型的FPGA器件将支持多样化AI/ML创新进程

    的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU以更高的计算密度和能效胜出CPU一样,各种加速器件在不同的AI/ML应用或者细分市场中将各具优势,未来并不是只要贵的而是更需要对的。 此次GTC上
    的头像 发表于 04-02 15:25 144次阅读
    新型的<b class='flag-5'>FPGA</b>器件将支持多样化<b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>创新进程

    为何高端FPGA都非常重视软件

    它们适用于AI推理加速任务,声称的TOPS / FLOPS性能功能以及片互连,例如FPGA路由资源和片上网络(NOC)。第二部分,我们研究了内存架构,封装内集成架构和高速串行IO功
    发表于 03-23 16:48

    FPGA深度学习应用中或将取代GPU

    ,这使其 AI 应用中面临着一些挑战。 Larzul 表示,想要解决这些问题的解决方案便是实现现场可编程门阵列 (FPGA),这也是他们公司的研究领域。FPGA 是一种处理器,可以
    发表于 03-21 15:19

    是德科技推出AI数据中心测试平台旨在加速AI/ML网络验证和优化的创新

    2024年2月29日,是德科技(Keysight Technologies,Inc.)宣布,针对人工智能(AI)和机器学习(ML)基础设施生态系统,推出了 AI数据中心测试平台,旨在加速AI
    的头像 发表于 02-29 09:32 249次阅读
    是德科技推出<b class='flag-5'>AI</b>数据中心测试平台旨在加速<b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>网络验证和优化的创新

    国际最新AI算力评测标准SPEC ML即将发布,浪潮信息连任SPEC ML主席

    国际权威标准性能评估组织SPEC第35届年会日前在美国举行。会上,SPEC组织确定新一年工作计划,为推动AI算力产业的更快发展,国际最新AI算力评测标准SPEC ML即将发布,该标准由浪潮
    的头像 发表于 02-24 19:07 3212次阅读
    国际最新<b class='flag-5'>AI</b>算力评测标准SPEC <b class='flag-5'>ML</b>即将发布,浪潮信息连任SPEC <b class='flag-5'>ML</b>主席

    【国产FPGA+OMAPL138开发板体验】(原创)5.FPGAAI加速源代码

    if; end process; end architecture Behavioral; 本人写的这个程序极度简化了FPGA实现AI加速器的过程,例如并行处理、流水线
    发表于 02-12 16:18

    FPGA? 开搞!

    。 该工具链使用 Yosys 和 OpenFPGALoader 等开源工具,并与 Cologne Chip 合作开发实施和比特流生成工具。设计输入方面,工程师可以使用 Verilog、VHDL(通过
    发表于 01-11 00:52

    超低功耗 Wi-Fi + AI/ML方案成为AIoT 串连云端的天作之合

    现今在人工智能驱动( AI-driven )的新兴风潮下,人工智能和机器学习( AI/ML )正快速朝向网络的边缘端( Edge )发展 - 即使是最小的物联网设备也将很快得以运行 AI
    的头像 发表于 10-18 19:25 267次阅读
    超低功耗 Wi-Fi + <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>方案成为AIoT 串连云端的天作之合

    为什么以及如何将 Efinix FPGA 用于 AI/ML 成像 — 第 1 部分:入门指南

    作者:Adam Taylor 编者按:全新的 FPGA 架构方法带来了更精细的控制和更大的灵活性,以满足机器学习 (ML) 和人工智能 (AI) 的需求。本系列文章包括两部分,第 1部分介绍
    的头像 发表于 10-03 14:45 362次阅读
    为什么以及如何将 Efinix <b class='flag-5'>FPGA</b> 用于 <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> 成像 — 第 1 部分:入门指南

    为什么以及如何将 Efinix FPGA 用于 AI/ML 成像第 2 部分:图像采集和处理

    作者:Adam Taylor 编者按:全新的 FPGA 架构方法带来了更精细的控制和更大的灵活性,以满足机器学习 (ML) 和人工智能 (AI) 的需求。本系列文章包括两部分,第 1部分介绍
    的头像 发表于 10-03 14:45 479次阅读
    为什么以及如何将 Efinix <b class='flag-5'>FPGA</b> 用于 <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> 成像第 2 部分:图像采集和处理

    利用 FPGA 快速路径构建高性能、高能效边缘 AI 应用

    。现场可编程门阵列 (FPGA) 为实施边缘 AI所需的神经网络 (NN) 推理引擎提供了特别有效的速度和效率效率组合。然而,对于不熟悉 FPGA 的开发人员来说,传统
    的头像 发表于 10-03 14:31 668次阅读
    利用 <b class='flag-5'>FPGA</b> 快速路径构建高性能、高能效边缘 <b class='flag-5'>AI</b> 应用

    利用扩展型 NAS 存储加速 AI/ML 工作负载

    虹科方案1AI&ML变革日常生活AI(人工智能)和ML(机器学习)的发展正逐渐渗透到我们的日常生活中,为我们带来了翻天覆地的变化。从智能手机中的语音助手到智能家居设备,
    的头像 发表于 08-05 08:11 417次阅读
    利用扩展型 NAS 存储加速 <b class='flag-5'>AI</b>/<b class='flag-5'>ML</b> 工作负载

    Ai 部署的临界考虑电子指南

    %数据中心的工作量。平方GPU对培训工作量有效,但在人工智能的所有不同阶段都不需要GPU。2021年的一项研究中,56%的研究受访者将成本列为他们面临的最重大挑战实施AI/ML解决方
    发表于 08-04 07:25

    是否可以S32K3实施IEC 60730软件B类?

    我们很乐意在下一代产品中使用 S32K3。我们的一些现有客户要求产品符合 IEC 60730 软件 B 类标准。 是否可以 S32K3 实施 IEC 60730 软件 B 类?是否有任何现有的库/模块/支持 S32K3
    发表于 05-06 07:47