为什么 FPGA 比 CPU 和 GPU 快?

FPGA、GPU 与 CPU——AI 应用的硬件选择

现场可编程门阵列 (FPGA) 为人工智能 (AI) 应用带来许多优势。图形处理单元 (GPU) 和传统中央处理单元 (CPU) 相比如何?

人工智能(AI)一词是指能够以类似于人类的方式做出决策的非人类机器智能。这包括判断能力、沉思能力、适应能力和意图能力。

研究公司Statista预测,到2025年,全球人工智能市场将达到1260亿美元。到2030年,人工智能将占中国GDP的26.1%、北美GDP的14.5%和阿联酋GDP的13.6%。

整个人工智能市场包括广泛的应用,包括自然语言处理(NLP)、机器人过程自动化、机器学习和机器视觉。人工智能正在许多垂直行业迅速得到采用,并正在创造下一个伟大的技术变革,就像个人电脑和智能手机的出现一样。
在这里插入图片描述

人工智能 (AI) 及其术语的起源可以归功于研究人员 Allen Newell、Cliff Shaw 和 Herbert Simon 在 1956 年创建的逻辑理论家程序。逻辑理论家程序旨在模拟人类解决问题的能力,由研究与开发(兰德)公司资助。逻辑理论家被认为是第一个人工智能项目,于 1956 年在新罕布什尔州达特茅斯学院的达特茅斯夏季人工智能研究项目 (DSRPAI) 上提出。

虽然人工智能主要依赖于模仿人类思维的编程算法,但硬件也是同样重要的一部分。用于人工智能操作的三种主要硬件解决方案是现场可编程门阵列(FPGA)、图形处理单元(GPU)和中央处理单元(CPU)。
每个选项都有自己的优势,但也有一些局限性,我们将进一步探讨。

FPGA

现场可编程门阵列 (FPGA) 是具有可编程硬件结构的集成电路类型。这与图形处理单元 (GPU) 和中央处理单元 (CPU) 的不同之处在于 FPGA 处理器内部的功能电路不是硬蚀刻的。这使得 FPGA 处理器能够根据需要进行编程和更新。这也使设计人员能够从头开始构建神经网络并构建 FPGA,以最好地满足他们的需求。

FPGA 的可重新编程、可重新配置架构为不断变化的人工智能领域提供了关键优势,使设计人员能够快速测试新的和更新的算法。无需开发和发布新硬件,这在加快上市时间和节省成本方面提供了强大的竞争优势。
FPGA 集速度、可编程性和灵活性于一身,可通过降低专用集成电路 (ASIC) 开发中固有的成本和复杂性来提高性能效率。

FPGA 提供的主要优势包括:
卓越的性能和减少延迟的优势:FPGA 提供低延迟和确定性延迟 (DL)。深度学习作为模型将从初始状态或给定的起始条件连续产生相同的输出。 DL 提供已知的响应时间,这对于许多具有硬期限的应用程序至关重要。这使得语音识别、视频流和动作识别等实时应用程序的执行速度更快。
成本效益:FPGA 在制造后可以针对不同的数据类型和功能进行重新编程,与用新硬件替换应用程序相比,它具有真正的价值。通过将图像处理管道等附加功能集成到同一芯片上,设计人员可以将 FPGA 不仅仅用于人工智能,从而降低成本并节省电路板空间。 FPGA 较长的产品生命周期可以为应用提供更高的实用性,可以在几年甚至几十年内测量。这一特性使其成为工业、航空航天、国防、医疗和运输市场的理想选择。
能源效率:FPGA 使设计人员能够微调硬件以满足应用需求。利用 INT8 量化等开发工具是优化 TensorFlow 和 PyTorch 等机器学习框架的成功方法。 INT8 量化还为 NVIDIA® TensorRT 和 Xilinx® DNNDK 等硬件工具链带来了良好的结果。这是因为 INT8 使用 8 位整数而不是浮点数,并且使用整数数学而不是浮点数学。正确利用 INT8 可以降低内存和计算需求,从而将内存和带宽使用量减少多达 75%。事实证明,这对于满足要求苛刻的应用中的能效要求至关重要。
FPGA 可以并行承载多种功能,甚至可以为特定功能分配芯片的各个部分,从而大大提高操作和能源效率。 FPGA 独特的架构将少量分布式内存放入结构中,使其更接近处理。与 GPU 设计相比,这可以减少延迟,更重要的是可以降低功耗。

