北大AI公开课第五课--深度学习处理器by寒武纪陈云霁

当我们想要养成一个习惯,只要不管不顾地坚持21天就可以了,不敢说这个习惯养成之后我们可以一辈子不失去,但事实是,生活就是会不断地处于各种状态,而任何状态的存在都是一种共存和和解,一开始会不适应,但是慢慢地都会习惯成自然 。我现在正在尝试使用英语流利说每天学习半个小时英语,今天开始打卡第一天,希望自己可以坚持21天,加油!

今天一起来整理第五课,这是来自寒武纪陈云霁老师的分享,虽然这个老师是工科直男,而且是做芯片的,听起来很枯燥,但是我要摸着良心讲,他讲的挺吸引人的,超乎我的认知。

一、课堂回顾

天才选手——陈云霁老师

云霁,中国科学院计算技术研究所研究员(正教授)。他从2002年起,一直从事国产处理器的研发工作,先后负责或参与了多款龙芯处理器的设计。他在包括ISCA、HPCA、ISSCC、Hot Chips、IJCAI、FPGA、SPAA、IEEE Micro以及5种IEEE/ACM Trans.在内的学术会议及期刊上发表论文40余篇,申请专利近30项。陈云霁是首届国家自然科学基金“优秀青年基金”以及首届中组部“青年拔尖人才计划”的入选者。他还作为负责人带领科研团队获得了全国青年文明号的称号。他还有个弟弟陈天石,他们一样地天才,江湖人称“江西双子星”。

分享内容

1、一个好玩的比喻

在课程开始之前,陈老师打了一个很好的比喻,我觉得和他的个人气质也挺符合的,特别有意思,所以要不务正业地分享一波。他说,生物神经元和人工神经元的区别就等同于老鼠和米老鼠的区别。有点儿戏的一个比喻。但了解二者区别的人一听,其实就是这么个意思,有一种不明觉厉的赶脚,很棒!

2、一个伟大的团队

寒武纪其实一直有一个梦想,就是通过芯片,简化神经元,使他们可以把AlphaGo装进手机。所以,我想就他们本身而言,对于AlphaGo的“爸妈”Google DeepMind 团队也是十分关注的。这确实也是一个伟大的团队,通过深度学习+增强学习的手段,不断迭代,反馈,达到不断学习的目的,使用更深的网络参数,从而提高网络的能力。早在2014年的时候,其实这个团队设计的网络就可以打40多种游戏,其中就有很多种已经超过了人类水平。而在AlphaGo出现并且把世界围棋冠军打败之后,人民更是为深度学习的威力感到惊叹。但实际上,当尝试把AlphaGo用到星际争霸中后,就会遇到很多问题。这也反映出,当前具有的人工智能,更多地还是针对某一些过往经验的暴力记忆和局部推广,并不具备良好的泛化能力。

此外,陈老师还提出了一个机器具有APM的优势。APM是指每分钟的操作次数,显然在每分钟操作次数上,计算机算法要优于人类,因为人的反应和动作输入相对计算机都是有延时的,而计算机在这一点上操作比较自由,所以也就不奇怪为什么计算机算法可以在一些游戏上超越人类,其本质上并不是智能的超越,而是高于人类的生理速度。为了保持公平并真正地反映出某一个算法设计的水平,其实应当采用控制变量法,即控制机器的APM次数与人类保持一致,再进行游戏的比拼。

这可能也是很多深度学习的实验设计中没有注意到的,因为我们对于实验的期待和关注点比较宏观,所以不会如此细化。

3、一个初衷

过去人们做深度学习的研究和实验,习惯了如果不用CPU 就使用GPU,但是会发现,它们的功耗很大,所以即使实验中算法的性能还不错,但是一考虑落地,就基本不可能。因为前面我们也提到过,哪怕是深度学习的产品。也是要严格遵循工业产品的生产标准,其功耗必须要保持在一定的范围内,才能保证用户使用安全。

4、一个“想法“”

基于以上的初衷,他们创立了寒武纪,开始致力于研发专门的神经处理器,力求开创一个新的深度学习的处理器方向(单核、多核、电脑“family”)。其实,这些已经不仅仅是一个想法,因为专用的深度学习芯片已经取得了一些成功的应用,比如云服务器以及华为的mate10系列,拍照时可以自动定位识别人脸,并且可以实时翻译,不需要联网,因为芯片在本地。

5、一些贡献

考虑到传统的ASIC并没有办法解决深度学习的需求,因为:

(1)有限规模的硬件vs 任意规模的算法;

(2)结构固定的硬件 vs 千变万化的算法;

(3)能耗受限的硬件 vs 精度优先的算法

