CS217学习笔记:Lec1
《CS217:机器学习的硬件加速》课程通过理解机器学习的关键特点、观摩硬件应用、邀请嘉宾座谈工业界和学术界的例子来学习如何设计针对加速机器学习的硬件结构。
主要话题:
- 从计算的视角看机器学习和深度学习
- 构建传统机器学习的核心概念
- 线性代数的核心特征
- 评估性能、并行性、局部性
- DNN推理加速
- DNN训练加速及其挑战
- 训练缩放(Scaling)
- 机器学习基准(Benchmarks)
软件2.0
软件2.0吞噬软件1.0
软件1.0:
书写代码,要求领域知识来分解问题、设计算法、构建系统
计算根据算法,确定的
计算必须正确才能调试
软件2.0:
输入训练数据,通过优化器写入神经网络模型权重
机器学习模型根据数据训练得到,基于概率的
计算只需要在统计学上正确
DNN:更多数据,更大模型,更高准确率
硬件计算能力限制了机器学习发展
如今计算能力限制了训练机器学习模型的工作,如果我们有更快的处理器我们可以运行更大的模型...事实上我们在一个可靠的数据子集上训练会花费数月时间。我们可以利用几个数量级命令的改进——提升100倍或者更多。
已有的机器学习加速器
- CPU:线程、SIMD(单指令多数据流)
- GPU:大量线程、SIMD、HBM(高带宽存储器)
- FPGA:LUTs(查找表)、DSP、BRAM
- TPU:MM Unit、BRAM
功耗和性能
\[ Power = \frac{Ops}{second} \times \frac{Joules}{Op} \]
专用化可以提升前者,降低后者,达到更高能效。
关键问题
- 如何加速机器学习100倍?
- 摩尔定律放缓和功耗墙
- 需要能效比上大于100倍的提升
- 赋能新的ML应用和能力
- 使ML更容易使用
- 如何平衡性能和可编程性
- 像ASIC一样的能效比
- 像处理器一样的灵活度
- 需要“全栈”协同设计
- ML算法
- 编译器
- 硬件
后登纳德和摩尔时代硬件加速器的角色
Scaling 技术
登纳德系数(Dennard's Factor):
\[ α = a / b \]
为两代特征尺寸之比。
耗散功率:
\[ Power Dissipation \approx CV^2f = \alpha ^2(C/\alpha(V/\alpha)^2\alpha f) \]
提升α可得到更多晶体管( \(\alpha ^2\) ),更高性能(\(\alpha f\))。
随着晶体管尺度缩小到达极限,供电电压V和时钟频率F无法继续等比缩小,\(CV^2f = \alpha ^2(C/\alpha V^2f)=\alpha CV^2f\),造成耗散功率增加。
暗硅四骑士(The Four Horseman of Dark Silicon)
- Shrink
- DIM
- Dues Ex Machina
- Specialization
具体内容在Michael Taylor的文章中细读。
异构计算
异构计算是专用化的机会和需求,有异构多核系统和偏上加速器。可用GFLOPS/W和Energy/(FL)OP指标进行衡量。