ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

slime 基于 FSDP2 的灵活训练后端:架构设计、训推一致性与 Megatron 精度对齐实践

slime 基于 FSDP2 的灵活训练后端:架构设计、训推一致性与 Megatron 精度对齐实践 文档教程人工智能大模型RLHF【免费下载链接】Awesome-ML-SYS-TutorialMy learning notes for ML SYS.项目地址https://gitcode.com/gh_mirrors/aw/Awesome-ML-SYS-Tutorial点击查看免费下载本文基于本仓库 rlhf/slime/fsdp/readme.md 及其配套材料展开系统梳理 slime 如何将 PyTorch 原生的 FSDP2 引入为与 Megatron-LM 并行的 RL 训练后端从「接口标准化 物理隔离」的顶层架构到 Data Packing、True On-Policy、TIS/MIS 算法缓解、分桶异步权重更新与 CPU Offload 等关键优化再到 FSDP/Megatron 的精度对齐验证与一键启动实操。读完本文你将掌握 FSDP 后端在 slime 中的完整落地路径、核心参数语义以及它与 Megatron 后端的能力边界能够直接参考仓库中的脚本上手 FSDP 训练。背景为什么 slime 需要第二个训练后端slime 原本已经拥有基于 Megatron-LM 的成熟训练后端引入新后端意味着显著的维护成本。但团队仍然坚定支持 FSDP主要基于四点考量VLM 架构适配VLM 的模态交互架构复杂FSDP 的灵活性使其在适配上远比 Megatron 轻松因此 FSDP 被选为 VLM RL 训练的首选路径Megatron 版本适配也在计划中。架构创新的敏捷性对 Qwen3-Next / gpt-oss 这类处于快速迭代中的新架构FSDP 能以最快速度支持 RL 流程。低门槛与高易用性作为 PyTorch native 训练后端FSDP 没有复杂的环境依赖与安装过程学习曲线与 debug 成本显著低于 Megatron。无缝生态兼容FSDP 直接兼容 HuggingFace Model 格式无需像 Megatron 那样通过mbridge做繁琐的权重转换社区模型开盒即用部分模型 Megatron 现在也已支持内部自动转换。从 DDP 到 FSDP从 Replicate 到 ShardFSDPFully Sharded Data Parallel继承了 DeepSpeed ZeRO Stage 3 的设计哲学可以视为对传统 DDP 的强力优化。在传统 DDP 中每个 GPU 都维护一份完整的模型权重、梯度和优化器状态Replication通过all-reduce同步梯度而在 FSDP 中则转向Sharding切分模式上述所有数据都被切分并分布在不同的 GPU rank 上前向传播需要计算某层时通过all-gather临时收集完整参数计算完立即释放反向传播梯度计算完成后立即进行reduce-scatter同步并切分随即释放完整梯度。本仓库 rlhf/sys-design/readme-2-en.md 对该主题有更深入的剖析FSDP 将参数划分为多个 unit前向/反向只 materialize 单个 unit峰值显存 ≈ ShardModel ShardOptimizer ShardGradient MAX(fullyMaterializedFSDPUnit)并通过 Deferred Initializationfake device 上记录构造逻辑、逐 unit 物化并切分解决单卡无法完整加载模型的问题。FSDP1 vs FSDP2相比 FSDP1 把所有参数摊平成一个巨大的FlatParameterFSDP2 引入DTensorDistributed Tensor在保持 Tensor 原始结构shape、stride的前提下在指定并行维度上进行更优的切分。这既解决了 FSDP1 元数据易失和 padding 复杂的痛点又为 Mixed Precision Training 和 LoRA 提供开箱即用的支持。本文中提到的 FSDP 均指 PyTorch 原生支持的FSDP2。FSDP in slime架构设计要同时支持 Megatron 与 FSDP 两种截然不同的分布式后端关键在于避免底层冲突并保持代码整洁。slime 采用「接口标准化 物理隔离」的顶层设计对外只暴露 FSDP 的核心函数init, save, sleep, wake_up, train其他不对外暴露的函数用下划线约定如_train_core。同时slime 利用Ray Actor 机制将不同后端封装在独立的进程空间中向上层调度器暴露统一的训练原语如train使上层算法逻辑无需关注底层的梯度同步细节。这一设计大幅消除了全局变量冲突、降低了条件分支复杂度并允许针对 FSDP2 的 Sharding 机制和 DTensor 结构做深度优化。核心实现位于slime/backends/fsdp_utils/actor.py对应本仓库的学习笔记位于 rlhf/slime/fsdp/readme.md 的架构设计章节在保持对外逻辑如 Data Packing、Context Parallel与 Megatron 高度一致的同时在内核实现上重构数据流转路径在享受 FSDP 灵活性的同时最大化训练效率并维持数值精度。完善的 FSDP 设计使顶层架构未受影响整体流程仍是标准的 RLHF 循环Rollout → Data Sharding → Packing → Forward/LogProb → Loss → Backward → Update。在此基础上slime 针对 FSDP 做了多项优化包括 Data Packing、True On-Policy 模式、CUDA Graph Aware Weight Wake Up 以及 Training-Inference Mismatch 的众多缓解机制。初始化initinit阶段主要完成以下工作模型与优化器初始化 Actor Model 和 Reference Model支持从 Checkpoint 恢复设置true_on_policy_mode和 Optimizer。Weight Updater支持Colocate训练任务和推理任务放在同一组 GPU和Disaggregated训练任务和推理任务放在不同 GPU两种模式用于将训练后的权重同步回 Inference Engine。Device Mesh基于DeviceMesh构建 DP CP 通信拓扑并调用fully_shard对参数进行切分。算子优化通过enable_batch_invariant_mode强制训练端采用与 SGLang 一致的算子消除 batch size 对计算结果的影响利用torch.compile固化 RoPE 实现底层消除算子行为差异确保 True On-Policy 对齐。训练流程traintrain函数作为训练主入口执行如下步骤wake up将之前被 Offload 的 Actor Model 加载回到 GPU。data preparation通过process_rollout_data获取当前 DP rank 所需数据调用_pack_rollout_data将数据打包成packed_batches详见附录 Data Packing消除 Padding 带来的性能损耗。forward log prob计算 Actor 和 Ref 的 log_prob 与 entropy。loss calculation计算 PPO/GRPO loss以及 importance ratio / clip / KL penalty / entropy bonus 等mismatch feature实时计算train_rollout_logprob_abs_diff监控训练与推理的数值偏差可选择启用 TISTruncated Importance Sampling对 policy gradient loss 进行重加权减缓训推差异带来的 off-policyness 对训练稳定性的影响。update offload进行梯度累积和参数更新offload 策略训练结束后调用sleep将模型和优化器 offload 到 CPUcolocated 模式Ref model 仅在计算 log prob 时加载用完即 offload。注slime 提供了完整的 training-inference mismatch 解决方案但团队声明在实践的大规模训练中从未观察到 slime 因所谓的 training-inference mismatch 而训练崩溃。FSDP in slime 特性与优化Data Prepare And Packing每一轮训练开始时FSDP actor 首先从 rollout 侧拿到一批 balanced rollout sequence然后按 DP rank 做简单的样本拆分这一步与常规实现无异。为了极致效率slime 实现了 data packing在slime/backends/fsdp_utils/data_packing.py中处理全部的pack_sequences——对于输入的一批序列根据每条长度和max_tokens_per_gpu估算需要多少个 pack即 micro-batch 数量把长短不一的 sequence 分到不同 pack 中使每个 pack 内 token 总数尽量接近在每个 pack 内将多条序列摊平成一条长的 tokens 向量并构建cu_seqlens记录各序列的起止位置。这种策略确保每个 Pack 的 Token 总量高度一致消除了传统 Padding 带来的算力浪费。具体细节见附录「数据打包」。严格训推一致True On-Policy完成 Data Packing 后actor 对 packed micro-batch 计算 ref/actor 的 log-prob 和 entropy。slime 在 FSDP 上实现了True On-Policy对近期备受关注的 training-inference mismatch 问题给出了最严格的答案——同一个 policy model 在 training backend 和 inference backend 的 logprob绝对一致从系统层面解决了训推不一致。核心思想Training 和 Inference 都使用 FlashAttn3 作为 backend实现 bitwise equal使用 DeepGEMM 进行矩阵乘法Batch-invariant Kernels 实现批次不变性。在此基础上进一步优化 True On-Policy 性能get_logprob_and_entropy_with_cp直接复用 Rollout 传入的 temperature并关闭可能引入偏差的allow_compile——disable compile 会禁止selective_log_softmax_raw的编译防止因编译与 batch invariant 导致计算路径差异确保训练端重算的 log-prob 能精准还原 Rollout 时的数值表现。这里曾发现并解决一个难以察觉的 Bug开启 use-kl-loss 时 on-policy KL ≠ 0根因与权重交换精度相关详见附录「PPO KL 精度误差」。关于训推不一致的成因本仓库 rlhf/slime/mismatch/blog-cn.md 有更系统的阐述根本原因是浮点加法不满足结合律不同 batch size 下算子可能使用 split-reduction 优化改变归约顺序Rollout 是 decode 过程逐 token 生成、有效矩阵计算极小Training 是 prefill 过程大批量处理完整序列矩阵形状的巨大差异导致两端选择不同的 GPU 算子进一步放大了 mismatch。Algorithms Mitigation For Mismatch主流算法实现并不会启用 true on policy 特性会损失约 30% 的训练效率因此仍存在 training-inference mismatch。为叙述准确slime 将 rollout 阶段记录的 rollout policy log probs 称为rollout_log_probs进入训练循环后重计算 policy model 在 training backend 的 log probs记录为old_log_probs。不考虑 mismatch 时actor 在_train_step里按常规 GRPO/GSPO/PPO 方式构造 loss每个 training step 基于当前 policy model 计算当前 batch 的 log probs记为log_probs用old_log_probs和log_probs构造 importance ratio叠加 clip、KL norm 和 entropy bonus 得到 loss再做梯度累积和 optimizer backward。考虑 mismatch 时rollout_log_probs, old_log_probs, log_probs都会参与 loss 构造在actor.py的_train_step中计算old_log_probs与rollout_log_probs的绝对差train_rollout_logprob_abs_diff实时量化训练与推理的数值偏差启用TISTruncated Importance Sampling计算 importance weighttis torch.exp(old_log_probs - rollout_log_probs)并截断Clipping用该权重对 Policy Gradient Losspg_loss重加权。即使模型并非处于完美的 on-policy 环境也能减缓训练崩溃。以 GRPO 为例最终 loss 函数为$$ \begin{aligned} \mathcal{L}(\theta) \frac{1}{L} \sum_{t1}^L \left[ \bar{w}_t \cdot \mathcal{L}^{\text{clip}}_t(\theta) - \beta \text{KL}_t \lambda H_t \right] \ \text{where } \mathcal{L}^{\text{clip}}t \min \left( r_t(\theta) A_t, \ \text{clip}(r_t(\theta), 1\pm\epsilon) A_t \right) \ r_t(\theta) \frac{\pi{\theta}}{\pi_{\text{old}}}, \quad \bar{w}t \text{min}\left( \frac{\pi{\text{old}}}{\pi_{\text{rollout}}}, C \right) \end{aligned} $$其中 $\bar{w}_t$ 即为 TIS 权重。若需更激进的保障还可组合掩码Masking/ 拒绝采样RS构成 MISMasked Importance Sampling以及--tis-batch-normalize自归一化详见 rlhf/slime/mismatch/blog-cn.md 的「算法缓解」章节与使用指南。MIS 的默认配置形如--use-tis --custom-config-path examples/train_infer_mismatch_helper/mis.yaml --custom-tis-function-path examples.train_infer_mismatch_helper.mis.compute_mis_weights_with_cp。权重更新优化colocated 模式与分桶异步更新训练结束后最新权重会被同步回 Inference Enginerefit。在update_weight_utis.py中slime 完整支持colocated与distributed两种模式前者 train / rollout 交替占用同一批 GPU后者将 train / rollout 分散在不同 GPU 上。两种方式都采用分桶异步更新策略逐个将 chunked 权重同步到 inference engine尽量减小 peak memory usage。关于权重更新的具体机制包括 handle tuple 序列化、update_weights_from_tensor、分桶 broadcast / all_gather / 去 padding / 转 HF 格式的完整链路本仓库 rlhf/sys-design/readme-1-EN.md 有专题分析slime 先按 bucket 将 Megatron 权重从 CPU 上传 GPU在 PP/EP 组内 broadcast、在 TP 维度all_gathertorch.cat聚合为完整张量序列化出 handle tuple 后经dist.gather_object汇聚再交由 SGLang 侧反序列化重建 tensor 并调用load_weights完成更新。显存优化卸载策略在 FSDP 训练流程中以下场景会通过 offload weight 节省内存Train offloadcolocated 场景下训练完成后调用sleep将模型 weight 与 optimizer offload 到 CPU避免在 rollout 阶段占用内存Ref model使用 KL penalty 时reference model 只在compute_log_prob时被 load 到 GPU计算完成后立即 offload 回 CPUOptimizer offload训练阶段model parameter 在不参与计算时都 offload 到 CPUgradient 也 offload 到 CPU显著节省训练显存代价是 optimizer step 在 CPU 上进行训练时间明显上升。FSDP / Megatron 训练精度对齐经过详细验证FSDP 与 Megatron 在训练精度上实现对齐。实验采用单机 H100、sglang 0.5.5post1实验脚本为scripts/run-qwen3-4B-fsdp.sh图注三条曲线分别对应 Megatron、FSDP colocated w/ ref model、FSDP colocated w/o ref model结果符合预期收敛效果相近。Context Parallelismslime 额外验证了 context parallelism 场景目标是保证 Megatron 和 FSDP 在相同 CP 程度下能支持的 response length 相近。理论上max_response_length_with_cp max_response_length_without_cp * cp_size。在相同实验配置4 张 B200global_batch_size 64下的验证结果response_length 8kresponse_length 16kFSDP, cp 1workOOMFSDP, cp 2workworkMegatron(TP 1), cp 1workOOMMegatron(TP 1), cp 2workwork实验结果符合预期且两者收敛效果相近。快速上手 FSDP Backend环境准备与一键启动以 Qwen3-4B dapo-math-17k 为例完整启动链路如下对应仓库中的操作记录可见 rlhf/slime/fsdp/release_log/setup_fsdp.md# 如果需要使用 WANDB需要提前设置好环境变量 WANDB_API_KEY # 下载模型权重 (Qwen3-4B) hf download Qwen/Qwen3-4B --local-dir /root/Qwen3-4B # 下载训练数据集 (dapo-math-17k) hf download --repo-type dataset zhuzilin/dapo-math-17k \ --local-dir /root/dapo-math-17k # 下载评估数据集 (aime-2024) hf download --repo-type dataset zhuzilin/aime-2024 \ --local-dir /root/aime-2024 # clone 代码并安装依赖 git clone https://github.com/THUDM/slime.git cd slime pip install -e . # FSDP 不用进行权重转换native 支持 huggingface 格式 # 开启 reference model在 colocated 模式下训练 Qwen3-4B bash /root/slime/scripts/run-qwen3-4B-fsdp.sh关键点FSDP 通过AutoModelForCausalLM.from_pretrained()自动读取所有架构信息全部从config.json自动读取无需手动指定而 Megatron 需要手动配置参数读取 model 架构信息或通过--use-hf-config-for-megatron自动推断。FSDP 因此可以完全避免权重格式转换步骤。Docker 方式H 卡/B 卡通用的最新镜像docker pull slimerl/slime:latest docker run -d --gpus all --ipchost --shm-size16g \ --name slime_fsdp \ -it slimerl/slime:latest /bin/bash进入容器后克隆安装 slimesource scripts/models/qwen3-0.6B.sh加载模型配置Qwen3-4B、Qwen3-30B-A3B 类似再运行bash tests/test_qwen3-0.6B_fsdp_colocated_2xGPU.sh完成 2 GPU 协同训练测试。colocated 与训推分离两种资源编排标准分离配置训练与推理分别占卡例如--actor-num-nodes 1 --actor-num-gpus-per-node 4 --rollout-num-gpus 4此时训推 GPU 互相等待可通过把train.py换成train_async.py开启异步训练当前 rollout 训练的同时生成下一个 rollout 的数据。训推一体化colocated添加--colocate参数开启后会忽略--rollout-num-gpus训练与推理共享同一批 GPU例如--actor-num-nodes 1 --actor-num-gpus-per-node 8 --colocate。FSDP 激活机制通过环境变量指定后端SLIME_BACKEND: fsdpGPU 分片用--actor-num-gpus-per-node 2如配合export CUDA_VISIBLE_DEVICES1,2FSDP 模式可通过--fsdp-full-params启用 FULL_STATE_DICT 模式注释掉则使用默认的 SHARDED_STATE_DICT 模式。Megatron 与 FSDP 参数对比表配置类别Megatron 参数FSDP 参数说明模型加载--load(Megatron checkpoint) 架构参数 (--num-layers,--hidden-size等) 或--use-hf-config-for-megatron--hf-checkpoint(必需)FSDP直接使用 HuggingFace 格式无需转换权重通过AutoConfig自动推断架构张量并行--tensor-model-parallel-sizeComing Soon流水线并行--pipeline-model-parallel-sizeComing Soon专家并行--expert-model-parallel-sizeComing Soon上下文并行--context-parallel-size--context-parallel-size两者都支持 CP初始学习率--lr--lr参数相同学习率衰减--lr-decay-style(linear/cosine)--lr-decay-style(仅 constant)Warmup--lr-warmup-iters(步数)Coming Soon最小学习率--min-lrComing Soon优化器类型--optimizer(adam/sgd 等)--optimizer(默认 adam)基本相同分布式优化器--use-distributed-optimizer内置于 FSDPFSDP 默认使用分布式优化器梯度检查点--recompute-granularity,--recompute-method--gradient-checkpointingFSDP简化为布尔开关CPU Offload通过分布式优化器实现--fsdp-cpu-offloadFSDP将参数/梯度/优化器状态卸载到 CPUAttention 后端由 Megatron Core 决定--attn-implementation(flash_attention_2/sdpa/eager)FSDP直接透传给 HuggingFace混合精度--fp16或--bf16--fp16(bf16 自动推断)基本相同保存时 Offload---fsdp-state-dict-cpu-offload(默认 True)FSDP保存 checkpoint 时 offload 到 CPU训练后端默认或--train-backend megatron--train-backend fsdp(必需)用于切换后端FSDP 目前不支持 / 不完善的功能FSDP 目前仅支持DP CP不支持TP、EP、PPCP 实现方式不同Megatron Core 有原生实现与 TP/PP 深度集成FSDP 则通过 Ring Flash Attention 外部库实现Megatron 的--recompute-granularityfull/selective、--recompute-methoduniform/block、--recompute-num-layers均不支持FSDP 只有简单的--gradient-checkpointing开关FSDP 优化器的学习率目前只支持 constant且没有 warmup 策略。未来计划在保持代码干净整洁的同时实现 TP 和 EP支持 FSDP2 上 vision language 联合训练 / 部分冻结例如优先支持 Qwen2.5-VL / Qwen3-VL 的 HF 默认权重实现单轮与多轮 VLM RL 训练支持 Qwen3-Next / gpt-oss 等混合模型的训练与优化。附录FSDP 关键实现细节Context ParallelFSDP 的 CP 直接通过 ring-flash-attention 库实现。相比 Megatron 复杂的 chunk 机制FSDP 只需实现简单的连续 chunk负载均衡交给 ring flash attention只关注输入数据的切分与结果的聚合。具体实现流程Device Mesh Setup在setup_device_mesh中建立 (DP, CP) 二维通信组并使用substitute_hf_flash_attn将 HuggingFace 模型原本的 Flash Attention 算子替换为支持 CP 的 Ring Flash Attention 实现Input Slicing在 forward 之前的_get_model_inputs_args阶段将 Data Packing 后的input_ids和position_ids在序列维度上使用torch.chunk切分为cp_size份当前 rank 仅加载属于自己的那份同时调用update_ring_flash_attn_params将全局cu_seqlens信息传递给底层 Attention 算子Result Gathering在计算 Log Probs 时get_logprob_and_entropy_with_cp每个 rank 并行计算本地分片的 log_probs 和 entropy最后通过all_gather将分布在不同 rank 的结果拼接回完整序列并移除为满足 CP 对齐而填充的 Padding。数据打包为避免直接 padding 在每个 CP rank 上造成大量浪费slime 将长序列拼接成连续向量并用cu_seqlens记录边界。首先复用 Megatron 的process_rollout_data()按 DP rank 拆分 rollout随后packed_data根据 rollout token 数量与 DP size 估算完成一个 global_batch 所需的 micro_batch 数量开启use_dynamic_batch_size时通过get_minimum_num_micro_batch_size()使用First-Fit 算法根据每条序列长度和max_tokens_per_gpu限制估算最少需要的 micro-batch 数并在所有 DP rank 间all_reduce(MAX)同步确保各 rank 梯度累积步数一致未开启时使用静态公式global_batch_size // (micro_batch_size * dp_size)计算固定 micro-batch 数量。随后在pack_sequences()中执行实际打包计算分区数k_partitions ceil(total_tokens / max_tokens_per_gpu)调用get_seqlen_balanced_partitions()使用Karmarkar-Karp 算法最大差分法做负载均衡分配通过优先队列维护分区状态每次合并 token 总数差距最大的两个分区使最终各 pack 的 token 数高度均衡对每个 pack将分配的序列拼接成连续的flat_tokens向量同时构建cu_seqlens数组记录各序列边界如[0, 128, 384, 512]表示 3 条序列长度分别为 128、256、128。在 CP 模式下cp_size 1pad_packed_sequence_with_cp()会对拼接后的序列做最小对齐 padding最多cp_size - 1个 token确保总长度能被cp_size整除以便跨 rank 切分虽然仍是直接 padding但 padding ≤ cp_size - 1不会产生可见 overhead。训练时cu_seqlens直接传给 Flash Attention 处理变长序列计算 loss 时unpack_sequences()根据边界信息精确还原每条序列的 log_probs、advantages 等指标。PPO KL 精度误差PPO 训练流程涉及三个批次相关参数Batch、Micro batch size 与 Sample。理想情况下当sample数量 ×micro_batch_sizeglobal_batch_size时一次 rollout 生成的所有样本恰好等于一个完整训练批次此时 rollout 和训练使用的是同一个未更新的 actor 权重版本Rollout 用W_t生成 responses训练仍用W_t计算 log probabilitiesPPO KL 理论上应为 0。然而实际运行中仅在开启 reference model 时从第一个 micro batch 开始 KL 就维持在微小正值而非 0说明存在数值漂移。该问题由权重交换逻辑中的精度误差引起原实现参考 Megatron 方式手动在 CPU 和 GPU 之间交换 ref 和 actor 的 tensorsMegatron 采用手动交换是因为 distributed optimizer 的 offload 过程复杂索性直接交换权重为兼容 FSDP2 的 DTensor需手动创建 DTensor 进行 swap而手动权重交换会在权重加载过程中产生细微数值偏差。最终方案改为将 reference model 作为独立的 FSDP 模型使用 FSDP 原生 CPU Offload 管理仅在 forward 时加载到 GPU。这完全避免了手动权重交换从根源上消除数值漂移使 PPO KL 收敛到理论值 0且不引入额外 GPU 内存开销。True On-Policy 的精度回归在 CP 的 PR 合入之后main branch 的 true on policy 曾一度失效排查发现是精度在切分之后被 autocast 成了 bf16修复后 training-infer mismatch 成功恢复到 0。为避免 autocast 应用不当导致的精度问题最终选择 FSDP2 新支持的Mixed Precision实现更清晰干净的精度管理。Batch SampleSample 数量n-samples-per-prompt每个 prompt 生成的候选回复数量Micro batch size训练时每次前向/反向传播处理的样本数量受 GPU 显存限制Global batch size一个完整训练迭代的总样本数通常由多个 micro batch 累积梯度完成。致谢本文核心内容来自 slime 团队的 FSDP 工作Z.aiZilin Zhu, Chengxing Xie, Haoran Wang, Lei Li、SGLang RL teamHuapeng Zhou, Chengxi Li, Yusheng Su, Zhuohao Li, Ji Li, Jiahui Wang, Jin Pan, William Ren, Tom, Qisheng Liu, Yuzhen Zhou, Jiajun Li, Yuqi Xiang, Mao Cheng, Chenyang Zhao以及 Linkedin 的 Lancert。赞分享文档教程人工智能大模型RLHF【免费下载链接】Awesome-ML-SYS-TutorialMy learning notes for ML SYS.项目地址https://gitcode.com/gh_mirrors/aw/Awesome-ML-SYS-Tutorial点击查看免费下载相关推荐Open edX 平台 Instructor Task 调度机制详解从 ADR 设计到 SCHEDULED 状态与定时执行Open edX 平台 Instructor Task 调度机制详解从 ADR 设计到 SCHEDULED 状态与定时执行 本文围绕 Open edX 仓库文档教程人工智能大模型RLHFslime基于 Megatron SGLang 的 RL Scaling 后训练框架深度解析slime基于 Megatron SGLang 的 RL Scaling 后训练框架深度解析 slime 是一个面向 RL Scaling 的 LLM 后人工智能大模型强化学习RLHF分布式训练slime RL 训练框架 API 深度解析基于 Megatron-LM 与 SGLang 的 LLM 后训练实战指南slime RL 训练框架 API 深度解析基于 Megatron LM 与 SGLang 的 LLM 后训练实战指南 本文以 slime API ReferAI 技能人工智能大模型深度学习上一篇如何高效部署Shoelace Web组件库生产环境终极指南 下一篇5分钟搭建浏览器端人体姿态搜索系统免费开源实时动作分析终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表