GPU

图形处理单元 (GPU) 最初开发用于生成计算机图形、虚拟现实训练环境和视频,依赖于高级计算和浮点功能来绘制几何对象、照明和颜色深度。为了让人工智能取得成功,需要大量数据进行分析和学习。这需要强大的计算能力来执行人工智能算法并转移大量数据。 GPU 可以执行这些操作,因为它们是专门为快速处理渲染视频和图形时使用的大量数据而设计的。它们强大的计算能力使其在机器学习和人工智能应用中广受欢迎。

GPU 非常适合并行处理,即并行计算大量算术运算。这为具有快速连续重复执行的重复工作负载的应用程序提供了可观的加速。 GPU 的定价可以根据具有竞争力的解决方案进行定价,平均显卡的生命周期为五年。
GPU 上的人工智能确实有其局限性。 GPU 通常无法提供与 ASIC 设计一样多的性能,其中微芯片是专门为人工智能应用而设计的。 GPU 提供大量计算能力,但代价是能源效率和热量。热量可能会给应用程序带来耐久性问题,损害性能并限制操作环境的类型。更新AI算法和添加新功能的能力也不是FPGA处理器可比的。

中央处理器
中央处理器 (CPU) 是许多设备中使用的标准处理器。与 FPGA 和 GPU 相比,CPU 的架构具有有限数量的针对顺序串行处理进行优化的内核。 Arm® 处理器可能是一个例外,因为它们强大地实现了单指令多数据 (SIMD) 架构,允许在多个数据点上同时运行,但其性能仍然无法与 GPU 或 FPGA 相比。
有限的内核数量降低了 CPU 处理器并行处理正确运行 AI 算法所需的大量数据的效率。 FPGA 和 GPU 的架构设计具有快速同时处理多个任务所需的密集并行处理能力。 FPGA 和 GPU 处理器执行 AI 算法的速度比 CPU 快得多。这意味着人工智能应用程序或神经网络在 FPGA 或 GPU 上的学习和反应速度比 CPU 快几倍。
CPU 确实提供了一些初始定价优势。当使用有限的数据集训练小型神经网络时,可以使用 CPU,但代价是时间。基于 CPU 的系统比基于 FPGA 或 GPU 的系统运行速度慢得多。基于 CPU 的应用程序的另一个好处是功耗。与 GPU 配置相比,CPU 将提供更好的能效。

微型机器学习 (TinyML)

TinyML 被视为人工智能发展的下一个进化阶段,正在经历强劲的增长。在 FPGA、GPU 和 CPU 处理器上运行的人工智能应用程序非常强大,但它们不能用于手机、无人机和可穿戴应用程序等所有环境。
随着互联设备的广泛采用,需要进行本地数据分析,以减少对云的依赖以实现完整的功能。 TinyML 可在微控制器上运行的边缘设备上实现低延迟、低功耗和低带宽推理模型。
消费级 CPU 的平均功耗为 65 至 85 瓦,而 GPU 的平均功耗为 200 至 500 瓦。相比之下,典型的微控制器消耗的功率为毫瓦或微瓦数量级,这比功耗低一千倍。这种能源效率使 TinyML 设备能够依靠电池供电运行数周、数月甚至数年,同时在边缘运行 ML 应用程序。
TinyML 支持 TensorFlow Lite、uTensor 和 Arm 的 CMSIS-NN 等框架,将人工智能和小型互联设备结合在一起。

TinyML 的优势包括:
能源效率:微控制器消耗的电量非常少,这为远程安装和移动设备带来了好处。
低延迟:通过在边缘本地处理数据,数据不需要传输到云端进行推理。这大大减少了设备延迟。
隐私:数据可以存储在本地,而不是存储在云服务器上。
减少带宽:随着推理对云的依赖减少,带宽问题也被最小化。
使用 MCU 的 TinyML 的未来对于小型边缘设备和 FPGA、GPU 或 CPU 不可行的普通应用程序来说是有希望的。

要点

