爆肝了一段时间,针对zomi酱视频做了对应笔记,学到很多,更新如下:
日常感谢昇腾架构师ZOMI酱
(我愿称之为肝帝!)的超级贡献,欢迎一键三连
有关计算图的内容:主要介绍了为什么要用计算图、基于计算图的表示与自动微分、动态图静态图的基本区别、什么是图优化与算子调度(设备切分)、如何表达控制流、如何进行动静转换。
有关分布式系统的内容:主要介绍了AI集群PS服务器架构(各种服务器集群并行算法)、AI集群软硬件通信、通信实现方式(一对多多对多等等),并行处理硬件架构(SIMD等),分布式训练系统,大模型训练挑战遇到的(内存、通信、性能、调优墙)等。
有关AI编译器前端优化的内容:主要介绍了算子融合、支配树、数据布局转换原理(NCHW/NHWC的区别与不同设备上更适合哪种);以及各类pass(优化):内存对齐、常量折叠、公共子表达式消除、死代码消除、代数简化(算术化简、运行化简、广播化简)等。
有关AI编译器后端优化的内容:主要介绍了算子分类、算子计算和调度区别与解耦、调度树、简单的算子优化手工方式(可能开了比较高的编译器优化就会自动做:循环交换、循环变量实例化提前、表达式外放、循环终止调用),算子循环优化(循环展开、循环分块、循环重排(主要cache相关)、循环融合、循环拆分),指令和存储优化如向量化(这个很多也有研究,有拓展)、张量化、访存延迟(gpu core)、存储分配优化以及简单的 auto tuning。
有关模型部署加速的一些内容(量化剪枝和蒸馏的简单入门知识)