详解FPGA —— 下一代AI算力芯片(上)

这篇具有很好参考价值的文章主要介绍了详解FPGA —— 下一代AI算力芯片(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文将详细介绍FPGA芯片。

微信搜索关注《Java学研大本营》

CPU为一般计算提供了一套通用的计算指令,要修改或优化应用程序,我们更改代码,但硬件是固定的。然而,这种通用化是以硬件的复杂性为代价的。如果没有复杂的硬件优化,如投机执行,它就会损害性能。但是,这些优化会增加芯片面积和功耗。

fpga算力,fpga开发,人工智能,芯片,FPGA

通用性以复杂性为代价提供了灵活性,为了增加深度学习(DL)中的并发性,一些芯片设计者将芯片功能限制在一套垂直的指令中,并使用ASIC(特定应用集成电路)设计实现。这是Google TPU使用的方法。但是,如果设计要求不断变化,则开发ASIC是昂贵且不可能的。

FPGA在通用处理器(如CPU)和ASIC之间提供了一种中间方法,设计人员可以为自己的硬件设计编程FPGA芯片,可以通过FPGA重新编程轻松地进行更改或增强。对于那些不熟悉FPGA的人来说,让我们先来了解一下技术概况。

fpga算力,fpga开发,人工智能,芯片,FPGA

1 什么是FPGA?

对于半导体行业来说,几十年来有一个中间解决方案,允许可配置的硬件设计(通用组件与定制ASIC设计)。这就是FPGA(现场可编程门阵列)。它被称为 "现场可编程的",因为我们可以轻松地为不同的硬件设计重新编程芯片。我们可以视为FPGA包含像乐高一样的积木。通过以不同的方式将乐高积木组合起来(编程),我们创造出不同的玩具(硬件设计)。让我们看一个DL的例子来解释人工智能中的高级应用。

fpga算力,fpga开发,人工智能,芯片,FPGA

许多DL模型,如上面的全连接深度神经网络(DNN),可以视为计算图。节点表示计算,边表示数据流。为了对这个图进行建模,我们的ASIC设计应该由模拟这些节点中的计算的计算节点(块)组成,然后我们将数据流从一个节点链接到另一个节点。

FPGA是基于可配置逻辑块(CLB)矩阵通过可编程互连连接的半导体器件。CLB是高度可配置的,可以创建不同的逻辑。通过可编程互连,我们可以为这些CLB创建复杂的数据路径。

fpga算力,fpga开发,人工智能,芯片,FPGA

2 CLB

下面的图是Intel Stratix 10中逻辑阵列块(LAB)中自适应逻辑模块(ALM)的高级块图(LAB - 即可配置逻辑块CLB):

fpga算力,fpga开发,人工智能,芯片,FPGA

CLB使用可配置的查找表(LUT)(在上面的左边)来实现逻辑函数f(a, b, c, ...),我们可以配置LUT来模仿任何逻辑函数。

fpga算力,fpga开发,人工智能,芯片,FPGA

在CLB内部,LUT通常后面跟着带有输出寄存器的加法器(输出存储其先前值,直到应用新时钟)。

为了说明,这是来自Xilinx 7系列FPGA的另一个CLB示例。在右侧图中,输入端有两个模块,每个模块都有四个输入和一个逻辑值输出。然后,进一步的组合逻辑被应用于创建支持多于四个输入和多个输出的逻辑函数。

fpga算力,fpga开发,人工智能,芯片,FPGA

3 DL中的FPGA

为了进一步增强功能,可以将其他块(如存储器块、乘法器、嵌入式处理器和DSP块)添加到FPGA中。这些块可以通过下面的垂直和水平线进行分段和连接。

fpga算力,fpga开发,人工智能,芯片,FPGA

这里是英特尔Stratix 10可变精度DSP块。对于DNN,它将使用这些DSP块优化其许多算术函数。

fpga算力,fpga开发,人工智能,芯片,FPGA

DSP块也可以配置来支持多个功能。

fpga算力,fpga开发,人工智能,芯片,FPGA

4 FPGA的卖点

根据不同的供应商和产品线,FPGA还可以提供许多其他模块。

fpga算力,fpga开发,人工智能,芯片,FPGA

FPGA可能包含数百万个逻辑元素、数千个存储块和数千个DSP块。这些存储块可以提供大于50TB/s的片上SRAM带宽。

fpga算力,fpga开发,人工智能,芯片,FPGA

这些块可以分组、分段,并通过可编程的连接进行连接。这些块和互连是高度可配置的,以创建高度定制化设计的并行性和计算能力。高速存储块也可以分组成不同的大小,并为特定节点和特性集提供特定大小/缓存需求。

fpga算力,fpga开发,人工智能,芯片,FPGA

此外,FPGA被设计为能够快速接收和传输信号。高速收发器(带有许多I/O块)的重点是处理视觉和音频流数据的另一个卖点。使用新的FPGA位流文件,PGA可以在20毫秒范围内重新编程(取决于FPGA型号)。产品升级不再局限于软件升级。硬件设计升级可以通过新的位流文件完成。这种定制设计通常消耗更少的功率,在英特尔视觉加速器设计中,使用Arria 10 FPGA的功耗通常为38~42W,而Nvidia V100 GPU的功耗范围为250W(这仅用于说明,,因为两者的设备非常不同)。使用定制硬件还可以缩短系统延迟,这可能就是为什么英特尔将他们的FPGA用于AI推理的原因。

5 可编程互连

这些FPGA块可以通过垂直和水平线连接在一起。

fpga算力,fpga开发,人工智能,芯片,FPGA

但是,这是通过我们可以预编程的高度可配置的可编程交换矩阵(PSM)完成的。

fpga算力,fpga开发,人工智能,芯片,FPGA

这是FPGA芯片一小段可能互连的放大视图:

fpga算力,fpga开发,人工智能,芯片,FPGA

这是另一个演示块如何连接的例子:

fpga算力,fpga开发,人工智能,芯片,FPGA

6 带有Arria 10 FPGA的英特尔视觉加速器设计(用于AI推理)

fpga算力,fpga开发,人工智能,芯片,FPGA

带有Arria 10 FPGA的英特尔视觉加速器可以连接到视频服务器或NVR(网络视频录像机),支持超过20个通道的视频输入,用于分析、处理或其他AI应用,包括面部识别和检测。

fpga算力,fpga开发,人工智能,芯片,FPGA

例如,我们可以使用加速器来分析原始视频流,以便能从许多视频源中进行人员检测和跟踪(在Amazon Go等商店中有潜在用途)。

fpga算力,fpga开发,人工智能,芯片,FPGA

这里是另一个使用Arria 10 FPGA的FPGA加速卡(可编程加速卡)的设计:

fpga算力,fpga开发,人工智能,芯片,FPGA

这些加速卡可以执行许多AI功能。OpenVINO(稍后讨论)发布了许多AI模型,执行以下功能:

fpga算力,fpga开发,人工智能,芯片,FPGA

如果您感兴趣,这是加速卡和Arria 10的高级规格说明:

fpga算力,fpga开发,人工智能,芯片,FPGA

几十年来,FPGA都是用高级设计语言(HDL)编程的。它讲的是寄存器、时钟等的语言......

fpga算力,fpga开发,人工智能,芯片,FPGA

通过供应商提供的工具,HDL的源代码被转化为电路。然后应用放置和路由算法将它们映射到块中,通过最小化延迟的互连进行映射。这个编译过程需要几个小时或几天才能完成。完成后,将创建一个位流文件。该文件将用于编程(配置)FPGA。

但是,这不是我们在Intel FPGA上设计或部署DNN模型的方式。使用工具包执行软件部署,而不是重新编程FPGA。FPGA应该已经被编程了。

7 OpenVINO

OpenVINO(Open Visual Inference and Neural network Optimization)为Intel设备(CPU、集成GPU、FPGA等)提供工具包和库,涵盖以下领域:

fpga算力,fpga开发,人工智能,芯片,FPGA

它可以用来部署一个DL模型,使用FPGA分析视频流。

fpga算力,fpga开发,人工智能,芯片,FPGA

OpenVINO发行版包含:

  • 优化和部署ML模型的深度学习开发工具箱(DLDT)

  • 用于DL的FPGA深度学习加速器(DLA)和比特流

  • 用于OpenCV、OpenVX、OpenCL和Intel Media SDK的工具、库和加速器

  • 适用于Intel设备的插件

  • 为DLDT提供预训练模型的模型库

fpga算力,fpga开发,人工智能,芯片,FPGA

DL工程师在诸如TensorFlow、PyTorch等软件平台上设计和训练模型。最终,我们将训练好的模型保存在文件中(TensorFlow中的.pb文件)。

fpga算力,fpga开发,人工智能,芯片,FPGA

然后,我们使用OpenVINO中的深度学习部署工具包(DLDT)来部署DL模型。DLDT包含两个主要组件:

  • 模型优化器

  • 推理引擎

具体而言,DLDT读取模型文件,执行优化,并将其部署在Intel设备上。为了拥有所有Intel设备的单一平台解决方案,它从流行的DL平台(如TensorFlow)读取训练好的模型文件,应用与设备无关的优化,并将模型转换为与设备无关的中间表示(IR)。

以下两个部分是可选的,用于演示一些计算图优化。

8 线性操作融合(高级主题-可选)

许多CNN模型,包括ResNet和Inception,都包含批量归一化和比例偏移层(比例然后偏移输入),可以看作是加法和乘法的序列。这些序列可以合并为单个乘法和加法操作,即×、+、×、+、×、+→×、+。然后,如果存在下一个卷积层或完全连接层,则可以将其与之融合。

fpga算力,fpga开发,人工智能,芯片,FPGA

推荐书单

《微机原理与接口技术——基本原理、实用技术和基于FPGA的SOC技术》

《微机原理与接口技术--基本原理实用技术和基于FPGA的SOC技术(高等院校电子信息科学与工程规划教材)》系统地讲解了微型计算机系统的结构、工作原理、接口技术及其应用,特别是将这些内容与现代EDA技术、FPGA开发技术和SOC片上系统技术有机地融合起来,全方位强化和拓展了这一传统教学领域中的知识与技能传授的深度与广度。本书的基本内容包括80x86微处理器结构、指令系统、汇编语言程序设计、存储器系统、总线技术、中断技术、定时/计数接口技术和DMA技术、并行接口技术、串行接口技术、模拟接口技术和其他实用的接口技术,以及与这些内容相对应的基于超大规模F=PGA的SOC技术。 本书可作为高等院校电子工程、通信、工业自动化、计算机等专业的本科生或研究生教材,也可用作相关专业技术人员的参考书。

《微机原理与接口技术——基本原理、实用技术和基于FPGA的SOC技术》【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《微机原理与接口技术——基本原理、实用技术和基于FPGA的SOC技术》在线选购,本书作者:,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!https://item.jd.com/10067827338575.html

fpga算力,fpga开发,人工智能,芯片,FPGA

fpga算力,fpga开发,人工智能,芯片,FPGA

精彩回顾

9个步骤,手把手教你在Windows上安装Hadoop

一文讲清RabbitMQ、Apache Kafka、ActiveMQ

一文讲清数据集市、数据湖、数据网格、数据编织

分布式计算哪家强:Spark、Dask、Ray大比拼

使用FPGA制作低延时高性能的深度学习处理器

微信搜索关注《Java学研大本营》

访问【IT今日热榜】,发现每日技术热点文章来源地址https://www.toymoban.com/news/detail-758323.html

到了这里,关于详解FPGA —— 下一代AI算力芯片(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Microsoft 365 Copilot:下一代 AI 生产力技术

    微软已经向部分商业用户开放 Microsoft 365 Copilot,这是一个基于大语言模型的 AI 生产力技术,由 OpenAI 的 GPT-4 技术驱动。Copilot 可以在 Microsoft 365 应用中辅助用户生成文档、电子邮件、演示文稿等。它出现在 Microsoft 365 应用的侧边栏,像一个聊天机器人,让用户可以随时召唤它

    2024年02月08日
    浏览(51)
  • 【人工智能】下一代 AI 编程语言:Mojo 编程手册

    目录 Why Mojo🔥 为什么选择Mojo 魔术🔥 ? Mojo as a member of the Python familyMojo 作为 Python 家族的一员 

    2024年02月09日
    浏览(67)
  • 试图替代 Python 的下一代AI编程语言:Mojo

    Mojo 是一种创新的编程语言,结合了 Python 的可用性和 C 的性能。它旨在成为人工智能 (AI) 开发的首选语言,因为它允许开发人员编写既快速又易于阅读的代码。 这里有一些关键点, Modular 是一种新的编程语言,旨在应对整个 AI 堆栈的编程挑战。 Mojo 旨在成为一种创新且可扩

    2024年02月09日
    浏览(47)
  • 【AI智能助手的未来】与人类互动的下一代人工智能技术

    智能助手是一种基于人工智能技术的应用程序或设备,旨在帮助用户完成各种任务、提供信息和服务。智能助手通常具备 语音识别 、 自然语言处理 和 机器学习 等技术,使其能够 理解和解释用户的指令 、 问题或请求 ,并以相应的方式 作出回应 。 智能助手可以运行在智能

    2024年02月07日
    浏览(64)
  • AI智能助手的未来:与人类互动的下一代人工智能技术

    智能助手是一种基于人工智能技术的应用程序或设备,旨在帮助用户完成各种任务、提供信息和服务。智能助手通常具备 语音识别 、 自然语言处理 和 机器学习 等技术,使其能够 理解和解释用户的指令 、 问题或请求 ,并以相应的方式 作出回应 。 智能助手可以运行在智能

    2024年02月11日
    浏览(55)
  • 科大讯飞勾勒生成式AI输入法“模样”,开启下一代输入法革命

    回顾国内第三方输入法赛道近十余年的发展,移动互联网的市场红利催生了科大讯飞、百度、搜狗等颇具规模和实力的头部厂商。与此同时,历经多年、多方角逐,第三方输入法市场进入存量阶段,升级技术、优化用户体验来挖掘存量,成为决定竞争胜负的关键。 恰逢ChatG

    2024年02月07日
    浏览(39)
  • OpenAI 推出用于下一代对话式 AI 开发的 ChatGPT 和 Whisper API

    人工智能已经成为技术行业的推动力,使机器能够学习和执行以前被认为是人类独有的任务。领先的 AI 研究机构 OpenAI 一直走在这场革命的最前沿,开发可以处理自然语言并生成类似人类文本的强大模型。其中一个模型是 ChatGPT API,它可以对文本输入生成连贯且上下文相关的

    2024年02月09日
    浏览(53)
  • AI大模型时代网络安全攻防对抗升级,瑞数信息变革“下一代应用与数据安全”

      AI与大模型技术加速普及,安全领域也在以创新视角聚焦下一代应用安全WAAP变革,拓展新一代数据安全领域。近日瑞数信息重磅发布了瑞数全新API扫描器、API安全审计、数据安全检测与应急响应系统及分布式数据库备份系统四大新品。此次发布在延续瑞数信息Bot自动化攻击

    2024年02月06日
    浏览(58)
  • 神经数据库:用于使用 ChatGPT 构建专用 AI 代理的下一代上下文检索系统 — (第 2/3 部分)

    书接上回理解构建LLM驱动的聊天机器人时的向量数据库检索的局限性 - (第1/3部分)_阿尔法旺旺的博客-CSDN博客 其中我们强调了( 1 )嵌入生成,然后( 2 )使用近似近邻( ANN )搜索进行矢量搜索的解耦架构的缺点。我们讨论了生成式 AI 模型生成的向量嵌入之间的余弦相似

    2024年02月15日
    浏览(44)
  • 下一代智能合约开发语言(一)

    背景 过去的三个月可能是我过去几年离一百万最近的一次,错过了aptos的空投,几分钟就可以做一个任务,最后空投了150APT代币,最高时价值4W。。。真的是真金白银的教训。不过作为一个开发者,看到的更多是区块链未来的价值,所以开始真正投入到智能合约开发的学习中

    2024年02月02日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包