AI 的三种主要硬件选择是:FPGA、GPU 和 CPU。在速度和反应时间至关重要的人工智能应用中,FPGA 和 GPU 在学习和反应时间方面具有优势。虽然 GPU 能够处理人工智能和神经网络所需的大量数据,但其缺点包括能源效率、热考虑因素(热量)、耐用性以及使用新功能和人工智能算法更新应用程序的能力。 FPGA 在人工智能应用和神经网络中具有关键优势。其中包括能源效率、实用性、耐用性以及轻松更新人工智能算法的能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/351525.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

秋招实习,刷题网站推荐

codefun2000.com 优点1: 题目全部改编自公司笔试真题,可以做做往年真题练手。 优点2: 该平台和公司笔试模式一样,都是Acm输入输出,更有利于准备秋招。 优点3: 平台主页有博客,以及各大公司真题知识点思维导图,讲…

第十五回 杨志押送金银担 吴用智取生辰纲-Ubuntu下wifi 无线网络的配置

晁盖等七人排了座次,大家商定在黄泥冈附近动手,正好邀请白胜参与,这样七人对应七星聚义,白胜对应北斗上的白光。 却说大名府梁中书收买了十万贯庆贺生日礼物,准备派杨志去押送。梁中书本意派军士押送,杨志说…

【重点】【DP】123.买卖股票的最佳时机III

题目 法1&#xff1a;单次遍历&#xff0c;Best! class Solution {public int maxProfit(int[] prices) {int f1 -prices[0], f2 0, f3 -prices[0], f4 0;for (int i 1; i < prices.length; i) {f1 Math.max(f1, -prices[i]);f2 Math.max(f2, f1 prices[i]);f3 Ma…

机器学习工程师在人工智能时代的角色

机器学习工程师在人工智能时代的角色 在当今的数字时代&#xff0c;人工智能&#xff08;AI&#xff09;已成为许多行业不可或缺的一部分。从流程自动化到增强客户体验&#xff0c;人工智能具有改变企业的巨大潜力。这一变革性技术的核心是机器学习&#xff0c;该领域专注于开…

从云计算到物联网:虚拟化技术的演变与嵌入式系统的融合

文章目录 一、硬件性能提升&#xff1a;摩尔定律与嵌入式虚拟化二、CPU多核技术&#xff1a;为嵌入式虚拟化提供支持三、业务负载整合&#xff1a;嵌入式虚拟化的核心需求四、降低硬件成本&#xff1a;虚拟化技术的经济效益五、软件重用与移植&#xff1a;虚拟化技术的优势六、…

近期孩子燃放烟花已引发多起火灾 富维图像烟火识别防止悲剧发生

近期&#xff0c;孩子们燃放烟花造成的火灾事件频发&#xff0c;这不仅威胁到社区的安全&#xff0c;更触动了每个家庭的心。在这样的背景下&#xff0c;“预防胜于治疗”显得尤为重要。北京富维图像公司的FIS智能图像识别系统&#xff0c;就是这样一款能够及时防止悲剧发生的创…

旷视low-level系列(一):Bayer Pattern Unification and Bayer Preserving Au

文章目录 1. Motivation2. Contribution3. Methods3.1 BayerUnify3.2 BayerAug 4. CommentsReference 1. Motivation 对于RAW域去噪&#xff0c;通常会将单通道bayer格式的RAW图打包成4通道&#xff0c;然后送入神经网络。不同厂家生产的sensor出的RAW图可能具有不同的bayer模…

QtRVSim(二)一个 RISC-V 程序的解码流程

继上一篇文章简单代码分析后&#xff0c;本文主要调研如何实现对指令的解析运行。 调试配置 使用 gdb 工具跟踪调试运行。 c_cpp_properties.json 项目配置&#xff1a; {"name": "QtRvSim","includePath": ["${workspaceFolder}/**&quo…

21.云原生之GitLab pipline语法实战(CI基础)

云原生专栏大纲 文章目录 gitlab-ci.yml 介绍GitLab中语法检测gitlab-ci.yml 语法job定义作业before_script和after_scriptstages定义阶段tages指定runnerallow_failure运行失败when控制作业运行retry重试timeout超时parallel并行作业only & exceptrulescache 缓存cache:p…

ETL能实现什么流程控制方式?

