b***i 发帖数: 3043 | 1 这个设计,用FPGA,或者ASIC,会不会更快更省电?就像bitcoin 一样? |
l*******m 发帖数: 1096 | 2 会省电,但很难比gpu快
【在 b***i 的大作中提到】 : 这个设计,用FPGA,或者ASIC,会不会更快更省电?就像bitcoin 一样?
|
S****8 发帖数: 401 | 3 FPGA 专门针对ML设计当然会比gpu快, 现在不少人已经在fpga上搞出类似gpu的东西了
,对码农来说也不需要vhdl,用xilinx的vivado就行了
【在 l*******m 的大作中提到】 : 会省电,但很难比gpu快
|
l*******m 发帖数: 1096 | 4 还真没看到,fpga的clock 太慢,还有cache/RAM 的瓶颈和gpu是一样的
【在 S****8 的大作中提到】 : FPGA 专门针对ML设计当然会比gpu快, 现在不少人已经在fpga上搞出类似gpu的东西了 : ,对码农来说也不需要vhdl,用xilinx的vivado就行了
|
S****8 发帖数: 401 | 5 https://gigaom.com/2015/02/23/microsoft-is-building-fast-low-po
networks-with-fpgas/
【在 l*******m 的大作中提到】 : 还真没看到,fpga的clock 太慢,还有cache/RAM 的瓶颈和gpu是一样的
|
w***g 发帖数: 5958 | 6 我不懂底层工艺,假设用相当的工艺,我觉得FPGA能做到更高的集成度,
更省芯片面积更省电,或者在相同的面积上做到更大的数据规模。
一个可能的方向就是把一个卷积的一个窗口加上activation用一个硬件
单元实现。然后在内部就可以做各种龌龊的优化。这样应该能比用浮点
数指令一个乘法一个乘法做能快好几倍。
我其实特别期待Intel的带FPGA的CPU,不知道什么时候能出来。
FPGA的劣势:1.还是无法避免内存带宽瓶颈。
2. 编程序比GPU更底层,开发更慢。
3. 上层算法变动太快,不确定性太高。很可能一个算法优化直接导致
CPU性能急剧上升。
4. 价格下不来。
【在 b***i 的大作中提到】 : 这个设计,用FPGA,或者ASIC,会不会更快更省电?就像bitcoin 一样?
|
S****8 发帖数: 401 | 7 对的,FPGA优点还是更flexible, 针对特定的计算直接修改电路, 比如GPU的SM里面
的special function units觉得多了就减掉几个不够用就增加几个, 局部可以优化的
地方很多.
在memory方面FPGA更tricky,有人把部分中间步骤数据直接留在flip-flop里而不去读
写内存.
现在很多人在搞FPGA的HLS, Xilinx已经开始支持C++/OPENCL了,以后编FPGA越来越容
易了应该
【在 w***g 的大作中提到】 : 我不懂底层工艺,假设用相当的工艺,我觉得FPGA能做到更高的集成度, : 更省芯片面积更省电,或者在相同的面积上做到更大的数据规模。 : 一个可能的方向就是把一个卷积的一个窗口加上activation用一个硬件 : 单元实现。然后在内部就可以做各种龌龊的优化。这样应该能比用浮点 : 数指令一个乘法一个乘法做能快好几倍。 : 我其实特别期待Intel的带FPGA的CPU,不知道什么时候能出来。 : FPGA的劣势:1.还是无法避免内存带宽瓶颈。 : 2. 编程序比GPU更底层,开发更慢。 : 3. 上层算法变动太快,不确定性太高。很可能一个算法优化直接导致 : CPU性能急剧上升。
|
w***g 发帖数: 5958 | 8 对,中间结果存内存,不管是在CPU里还是GPU里都是大开销。
还有就是精度。从本质上来说神经网络activation其实是可以
做成binary的,activate/non-activate。实际不行,因为
如果是binary的话就难以back-propagate error。但是应该
也不需要32位的精度。如果做成低精度浮点数可以剩下来
不少资源。现在nvidia已经支持16位浮点数了,也已经有人
用上了,但是加速还不是很快,主要是用来省内存。
我觉得原因是目前只是把fp32变成fp16,而没有针对神经
网络的特点有选择地使用。nvidia GPU内部的fp16计算应该
也无法比fp32计算快1倍。但是如果上FPGA的话就可以实现
加速。
【在 S****8 的大作中提到】 : 对的,FPGA优点还是更flexible, 针对特定的计算直接修改电路, 比如GPU的SM里面 : 的special function units觉得多了就减掉几个不够用就增加几个, 局部可以优化的 : 地方很多. : 在memory方面FPGA更tricky,有人把部分中间步骤数据直接留在flip-flop里而不去读 : 写内存. : 现在很多人在搞FPGA的HLS, Xilinx已经开始支持C++/OPENCL了,以后编FPGA越来越容 : 易了应该
|
N*****m 发帖数: 42603 | 9 good to know
【在 S****8 的大作中提到】 : 对的,FPGA优点还是更flexible, 针对特定的计算直接修改电路, 比如GPU的SM里面 : 的special function units觉得多了就减掉几个不够用就增加几个, 局部可以优化的 : 地方很多. : 在memory方面FPGA更tricky,有人把部分中间步骤数据直接留在flip-flop里而不去读 : 写内存. : 现在很多人在搞FPGA的HLS, Xilinx已经开始支持C++/OPENCL了,以后编FPGA越来越容 : 易了应该
|
l*******m 发帖数: 1096 | 10 标准的floating point 乘法内部都要先增加比特位,所以fp16比fp32快不了多少,当
然fixed point就另说了,这个一般码工是胜任不了的
binary weighs 似乎可行
http://arxiv.org/pdf/1511.00363v2.pdf
【在 w***g 的大作中提到】 : 对,中间结果存内存,不管是在CPU里还是GPU里都是大开销。 : 还有就是精度。从本质上来说神经网络activation其实是可以 : 做成binary的,activate/non-activate。实际不行,因为 : 如果是binary的话就难以back-propagate error。但是应该 : 也不需要32位的精度。如果做成低精度浮点数可以剩下来 : 不少资源。现在nvidia已经支持16位浮点数了,也已经有人 : 用上了,但是加速还不是很快,主要是用来省内存。 : 我觉得原因是目前只是把fp32变成fp16,而没有针对神经 : 网络的特点有选择地使用。nvidia GPU内部的fp16计算应该 : 也无法比fp32计算快1倍。但是如果上FPGA的话就可以实现
|
l*******m 发帖数: 1096 | 11 这篇文章自己都承认FPGA慢
Nvidia’s Tesla K40 GPU can do between 500 and 824 images per second on one
popular benchmark dataset, the white paper claims, while Microsoft predicts
its preferred FPGA chip — the Altera Arria 10 — will be able to process
about 233 images per second on the same dataset.
【在 S****8 的大作中提到】 : https://gigaom.com/2015/02/23/microsoft-is-building-fast-low-po : networks-with-fpgas/
|
S****8 发帖数: 401 | 12 1. 我只是找个例子给你,你说你没看到
2. 你说慢的前提是你拿K40 跟 Altera Arria 10比,就算这样也没慢多夸张
3. 你应该比的是单位transistor或者单位价格或者单位功耗 多少计算量
one
predicts
【在 l*******m 的大作中提到】 : 这篇文章自己都承认FPGA慢 : Nvidia’s Tesla K40 GPU can do between 500 and 824 images per second on one : popular benchmark dataset, the white paper claims, while Microsoft predicts : its preferred FPGA chip — the Altera Arria 10 — will be able to process : about 233 images per second on the same dataset.
|
l*******m 发帖数: 1096 | 13 我们公司做VC(high-profile),如果有比state of the art快(最好2x), 非常感谢
pm我
【在 S****8 的大作中提到】 : 1. 我只是找个例子给你,你说你没看到 : 2. 你说慢的前提是你拿K40 跟 Altera Arria 10比,就算这样也没慢多夸张 : 3. 你应该比的是单位transistor或者单位价格或者单位功耗 多少计算量 : : one : predicts
|