Day3 | 会议和投稿 · 寒武纪深度学习处理器 · 边缘计算的挑战

前言| 讲给学生的碎碎念

我们应该像掌握1+1=2那样去掌握分布式系统的一些核心知识,比如:

  • 什么是bloom过滤器?搜索开销是O(logn)的基于cache的查找
  • 什么是优化原则?现实中常常是80%的资源访问20%的数据,因此优化的关键在于那20%的数据,这部分能获得巨大的优化效果,而再之后的优化效果就是递减的了。我们应尽可能去做那关键的20%的数据的优化(发现关键点),同时也记住,如果尝试对顶会的文章做优化,因为效果好可能可以发很好的文章,但这一工作在学术界的影响并不一定大。
  • 当下特别火的东西比如机器学习即使不是自己目前的研究课题也必须去了解、花一段时间去集中学习,因为其在未来会是一个普及化的工具,如果你没有跟上这股潮流,那么不久之后便会落后于普遍水平。

 

会议和投稿

(个人觉得这部分内容对于想读博的人十分有指导意义)

1. 作为一个想要好好做科研的人,需要找到自己领域的home conference,就是领域内的几个最顶尖的会议,这些会议上有你所感兴趣的最新成果、有和你志同道合的优秀学者,你可以在这里建造你的小圈子。对这类会议,即使没有发文章也要每年去,两个目的:学习和交流(刷脸)。常年在一流的圈子里,才能成为一流的学者。

2. 要清楚了解世界范围内你研究领域的top group,细致到每个成员的单位、名字、曾经做过的东西。同时要关注他们的网站,每个月跟进一次人家的最新成果。

3. 怎么读paper?

把宝贵的时间花费在真正值得读的paper。只精读top conference&workshop的paper,其它的paper一概速读,因为它们本质上都是在follow top conference。

4. 当国外学者问及“你最近在做什么”时,对方并不关心你用了什么方法手段,而是想知道你在解决什么问题,所以你应该回答的是正在解决的问题。

5. 关于怎么写文章,一些有用的文献

How to write a systems paper

How (and How Not) to Write a Good Systems Paper

 

寒武纪深度学习处理器 | 陈云霁

1. 目前AI应用的落地速度慢主要因为硬件没有跟上:单个芯片的处理速度太慢,能耗太高。

使用寒武纪芯片的手机相对于ARM手机,在做图像识别时的速度有百倍提升;装了寒武纪芯片后,微软翻译和科大讯飞语音输入这样原本需要云端协助计算的应用,在本地处理就可以了。

2. 计算所的传统一向是探索能够落到实际应用的东西,陈云霁原本是做芯片的、其弟弟是做AI算法的,两人合作碰撞出适用于AI算法的芯片,paper被评为14年ASPLOS的最佳论文。(膜拜...)

3. 问题及解决思路

  • 有限规模的硬件vs.任意规模的算法 - 使用时分复用的方法
  • 结构固定的硬件vs.结构灵活的算法 - 构造深度学习指令集。深度学习算法中95%的时间都在重复做一些基本操作,把这些基本操作拿出来作为“基本算子”。
  • 能耗受限的硬件vs.精度优先的算法 - 采用稀疏神经网络处理器

个人感觉,这些对比其实就是从做芯片考虑问题和从做算法考虑问题的两个人往同一个方向去走的时候遇到的矛盾,或许正是这些矛盾使得最后做出来的东西是非常完备的,因为它经过了两个对立面的碰撞。

4. 未来愿景:

将芯片的处理速度、能效提升1万倍。这样能够达到什么效果呢?可以把谷歌大脑放到一个手机里进行处理(Boom!!)。

由此,每一个手机端都可以做训练,手机收集的用户数据就是训练样本。那么每个手机都可以训练出一些东西,这些东西再上传到云端进行汇总和二次训练,应该可以得到一些非常不错的结果(Boom again!!!)。

 

边缘计算面临的挑战

1. 边缘计算的独特性

边缘计算与CDN(content delivery network)的区别在于前者是function cache,而后者仅仅是content cache。

边缘计算与云计算的区别在于云计算是一个比较统一的系统,而边缘计算会根据不同的应用场景发展出不同的系统。

2. 边缘计算是:

可划分的应用(云端程序+边缘程序)+ 分布式的数据 + 分布式的资源 + 弹性的执行环境

也就是说,边缘计算的计算过程需要的不仅仅是本地的数据,还需要来自于周边的传感器搜集的数据,并且计算过程在有需要的时候也会转移到其他设备上进行,而这种转移必须是实时且弹性的。

3. 边缘计算面临的挑战

  • killer application:目前的主要应用是视频分析(如摄像头寻人),VR/AR,和深度学习。这些应用都在起步阶段。
  • 可编程性:云计算有Hadoop、MapReduce等,而边缘计算也需要这样的编程平台。另外,一段写好的代码如何进行划分也是一个比较大的问题,是不是可以开发出一个边缘计算的专属编程语言,使得划分相对容易?(我理解,就像为了并行处理器开发出并行程序语言一样,可以为边缘计算开发出一个新的语言)
  • runtime support:如何动态地进行资源管理是一个比较难的事情
  • security and privacy:一个点是所有权的问题,假如我从租车公司租了一辆车来开,那么驾驶过程中产生的行车数据属于谁?汽车公司?租车公司?租车人?另一个点是边缘设备易受攻击和控制,比如家里的智能电器,可能一个攻击者不用登堂入室便可以控制我的智能电器,那么我的隐私便暴露无遗。
  • theory:边缘计算场景下是不是也可以研究出像CAP那样的理论?哪些任务是绝对不适用于边缘计算场景的?
  • business model:一件事涉及很多利益相关方时要好好设计business model,谁负责什么、获取多大收益,这样才有可能落地。

*  *  *  *  *  *  *

本文章为Simmel原创,欢迎各种批评指正,更加欢迎留言私信,

极其欢迎喜欢我的文章并转载(但是记得提我大名哦!)

:)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值