AI 技术日报
本期重点:Agent RL 的沙箱启动瓶颈,以及训练后期损失发散背后的输出层量化误差。经典回顾重读异步保存中可以安全搬运张量的时间窗口。
重点
Sandman:集群还有容量,沙箱为什么仍启动缓慢?
Agent RL 会反复创建任务环境,执行命令、修改文件,再运行测试生成奖励。一次训练可能同时启动许多任务尝试;CPU 和内存尚有余量,创建请求仍会堵在 Kubernetes 的调度、网络地址分配和镜像拉取环节。Amazon 的 Sandman 把每个环境做成由 Kubernetes 调度的容器组(Pod),在任务原有镜像中挂入一个小型服务,让文件和进程在多次工具调用间保持不变。
它通过限制创建速率、分散 Pod 放置,减少请求集中压向少数节点。预热环境可以省启动等待,却会一直占用资源,因此论文中的 SWE 训练默认按需创建。另一个关键是清理责任:调用者超时,不代表 Pod 没创建成功;服务继续追踪创建结果,直到环境交付或确认删除,避免失联环境耗尽集群。
作者在使用已缓存镜像的微型 Pod 扩容测试中,维持了 11,858 个并发沙箱。这是容量测试,不是同等数量完整代码任务的吞吐。系统已用于内部训练;论文仍将开源列为待发布。其阅读价值在于把训练等待拆回环境生命周期,而不只看 GPU 利用率。
https://arxiv.org/html/2610.39711v1
输出层量化误差:看似无害的整体漂移,怎样引发损失发散?
《The Role of Quantization in Loss Spikes》研究一种长时间训练后才持续发散的损失尖峰。输出层把隐藏向量变成词表分数;如果所有分数一起平移,精确算术下 Softmax 概率不变。但低精度能表示的数越来越稀疏,整体数值变大后,词与词之间原本细小的分数差异可能在舍入时丢失。
作者观察到,输出层使用 AdamW 时,分数漂移伴随量化误差迅速增大。把这一层改用带动量的 SGD,可抑制漂移;只提高输出层计算和优化的精度,也能延后或避免所研究的发散。在图 1 的 2800 万参数、峰值学习率 0.1、约为 Chinchilla 最优 token 预算 28 倍的实验中,BF16 提前发散,FP32 在测试时长内保持稳定。这项研究把“分数变大”与“概率失真”之间缺失的数值环节补了出来,结论针对这类长期发散。
https://arxiv.org/html/2610.38277v1
简讯
PDScope:预填充和逐 token 生成,采用不同的专家搬运策略
显存放不下全部 MoE 专家时,部分权重留在 CPU 内存。PDScope 预测后续层将用到的专家,在预填充阶段积极搬到 GPU,以增加并行计算;生成阶段则把 PCIe 传输成本计入调度,限制收益不足的预取。它解释了为何同一种卸载策略会顾此失彼:处理许多输入 token 时值得搬的权重,生成单个 token 时可能留在 CPU 计算更划算。
https://arxiv.org/html/2610.39216v1
InfraDev:先证明测试能抓到“看似完成”的错误实现
InfraDev 从 Megatron-LM、vLLM 和 verl 的合并 PR 构造 36 项编程任务。它先生成能通过原测试、却违反需求的对抗补丁,再补充能拒绝这些补丁的隐藏测试,并把测试依赖的接口与行为写清楚。六个模型的提交中,隐藏测试拒绝了 32% 已通过全部官方测试的提交。这里值得借鉴的是验证方法:测试通过之外,还要证明优化或新功能确实生效。
https://arxiv.org/html/2610.36589v1
NORmal:按写入方式分配闪存和 DRAM
NORmal 提议让三维铁电 NOR 闪存通过桥接逻辑接入 LPDDR6 总线。只读模型权重放入高密度区域,持续追加的主 Agent 键值缓存放入可快速写入区域,短命的工作 Agent 缓存留在 DRAM,避免反复搬移热点数据。论文包含存储阵列实测,完整手机推理收益来自服务级模拟;这是主存架构研究,尚不能当作已上市手机的运行能力。
https://arxiv.org/html/2610.40000v1
数据筛选:收益是学得更快,还是最终能学得更好?
一项数据配比与筛选研究区分了加快学习和提高最终性能。作者用基线模型在训练集与目标集上的损失差异,诊断是否存在可被数据调整纠正的缺口。在所测 LLM 实验中,缺口很小时,早期收益随训练预算增加而缩小;有可纠正缺口时,收益保持得更久。这个区分提醒读者:固定预算上的领先,不能单独证明筛选提高了性能上限。
https://arxiv.org/html/2610.36983v1
zkDuel:把 Triton 与 CUDA 的差距拆回归约实现
zkDuel 对零知识证明中的多项式求和内核实现了匹配的 Triton 和 CUDA 版本。作者发现,原 Triton 路径让每个线程重复完成整块的模加归约;改用块级归约原语后,校验结果不变,所分析配置中的内核耗时中位数已接近 CUDA。端到端执行仍受 Python 启动开销影响。材料展示了怎样区分编程模型限制与具体实现中重复的工作。
https://arxiv.org/html/2610.37710v1
S3R:共享舍入随机数,也要处理相关误差
随机舍入能让很小的梯度在期望上保留下来,但逐元素生成随机数成本高。S3R 为每个 token 共享一个随机阈值,并让两次反向矩阵乘法复用量化后的梯度。共享会让舍入误差相关,损害训练;配套的 S3R-EC 从计算出的梯度中减去结构化平均误差,在论文的语言模型预训练实验中恢复了独立随机舍入的验证损失水平。
https://arxiv.org/html/2610.36587v1
经典回顾
DataStates-LLM:后台复制何时会撞上下一次参数更新?
这篇 HPDC 2024 旧论文讨论的困难是:把写盘移到后台以后,GPU 到主机内存的快照仍可能阻塞训练。它利用参数和优化器状态在前向、反向期间保持不变的窗口,让复制与计算同时推进;直到下一次更新即将开始,才等待尚未完成的复制。主机内存中的数据再异步写入持久存储,缓冲区满时仍须等待。现在重读它,可以更清楚地区分“训练能继续”“快照已安全复制”和“数据已持久化”。带着一个问题读:如果优化器提前更新部分参数,原来的安全复制窗口还成立吗?