人工智能顶级会议最佳论文里的“DaDianNao”是什么鬼?
最近对人工智能领域的 AI 加速芯片感兴趣,在翻阅 Google 的第一代 TPU 论文时,在相关工作中看到了 DaDianNao,PuDianNao,ShiDianNao。看的我一脸懵逼,这是什么?汉语拼音吗?后来经过搜索,发现这是中科院计算所的一系列研究成果,后来直接催生了国内芯片独角兽 -- 寒武纪的诞生。
故事得从20年前说起,当时江西南昌有俩亲兄弟,哥哥叫陈云霁,弟弟陈天石。他们分别于97、01 年先后考入中国科学大学少年班学习,后来攻读研究生时,哥哥在计算所跟胡伟武(龙芯之父)做芯片方面研究,弟弟在中科大跟着陈国良、姚新做人工智能算法方面研究。08年的时候,他俩想合起来做一些人工智能芯片方面的事情。
2012年到2014年,俩兄弟和 当时任职于法国巴黎综合理工学院(Inria Saclay)的 Olivier Temam 教授一起合作,做人工智能加速器的研究。最开始叫做 electric brain,是一个电子的大脑,但是外籍教授 Olivier 说起个中国的名字,这样别人会觉得外国的东西,很有意思,很先进。于是就有了 DianNao 这个汉语拼音的名字了。中科院有专门页面介绍“DianNao”项目,项目的核心是提出了一系列定制的AI加速器的设计方案。
当时他们研究领域想要解决的三大矛盾是:
- 有限规模的硬件 vs 任意规模的算法:硬件出厂后就固定了,但是算法是研究员自己定义的,会是任意的
- 结构固定的硬件 vs 千变万化的算法:算法有图像、语音、自然语言处理等领域,而硬件构造在生产之后就固定了
- 能耗受限的硬件 vs 精度优先的算法:硬件功耗受制于场景是受限的,但是算法研究员希望精度越高越好
陈氏兄弟的解决之道:
- 虚拟化:没有让硬件运算单元和算法神经元一一对应起来,而是采用了对小尺度神经网络分时复用的方法来支持任意规模的神经网络
- 智能指令集:自动化抽取各种深度学习算法共性基本算子,设计首个深度学习指令集来高效处理算法。
- 利用神经网络对于计算误差的容忍能力,进行稀疏化神经网络处理,这样降低了功耗,提高了精度。
他们设计出了第一个加速器 DianNao--电脑。第二个加速器叫DaDiannao -- 大电脑。这个是 DianNao 的多核版本,通过多片设计,可以将较大的模型放在加速器(芯片)的内存上运行,提高效率。第三个加速器ShiDianNao -- 视电脑:将 AI 加速器与传感器直连,从而减少内存通讯的开销,是属于端/边侧摄像头上的 AI 加速器。电脑和大电脑只能做深度学习处理,还有很多其他的人工智能算法, 怎么去支持?于是就有了 PuDianNao -- 普电脑。它比较普世,能支持很多机器学习算法。PuDianNao 也是 DianNao 项目的最后一个工作。我大胆猜测是因为再接着做下去,围绕电脑起名很困难。后来16年时他们提出了国际首个神经网络通用指令集 DianNaoYu -- 电脑语。这些指令集相当于深度学习算法界的乐高积木,是算法研究员与加速器打交道的唯一接口。
他们当时的 DianNao 论文获得了这个领域最重要的国际会议 -- ASPLOS 的最佳论文奖。这也是亚洲地区,第一次在计算机体系结构的这种顶尖的国际会议上拿奖。他们研究最大的创新点在于前人做的不是一个完备的处理器,只能说是一个神经网络功能部件,只适用于特定大小的神经网络。而他们的工作是一个真正意义上完备的处理器,能够支持任意规模的神经网络。打个比方,只能处理两个数相加,而不能处理10000甚至任意个数相加的硬件,只能叫加法器,而不能叫处理器。
后来弟弟陈天石从中科院出来创办了寒武纪,哥哥也一起合伙。但半年之后,哥哥因为觉得还是喜欢搞科研,所以又回到了中科院。
对上述内容感兴趣的朋友可以去看看 B 站上 陈云霁的智能之芯视频。大佬演讲风趣幽默,着装朴实,让人印象深刻。有两篇陈天石的采访放到了文末,从文章来看很清楚自己的能力边界,他强调了多次,做好本职工作,好好搬砖,感觉就是对有志青年的淳淳教导。
彩蛋
2015 年,陈天石有一次“问我任何事”的活动,我翻看了里面的问题,有好几个问题非常有意思。比如有人会问中科大的神通、天才和普通人的区别,还有家长因为孩子无法成为神通而苦恼。对这些问题,他没有一贯我们看到的好为人师的印象,回答很有借鉴意义,能给现在焦虑的家长们一些启发,点击阅读原文可以查看。
参考资料
欢迎关注我的微信公众账号,会在第一时间更新,博客园上只有部分文章会发布
人工智能顶级会议最佳论文里的“DaDianNao”是什么鬼?的更多相关文章
- 阿里云安全研究成果入选人工智能顶级会议 IJCAI 2019, 业界首次用AI解决又一难题!
8月10日至8月16日,国际人工智能组织联合会议IJCAI 2019(International Joint Conference on Artificial Intelligence 2019)在中 ...
- 在计算机视觉与人工智能领域,顶级会议比SCI更重要(内容转)
很多领域,SCI是王道,尤其在中国,在教师科研职称评审和学生毕业条件中都对SCI极为重视,而会议则充当了补充者的身份.但是在计算机领域,尤其是人工智能与机器学习领域里,往往研究者们更加青睐于会议 我无 ...
- 计算机顶级会议Rankings && 英文投稿的一点经验
英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...
- InfoQ一波文章:AdaSearch/JAX/TF_Serving/leon.bottou.org/Neural_ODE/NeurIPS_2018最佳论文
和 Nested Partition 有相通之处? 伯克利提出 AdaSearch:一种用于自适应搜索的逐步消除方法 在机器学习领域的诸多任务当中,我们通常希望能够立足预先给定的固定数据集找出问题的答 ...
- ICRA 2019最佳论文公布 李飞飞组的研究《Making Sense of Vision and Touch: Self-Supervised Learning of Multimodal Representations for Contact-Rich Tasks》获得了最佳论文
机器人领域顶级会议 ICRA 2019 正在加拿大蒙特利尔举行(当地时间 5 月 20 日-24 日),刚刚大会公布了最佳论文奖项,来自斯坦福大学李飞飞组的研究<Making Sense of ...
- AAAI 2021 最佳论文公布
作者:Synced 翻译:仿佛若有光 第三十五届 AAAI 人工智能会议 (AAAI-21) 以虚拟会议的形式拉开帷幕.组委会在开幕式上公布了最佳论文奖和亚军.三篇论文获得了最佳论文奖,三篇被评为 ...
- FPGA 17最佳论文导读 ESE: Efficient Speech Recognition Engine with Compressed LSTM on FPGA
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.机器学习技术感兴趣的同学加入. 后面陆续写一些关于神经网络加 ...
- ACM TOMM 2017最佳论文:让AI接手繁杂专业的图文排版设计工作
编者按:你是否曾经为如何创作和编辑一篇图文并茂.排版精美的文章而烦恼?或是为缺乏艺术灵感和设计思路而痛苦?AI技术能否在艺术设计中帮助到我们?今天我们为大家介绍的这篇论文,“Automatic Gen ...
- zz2019年主动学习有哪些进展?答案在这三篇论文里
2019年主动学习有哪些进展?答案在这三篇论文里 目前推广应用的机器学习方法或模型主要解决分类问题,即给定一组数据(文本.图像.视频等),判断数据类别或将同类数据归类等,训练过程依赖于已标注类别的训练 ...
随机推荐
- HDFS概述和Shell操作
大数据技术之Hadoop(HDFS) 第一章 HDFS概述 HDFS组成架构 HDFS文件块大小 第二章 HDFS的Shell操作(开发重点) 1.基本语法 bin/hadoop fs 具体命令 ...
- 使用vim的妙招
使用F1执行文件 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器. 我们Linux运维经常在Linux中使用到Vim编辑器,当使用Vim写shell脚本或者python脚本的时候,想要 ...
- NumPy笔记-ndarray
ndarray,N维数组对象(矩阵) 所有元素必须是相同类型 ndim属性,维度个数 shape属性,各维度大小 dtype属性,数据类型 创建ndarray np.array(collection) ...
- Java数据结构——二叉树的遍历(汇总)
二叉树的遍历分为深度优先遍历(DFS)和广度优先遍历(BFS) DFS遍历主要有: 前序遍历 中序遍历 后序遍历 一.递归实现DFSNode.java: public class Node { pri ...
- HTTP/3 来了,你了解它么?
作为我们网上冲浪最为常见,也经常被人忽视的 HTTP 已经更新换代到了 HTTP/3.本文简单明了的带你认识 HTTP/3 的作用. 最近二狗子看到自己存储女神婷婷照片所用的云服务商--又拍云推出了 ...
- python爬虫-贴吧
#!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 15:33# 文件 :spider_03.py# IDE :PyChar ...
- 深圳做假证h
深圳做假证[电/薇:187ヘ1184ヘ0909同号]办各类证件-办毕业证-办离婚证,办学位证书,办硕士毕业证,办理文凭学历,办资格证,办房产证不. 这是一个简单的取最大值程序,可以用于处理 i32 数 ...
- Mac上如何降级Java版本
升级到了Java9,有些工具就不工作了.因此要降级到Java8.方法: /Library/Java/JavaVirtualMachines/下的高版本SDK即可
- react-native 常用命令
创建项目 react-native init AwesomeProject //AwesomeProject是项目名 启动 Node.js web server react-native start ...
- 【jmespath】—1. 基础用法
一.jsonpath 之前我写接口自动化测试时候,对于复杂的json返回,会使用jsonpath这个第三方库,就像写xpath一样,方便的查询json元素. 因为之前写WEB自动化时候,总用xpath ...