随着大数据时代的到来&#xff0c;数据处理工具成为各个行业中不可或缺的一部分。运用数据处理工具&#xff0c;能够大幅度帮助开发人员进行数据处理等工作&#xff0c;以及能够更好的为企业创造出有价值的数据。那在使用ETL工具时&#xff0c;我们往往会通过ETL平台所携带的组…

萝卜大杂烩 | 一篇文章扫盲Python、NumPy 和 Pandas,建议收藏!(适合初学者、python入门)

本文来源公众号“萝卜大杂烩”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;长文预警&#xff0c;一篇文章扫盲Python、NumPy 和 Pandas&#xff0c;建议收藏慢慢看 Python作为简单易学的编程语言&#xff0c;想要入门还是比较容…

2、鼠标事件、键盘事件、浏览器事件、监听事件、冒泡事件、默认事件、属性操作

一、鼠标事件 1、单击事件&#xff1a;onclick <body><header id"head">我是头部标签</header> </body> <script> var head document.getElementById("head")head.onclick function () {console.log("我是鼠标单击…

单片机设计_智能蓝牙电子秤(51单片机、HX711AD)

想要更多项目私wo!!! 一、电路设计 智能蓝牙电子称由51单片机、HX711AD称重模块、HC-05蓝牙模块、LCD1602等电路组成硬件部分,然后上传至APP。 二、运行结果 三、部分代码 #include "main.h" #include "HX711.h" #include "uart.h" #include …

podman+centos和docker+alpine中作性能对比遇到的问题及解决

1.dockeralpine中遇到这个问题 这是由于缺少相关的配置和依赖造成的 通过以下命令在alpine中安装相关配置 apk add --no-cache build-base cairo-dev cairo cairo-tools jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev 2.alpine中python找…

API网关-Apisix RPM包方式自动化安装配置教程

文章目录 前言一、简介1. etcd简介2. APISIX简介3. apisix-dashboard简介 二、Apisix安装教程1. 复制脚本2. 增加执行权限3. 执行脚本4. 浏览器访问5. 卸载Apisix 三、命令1. Apisix命令1.1 启动apisix服务1.2 停止apisix服务1.3 优雅地停止apisix服务1.4 重启apisix服务1.5 重…

【云原生】认识docker容器操作命令

目录 一、容器操作命令 1、创建容器 2、删除容器以及停止容器运行 3、查看容器的运行状态 4、查看容器的详细信息 5、将容器的文件传输到宿主机以及将宿主机的文件传输到容器中 6、批量删除容器 7、进入容器 二、容器的迁移 1、先在容器中创建测试文件 2、将容器存储…

洛谷 P5635 【CSGRound1】天下第一

原址链接 P5635 【CSGRound1】天下第一 先看标签 搜索&#xff1f;模拟&#xff1f;用不着这么复杂 创建函数a(int x,int y,int p) a(int x,int y,int p){if(x<0){return 1;}x (xy)%p;if(y<0){return 2;}y (xy)%p;return a(x,y,p); }写入主函数 #include<iostrea…

防御保护----防火墙的安全策略、NAT策略实验

实验拓扑&#xff1a; 实验要求&#xff1a; 1.生产区在工作时间&#xff08;9&#xff1a;00-18&#xff1a;00&#xff09;内可以访问DMZ区&#xff0c;仅可以访问http服务器&#xff1b; 2.办公区全天可以访问DMZ区&#xff0c;其中10.0.2.10可以访问FTP服务器和HTTP服务器…

Flink实现数据写入MySQL

先准备一个文件里面数据有&#xff1a; a, 1547718199, 1000000 b, 1547718200, 1000000 c, 1547718201, 1000000 d, 1547718202, 1000000 e, 1547718203, 1000000 f, 1547718204, 1000000 g, 1547718205, 1000000 h, 1547718210, 1000000 i, 1547718210, 1000000 j, 154771821…

Windows Server 安装 Docker

一、简介 Docker 不是一个通用容器工具&#xff0c;它依赖运行的 Linux 内核环境。Docker 实质上是在运行的 Linux 服务器上制造了一个隔离的文件环境&#xff0c;所以它执行的效率几乎等同于所部署的 Linux 主机服务器性能。因此&#xff0c;Docker 必须部署在 Linux 内核系统…