[ PROMPT_NODE_22872 ]
Post Training Slime 故障排查
[ SKILL_DOCUMENTATION ]
# slime 故障排除指南
## 常见问题与解决方案
### SGLang 问题
#### 问题: SGLang 引擎崩溃
**症状**: 推理引擎在训练中途停止,连接错误
**解决方案**:
1. **启用容错机制**:
bash
--use-fault-tolerance
2. **增加内存分配**:
bash
--sglang-mem-fraction-static 0.85 # 从 0.8 增加
3. **减小批大小**:
bash
--rollout-batch-size 16 # 从 32 减小
4. **禁用 CUDA 图** (用于调试):
bash
--sglang-disable-cuda-graph
#### 问题: SGLang 路由负载不均衡
**症状**: 部分 SGLang 引擎过载,而其他引擎空闲
**解决方案**:
1. **调整路由策略**:
bash
--sglang-router-strategy round_robin
2. **增加引擎数量**:
bash
--rollout-num-gpus-per-engine 1 # 更多引擎,每个引擎使用更少 GPU
### 权重同步问题
#### 问题: 权重同步超时
**症状**: 训练在 Rollout 后挂起,出现超时错误
**解决方案**:
1. **增加同步间隔** (异步模式):
bash
--update-weights-interval 5 # 从 2 增加
2. **使用同机模式 (Colocated mode)** (消除网络传输):
bash
--colocate
3. **检查网络带宽**:
bash
# 验证 InfiniBand 是否启用
ibstat
#### 问题: 多节点权重同步失败
**症状**: 节点无法接收更新后的权重
**解决方案**:
1. **设置 NCCL 环境变量**:
bash
export NCCL_DEBUG=INFO
export NCCL_SOCKET_IFNAME=eth0
export NCCL_IB_DISABLE=0
2. **增加超时时间**:
bash
export NCCL_TIMEOUT=1800
### 内存问题
#### 问题: 训练期间 OOM (显存溢出)
**症状**: 反向传播时 CUDA OOM
**解决方案**:
1. **启用梯度检查点**:
bash
--recompute-activations
2. **减小微批大小 (Micro-batch size)**:
bash
--micro-batch-size 1
3. **启用序列并行**:
bash
--sequence-parallel
4. **减小全局批大小**:
bash
--global-batch-size 128 # 从 256 减小
#### 问题: 同机模式下 OOM
**症状**: 训练和推理在同一 GPU 上运行时 OOM
**解决方案**:
1. **减少 SGLang 内存占用**:
bash
--sglang-mem-fraction-static 0.4 # 从 0.8 减小
2. **启用卸载优化器状态**:
bash
--offload-optimizer-states
3. **使用更短的序列长度**:
bash
--seq-length 2048 # 从 4096 减小
### 数据加载问题
#### 问题: 数据加载缓慢
**症状**: 数据获取期间 GPU 空闲,GPU 利用率低
**解决方案**:
1. **增加数据工作进程 (Data workers)**