关于AI算法芯片实现的几点看法(原创)

来源:互联网 发布:mac和nars口红哪个滋润 编辑:程序博客网 时间:2024/05/17 04:29
离开ASIC design一线的工作已经有很长时间了,现在一直在研究deep learning算法技术。今年有多家公司都已经发布或准备发布AI芯片,Apple,  Qualcomm,google,华为都在列。现在我对deep learning的算法研究越来越深入了,(曾经我也是资深IC designer啊)时不时也会联想到AI芯片实现的问题。据我所圈里有些好友已经"偷偷"在设计AI芯片了偷笑。今天从算法的角度串门谈谈芯片设计上可能会遇到的问题,说的不好大家别喷我吐舌头
1.首先deep learning 主要都是运算逻辑,控制逻辑应该不会太复杂,这点控制设计应该不用太操心。
2.deep learning的实现主要都是密集的运算逻辑,非常密集的逻辑!一个卷积计算可以是几万乘几万的矩阵运算,够恐怖吧!所以运算逻辑要好好设计了,不要太相信 DC Compiler的优化了,要多尝试,必要时手工写运算模块门级网表,这样能尽量节省 gate count。
3.功耗控制。前面说了,deep learning的算法实现都是十分密集的运算逻辑。这样,每个运算逻辑门都会翻转得非常频繁!!对low power的设计压力很大啊!整颗芯片全速跑估计会发烫,特别是移动设备芯片的设计,更考验功力。各位后端low power设计专家,是你们大显身手的时候了大笑
4.deep learning的算法发展太快了,不要把逻辑设计的太死板,尽量多考虑可扩展性,能适应多种算法。要不然新算法一出来就没法用。
5.memory bandwidth,内存带宽消耗肯定不会小,更不要指望用SRAM存下全部数据,不现实!但是deep learning的数据运算很多会重复读取数据。所以设计一个高效的cache可以大大节省memory bandwidth。
6.总之,power, gate count,speed还是要平衡好。最后,还是要重申下,deep learning的算法还是非常适合ASIC/FPGA硬件实现的,互联网公司做不了ASIC,就上FPGA吧。FPGA的加速效果和功耗降低的收益也会很不错的。说的不对的多多指正,多多交流得意