最近对人工智能领域的 AI 加速芯片感兴趣,在翻阅 Google 的第一代 TPU 论文时,在相关工作中看到了 DaDianNao,PuDianNao,ShiDianNao。看的我一脸懵逼,这是什么?汉语拼音吗?后来经过搜索,发现这是中科院计算所的一系列研究成果,后来直接催生了国内芯片独角兽 -- 寒武纪的诞生。

故事得从20年前说起,当时江西南昌有俩亲兄弟,哥哥叫陈云霁,弟弟陈天石。他们分别于97、01 年先后考入中国科学大学少年班学习,后来攻读研究生时,哥哥在计算所跟胡伟武(龙芯之父)做芯片方面研究,弟弟在中科大跟着陈国良、姚新做人工智能算法方面研究。08年的时候,他俩想合起来做一些人工智能芯片方面的事情。

2012年到2014年,俩兄弟和 当时任职于法国巴黎综合理工学院(Inria Saclay)的 Olivier Temam 教授一起合作,做人工智能加速器的研究。最开始叫做 electric brain,是一个电子的大脑,但是外籍教授 Olivier 说起个中国的名字,这样别人会觉得外国的东西,很有意思,很先进。于是就有了 DianNao 这个汉语拼音的名字了。中科院有专门页面介绍“DianNao”项目,项目的核心是提出了一系列定制的AI加速器的设计方案。

当时他们研究领域想要解决的三大矛盾是:

  1. 有限规模的硬件 vs 任意规模的算法:硬件出厂后就固定了,但是算法是研究员自己定义的,会是任意的
  2. 结构固定的硬件 vs 千变万化的算法:算法有图像、语音、自然语言处理等领域,而硬件构造在生产之后就固定了
  3. 能耗受限的硬件 vs 精度优先的算法:硬件功耗受制于场景是受限的,但是算法研究员希望精度越高越好

陈氏兄弟的解决之道:

  1. 虚拟化:没有让硬件运算单元和算法神经元一一对应起来,而是采用了对小尺度神经网络分时复用的方法来支持任意规模的神经网络
  2. 智能指令集:自动化抽取各种深度学习算法共性基本算子,设计首个深度学习指令集来高效处理算法。
  3. 利用神经网络对于计算误差的容忍能力,进行稀疏化神经网络处理,这样降低了功耗,提高了精度。

他们设计出了第一个加速器 DianNao--电脑。第二个加速器叫DaDiannao -- 大电脑。这个是 DianNao 的多核版本,通过多片设计,可以将较大的模型放在加速器(芯片)的内存上运行,提高效率。第三个加速器ShiDianNao -- 视电脑:将 AI 加速器与传感器直连,从而减少内存通讯的开销,是属于端/边侧摄像头上的 AI 加速器。电脑和大电脑只能做深度学习处理,还有很多其他的人工智能算法, 怎么去支持?于是就有了 PuDianNao -- 普电脑。它比较普世,能支持很多机器学习算法。PuDianNao 也是 DianNao 项目的最后一个工作。我大胆猜测是因为再接着做下去,围绕电脑起名很困难。后来16年时他们提出了国际首个神经网络通用指令集 DianNaoYu -- 电脑语。这些指令集相当于深度学习算法界的乐高积木,是算法研究员与加速器打交道的唯一接口。

他们当时的 DianNao 论文获得了这个领域最重要的国际会议 -- ASPLOS 的最佳论文奖。这也是亚洲地区,第一次在计算机体系结构的这种顶尖的国际会议上拿奖。他们研究最大的创新点在于前人做的不是一个完备的处理器,只能说是一个神经网络功能部件,只适用于特定大小的神经网络。而他们的工作是一个真正意义上完备的处理器,能够支持任意规模的神经网络。打个比方,只能处理两个数相加,而不能处理10000甚至任意个数相加的硬件,只能叫加法器,而不能叫处理器。

后来弟弟陈天石从中科院出来创办了寒武纪,哥哥也一起合伙。但半年之后,哥哥因为觉得还是喜欢搞科研,所以又回到了中科院。

对上述内容感兴趣的朋友可以去看看 B 站上 陈云霁的智能之芯视频。大佬演讲风趣幽默,着装朴实,让人印象深刻。有两篇陈天石的采访放到了文末,从文章来看很清楚自己的能力边界,他强调了多次,做好本职工作,好好搬砖,感觉就是对有志青年的淳淳教导。

彩蛋

2015 年,陈天石有一次“问我任何事”的活动,我翻看了里面的问题,有好几个问题非常有意思。比如有人会问中科大的神通、天才和普通人的区别,还有家长因为孩子无法成为神通而苦恼。对这些问题,他没有一贯我们看到的好为人师的印象,回答很有借鉴意义,能给现在焦虑的家长们一些启发,点击阅读原文可以查看。

参考资料

  1. 甲小姐对话陈天石:AI芯片市场广阔,寒武纪朋友遍天下 | 甲子光年
  2. 甲小姐对话陈天石:通往伟大芯片公司的赛程很长
  3. 智能之芯

