笔记¶
劝退指南:不是博客,而是笔记,甚至是草稿
写笔记是为了让自己看懂,写博客是为了让别人看懂,不一样的,认真做好后者对自己各方面能力的提升会非常大(比如表达能力),其实很多时候记笔记就是写几段自己能看懂的表达,很随性,但写博客更像是写一篇论文,需要自己先彻底搞明白一个东西后才能输出1
我一直努力将内容写成博客。但是后来发现,根本没有时间和心思,来为别人解释很多事情。我的想法是最多是解释给多年后忘记一切的自己听,我还能快速看懂。能达到这点,这些内容的意义对于我就已经足够。
从读者的角度,我并不会推荐任何人阅读这个网站的内容:因为你会遇到以下令人烦躁的场景
- 完整性差:某些笔记写着写着就没有了,内容是残缺的。甚至只有一个标题。(这是因为我没有时间填充内容,或者我的研究和注意力转变方向了,弃坑了弃坑了~)
- 可读性一般:很少有起承转合的解释语句,笔记的内容逻辑几乎全部靠
多级标题维持. - 笔记间关联性低:从读者的角度是看不到本人是如何使用多级文件夹,来组织划分笔记间的内容逻辑。如果你在搜索栏找不到你想要的关键词,那大概率我没接触到这方面的内容。
知识是自然聚类和融合的,但需要两级的文档来过滤内容和撰写正文。小而全、无懈可击的内容应该是所追求的
导致这种情况,其实和我对知识产出过程的理解有关,我认为过程是 知识是自然聚类和融合的:
- 接触到领域对象(新建文件夹)
- 阅读各种文献网站(零散的知识进行简单的聚类)
- 上手实践和研究(踩了许多坑,有或多或少的感悟)。
而且三者的占比是前面远大于后面,这样看来我这网站大部分的内容岂不是都是笔记的草稿。
我以这样的方式撰写我的正式的毕业论文时,发现这样的处理有利有弊:
- 优势:
- 速度?:能快速的罗列出内容,填充了大量垃圾内容
- 完备性:保留所有必要的相关信息,
- 劣势:
- 对工作进度的误判:罗列的大量页数迷惑了自己,以为进度很快。其实仔细思路内容的有效性、逻辑关联性。核心观点的提炼。遣词造句都极其耗费时间。
- 最重要是导致只看页数的领导对你工作速度的误判导致的嫌弃:一周前就看见里论文写了60页了,怎么两周了还没写完。或者你都60页了快结束了,来帮帮我弄这个~阿米诺斯~
- 需要返工:重新整理罗列的垃圾内容,至少需要三倍以上的时间才能整理好。
- 对工作进度的误判:罗列的大量页数迷惑了自己,以为进度很快。其实仔细思路内容的有效性、逻辑关联性。核心观点的提炼。遣词造句都极其耗费时间。
总结:知识是自然聚类和融合的思想是没错的,但是在实际生产应用时需要两级的信息筛选过滤体系:区分出正文内的todo内容和未整理的archived信息。通过将罗列的完备信息初步分类归档(有基础的逻辑)以待后续使用,正文精心撰写每一句话保证不需要大量返工。
TileLang & Mega-kernel
导言
- triton 虽然主流,大部分硬件都支持,虽然能快速拿到一部分收益,但是却较难极致性能。
- 但是Ascend C / PyPTO 又过于Ascend定制化,(
学了怎么跳槽啊) - 寻找一种更底层,支持极致性能的通用算子编程语言,是极致性能优化里不可或缺的一环。
Tensor Metrics
导言
在AI训练流程中,明明一个tensor就是一个shape下的数值,但是竟然有一堆指标来处理和解释其含义:
- l1 norm
- entropy
- log_prob
- logistics
这些指标代表什么,用途为何?如何计算(标量?什么shape),计算前后值域/shape变化如何,在比较精度的场景下是否为合适的典型指标(有代表性,且能比较)
- KL divergence
- JS divergence
- argmax agreement
- top-k agreement
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的差异,且是数值可比较的。
Triton & Triton Ascend
导言
- Ascend上训练编译成全图有功能问题,导致下发问题并不能像GPU一样完全解决;
- 在浦江实验室的经验是,triton确实能快速拿到2~3倍的收益,如果算子还有问题就能考虑
RL: Training Inference Mismatch
导言
- 25年,RL训练崩溃归因于训推不一致;
- 为此提出了很多方法,TIS,Router Replay,FP16训推,batch一致性...
- 如何判断 模型当前训推不一致,并找到不一致实现处,是实践的要点。
Business Trip: 2601-2602 verl + DanceGRPO
导言
ZJ内部出差,从0到1完成verl + MindSpeed MM + DanceGRPO算法的 t2v RL,达成reward快速持续上升。
The Mechanics of RL: How Inference Sampling Shapes the Probability Landscape
导言
推理采样如何重塑概率地图:在普通监督学习(SFT)中,模型是被“喂饭”——你告诉它正确答案是什么,它去模仿。而在强化学习(RL)中,模型是在“试错”——它自己写几个答案,然后根据好坏来调整自己。