← Briefs

AI 技术日报

本期重点:强化学习的生成端要等多久才能用上新权重?把多个 GPU 算子放进同一个常驻内核,又能省下多少等待?两篇论文把数据重排和同步等待计入耗时。

重点

ShardFly:传输权重时就完成重排和量化

大模型强化学习常用两组 GPU,一组更新模型,另一组用模型生成训练样本。更新后的权重需要交给生成端,但两边可能用不同的方式把参数切到多张卡上。生成端暂停后,等待的不只是网络传输。训练端可能要先拼出完整张量,生成端还要把收到的数据重排成自己使用的布局。最后一个生成实例装好新权重,整组才能恢复生成。

ShardFly 先算出每个接收端需要哪些参数片段,并记下这些片段在训练张量和目标张量里的位置。只要两端的切分和 GPU 配置保持稳定,下次更新可以沿用这份计划。执行时,每张卡用一个常驻 GPU 内核按块读取训练端权重。若目标使用 FP8,内核读取一个完整量化块,计算缩放因子,再把量化值和因子直接写入发送缓冲区。生成端按计划写入现有参数张量,也能把收到的数据转发给需要同一片段的副本。这样省掉了先生成完整重排或量化张量的步骤。

作者用异步 GRPO 在 GSM8K 上训练 Qwen3-30B-A3B,训练端和生成端各用 16 张 H20。四种生成端配置均在每次优化后暂停生成,同步发布 BF16 权重。相对 verl 的 NCCL 后端,完整更新耗时从 6.89–7.20 秒降至 1.03–1.26 秒,完整训练循环每秒处理的响应 token 增加 5.49%–6.71%。缩短的是权重同步的停顿,训练循环的计时还包含生成和优化。

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

GPU 常驻内核:让后续算子早启动,还要让它拿到资源

把多个算子放进一个常驻内核,线程块可以在上一步算完前预取下一步的权重,也能复用已经占用的寄存器和共享内存。拆成独立内核后,后续线程块要先取得自己的资源才能启动,即使前一个线程块已经用完其中一部分。反过来,常驻线程块也要调度任务,并确保其他线程块收到完成信号后能读到正确结果。这些工作同样花时间。

论文用 ThunderKittens 的原算子代码重建独立内核,启用 CUDA 的程序化依赖启动。后一个算子可以提前初始化并加载不依赖上一步结果的数据,读上一步输出前仍要等结果可见。作者也修改了常驻版本的同步,让线程块看到完成信号时就能读到已写好的输出。在 H100 SXM5 上,以 BF16、批大小 1 解码 Llama-3.2-1B,两边都使用 CUDA Graph,拆开的版本每步延迟比采用这套同步的常驻版本低 5.7%。预取仍能给常驻版本省下更多时间,但调度和同步成本改变了整步比较。

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

简讯

Ripple:按 CPU 的截止时间给 GPU 推理分配访存预算

在 DGX Spark 这类 CPU 与 GPU 共用内存的设备上,GPU 推理集中读取模型权重时,CPU 上的周期任务可能赶不上截止时间。Ripple 用 CPU 任务的完成时间估算 GPU 访存会拖慢它多少,再把每个任务的时间余量换成 GPU 可读写的字节预算。调度器只放行能同时满足这些预算的连续推理层,层与层之间可以暂停。

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

Agent 工作流:工具超时后,先判断原请求还能不能生效

一次写入超时后,查询可能暂时显示记录不存在,而原请求仍在服务端等待提交。研究原型依据服务声明的能力和已经取得的证据,保留仍可能发生的结果。只有这些结果都允许安全重试时,原型才重新写入。比如服务能保证同一请求标识最多产生一次写入时,可以重试。服务无法保证去重、旧请求又可能稍后提交时,原型会继续查询、等待或交接。

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

RISC-V 随机缓存:地址映射算得快,整个缓存也可能拖慢时钟

随机缓存改变内存地址到缓存位置的映射,使攻击者更难借访问耗时推断其他程序读过哪里。研究者把四种方案分别接入同一套 RISC-V 芯片设计。将映射电路分成多个流水级后,三种方案的可达频率仍低于普通缓存版本。以 Mirage 为例,缓存控制逻辑必须在一个周期内比较并回写元数据,成了新的限速环节。新版将元数据读取结果多缓冲两级,恢复了部分频率。

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

KAPPO:让单次采样训练也能偏重难题

强化学习可以让模型更常选中原本就容易找到的答案,却未必让它解出更多难题。KAPPO 先用参考模型估计每道题的成功率,再据此调节训练奖励或正则化强度,减少对容易题的进一步强化。对带正则项的目标,论文推导出这样可以得到与“多次作答、至少答对一次”目标相同的最优策略。在数学实验中,单次采样训练也能采用这一方法。在测试采样次数较多时,模型至少答对一次的概率高于按单次作答目标训练的基线。

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

RDCC 草案:让接收端约束多路发送的在途数据

专家并行推理中,多台机器可能同时向同一接收端发数据。2026-11-02 提交的 RDCC 个人草案提出,接收端用一个总预算约束所有发送方仍在途的字节数,并为每条消息授予可发送的字节范围和速率。足够短的消息可以先发,已声明但尚未收到的字节也计入总预算。草案把流量何时进入网络的控制放在接收端,同时保留底层传输自身的拥塞控制。

https://datatracker.ietf.org/doc/html/draft-li-inference-transmission-optimization-00

随机低秩迭代:每步平均算对,重复多步仍可能失稳

为降低反复做矩阵乘向量的成本,可以每步独立抽一个低秩矩阵,让这些矩阵的期望等于原矩阵。迭代向量的均值仍按原规律变化,长度的平方在平均意义下却可能增长。论文给出一个二维例子:每步随机保留一个坐标,为补偿只保留一半的概率,把该坐标乘以两倍的原缩放系数。若原缩放系数为 aa,原迭代每步将长度的平方乘以 a2a^2,抽样后这一倍率的期望是 2a22a^2。原倍率可以小于 1,抽样后的期望倍率却大于 1。论文进一步给出独立抽样时让平均平方长度收敛到零所需的秩条件。

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

经典回顾

Tutel:让 MoE 切换并行方式时沿用同一份参数分片

2022-06-07 提交的 Tutel 初版讨论了一个仍常见的问题:MoE 每步路由给专家的 token 数会变,通信却往往沿用固定方案。Tutel 让两种并行方式共用同一份专家参数分片。一种临时收集专家参数,让拿到完整参数的 GPU 处理各自的 token。另一种把 token 发给持有参数分片的多张 GPU,再合并各卡的部分结果。训练可以按负载切换,常驻参数的位置保持不动。重读第 3.2 节时可以追问:当每个专家收到的 token 变少,哪一条路径少传了什么?

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