欢迎关注我的微信公众账号,会在第一时间更新,博客园上只有部分文章会发布

人工智能顶级会议最佳论文里的“DaDianNao”是什么鬼?的更多相关文章

  1. 阿里云安全研究成果入选人工智能顶级会议 IJCAI 2019, 业界首次用AI解决又一难题!

    8月10日至8月16日,国际人工智能组织联合会议IJCAI 2019(International Joint Conference on Artificial Intelligence 2019)在中 ...

  2. 在计算机视觉与人工智能领域,顶级会议比SCI更重要(内容转)

    很多领域,SCI是王道,尤其在中国,在教师科研职称评审和学生毕业条件中都对SCI极为重视,而会议则充当了补充者的身份.但是在计算机领域,尤其是人工智能与机器学习领域里,往往研究者们更加青睐于会议 我无 ...

  3. 计算机顶级会议Rankings && 英文投稿的一点经验

    英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...

  4. InfoQ一波文章:AdaSearch/JAX/TF_Serving/leon.bottou.org/Neural_ODE/NeurIPS_2018最佳论文

    和 Nested Partition 有相通之处? 伯克利提出 AdaSearch:一种用于自适应搜索的逐步消除方法 在机器学习领域的诸多任务当中,我们通常希望能够立足预先给定的固定数据集找出问题的答 ...

  5. 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 ...

  6. AAAI 2021 最佳论文公布

    ​ 作者:Synced 翻译:仿佛若有光 第三十五届 AAAI 人工智能会议 (AAAI-21) 以虚拟会议的形式拉开帷幕.组委会在开幕式上公布了最佳论文奖和亚军.三篇论文获得了最佳论文奖,三篇被评为 ...

  7. FPGA 17最佳论文导读 ESE: Efficient Speech Recognition Engine with Compressed LSTM on FPGA

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.机器学习技术感兴趣的同学加入. 后面陆续写一些关于神经网络加 ...

  8. ACM TOMM 2017最佳论文:让AI接手繁杂专业的图文排版设计工作

    编者按:你是否曾经为如何创作和编辑一篇图文并茂.排版精美的文章而烦恼?或是为缺乏艺术灵感和设计思路而痛苦?AI技术能否在艺术设计中帮助到我们?今天我们为大家介绍的这篇论文,“Automatic Gen ...

  9. zz2019年主动学习有哪些进展?答案在这三篇论文里

    2019年主动学习有哪些进展?答案在这三篇论文里 目前推广应用的机器学习方法或模型主要解决分类问题,即给定一组数据(文本.图像.视频等),判断数据类别或将同类数据归类等,训练过程依赖于已标注类别的训练 ...

随机推荐

  1. Project ACRN documentation

    Project ACRN documentation https://projectacrn.github.io/latest/index.html Virtio devices high-level ...

  2. 关于H标签 DL DT DD标签的一个小故事

    看了一篇关于SEO论坛的论文,大概故事内容是:一个专业的销售公司,里面SEO  技术多多,可就是销售网站的SEO的情况极为恼火.这天,老板又招到了一个SEO,直接聘为SEO主管全权负责网站的SEO,并 ...

  3. 牛客网PAT练兵场-程序运行时间

    题解:无(注意下四舍五入和输出格式即可) 题目地址:https://www.nowcoder.com/questionTerminal/fabbb85fc2d342418bcacdf0148b6130 ...

  4. python3.6和pip3:Ubuntu下安装升级与踩坑之路

    本文以Ubuntu16.x系统为例,演示如何安装python3.6和相应环境.安装Python3的机器必须要能访问外网才能进行如下操作! 1. 安装方式 在Ubuntu下安装python有两种方式: ...

  5. Mac上如果看不到.git目录的解决方法

    Mac OS X上,如果需要查看.git目录下的隐藏文件,操作很简单: 做法是:打开一个Terminal终端窗口,输入: defaults write com.apple.finder AppleSh ...

  6. 基于 GitBook 搭建个人博客

    目录 基于 GitBook 搭建个人博客 1.为什么要写博客? 2.为什么选择使用 GitBook 来搭建? 3.搭建方式 3.1 GitBook 线上直接搭建 3.2 由基于Node.js的命令工具 ...

  7. Qt 怎样生成带图标的exe

    一.问题描述 当我们在 Windows 下用 VS 生成 exe 程序时,如果窗口程序指定了图标,那么生成的 exe 程序便是指定的图标模样. 但是,当使用 Qt Creator 编译程序却不同.即使 ...

  8. FileZilla Server FTP服务器失败

    使用Filezilla Server配置FTP服务器https://blog.csdn.net/chuyouyinghe/article/details/78998527 FileZilla Serv ...

  9. Auto Generate Reflection Information for C++

    https://www.reddit.com/r/gamedev/comments/3lh0ba/using_clang_to_generate_c_reflection_data/ https:// ...

  10. Laravel5的验证码功能

    第三方扩展包 mews/captcha 作为基础来实现 Laravel 中的验证码功能 安装 注册 配置验证码文件 前端引用 后端验证 安装前准备(我这边没执行这个,安装成功,但是搜到的文件有写,不清 ...