01
精度对齐概述
什么是算子精度对齐、为什么需要精度对齐、常见挑战与目标
概念入门
02
精度对齐基础概念
浮点数表示(FP32/FP16/BF16)、舍入模式、数值稳定性、ULP与相对误差
浮点理论
03
精度对齐工具链总览
PyTorch精度对比工具、ONNX Runtime验证、自定义C++测试框架搭建
工具框架
04
参考实现获取
从PyTorch/TensorFlow获取golden数据、ONNX中间表示、硬件厂商参考库
数据参考
05
数据预处理与后处理对齐
输入数据生成策略、随机种子控制、归一化与反归一化一致性
流程数据
06
逐算子精度比对方法
余弦相似度、最大绝对误差、RMSE、直方图分布对比
指标分析
07
常见精度问题分类
精度截断、累加误差、特殊值处理(NaN/Inf)、非确定性行为
问题排查
08
卷积算子精度对齐
im2col实现差异、Winograd与FFT变体、cudnn vs 自定义kernel
卷积核心
09
矩阵乘算子精度对齐
分块策略影响、累加精度(fma vs mul+add)、Row-major vs Col-major
矩阵性能
10
归一化算子精度对齐
BatchNorm/LayerNorm细节、均值方差计算顺序、epsilon处理
归一化稳定
11
激活函数精度对齐
ReLU变体、Sigmoid/Tanh近似实现、GELU/SiLU精度敏感点
激活非线性
12
池化算子精度对齐
MaxPooling索引保存、AveragePooling边界处理、全局池化差异
池化下采样
13
Reduce算子精度对齐
求和顺序敏感性、大张量累加溢出、多线程归约不确定性
归约并行
14
逐元素算子精度对齐
加法/乘法结合律失效、除法精度、pow/sqrt实现差异
逐元素基础
15
Reshape与Transpose精度对齐
内存布局变化、非连续张量处理、view vs reshape语义
形状布局
16
Softmax与LogSoftmax精度对齐
数值稳定性技巧(减去最大值)、log_softmax合并实现
Softmax稳定
17
损失函数精度对齐
CrossEntropyLoss细节、BCEWithLogitsLoss数值技巧、自定义loss验证
损失训练
18
Embedding算子精度对齐
查表实现、梯度稀疏更新、padding处理
嵌入稀疏
19
注意力机制算子精度对齐
QKV投影、attention score计算、mask处理、softmax与dropout顺序
注意力Transformer
20
LSTM/GRU算子精度对齐
门控计算顺序、隐状态初始化、双向与多层实现
RNN序列
21
混合精度训练精度对齐
master weight维护、loss scaling策略、梯度裁剪与精度关系
混合精度AMP
22
量化算子精度对齐
对称/非对称量化、per-tensor vs per-channel、量化反量化误差
量化INT8
23
动态形状场景精度对齐
动态batch处理、可变序列长度、padding对精度的影响
动态形状
24
多设备/多线程精度对齐
GPU warp级不确定性、CPU多线程归约、跨设备结果一致性
并行设备
25
精度调试流程与策略
二分法定位问题算子、简化模型验证、梯度检查与激活值检查
调试策略
26
精度对齐自动化测试
CI/CD集成、阈值设定策略、回归测试用例设计
自动化CI
27
精度报告生成
可视化对比图表、统计指标汇总、异常算子标记与告警
报告可视化
28
常见硬件平台精度差异
NVIDIA GPU vs AMD GPU vs 华为昇腾 vs 寒武纪
硬件对比
29
精度对齐最佳实践
代码规范、文档记录、团队协作流程、版本管理
规范协作
30
综合案例实战
从ResNet50到LLama的精度对齐全流程演练
实战案例