论文笔记 Scalpel: Customizing DNN Pruning to the Underlying Hardware Parallelism

这篇是Michigan大学和ARM合作的发表在2017年 ISCA的论文《Scalpel: Customizing DNN Pruning to the Underlying Hardware Parallelism》,到今天的引用量为154。第一作者Jiecao Yu 俞杰草,本科毕业于浙江大学,14年留学密歇根大学(MS & Ph.D),导师Scott Mahlke,已经毕业在Facebook工作。

这篇论文发现了之前的剪枝方法虽然在weight的数量上减少了很多,但是由于稀疏运算的特性,它们在硬件上的效率不行。文章提出了两种新的剪枝方法,针对三种不同的硬件(Micro-controller,CPU,GPU),分别使用它们或者联合使用它们可以得到更高的加速比。

方法

  • SIMD aware的剪枝
    • 将硬件的SIMD并行度作为剪枝的参数,一块一块地进行剪枝
    • 适用于Micro-controller和fc
  • Node Pruning
    • 直接将一个neuron减掉
    • 适用于高并行度的GPU和conv

评价

这篇文章于2017年发表,当时有人已经意识到剪枝带来的硬件效率的问题,部分人选择在硬件架构的角度来做稀疏运算(如:2016 ISCA EIE, 2017 ISCA SCNN);这篇文章反其道而行之,从软件的角度来思考问题,通过硬件的特性来优化算法,最后取得一个不错的加速效果。在之后的文章里面,软件-硬件的联合优化就成了一个大趋势(如 2019 ISCA Eager Pruning等)。

魔法师英语语法笔记(1) 四种基本语气

开个新的系列,魔法师英语语法笔记,我会在未来一段时间里面把《英语魔法师之语法俱乐部》的语法梳理一遍。开这个系列主要是苦于语法基础不够扎实,写英文的学术论文很费劲,为了更好的写学术文章,重拾语法温故知新,所以这并不是什么新手教学啦。如果想更深入地去理解的话就去看看这本书吧。

今天讲的是英语语法中的四种基本语气的用法(陈述语气、条件语气、命令语气、虚拟语气)。

语气什么意思呢?就是通过语法形式说明动作或者过程的进行方式说话者对动作的态度(动作会发生、动作可能发生、动作不可能发生、希望动作发生等)。注意,语气不是句式,比如条件语气和条件句(一个陈述语气的条件+一个条件语气的可能)不同

陈述语气

陈述语气是最基本的语气,表示肯定发生、已经发生、将来会发生、必然发生的一般性意见和陈述。

现在时:

  • The chicken is delicious.
    • 鸡肉好吃的一般性意见。

过去时:

  • The chicken was fresh yesterday.
    • 鸡肉昨天还是新鲜的的陈述,is变成was。

将来时:

  • The chicken will rot tomorrow.
    • 鸡肉明天要坏了,用will表示未来。
  • If you don’t put the chicken into fridge, it will rot.
    • 当有两个未来的句子的时候(一个主句,一个从句),将其中的从句的变为现在时。其中的逻辑是:需要假定条件发生的情况下,未来会发生什么。所以把条件(You will not put the chicken into fridge.)变为一般现在时假定已经发生。

条件语气

条件语气是表现一种在某种条件下会发生的语气,句子描述的状况有可能不会发生。一般通过加助动词(must/should/will/would/can/could/may/might等)表达这种不确定性。

  • It must rain tomorrow.
    • 认定了明天一定下雨(但是因为是未来的事件,实际可能不下雨)
  • It will rain tomorrow.
    • 明天很有可能下雨
  • It might rain tomorrow.
    • 明天有点下雨的可能
  • If it rains the picnic will be cancelled. (这是条件句)
    • If it rains是陈述语气(如果两句都是可能的,需要假设条件是发生的)
    • the picnic will be cancelled 是条件语气

因为条件语气中的助动词表达时间的功能不完整,如will的过去式would、can的过去式could不表示时间的区别,而是表示语气的强弱,would和could的语气较弱。

  • My sister thinks the cloth can be in bad quality.
  • My mother thinks the cloth could be in bad quality.
    • 妹妹觉得这块布很有可能质量不好,母亲觉得有可能质量不好。

因此,只能使用完成时表达对于过去的猜测

  • The air is wet. It may have rained last night.
    • 猜测昨天晚上可能下雨了,过去的rain使用完成时have rained来表示。

命令语气

命令语气也叫祈使句,说话人希望或者命令让句子描述的内容发生,
但说话的时候还未发生。句式上可以看做条件语气省略助动词。

  • Wash your clothes!
    • 可以看成是条件语句(You must) wash your clothes省略主语you和助动词must.
  • There is a strong expectation among the public that the government close the traffic of Wuhan.
    • 从句可以看做the government (should) close the traffic的简写。

虚拟语气(假设语气)

虚拟语气表示希望说话的内容成真,但是实际不是真的。一般是过去的坏事情,或者现在/未来基本不会发生的事情。

句式

  • 在主句用过去式的助动词
  • 从句不加助动词
  • 把时态往前提(现在时 变成 过去时;过去时 变成 过去完成时)
  • 一般主句和从句都是虚拟语气

现在时虚拟语气

  • If I were you, I wouldn’t do it.
    • 主句中用过去时态的would表示虚拟的语气
    • 从句中用过去时态的were

过去时的虚拟语气

  • If I had known earlier, I might have fixed the car yesterday.
    • 僵尸来的时候,如果我早点知道他们会来,我昨天就把车修好,现在就可以坐车逃跑了。
    • 两个过去的句子都是过去完成时。

未来时态的虚拟语气

  • 对于未来的预测一般用条件句,但那种基本不太可能在未来发生的句子,可以选择在从句中加一个助动词(would should)或者在从句中使用过去式进行虚拟语气表达。
  • If a flood should broke the bridge tomorrow, we could stay here.
    • 如果明天洪水冲断了桥梁(可能性非常小),我们才有可能被留在这儿。
  • If I were to take the ash-removal job, I could never go into the dangerous place.
    • 除非我接下来这个火山灰清理的工作(我没可能会接),否则我不可去那个危险的地方
    • 直接使用过去式不可能的意味更强烈

总结

  • 条件语气:助动词+过去时态
  • 虚拟/假设语气:助动词+时态提前
  • 祈使语气:条件语气省助动词

Hello World

你好,世界!刚才我用Hexo框架搭了这个博客!

怀着激动的心情,发布这第一篇博客。

首先,得测试一下Tex行不行!开始吧:

$$ E=mc^2 $$

完美,公式编辑功能妙不可言!

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×