Tensor Metrics

导言

在AI训练流程中,明明一个tensor就是一个shape下的数值,但是竟然有一堆指标来处理和解释其含义:

  • l1 norm
  • entropy
  • log_prob
  • logistics

这些指标代表什么,用途为何?如何计算(标量?什么shape),计算前后值域/shape变化如何,在比较精度的场景下是否为合适的典型指标(有代表性,且能比较)

  • KL divergence
  • JS divergence
  • argmax agreement
  • top-k agreement
Read more

Model Migrate Accuracy

导言

之前将megatron GPU实现迁移到NPU时,对齐精度,通过打印hook+小算子,只是打印 hash、l1_norm、mean、sum实现,能实现tensor hash值一模一样。

但是后来为了性能不得不上融合算子,就不能实现hash值相同;

到现在RL训推一致性,需要对齐训练和推理的精度,有两个问题:

  1. 由于激活值在通过attention,mlp moe等模块时,激活值的shape和值域都会变化,如何判断对比两者的在哪个模块有明显的变化。需要不同模块能通过norm类似的操作来统一误差标准,然后我能拉一个每个不同模块的误差曲线,能通过可视化发现误差陡增的位置就是问题所在。
  2. 主要我不希望dump每个模块的输出来进行位数的对比,这样太耗时和消耗空间,但是统计值l1_norm、mean、sum、min和max好像已经不够了,是不是需要加上p95等分位值,或者对于tensor变量一些metrics:kl loss才能更好的对比两个比较两个tensor的差异,且是数值可比较的。
Read more

ML Optimizer

导言

  • 优化算法(Optimizer)目标是优化(最小化或最大化)一个损失函数,以调整模型参数,使模型在训练数据上表现得更好。
  • 在深度学习中,优化算法是训练神经网络时至关重要的组成部分,它们决定了模型参数如何更新以最小化损失。
  • 所以梯度下降、动量法、随机梯度下降、RMSprop、Adam、AdamW、LAMB等算法都是优化算法。
Read more