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
    +关注

    关注

    1656

    文章

    22298

    浏览量

    630455
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    你相信光吗?| Samtec助力AI/ML系统拓扑中的光连接

    前 言        当前,持续演进的AI/ML硬件生态中,“新” 的元素无处不在:新的大语言模型(LLM)、新的加速器、新的系统拓扑、新的内存实现方式、新的供电方案…… 诸如此类,不胜枚举
    的头像 发表于 11-13 15:03 1511次阅读
    你相信光吗?| Samtec助力<b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>系统拓扑中的光连接

    如何利用Verilog HDLFPGA实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDLFPGA实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。FPGA
    的头像 发表于 10-22 17:21 3976次阅读
    如何利用Verilog HDL<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>实现SRAM的读写测试

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI芯片的需求和挑战

    的工作吗? 从书中也了解到了AI芯片都有哪些?像CPU、GPU、FPGA、ASIC都是AI芯片。 其他的还是知道的,FPGA属于AI芯片这个
    发表于 09-12 16:07

    AI 芯片浪潮下,职场晋升新契机?

    职场、渴望专业领域更进一步的人来说,AI 芯片与职称评审之间,实则有着千丝万缕的联系,为职业晋升开辟了新的路径。 AI 芯片领域细分与职称对应 目前,AI 芯片从技术架构
    发表于 08-19 08:58

    MCU AI/ML - 弥合智能和嵌入式系统之间的差距

    本文将探讨MCU技术和AI/ML的交集,以及它如何影响低功耗边缘设备。同时将讨论电池供电设备的MCU运行人工智能的困难、创新和实际应用场景。
    的头像 发表于 08-01 09:02 448次阅读

    NanoEdge AI Studio 面向STM32开发人员机器学习(ML)技术

    NanoEdge™ AI Studio*(NanoEdgeAIStudio)是一种新型机器学习(ML)技术,可以让终端用户轻松享有真正的创新成果。只需几步,开发人员便可基于最少量的数据为其项目创建
    的头像 发表于 04-22 11:09 995次阅读
    NanoEdge <b class='flag-5'>AI</b> Studio 面向STM32开发人员机器学习(<b class='flag-5'>ML</b>)技术

    AIML如何重塑电子制造业

    随着工业4.0的到来,人工智能(AI)和机器学习(ML)不仅仅是流行词,它们正在重塑制造业。这场科技的浪潮,特别在电子制造领域,带来了令人惊叹的突破和机遇。以数据驱动决策,以人为本理念的推动下,先进的制造技术使电子制造业正变得
    的头像 发表于 04-17 14:49 817次阅读

    Nordic nRF54 系列芯片:开启 AI 与物联网新时代​

    系列无线 SoC 更是树立了新的行业标杆。这一系列产品效率、处理能力和设计选项实现了显著提升,以满足不断增长的低功耗蓝牙和物联网应用需求。nRF54L 系列的三款器件将 2.4 GHz 无线电
    发表于 04-01 00:18

    Raspberry Pi Pico 2 实现:实时机器学习(ML)音频噪音抑制功能

    Arm公司的首席软件工程师SandeepMistry为我们展示了一种全新的巧妙方法:RaspberryPiPico2如何将音频噪音抑制应用于麦克风输入。机器学习(ML)技术彻底改变了许多软件应用
    的头像 发表于 03-25 09:46 954次阅读
    Raspberry Pi Pico 2 <b class='flag-5'>上</b>实现:实时机器学习(<b class='flag-5'>ML</b>)音频噪音抑制功能

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    功能模块,如AI引擎、可变精度DSP。 • 灵活性:FPGA可以系统运行中重新编程,实现功能的动态重构。 • 低功耗:与ASIC相比,FPGA
    发表于 03-03 11:21

    当我问DeepSeek AI爆发时代的FPGA是否重要?答案是......

    资源浪费。例如,深度学习模型推理阶段,FPGA可以针对特定的神经网络结构进行硬件加速,提高推理速度。 3.支持边缘计算与实时应用 • 边缘计算:随着物联网的发展,越来越多的AI任务需要在边缘设备
    发表于 02-19 13:55

    AI芯片的应用:革新设计与功能

    AI芯片的应用正在深刻改变着芯片设计、制造和应用的全过程。未来,随着AI技术的不断进步和应用场景的不断拓展,AI芯片将成为推动科技发展的
    的头像 发表于 02-17 16:09 1287次阅读

    SPEC ML基准测试新增模算效率指标

    近日,国际标准性能评估组织SPEC宣布了AI基准测试SPEC ML的最新进展。此次更新标志着SPEC ML基准测试面向不同AI负载下的软硬
    的头像 发表于 01-15 14:28 768次阅读

    FPGAAI方面有哪些应用

    提供了强有力的支持。 一、FPGA 深度学习中的应用 深度学习是 AI 的重要分支,涉及海量的数据运算。FPGA 能够针对深度学习算法中的卷积、池化等核心运算进行硬件加速优化。例如,
    的头像 发表于 01-06 17:37 2118次阅读

    AI编程工业自动化设备应用趋势

          AI编程工业设备的应用已经逐渐成为一种趋势,其强大的数据处理、分析和预测能力为工业生产带来了革命性的变化。随着技术的不断进步和创新应用场景的日益丰富,AI编程
    的头像 发表于 12-19 07:38 1823次阅读