Artificial Intelligence¶
VeRL Performance Optimization
导言
MFU / SMA 低不一定说明 kernel 慢,也可能是 rollout、reward、checkpoint、通信、异步队列或 token 分布造成的等待。性能优化的第一步不是开特性,而是建立 E2E 性能模型。
VeRL Rollout Inference
导言
RL 中的 rollout 不是普通离线推理。它不仅要生成 response,还要和训练阶段共享策略版本、返回 token 级信息,并参与后续 logprob、reward 和 advantage 计算。
因此 vLLM 图模式也不能只写成“开不开 CUDA Graph”。在 verl rollout 里,enforce_eager、compilation_config.cudagraph_mode 和 cudagraph_capture_sizes 共同决定性能、显存、capture 成本和兼容性。
VeRL Training Flow
导言
这篇文章聚焦 verl 的训练链路:RayPPOTrainer.fit() 如何组织 rollout、reward、logprob、ref 和 actor update,以及这些阶段如何通过 worker 和 DataProto 串起来。
RL: xPU Mismatch - metrics
导言
RL 模型迁移后的精度比对,相较于 SFT 模型迁移的精度比对,难了很多。
经常出现一个难解问题,前20步reward等指标两者差异较小,但是之后就偏移很大。
叠加
- 指标繁琐,但不解决问题:虽然指标多,但都是表象/结果指标,难以说明差异来源。
- 耗时长:RL单步1h+,SFT 20s;慢两个数量级,迭代缓慢。
- 流程更复杂:涉及到推理和权重转换;
- 资源压力大:训推+评测模型权重,RL的显存和机器资源压力更大。
My Digital Worker : New Coding Way Part0 —— Building AI-Coding Env
导言
随着AI模型的能力越来越强,我们要做的就是像SE一样描述清楚需求边界,然后让AI去干就行了。
但是由于安全保密,或者不同公司开发软件的历史原因,如何搭建一个AI Coding的环境直接第一步就难住了:
- 问题场景:黄区开发,根本连不上外网;
- 解决方法:允许蓝区开发
- 问题场景:客户都是k8s集群调度机器,都是虚拟出来的机器,只提供一个web的terminal调试界面。代码是在跳板机上修改,然后挂载同步到实际申请到虚拟机上。
Tensor Metrics
导言
在AI训练流程中,明明一个tensor就是一个shape下的数值,但是竟然有一堆指标来处理和解释其含义:
- l1 norm
- entropy
- log_prob
- logistics
这些指标代表什么,用途为何?如何计算(标量?什么shape),计算前后值域/shape变化如何,在比较精度的场景下是否为合适的典型指标(有代表性,且能比较)
- KL divergence
- JS divergence
- argmax agreement
- top-k agreement