@erictang000:很高兴宣布 SkyRL v0.4.0 正式发布!亮点包括:- 支持 GLM 5.3 Flash、GLM 5.3 以及 Kimi K2.7 -…

X AI KOLs Timeline 工具

摘要

SkyRL v0.4.0 已发布,新增对 GLM 5.3 Flash/5.3、Kimi K2.7、Qwen3.8 和 Nemotron 3.5-Lightning 的支持,并带来完整的 FP8/MXFP8 强化学习、Top-P 采样器重放,以及面向大规模后训练的分片 P2P 权重传输。

很高兴宣布 SkyRL v0.4.0 正式发布!亮点包括:- 支持 GLM 5.3 Flash、GLM 5.3 以及 Kimi K2.7 - Top-P 采样器重放与优化后的 R3 数据传输 - 完整的 FP8/MXFP8 强化学习 - 分片 P2P 权重传输 博客:https://blog.skyrl.ai/blog/skyrl-v0-4-0… 详情见
查看原文
查看缓存全文

缓存时间: 2026/10/03 06:53

SkyRL 博客 — 为开源模型带来的强化学习

来源:https://blog.skyrl.ai/blog/skyrl-v0-4-0

概览

在本次 SkyRL 版本中,我们重点优化了 SkyRL 在大规模后训练场景下的表现,主要新特性如下:

  • 模型支持:新增以下模型的支持:

  • GLM 5.3 Flash

  • GLM 5.2/5.3

  • Kimi K2.6/2.7

  • Qwen3.8

  • Nemotron 3.5-Lightning

  • RL 稳定性

  • Top-P 采样器重放(Top-P Sampler Replay)

  • 优化后的 R3 数据传输

  • 全面的 FP8/MXFP8 RL 训练

  • 权重同步:

  • Delta 权重同步

  • 基于 Ray Direct Transfer(RDT)+ NIXL 的分片权重传输

  • 可扩展性

  • 大规模 SFT

  • Tinker Server 可扩展性

新模型支持

GLM 5.3-Flash 和 GLM 5.3

SkyRL 现已支持 GLM 5.3 Flash 和 GLM 5.3 的训练。我们在 DAPO 算法配合 rollout router replay(R3)的场景下,验证了 LoRA 与全量微调训练均能稳定收敛,logprob 差异保持在较低水平。此次支持工作与 Trajectory 合作完成——更多细节可参见他们的博客文章:https://www.trajectory.ai/field-notes/enabling-frontier-scale-training-for-the-glm-5-3-family。

相关 PR:

Kimi K2.6/2.7

SkyRL 目前已对 Kimi 2.6/2.7 的训练提供实验性支持。训练 1T+ 参数的超大模型往往成本高昂,即使是简单的单轮 RL 任务,也需要 10TB 以上的 GPU 显存。SkyRL 现已支持借助 LoRA 高效训练 Kimi 2.6/2.7 模型,用户仅需 2 台 B300 节点即可训练一个 1T 参数模型(示例脚本见此处)!我们使用 INT4 进行推理侧的模型服务,并在训练器上施加 fake quantization(伪量化),以尽量减小训练与推理之间的不匹配。

感谢 @casper_hansen 的贡献!

相关 PR:

更快的 R3 + Top-P 采样器重放

本次版本在 SkyRL 稳定 RL 训练方面带来了重大改进:支持 top-p 采样器重放,并针对大规模 MoE 模型的 rollout router replay(R3)提升了吞吐。

这些特性由来自 Lila Sciences 的 Dominic Yurk 贡献。在 Lila Sciences 的任务上启用这两项特性训练 Nemotron 3 Super 后,logprob 差距始终保持在 0.1 以下,且奖励在第 160 步仍在上升。若不启用,差距会突破 0.8,奖励则会崩溃。

Top-P 采样器重放

SkyRL 现已支持在 RL 训练中使用 top-p 与 top-k 采样,采用了 DeepSeek-V3.2 提出的 Keep Sampling Mask 方法。设置 generator.inference_engine.enable_return_sample_support_set=true 后,vLLM 会为每个生成的 token 返回经过过滤后保留下来的候选集合。设置 trainer.algorithm.enable_sample_support_replay=true 后,训练器会在同一个集合上对每个 token 的 logprob 进行归一化。该支持集与路由数据走同一条 packed 路径传输,训练器对其打分时无需物化完整的词表 logits。该方案在 Megatron 与 FSDP 下均可工作。

受限采样有助于在长时训练中避免熵坍缩。在 GLM-4.7-Flash 配合 Nemotron-Terminal-Synthetic-Tasks 的实验中,启用采样器重放后奖励保持不变,熵稳定在 0.14 左右而非 0.05,Pass@8 也从 0.631 提升到 0.641。示例脚本见此处。

相关 PR:#2237、#2238、#2239、#2240、#2241

Rollout Routing Replay(R3)

SkyRL 此前已支持 rollout routing replay(R3),但在大规模场景下路由数据会变得非常庞大:每个 token、每个 MoE 层、每个 top-k 槽位都需要记录一个 expert ID。以 Nemotron 3 Super(120B)为例,其体积接近 token 本身的 900 倍,而原始实现会让每个训练步慢 6 倍以上。

这部分开销主要来自 CPU 对路由数据的序列化、解析与拷贝,以及 ray object store 溢出到磁盘的成本。在 v0.4.0 中,路由数据以紧凑的 packed 数组形式从 vLLM 直接传递给训练器;大对象通过 ray object store 以零拷贝视图进行传输;多轮生成器只发送每一轮新增内容对应的路由数据。借助这些改进,使用 R3 训练 Nemotron 3 Super 的吞吐从 111 tokens/s/GPU 提升到 483 tokens/s/GPU。

