网络上已经有很多的文章来描述,FPGA在实现深度学习的优势和劣势。当然描述有对有错。如果你说是完全的劣势。那么旷视,商汤等公司还在使用FPGA完成深度学习,而没有转向GPU呢?
我在这里就简明扼要的去描述FPGA在深度学习上的优势和劣势。
优势:(终端部署)
1,FPGA和CPU没有啥好比较的,在深度学习终端部署,CPU完全不能考虑,tensorflow lite 虽然能压缩模型到一个很小的范围。但是依旧是实时性不够好。FPGA相对于GPU来说,相同算力情况下,有成本优势。在很多的网络上标示FPGA的成本不比GPU的低。这个答案是正确的。那么问题点在哪里呢??因为FPGA不擅长浮点运算。如果能够有效的压缩的话,成本会迅速降低。
计算,可不是FPGA的长项。如果是这种计算,FPGA的人工成本就太高了。 还好,卷积神经网络没那么复杂。
2,另外一个就是FPGA的灵活性。在深度学习高速迭代的情况下,FPGA比NPU强一些,可以灵活的选择器件功能。基础结构完成后,可以迅速修改。