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

    关注

    1664

    文章

    22502

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ML610Q428/ML610Q429 8位微控制器:性能与应用解析

    ML610Q429-NNNTBZ03A7.pdf 公司变更说明 2020 年 10 月 1 日,LAPIS Semiconductor 实施了公司拆分,成立了 LAPIS Technology Co., Ltd.,并由
    的头像 发表于 04-15 11:40 142次阅读

    使用NORDIC AI的好处

    × CPU 运行时可快 10×、更省电,平均模型体积 <5 KB。[Edge AI 软件页] Axon NPU 对同一 TensorFlow Lite 模型:* 推理速度最高可比
    发表于 01-31 23:16

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

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

    以太网通讯FPGA的实现

    一、介绍本项目由于我们需要使用PC实时的向FPGA发送将要识别的图片,所以我们最终选择使用以太网来从PC向FPGA发送图片并暂存在DDR中,下面是对以太网协议和硬件实现的一些介绍。 二、前言
    发表于 10-30 07:45

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

    本篇将详细介绍如何利用Verilog HDLFPGA实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。FPGA
    的头像 发表于 10-22 17:21 4553次阅读
    如何利用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

    【下载】5G/6G 公开资料整理|AI/ML、NTN、ISAC 等方向(持续更新)

    大家好!我们把近期从公开渠道收集并整理的一批 5G/6G 学习资料做了系统分类,便于大家查阅与检索。资料涵盖多个热点方向,包括但不限于:- AI/ML 无线通信与网络优化中的应用(大模型、RRM
    发表于 09-08 16:07

    使用VerilogFPGA实现FOC电机控制系统

    自动驾驶、电动滑板车、无人机甚至工业自动化领域,高性能电机控制是不可或缺的核心技术。而如果你对硬件有足够的热情,你会发现:传统用 MCU 实现 FOC(Field-Oriented Control,磁场定向控制)也能“搬”到 FPGA
    的头像 发表于 08-21 15:27 5575次阅读
    使用Verilog<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>实现FOC电机控制系统

    普迪飞 | AI预测建模工具,释放AI/ML的强大潜力!

    问题、精准把握良品率的能力,已成为企业发展的关键胜负手。各公司正在加大AIML技术的投入,目标是针对研发制造端预测的新模型,力求在这场“制造力竞赛”中脱颖而出。但不
    的头像 发表于 08-19 13:53 522次阅读
    普迪飞 | <b class='flag-5'>AI</b>预测建模工具,释放<b class='flag-5'>AI</b>/<b class='flag-5'>ML</b>的强大潜力!

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

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

    AI狂飙, FPGA会掉队吗? (下)

    上篇和中篇,我们介绍了FPGA的四大特点,以及这些特点所带来的市场和应用机会,概述如下:硬件可编程:通信网络,芯片验证等;并行和实时:视频图像处理,AI推理等;高集成度:工业机器人,激光雷达等
    的头像 发表于 08-11 09:25 4140次阅读
    <b class='flag-5'>AI</b>狂飙, <b class='flag-5'>FPGA</b>会掉队吗? (下)

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

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

    Altera FPGA 的PIO IP当中bidir和inout选项的区别

      PIO IP是FPGA 设计中比较简单常用的IP, 当设置PIO IP的Direction的时候,可以看到有如下4个选项: Input代表这组IO是输入引脚,Output代表这组IO是输出引脚
    的头像 发表于 07-07 11:55 2828次阅读
    Altera <b class='flag-5'>FPGA</b> 的PIO IP当中bidir和inout<b class='flag-5'>选项</b>的区别

    FPGA边缘AI中的应用

    从聊天机器人、内容生成到高级数据分析,AI 已无处不在。过去,大多数 AI 处理都在云端完成。然而,随着模型功能日益强大以及对实时洞察的需求持续增长,AI 正在向边缘转移。智能摄像头和传感器中的卷积
    的头像 发表于 06-24 09:31 1879次阅读

    智多晶FPGA设计工具HqFpga接入DeepSeek大模型

    AI 赋能工程设计的时代浪潮中,智多晶率先迈出关键一步——智多晶正式宣布旗下 FPGA 设计工具 HqFpga 接入 DeepSeek 大模型,并推出
    的头像 发表于 06-06 17:06 1744次阅读