本次版本还修复了多个多轮训练的正确性问题,其中一处会导致重放时静默地使用过期路由数据。若要启用 R3(目前仅支持 Megatron),请设置 generator.inference_engine.enable_return_routed_experts=true 和 trainer.policy.megatron_config.moe_enable_routing_replay=true。

相关 PR:#2232、#2233、#2234、#2235、#2236

全面的 FP8 + MXFP8 训练

SkyRL 现已支持 Blockwise FP8 与 MXFP8 的加速训练与 rollout,并配合 on-policy 权重同步。在长时 RL 实验中,FP8 配置的收敛表现与 BF16 高度接近,同时端到端训练步耗时最多可降低 23%。更多细节可参见 @jinghanyao1-hub 撰写的博客文章。

相关 PR:

  • 完整 FP8 权重同步:#1898
  • MXFP8 权重同步:#2072

权重同步

v0.4.0 对权重同步进行了大幅重构。SkyRL 现在采用 vLLM 的新抽象层,将训练器的发送逻辑与推理侧的接收逻辑解耦。这为基于 vLLM 构建的 RL 框架自定义权重传输提供了更便捷的路径。

Delta 权重同步

在解耦集群上进行 RL 训练,可以让用户更好地利用分布在不同地域、不同云厂商或不同硬件上的资源。解耦式 RL 的一个关键瓶颈在于推理节点与训练节点之间的权重传输。在 RL 训练中,单个训练步里大多数权重通常并不会被更新(大约只有 1%–3% 的权重会更新)。Delta 权重同步使得基于以太网的高效解耦式 RL 成为可能:训练器会针对上一次发布的 BF16 checkpoint 格式权重计算逐字节精确的 XOR 差值,对差值进行压缩,发布一份 manifest,并要求推理工作节点在暂停生成之前先拉取并处理下一个版本。在权重更新期间,推理工作节点从磁盘加载准备好的权重。

该实现支持磁盘、S3 以及 GCS 风格的传输路径,并且在完全异步的 RL 设置中,会将接收端的拉取操作与生成过程重叠,以减少空闲时间。

相关 PR:Add Delta Weight Sync Support in SkyRL

分片 RDT(NIXL)

SkyRL 现已内置一个高效的分片权重传输后端,通过 Ray Direct Transport(RDT)利用 NIXL。这对于非常大规模的 MoE 训练尤为有用——在这些场景下,简单的基于 NCCL broadcast 的传输会成为瓶颈。使用 NCCL 时,训练器的 rank 0 需要与所有推理 rank 组成集合通信组,并通过 broadcast 传输完整的权重。而借助分片权重传输引擎,训练器的所有 rank 都会参与传输,只发送所需的分片。该传输进一步做了优化,避免在 PP rank 之间聚合权重,并跳过对 expert 层的聚合。分片 RDT 后端在 48 台 8xH100 节点(32 台用于训练器,16 台用于推理)上,能够在 7.53 秒内完成 Kimi K2 模型 BF16 权重的传输。更多细节请参见我们的博客文章。

相关 PR:Sharded RDT weight sync

LoRA 内存内权重同步

SkyRL 现已支持 LoRA 训练下的内存内权重同步。通常情况下,vLLM 中 LoRA 的权重同步是基于磁盘实现的:训练器将更新后的 LoRA adapter 保存到磁盘,推理 rank 再从磁盘将这些更新后的 adapter 重新加载到 adapter 缓存中。我们为基于 LoRA 的训练实现了一套简洁的内存内权重同步方案:LoRA 权重通过 NCCL / CUDA IPC 直接传输到推理 rank,并直接在 GPU 显存中更新正在使用的 adapter。我们将在未来几周内将 vLLM 侧的这些改动提交上游。

相关 PR:In-memory LoRA adapter sync for Megatron

大规模 SFT

原生的 SFTTrainer 现已支持在超大规模数据集(10B–1T+ tokens)上进行监督微调。我们支持直接从磁盘上预分词(pretokenized)的数据集加载数据,方便运行大规模、复杂数据处理流程的用户使用。数据集以内存映射(memory-mapped)的方式加载,以实现高效的内存利用。在 v0.4.0 中,SFT 训练还支持自定义采样策略以及多数据集混合,让研究者可以轻松尝试不同的数据配比方案。

Tinker Server 改进

在 SkyRL v0.3.0 中,Tinker API server 在支持超过 1,024 个并发采样请求时就显得力不从心。每个采样请求都要经过一个与训练 futures 和心跳共用的、规模很小的 SQLite 连接池,而该连接池很快就会耗尽。在 v0.4.0 中,同样的 server 可以处理 131,072 条并发轨迹,输出长度可达 212k tokens。吞吐的提升来自若干小修复与大修复。第一项修复是将转发后的采样 futures 及其结果保留在内存中,使采样过程完全不触碰 SQLite(感谢 Trajectory AI!)。随后我们逐一修复了 API server 的各项瓶颈:用 aiohttp 替换 httpx、将 vLLM completion 响应输出保持为 protobuf 格式,以及减少不必要的日志输出等,都是本次实施的改进之一。

相关 PR:#2097、#2160、#2161、#2162、#2163、#2164

相似文章

@RayFernando1337: 哇,仓库已上线!

X AI KOLs Following

宣布GLM 5.3 FLASH模型的仓库已上线,初步基准测试显示在DGX SPARK硬件上每秒处理59个令牌,并承诺将有更多更新。