|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在过去的十年里,人工智能的再一次兴起使显卡行业受益匪浅。英伟达 (Nvidia) 和 AMD 等公司的股价也大幅上涨,因为事实表明,它们的 GPU 在训练和运行 深度学习模型 方面效果明显。实际上,英伟达也已经对自己的业务进行了转型,之前它是一家纯粹做 GPU 和游戏的公司,现在除了作为一家云 GPU 服务提供商外,英伟达还成立了专业的人工智能研究实验室。5 I; I+ q8 H' F" J* c( E
+ c% m. b1 y# _3 n" N2 ^5 B
不过,机器学习软件公司 Mipsology 的首席执行官兼联合创始人卢多维奇•拉祖尔 (Ludovic Larzul) 表示,GPU 还存在着一些缺陷,这使其在 AI 应用中面临着一些挑战。
, }4 Q9 f1 v4 d) \3 q# E3 `" N3 l& ]
# R% k4 B3 U; uLarzul 表示,想要解决这些问题的解决方案便是实现现场可编程门阵列 (FPGA),这也是他们公司的研究领域。FPGA 是一种处理器,可以在制造后定制,这使得它比一般处理器更高效。但是,很难对 FPGA 进行编程,Larzul 希望通过自己公司开发的新平台解决这个问题。- ?1 V+ j4 m! ~& j
+ _* \& `1 Z0 N- R专业的人工智能硬件已经成为了一个独立的产业,但对于什么是深度学习算法的最佳基础设施,人们仍然没有定论。如果 Mipsology 成功完成了研究实验,许多正受 GPU 折磨的 AI 开发者将从中受益。
- p' H7 M5 D8 s% F1 ?; R% p0 v3 K6 W$ M
GPU 深度学习面临的挑战" ?3 G8 v! }! _# d* G2 P
三维图形是 GPU 拥有如此大的内存和计算能力的根本原因,它与 深度神经网络 有一个共同之处:都需要进行大量矩阵运算。3 A. k, E7 I: t; _
8 |! k. I5 ^: D7 m1 i
% D) S* ~ ~0 G5 M
4 S" ~- o; k4 w. c9 q
显卡可以并行执行矩阵运算,极大地加快计算速度。图形处理器可以把训练神经网络的时间从几天、几周缩短到几小时、几分钟。
* R9 \ E6 q& w5 e+ O4 G! z/ s7 \/ r: A3 k% ~3 R' v# q/ |
随着图形硬件公司供货的不断增加,GPU 在深度学习中的市场需求还催生了大量公共云服务,这些服务为深度学习项目提供强大的 GPU 虚拟机。$ K6 I/ ]( x; @& E/ `' w
! W$ o! F$ o+ a1 L
但是显卡也受硬件和环境的限制。Larzul 解释说:“神经网络训练通常是在一个确定的环境中进行的,运行神经网络的系统会在部署中遇到各种限制——这可能会对 GPU 的实际使用造成压力。”$ F; N h4 k) `, t
. U# _/ L4 h+ r! p* M' a" m2 H8 L# SGPU 需要大量的电力,会产生大量的热量,并需要使用风扇冷却。当你在台式工作站、笔记本电脑或机架式服务器上训练神经网络时,这不是什么大问题。但是,许多部署深度学习模型的环境对 GPU 并不友好,比如自动驾驶汽车、工厂、机器人和许多智慧城市环境,在这些环境中硬件必须忍受热、灰尘、湿度、运动和电力限制等环境因素。
' y* L( |5 s/ ~. Z; t6 K; G6 b) R Y7 a# L! E# q; A* e D
Larzul 说:“在一些关键的应用场景中,比如智慧城市的视频监控,要求硬件暴露在对 GPU 有不利影响的环境因素 (比如太阳) 下。“ GPU 受晶体管技术的限制,导致它们在高温下运行时需要及时冷却,而这并不总是可以实现的。要做到这点需要更多的电力、维护成本等。”8 s' f f1 Y2 j3 i/ H6 B2 v
0 ]( Z' I( b- t/ c- r( U; p
使用寿命也是一个问题。一般来说,GPU 的使用 寿命约为 2-5 年,这对那些每隔几年就换一次电脑的玩家来说不是什么大问题。但在其他领域,如汽车行业,需要硬件有更高的耐用性,这就带来了问题。特别是过多的暴露在恶劣的环境中,再加上高强度的使用,GPU 的使用寿命将会更短。
0 ~! o0 A7 A% C% O* R
7 W. ]6 i" m2 m3 p$ B) a5 xLarzul 说:“从商业可行性方面考虑,自动驾驶汽车等应用可能需要多达 7-10 个 GPU(其中大多数会在不到四年的时间内失效),对于大多数购车者来说,智能或自动驾驶汽车的成本将变得不切实际。”; ]" N' d( q1 P6 B9 g
! T; x. K5 m$ A9 B9 i# b机器人、医疗保健和安全系统等其他行业也面临着类似的挑战。
+ F, T7 y6 \- P( ?/ A
% n* X9 _# A' H9 {FPGA 和深度学习- C8 d0 m" w: ?" J8 S% q
FPGA 是可定制的硬件设备,可对其组件进行调节,因此可以针对特定类型的架构 (如 卷积神经网络) 进行优化。其可定制性特征降低了对电力的需求,并在运算速度和吞吐量方面提供了更高的性能。它们的使用寿命也更长,大约是 GPU 的 2-5 倍,并且对恶劣环境和其它特殊环境因素有更强的适应性。
1 {0 m) i0 S( i) S' p& Q: A" [ L' b$ L9 O; Z# R. e5 z' m
有一些公司已经在他们的人工智能产品中使用了 FPGA。微软 就是其中一家,它将基于 FPGA 的机器学习技术作为其 Azure 云服务产品的一部分来提供。
U( K0 ^, O0 i( |) |
9 x3 R' l# r; u8 U& r/ f: h* L不过 FPGA 的缺陷是难于编程。配置 FPGA 需要具备硬件描述语言 (如 Verilog 或 VHDL) 的知识和专业技能。机器学习程序是用 Python 或 C 等高级语言编写的,将其逻辑转换为 FPGA 指令非常困难。在 FPGA 上运行 TensoRFlow、PyTorch、Caffe 和其他框架建模的神经网络通常需要消耗大量的人力时间和精力。+ G$ Y+ z; L, r1 J
0 g" K- J' w% y$ [2 l
“要对 FPGA 进行编程,你需要组建一支懂得如何开发 FPGA 的硬件工程师团队,并聘请一位了解神经网络的优秀架构师,花费几年时间去开发一个硬件模型,最终编译运行在 FPGA 上,与此同时你还需要处理 FPGA 使用效率和使用频率的问题。“Larzul 说。此外你还需要具备广泛的数学技能,以较低的精度准确地计算模型,并需要一个软件团队将 AI 框架模型映射到硬件架构。- F4 T# Q8 F& k S3 Q
/ ~1 J2 n6 I5 k( Y) B' D8 y/ g
Larzul 的公司 Mipsology 希望通过 Zebra 来弥合这一差距。Zebra 是一种软件平台,开发者可以轻松地将深度学习代码移植到 FPGA 硬件上。
( h) w7 r$ N3 j" k8 T0 F* N" Z9 ~: v: x+ z) {
Larzul 说:“我们提供了一个软件抽象层,它隐藏了通常需要高级 FPGA 专业知识的复杂性。”“只需加载 Zebra,输入一个 Linux 命令,Zebra 就可以工作了——它不需要编译,不需要对神经网络进行任何更改,也不需要学习任何新工具。不过你可以保留你的 GPU 用于训练。”
) N$ ?3 t" G2 W1 C9 t3 b! D
8 {2 q# ]$ R" D2 ?) Z7 ?3 f
" t! T! k; D$ O7 P( W
Zebra 提供了将深度学习代码转换为 FPGA 硬件指令的抽象层6 V0 b! [( |7 j C, i+ N, E
) O9 [$ h2 w" E. kAI 硬件前景/ a; @- l7 p! f, m3 ]6 I
Mipsology 的 Zebra 平台是开发者探索在 AI 项目中使用 FPGA 的 众多方案之一。Xilinx 是 FPGA 领域的领导者,已经开发了 Zebra 并将其集成到了电路板中。其他公司,如谷歌和特斯拉,也正积极的为其开发专用的 AI 硬件,用于自己的云产品和边缘计算产品环境中。9 Q. H7 c- |% p6 a' H4 W
! i2 J3 U3 O1 P9 r; t
神经形态芯片 方面也有着一些发展,这是一种专门为神经网络设计的计算机架构。英特尔在神经形态计算领域处于领先地位,已经开发了几种模型架构,不过该领域仍处于早期发展阶段。
: g3 Z, _; s$ s$ o9 M7 h8 k% p" K7 ^3 E. y& N. z. H9 ?
还有专门用于特定应用的集成电路 (ASIC),即专为某一特定人工智能需求制造的芯片。但 ASIC 缺乏 FPGA 的灵活性,无法重新编程。6 c% X* k9 T+ H* w: H; J
( X4 _6 W5 P) M( P0 E/ ~; uLarzul 最后说,“我们决定专注于软件业务,探索研究提升神经网络性能和降低延迟的方案。Zebra 运行在 FPGA 上,因此无需更换硬件就可以支持 AI 推理。FPGA 固件的每次刷新都能给我们带来更高的性能提升,这得益于其高效性和较短的开发周期。另外,FPGA 的可选择方案很多,具有很好的市场适应性。”4 l8 K0 i# p& Y, Q. n, R
|
|