← Briefs

AI 技术日报

本期重点:FSDP 通信已经很快,为什么训练仍在为数据重排和资源争用付费?经典回顾用 SimAI 解释怎样把计算、通信实现和网络放进同一个性能模型。

重点

TIDE:让通信直接读写模型需要的数据布局

FSDP 把模型参数分片保存在多张 GPU 上,计算一层前先收集完整参数,反向计算后再汇总并分片梯度。但模型按参数分别保存张量,通信库通常按 GPU 来源排列连续缓冲区。两种布局不同,收集后的参数还要搬到各自的位置,梯度也要先打包才能发送。链路传得快,这些显存读写仍会占用时间。

2026-10-28 提交的 TIDE 论文将布局转换并入通信寻址。收集参数时,数据直接到达各参数的存储位置;汇总梯度时,直接读取各个 BF16 梯度张量,并用 FP32 累加。数据传输主要交给复制引擎、跨机 RDMA 和 NVSwitch,GPU 计算单元只短暂参与局部求和,减少与模型计算争用资源。必要的精度转换和有限暂存仍然保留。

作者在 64 张 GPU、每机八卡通过 NVSwitch 互连、每卡配独立 RDMA 通道的配置中测试。Qwen3-30B-A3B 每卡每步处理 16K token 时,相对原生 FSDP2,每步耗时减少 27.1%。论文比较了相同模型、精度、优化器和输入下的训练,展示的收益来自布局、通信和计算协同。作者计划在论文正式发表时公开实现,目前可先读原型设计:通信优化应把发送前的打包、接收后的重排和并发计算一起计时。

https://arxiv.org/html/2610.38228v1

简讯

MCCL:让 Mac 的梯度交换与反向计算同时推进

MCCL 为 Apple 芯片上的 PyTorch 训练提供跨机通信后端。CPU 直接读取统一内存中已经算好的梯度,经 TCP 发送并汇总其他 Mac 的结果,无须每批梯度都先复制到另一块 CPU 缓冲区。共享事件保证 CPU 读取前 GPU 已写完,优化器使用前通信已结束,让 GPU 可以继续计算其他梯度。论文在 24 台 M4 Max Mac Studio、10 Gb 以太网上验证了这条路径。

https://arxiv.org/html/2610.39029v1

VeriCUA:任务看似完成,还要主动寻找结果证据

操作电脑的 Agent 点过保存按钮,并不证明文件已经保存。Google 与香港大学的 VeriCUA 先查看应用环境,再把用户要求拆成可检查的条件。核验者针对尚未确认的条件,继续查看界面、文件或数据库;执行日志和完成声明只能提供线索,不能单独证明成功。在线检查可以读取最终机器状态,离线检查则受限于留存的记录,证据不足时允许暂不下结论。

https://arxiv.org/html/2610.40578v1

Caerus:从全局访存记录学习,再按指令选择预取

CPU 预取器提前把可能用到的数据放进缓存,但对所有指令采用同一种地址偏移,容易搬来无用数据。Caerus 从全局访存记录学习多个偏移,再为每条访存指令分别记录哪些偏移有效,只发出达到准确率要求的预取。这样既能利用不同指令之间的访问规律,也能按当前指令筛掉不合适的预测。论文使用 ChampSim 模拟评估该设计。

https://arxiv.org/html/2610.39797v1

PIVOT:教师纠正推理,也要教会学生生成纠正片段

强化学习中,一组回答若全部答错,按组比较的奖励就无法区分哪条更值得学习。PIVOT 让学生先生成部分推理,由教师接上一段纠正,再交回学生继续。训练既使用最终答案的奖励,也让学生在教师生成的位置学习教师的 token 概率分布。它将“走到能成功的推理路径”和“学会产生这段推理”结合起来,避免只给出正确示范却缺少直接学习信号。

https://arxiv.org/html/2610.40576v1

DistOptimize:拆开协议工作时,把消息处理成本算进去

分布式协议的瓶颈可能是 CPU 处理消息的开销,而非网络带宽。DistOptimize 对用分布式编程框架 Hydro 编写的协议,先测量各部分计算与通信的成本,再搜索怎样把不同工作拆到多台机器,或按数据键分摊处理。搜索同时检查保持原协议行为所需的约束,新增机器之间的消息处理也计入成本。它将保证输出等价的改写规则与实测成本模型结合起来。

https://arxiv.org/html/2610.39017v1

矩阵压缩:分配位数前,先留够其他计算的误差预算

把大矩阵分块后,部分块可以用两个较小矩阵的乘积近似表示,再把这两个矩阵压成低位整数来节省存储。一项新研究在选择整数的位数前,先从每块中任一元素允许的误差中,扣除矩阵近似和重建运算的误差上界。剩下的预算才用于整数压缩;若连最高可用精度的误差上界也超出预算,就不接受当前分配。这样可以把误差限制落实到最终重建结果,而不只检查压缩步骤。

https://arxiv.org/html/2610.40134v1

经典回顾

SimAI:同样一次 AllReduce,为什么不能只按字节数估时?

NSDI 25 的旧作 SimAI,面对的是大规模训练方案难以逐一上机验证的问题。它从训练框架生成计算、通信及其依赖,用实测补充计算耗时,再复用 NCCL 的关键选择过程,把集合通信拆成具体的点对点传输,交给网络模拟器。这样,相同字节数在不同拓扑、算法和通道配置下,会形成不同流量与等待。现在读它,可以理解性能模型的误差如何从工作负载生成一直传到网络预测。带着一个问题读:更换通信算法后,哪些输入可以复用,哪些必须重新生成?

https://www.usenix.org/conference/nsdi25/presentation/wang-xizheng-simai