【CS231n】十五、深度学习的高效算法和硬件设计

本文探讨了深度学习在算法和硬件层面的优化,包括剪枝、权值共享、量化、低秩分解、二值/三值网络和Winograd变换等技术,以及Eyeriss、DaDiannao、TPU和EIE等硬件加速方案。同时,介绍了并行化、混合精度训练、模型蒸馏和Dense-Sparse-Dense训练策略,以及GPU和TPU在训练效率上的进展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、大纲
emmm,硬件及算法加速部分是博主实验室的主要研究领域,总算可以多说点体会而不是疯狂翻译和贴图了。

主讲人是韩松,清华电子系本科,Stanford Phd,深鉴科技创始人之一,主要工作在深度学习的算法和硬件。

内容主要分为四个部分(2x2):算法优化(训练、推理),硬件优化(训练、推理)。也是科研的四个大方向。
【CS231n】十五、深度学习的高效算法和硬件设计



二、第一部分:Algorithms for Efficient Inference
这一大类可以分为6个思路:
1. Pruning; 
2. Weight Sharing; 
3. Quantization; 
4. Low Rank Approximation; 
5. Binary/Ternary Net; 
6. Winograd Transformation.

内容和一篇模型压缩的综述论文比较相似,想要参看具体一些前沿工作的内容,可以参考文献:《Model Compression and Acceleration for Deep  Neural Networks》

1、Pruning (应该可以翻译为 剪枝)
1989由LeCun提出。剪枝的过程同样有生物学上的支持,出生时人脑有50T的突触、在一岁的时候达到1000T,然后到了成年以后降低为500T。

已有很多实验证明,神经网络结构是存在大量的冗余的,从信息论上来说就是网络结构可以有效表示的信息量远超所需要学习的信息量,所以通过剪掉网络中信息量很小的连接,对于网络精度几乎没有降低,同时还可以降低模型复杂度、预防过拟合等好处。

过程是:训练连接、剪掉多余连接、训练权重。然后2、3步循环。
【CS231n】十五、深度学习的高效算法和硬件设计

使用在RNN和LSTM上,也是有效的:
【CS231n】十五、深度学习的高效算法和硬件设计


剪枝过程会改变权值的分布。
【CS231n】十五、深度学习的高效算法和硬件设计



2、权值共享 Weight Sharing
现在通过剪枝,有了更少的参数量,那么现在我们考虑更少的bit per parameter。
2.09、2.12、1.92、1.87 -> 2.0 我们的想法就是Cluster the Weights。

举个栗子:
对于推理过程,我们对weights 进行k-means clustering,建立一个2bit的字典book索引,以及存储他们的均值。(减少16X的存储空间)

对于反向传播过程,我们将有同样的index的梯度,求和并更新Centroids的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值