而深度学习其实不是某一个特定的算法,而是一类算法的集合,有用于图像的,有用于视频的,有用于文字的,十分灵活而多变,而芯片本身是个铁块,只要一出厂,其具备的神经元和连线就已经固定了。

基于此,寒武纪的研发团队从以下几个方面进行上述问题的解决:

(1)有限规模硬件 vs 任意规模算法

对硬件运算单元实现分时复用,就好像蚂蚁搬大米一样,将有限规模的硬件虚拟成任意大规模的人工神经网络。

它的关键技术在于:

控制结构:支持硬件神经元的动态配置和运行时编程;

访存结构:分离式的输入神经元,输出神经元和突触的片上存储。这样在读取、存放数据的时候就互不干扰。

(2)结构固定的硬件 vs 千变万化的算法

抽取深度学习算法公共的指令集,因为虽然算法千变万化,但是其实深度学习就是这样,算法之间的不同,可能只是对一些常见的轮子进行排列组合产生新的效果罢了,所以分析可能的套路,就可以抽取最普遍的共性。

其关键技术在于:

算子聚类:自动化抽取算法核心片段,基于数据特性聚为少数几类;

运算架构:设计共性神经元架构,支持变精度流水级;

而在设计策略上:

选择差异化的算法进行加速(模型的差异、用途的差异、计算复杂度的差异);

分析算法的计算模式和数据局部性(寻找最耗时/最普遍的运算操作集合,研究局部数据,降低访存要求);

设计合适的加速器结构。(功能部件、片上存储)。

这些可能唤起了你对计算机组成原理的记忆,不要迷糊,我们可以通俗一点讲,其实就是你希望你的东西更灵活,设计好一套东西之后完后完成更多功能。举个例子,过去,饭店出售套餐,都是搭配好的,提前这么多样菜,每个套餐固定就是那些,顾客没有选择。但是聪明的老板,他只会把最普遍的一些食材准备好,而且尽可能丰富(就好像芯片设计中出现多的支路),等到顾客来了,就按照他们各自提出的需求,进行食材的组合,然后输出一个新的套餐,大概就是这个意思。

(3)能耗受限的硬件 vs 精度优先的算法

对神经元进行稀疏化处理。事实上,90%的神经元是可以进行稀疏化处理的,比如,对一些接近0的值直接置0,如此很多的计算就被省去,则功耗就可以降低。但是在稀疏化的过程中,可能也需要考虑说,多小的值才算靠近0,随意置0的话是会影响最终的算法精度的。为了满足不同算法精度的要求,采用阈值调节,只需要设定对应的阈值就可以调控计算过程,还是相当灵活的。

6、其它

(1)未来:

寒武纪有一个广为人知的梦想,就是把AlphaGo装进手机。他们立下flag说,要将代表性智能算法的处理速度和性能功耗比提高一万倍。帮助本地、实时完成各种图像、语音、文本的理解和识别。更重要的是,具备实施训练的能力之后,可以不间断的通过观察人,社会和自然不断提高能力,成为生活离不开的智能助理,我觉得这个听起来就是很酷的事。

(2)寒武纪的芯片和其它芯片的区别

相比CPU、GPU,寒武纪芯片的通用性没有这么强,但是不可否认的是,在一些特定的深度学习领域,它提供了灵活的、成本低廉的选择,为更多人走进、使用深度学习提供了更好的条件。而且寒武纪的芯片也可以和所有的通用深度学习平台、框架对接,提供了很便捷的操作方式。

(3)关于芯片产业

虽然我们在芯片产业上有了自己的研发,而且在某种程度上可说,深度学习的芯片我们有些公司和团队走在世界的前沿,但事实是,就整个产业而言,如果只有一到两家走在前头,并不能说我们的产业发达了,和美国之间的差距缩小了,而是应该所有加入其中的企业都走到队伍的前列,平均水平也很强,并且形成了产业的闭环,那才是真正的产业强大了。

后话:

人人常常说起,别人家的孩子,少年天才等等,其实在我从来都更加坚信努力付出和得到是对等的。借用冰心老师的一句话,成功的花儿,人们只惊叹它出现时的美,然而当初它的芽儿却浸透了奋斗的泪泉。所以在你看不到的世界里,你也不知道别人花费了多大的力气,或者说,他的父母也倾注了多少心血。我不是说要和谁比,但是我们应当知道,起码在知识的获取上,世界对任何人都是公平的,你看到有些可以轻而易举就记住很多东西的人,当初肯定花了比你多很多很多的时间去思考记忆的技巧。我觉得陈云霁老师就是一个这样的例子,温和低调,却又充满力量和希望,这也是不断修行之后形成的气场。

不用艳羡别人有什么,我们应该做的,是付出自己更多的努力,加油吧!


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值