FPGA万花筒之(七):FPGA实现神经网络加速的Hello World

姓名:张俸玺 学号:20012100022 学院:竹园三号书院

转自https://blog.csdn.net/weixin_38712697/article/details/82818683

【嵌牛导读】FPGA,可编程门阵列,作为一种较为新型的技术,为大多数人所陌生。如今,FPGA成为一个技术热门。FPGA的神经网络实现是当今世界的热门技术话题之一。那么,FPGA如何实现神经网络加速的Hello World呢,本文对此做出了解答。

【嵌牛鼻子】FPGA 神经网络 激活函数 代价函数

【嵌牛提问】FPGA如何实现神经网络加速的Hello World?

【嵌牛正文】

听完很多大咖的观点,对于工程师,未来十年应该有两个技术可以做,一个是AI,提升生产力,一个是区块链,厘清生产关系。个人觉得还是AI好玩些,希望可以挤进去折腾下。对于AI应用落地,其实判断标准就两个,是否可以提升生产力(当然有时不是直接的,产生的数据可能在其他地方提高效率),一个是能否降低交易成本,把实惠给老百姓。

好像有点扯远了,我们还是聊技术吧。FPGA工程师如果想进这个行业,首先要先明白神经网络部署的一些基本步骤。FPGA工程师我们总不能只做翻译的活吧。

定义网络的结构:最基本的就是层数、维度、激活函数,对一般工程师其实是使用,而不是发明。

一个模型一般由以下这些函数构成

initialize_parameter(根据网络结构初始化参数,这个学问很多,初始化不好,收敛不好。

sigmoid, relu(激活函数),如果都用线性的,那深度网络就没用了,自己代入公司就知道了,最后相当于单层网络。

forward_propagation 正向传播,最简单就是点积,然后激活函数

compute_cost 计算代价函数

backward_propagation,反向传播时这个梯度下降也是很多算法滴。其实反向跟正向计算差不多,只不过反向输出层先求导,然后一级一级往回求梯度。。。

update_parameters 更新参数,有个挺重要的超参数,学习率,尝试多个学习率时也是有技巧滴,不是平均,可能指数平均更容易赚大运。

这些模型需要的函数设计好了,接下来就开始训练,一般分训练集(训练用)、开发集(选择一组好的超参数用)、测试集(测试用)。

训练好的模型就拿去做推理,推理其实就是一个正向传播算法,他的参数是训练好的。

搭建模型时给tensorflow做个广告,真的比自己用numpy做简单啊,好处是设计好正向传播,反向传播不用写代码,只要告诉他怎么优化代价函数就好,其他交给框架了。当然如果你要做硬件加速器,那还是要理解计算过程的。


FPGA在这一过程中能干啥呢,当然是加速了,深度神经网络里面最多的计算就是乘加运算。当然如果你认为只是乘加,那就说明层次不够啊。。。

一般要解决几个主要问题:

RAM如何设计,FPGA适合干这个,很大一部分原因是内部RAM分布式的,天生用来保存权重的。

哪些层放在FPGA中加速,哪些放在CPU中。

软硬件调度如何设计

数据与参数如何“流进”这个网络才能最优。

内部RAM放不下时咋整?


这些都设计出来,针对某个特定网络的加速器就设计完了,剩下的就是动手开干,实现你的想法吧。当然这种做法与传统的算法加速,比如实现加密算法,流程上没太大区别。其实还有很多更先进的东西,那就好好去读下相关论文及资料,比如微软的brainwave。。。

最后提两个问题哈:

为什么大家都说FPGA适合做推理,做训练不如GPU?理解算法以及FPGA结构,应该可以找到1,2个原因。欢迎大家分享想法。

微软的Bing为什么选择FPGA部署推理算法?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容