
AI 技能人工智能大模型深度学习【免费下载链接】AI-Research-SKILLsComprehensive open-source library of AI research and engineering skills for any AI model. Package the skills and your claude code/codex/gemini agent will be an AI research agent with full horsepower. Maintained by Orchestra Research.项目地址https://gitcode.com/gh_mirrors/ai/AI-Research-SKILLs点击查看免费下载verlVolcano Engine Reinforcement Learning是字节跳动 Seed 团队开源的 RL 训练库基于 HybridFlow 框架EuroSys 2025实现支持 PPO、GRPO、DAPO、RLOO、REINFORCE 等多种算法并可在 FSDP/FSDP2/Megatron-LM 训练后端与 vLLM/SGLang 推理引擎之间灵活切换。本文以 troubleshooting.md 为骨架系统梳理从单卡 OOM 到多节点 NCCL 超时、从训练发散到权重同步卡死的高频故障现象、根因与可复制的修复配置并结合 api-reference.md 与 SKILL.md 中的配置模式给出参数取值参考帮助你快速定位问题并把训练稳定跑起来。前置认知理解 verl 的分层配置结构verl 的排障动作几乎全部落在 YAML 配置上因此先明确其三层配置骨架对应 api-reference.md 中的verl/trainer/config/ppo_trainer.yaml结构data数据文件路径与序列长度约束train_files、max_prompt_length、max_response_length等algorithm算法级超参adv_estimator、gamma、lam、entropy_coef、kl_ctrlactor_rollout_ref角色最复杂的一层又细分为model模型路径与后端、actor策略优化参数、rollout生成阶段参数三个子块critic仅在 PPO/GAE 场景出现trainer训练器级控制total_epochs、n_gpus_per_node、save_freq、async_weight_update等。从源码结构看verl 的核心运行单元包括RayPPOTrainer训练循环的中央控制器、ResourcePoolManager基于 Ray PlacementGroups 做 GPU 资源分配、ActorRolloutRefWorker同时承载策略训练、生成与参考模型计算并管理混合引擎模式切换以及RolloutReplicavLLM/SGLang/TensorRT-LLM/HF 等推理后端的统一接口。大部分排障配置最终影响的正是这些模块之间的资源分配与通信行为。OOM显存不足问题OOM 是 verl 训练中最常见的故障但生成阶段rollout与训练阶段backward的显存压力来源完全不同需要分别处理。生成阶段 OOMCUDA out of memory during generation生成阶段显存被三部分占用vLLM/SGLang 推理引擎的 KV Cache、log prob 计算的前向激活、参考模型的推理开销。对应修复手段1. 调低 log prob 微批大小rollout 阶段需要对生成的样本回传计算对数概率该过程按微批进行。过大的微批会让激活值瞬间撑爆显存actor_rollout_ref: rollout: log_prob_micro_batch_size: 4 # 默认参考值为 8OOM 时降至 4该参数与 api-reference 中log_prob_micro_batch_size: 8的默认参考值对应可视显存余量继续下调到 2。2. 开启梯度检查点以少量重计算开销换取激活值显存的大幅下降actor_rollout_ref: actor: gradient_checkpointing: true3. 使用 FSDP2 并开启 CPU offloadFSDP2 在 resharding 效率上优于旧版 FSDP配合 CPU offload 可把参数/优化器状态搬到主存actor_rollout_ref: actor: strategy: fsdp2 fsdp_config: offload_policy: true注意 api-reference.md 中 FSDP2 的典型配置还包含reshard_after_forward: true即前向后立即释放分片进一步压缩常驻显存。4. 降低 vLLM 的显存利用率vLLM 默认按gpu_memory_utilization预留推理显存给训练侧留下的空间不足时必然冲突actor_rollout_ref: rollout: gpu_memory_utilization: 0.7 # 默认参考值为 0.9调低为训练留出余量训练阶段 OOMCUDA OOM in backward pass1. 缩小 PPO 小批次ppo_mini_batch_size决定单次参数更新吃掉的样本量直接影响反向传播激活峰值actor_rollout_ref: actor: ppo_mini_batch_size: 32 # 默认参考值为 64OOM 时减半2. 开启梯度累积减小批次后若担心样本利用率下降可用累积补偿有效批大小actor_rollout_ref: actor: gradient_accumulation_steps: 43. 开启混合精度bf16 可将激活与梯度显存近似减半actor_rollout_ref: actor: fsdp_config: mixed_precision: bf16该写法在 api-reference 的 FSDP 配置中对应strategy: fsdp下的mixed_precision: bf16与sharding_strategy: FULL_SHARD此处作用域为 FSDP2 的混合精度策略。训练稳定性问题训练发散 / Loss 尖峰Loss Spikes、Reward Collapse发散通常意味着策略更新步长过大或约束过松优先级从高到低的四步处理1. 降低学习率actor_rollout_ref: actor: lr: 5e-7 # 默认参考值 1e-6发散时降一个量级以内2. 提高 KL 惩罚系数KL 约束把新策略钉在参考策略附近防止单步更新跑飞actor_rollout_ref: actor: kl_loss_coef: 0.01 # 默认参考值 0.001发散时可提高 10 倍3. 开启梯度裁剪actor_rollout_ref: actor: max_grad_norm: 1.0注意与同仓库 grpo-rl-training 模板 中的max_grad_norm0.1相比verl 场景常用 1.0 作为起始值可继续下调。4. 缩小 PPO 裁剪范围clip_ratio限制新旧策略比值的更新幅度收紧它等于给每一步更新上保险actor_rollout_ref: actor: clip_ratio: 0.1 # 默认参考值 0.2收敛不稳时减半策略坍缩Policy Collapse熵趋于 0模型输出退化为确定性文本多样性消失。处理思路是提高探索、降低约束1. 提高 rollout 采样温度actor_rollout_ref: rollout: temperature: 0.9 # 默认参考值 0.7探索不足时上调2. 增加熵奖励在目标函数中显式鼓励高熵分布algorithm: entropy_coef: 0.013. 降低 KL 惩罚KL 约束过强会强行把分布拉回参考策略间接抑制熵actor_rollout_ref: actor: kl_loss_coef: 0.0001 # 比默认 0.001 再低一个量级权重同步问题verl 采用rollout → reward → train → sync的循环rollout 结束后要把 actor 权重从训练侧同步到 vLLM/SGLang 推理侧权重同步快慢直接决定整轮循环的吞吐。同步缓慢rollout 与训练阶段之间长时间停顿1. 换用 FSDP2 加速 reshardingFSDP2 相比 FSDP1 在权重分片重组reshard路径上更快actor_rollout_ref: actor: strategy: fsdp22. 开启异步权重更新让训练与 rollout 重叠执行消除同步停顿trainer: async_weight_update: true3. 降低同步频率不必每步都同步间隔若干步再同步一次trainer: weight_sync_interval: 2 # 每 2 步同步一次权重同步超时Ray actor 超时1. 调大 Ray 初始化超时import ray ray.init(num_gpus8, timeout3600) # 1 小时超时应对慢速网络下的权重搬运2. 使用 colocate 模式显存允许时让 actor 与 rollout 共用同一批 GPU权重无需跨机器搬运trainer: colocate_actor_ref: truevLLM 版本问题vLLM 是 verl 最常用的 rollout 后端SKILL 中pip install verl[vllm]版本不匹配会表现为导入错误、生成挂起或输出异常。1. 锁定兼容版本区间pip install vllm0.8.2,0.12.0 # 规避已知 bug 较多的 vLLM 0.7.x 版本注意 SKILL.md 的依赖声明为vllm0.8.2其Common Issues一节给出的区间为0.8.5,0.12.0两者均以 0.8.x 为下限、0.12.x 为上限安装时以实际验证过的版本为准。2. vLLM 0.8.x 出问题时禁用 CUDA graphactor_rollout_ref: rollout: enforce_eager: true # 关闭 CUDA graphs牺牲少量吞吐换稳定api-reference 中该字段默认参考值为false仅在排查阶段开启。3. 核对 CUDA 版本nvidia-smi # 确认驱动与 CUDA 版本vLLM 0.11 需要 CUDA 12.1Ray 问题Ray 是 verl 的分布式底座ray2.41.0RayPPOTrainer、ResourcePoolManager都依赖 Ray 的 PlacementGroups 与 actor 机制。Ray 集群连接失败1. 检查集群状态ray status2. 重启 Ray 集群ray stop ray start --head --port6379 --num-gpus83. 验证网络连通性ping head_node_ipRay actor 因 OOM 被杀1. 扩大 Ray object store 内存ray start --head --object-store-memory10000000000 # 10GB2. 开启磁盘 spill把放不下的 object 落盘避免直接被 killexport RAY_object_spilling_config{type:filesystem,params:{directory_path:/tmp/ray_spill}}多节点问题NCCL 超时多机训练如 SKILL 中trainer.nnodes4的场景最常见的故障是 NCCL 集合通信超时根因通常是网卡选择错误或 InfiniBand 未启用。1. 设置 NCCL 环境变量export NCCL_DEBUGINFO export NCCL_SOCKET_IFNAMEeth0 export NCCL_IB_DISABLE0 # 有 InfiniBand 时启用NCCL_SOCKET_IFNAME必须与实际承载训练的网卡一致同仓库 openrlhf/multi-node-training.md 中也有NCCL_SOCKET_IFNAMEib0的同类实践NCCL_DEBUGINFO用于打印详细的通信日志辅助定位。2. 增大 NCCL 超时export NCCL_TIMEOUT1800 # 30 分钟规避慢速网络下的误超时3. 确认网卡接口ifconfig # 确认正确接口后回填到 NCCL_SOCKET_IFNAMEDeepSpeed GPU index out of rangeRay 会自行管理CUDA_VISIBLE_DEVICES与 DeepSpeed 的 GPU 索引推断逻辑冲突export RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES1该环境变量同样出现在同仓库 openrlhf/hybrid-engine.md 中说明这是 RayDeepSpeed 混合场景下的通用修复手段。数据问题空批次Empty Batches1. 校验 parquet 数据格式verl 要求数据集至少包含prompt与reward_model两列SKILL 中数据集格式为{prompt: [...], reward_model: {...}}import pandas as pd df pd.read_parquet(train.parquet) print(df.columns) # 应包含 prompt、reward_model2. 使用绝对路径data: train_files: /absolute/path/to/train.parquet # 相对路径易在 Ray worker 间解析失败Tokenization 错误 / 序列长度不匹配1. 设置 padding token部分分词器的 pad_token 为空需要显式指定tokenizer.pad_token tokenizer.eos_token这与 grpo-rl-training 模板 中的tokenizer.pad_token tokenizer.eos_token是同一实践可直接复用。2. 核对序列长度配置data: max_prompt_length: 512 max_response_length: 2048 # 两者之和不应超过模型最大上下文长度Megatron 特定问题Megatron-LM 后端backend: megatron用于 70B 超大模型与专家并行EP场景排障重点在 checkpoint 格式转换与硬件兼容性。Megatron Checkpoint 加载失败1. 开启 mbridge 格式转换actor_rollout_ref: actor: megatron: use_mbridge: trueapi-reference 明确指出use_mbridge: true是格式转换的必选项Required for format conversion。2. 用官方脚本转换 HuggingFace → Megatronpython tools/convert_hf_to_megatron.py \ --hf_model_path /path/to/hf/model \ --save_path /path/to/megatron/checkpointMegatron 在 AMD GPU 上不可用这是当前版本的已知限制原文档明确标注 Current LimitationMegatron-LM 后端不支持 AMD GPU应退回 FSDP 后端actor_rollout_ref: model: backend: fsdp调试技巧与工具链开启详细日志trainer: logging_level: DEBUGexport VERL_DEBUG1 export RAY_DEDUP_LOGS0 # 关闭 Ray 日志去重保留每个 worker 的完整输出实时监控 GPU 利用率watch -n 1 nvidia-smi配合 SKILL 的监控建议关注 WandB/TensorBoard 的 loss 曲线、reward 是否随 step 上升可快速区分显存瓶颈与利用率不足两类问题。训练过程性能剖析用 PyTorch Profiler 导出 Chrome trace定位前向/反向/通信各阶段耗时# 在训练循环中加剖析 import torch.profiler with torch.profiler.profile( activities[torch.profiler.ProfilerActivity.CPU, torch.profiler.ProfilerActivity.CUDA], record_shapesTrue, ) as prof: trainer.fit() prof.export_chrome_trace(trace.json)排障速查清单症状首选排查项核心配置/命令生成阶段 OOM推理显存占用gpu_memory_utilization: 0.7训练阶段 OOM反向激活峰值ppo_mini_batch_size: 32Loss 尖峰/发散步长过大lr: 5e-7、kl_loss_coef: 0.01策略坍缩熵0探索不足temperature: 0.9、entropy_coef: 0.01权重同步慢通信开销strategy: fsdp2、async_weight_update: trueRay actor 超时资源与网络ray.init(timeout3600)、colocate_actor_ref: truevLLM 生成异常版本兼容pip install vllm0.8.2,0.12.0NCCL 超时网卡/IB 配置NCCL_SOCKET_IFNAME、NCCL_TIMEOUT1800空批次数据格式校验prompt/reward_model列、绝对路径Megatron checkpoint 失败格式转换use_mbridge: true延伸阅读完整的配置结构、奖励函数签名与后端专属参数见 verl API Referenceverl 的整体架构、算法选择与 GRPO/PPO/Megatron 三种工作流见 verl SKILL同主题的 GRPO 奖励函数库与可运行训练模板见 reward_functions_library.py 与 basic_grpo_training.py多节点场景下 RayNCCL 的更多实践可对照 openrlhf/multi-node-training.md。赞分享AI 技能人工智能大模型深度学习【免费下载链接】AI-Research-SKILLsComprehensive open-source library of AI research and engineering skills for any AI model. Package the skills and your claude code/codex/gemini agent will be an AI research agent with full horsepower. Maintained by Orchestra Research.项目地址https://gitcode.com/gh_mirrors/ai/AI-Research-SKILLs点击查看免费下载相关推荐AReaL 大规模 RL 训练 OOM 排查与显存优化实战指南AReaL 大规模 RL 训练 OOM 排查与显存优化实战指南 本文面向在 AReaLThe RL Bridge for LLM based Agent Ap人工智能大模型强化学习分布式训练AI AgentAReaL 大规模 RL 训练 OOM 排查与优化实战指南生成、训练、权重更新全阶段内存治理AReaL 大规模 RL 训练 OOM 排查与优化实战指南生成、训练、权重更新全阶段内存治理 OOMOut of Memory是大规模 RL 训练中最常见人工智能大模型强化学习分布式训练AI AgentLTX-2 训练故障排查全指南从 OOM、NaN Loss 到断点续训的实战速查手册LTX 2 训练故障排查全指南从 OOM、NaN Loss 到断点续训的实战速查手册 导读 本文是 LTX 2LTX 2.3 / LTX 2.5训练工作流人工智能大模型媒体生成视频音频微调模型量化上一篇CloudBase Framework 安装和配置指南下一篇PyBBS一个实用的Java开发社区论坛创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考