Skip to content

Commit 5c7eccc

Browse files
committed
add trinity_trainer_configs.md
add `trinity_trainer_configs.md`
1 parent 6432b19 commit 5c7eccc

File tree

1 file changed

+145
-0
lines changed

1 file changed

+145
-0
lines changed
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# Trainer 参数配置指南(A100 80G / H20 96G)
2+
3+
本文档为在 **NVIDIA A100 80GB****H20 96GB** 显卡上训练 Qwen3 系列模型提供推荐的训练配置建议。
4+
根据模型大小(0.6B ~ 14B)与上下文长度(`max_model_len`),我们给出了Trainer模块在不同 GPU 数量下的可行方案。
5+
6+
> 💡 **术语说明**
7+
>
8+
> - **vanilla**:无需特殊配置,使用默认设置即可。
9+
> - **Env**:需在启动训练前设置环境变量:
10+
> ```bash
11+
> export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
12+
> ```
13+
> - **Offload**:需启用 **FSDP v2 + CPU Offload** 技术以节省显存。
14+
> - **SP=N**:表示使用 **Sequence Parallelism(序列并行)**,并行度为 N(通常 N ≤ GPU 数量)。
15+
> - **组合项(如 `Env SP=2`**:需同时满足所有列出的条件。
16+
> - **“-”**:当前硬件与配置组合下,**无法支持该模型+序列长度的训练**
17+
18+
---
19+
20+
## 关于长上下文支持
21+
22+
Qwen3 系列模型原生支持的最大上下文长度为 **40,960 tokens**
23+
对于超过此长度的训练(如 51,200、81,920 等),我们通过 **YaRN RoPE 扩展** 实现。相关配置如下:
24+
25+
```yaml
26+
model:
27+
model_path: ${oc.env:MODEL_PATH,Qwen/Qwen3-0.6B}
28+
max_prompt_tokens: 2048
29+
max_model_len: ${oc.env:MAX_MODEL_LEN,4096}
30+
rope_scaling:
31+
rope_type: yarn
32+
factor: ${oc.decode:${oc.env:FACTOR}} # 推荐值 = MAX_MODEL_LEN / 40960
33+
original_max_position_embeddings: 40960
34+
```
35+
36+
> ✅ 使用 YaRN 时,请确保 `factor` 设置合理,避免数值不稳定。
37+
38+
---
39+
40+
## A100 80GB 显卡配置建议
41+
42+
### 1 张 GPU
43+
44+
| `max_model_len` | Qwen3-0.6B | Qwen3-1.7B | Qwen3-4B | Qwen3-8B | Qwen3-14B |
45+
|------------------|------------|---------------|----------------|----------------|---------------|
46+
| 4,096 | vanilla | vanilla | Env + Offload | Env + Offload | Env + Offload |
47+
| 8,192 | vanilla | vanilla | Env + Offload | Env + Offload | Env + Offload |
48+
| 12,288 | vanilla | vanilla | Env + Offload | Env + Offload | Env + Offload |
49+
| 16,384 | vanilla | vanilla | Env + Offload | Env + Offload | Env + Offload |
50+
| 20,480 | vanilla | Env + Offload | Env + Offload | Env + Offload | Env + Offload |
51+
| 24,576 | Env | Env + Offload | Env + Offload | Env + Offload | Env + Offload |
52+
| 28,672 | Env | Env + Offload | Env + Offload |||
53+
| 32,768 ||||||
54+
55+
> ⚠️ 在单卡上训练大模型(≥4B)或长上下文(>20K)时,显存压力极大,建议优先考虑多卡方案。
56+
57+
---
58+
59+
### 2 张 GPU
60+
61+
| `max_model_len` | Qwen3-0.6B | Qwen3-1.7B | Qwen3-4B | Qwen3-8B | Qwen3-14B |
62+
|------------------|----------------------|------------|----------------------|----------------------|----------------------|
63+
| 4,096 | vanilla | vanilla | vanilla | Env | Env + Offload |
64+
| 8,192 | vanilla | vanilla | vanilla | Env + Offload | Env + Offload |
65+
| 12,288 | vanilla | vanilla | vanilla | Env + Offload | Env + Offload |
66+
| 16,384 | vanilla | vanilla | Env | Env + Offload | Env + Offload |
67+
| 20,480 | vanilla | vanilla | SP=2 | Env + Offload | Env + Offload |
68+
| 24,576 | vanilla | Env | SP=2 | Env + Offload | Env + Offload |
69+
| 28,672 | Env | SP=2 | Env + SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 |
70+
| 32,768 | SP=2 | SP=2 | Env + SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 |
71+
| 36,864 | SP=2 | SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 |
72+
| 40,960 | SP=2 | SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 |
73+
| 51,200 | Env + SP=2 | Env + SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 ||
74+
| 61,440 | Env + Offload + SP=2 |||||
75+
| 71,680 ||||||
76+
77+
> ✅ 2 卡可显著提升 4B~14B 模型的长上下文训练能力,推荐使用 **SP=2** 缓解显存瓶颈。
78+
79+
---
80+
81+
### 4 张 GPU
82+
83+
| `max_model_len` | Qwen3-0.6B | Qwen3-1.7B | Qwen3-4B | Qwen3-8B | Qwen3-14B |
84+
|------------------|----------------------|----------------------|----------------------|----------------------|----------------------|
85+
| 4,096 | vanilla | vanilla | vanilla | vanilla | Env |
86+
| 8,192 | vanilla | vanilla | vanilla | vanilla | Env + SP=2 |
87+
| 12,288 | vanilla | vanilla | vanilla | Env | Env + SP=4 |
88+
| 16,384 | vanilla | vanilla | vanilla | SP=2 | Env + SP=4 |
89+
| 20,480 | vanilla | vanilla | vanilla | SP=2 | Env + SP=4 |
90+
| 24,576 | vanilla | Env | SP=2 | Env + SP=2 | Env + Offload |
91+
| 28,672 | Env | SP=2 | SP=2 | Env + SP=2 | Env + Offload + SP=2 |
92+
| 32,768 | SP=2 | SP=2 | SP=2 | SP=4 | Env + Offload + SP=2 |
93+
| 36,864 | SP=2 | SP=2 | SP=2 | SP=4 | Env + Offload + SP=2 |
94+
| 40,960 | SP=2 | SP=2 | Env + SP=2 | SP=4 | Env + Offload + SP=2 |
95+
| 51,200 | Env + SP=2 | Env + SP=2 | SP=4 | Env + SP=4 | Env + Offload + SP=4 |
96+
| 61,440 | SP=4 | SP=4 | SP=4 | Env + Offload + SP=4 | Env + Offload + SP=4 |
97+
| 71,680 | SP=4 | SP=4 | SP=4 | Env + Offload + SP=4 | Env + Offload + SP=4 |
98+
| 81,920 | SP=4 | SP=4 | Env + SP=4 | Env + Offload + SP=4 | Env + Offload + SP=4 |
99+
| 92,160 | SP=4 | Env + SP=4 | Env + Offload + SP=4 | Env + Offload + SP=4 | Env + Offload + SP=4 |
100+
| 102,400 | Env + SP=4 | Env + SP=4 | Env + Offload + SP=4 | Env + Offload + SP=4 ||
101+
| 112,640 | Env + SP=4 | Env + Offload + SP=4 ||||
102+
| 122,880 | Env + Offload + SP=4 |||||
103+
| 133,120 ||||||
104+
105+
> ✅ 4 卡是训练 **8B/14B 模型 + 超长上下文(>60K)** 的推荐配置,充分利用 **SP=4****Env + Offload** 可有效扩展能力边界。
106+
107+
---
108+
109+
### 6 张 GPU
110+
111+
| `max_model_len` | Qwen3-0.6B | Qwen3-1.7B | Qwen3-4B | Qwen3-8B | Qwen3-14B |
112+
|------------------|------------|------------|----------------------|----------------------|----------------------|
113+
| 4,096 | vanilla | vanilla | vanilla | vanilla | vanilla |
114+
| 8,192 | vanilla | vanilla | vanilla | vanilla | vanilla |
115+
| 12,288 | vanilla | vanilla | vanilla | vanilla | SP=2 |
116+
| 16,384 | vanilla | vanilla | vanilla | Env | SP=2 |
117+
| 20,480 | vanilla | vanilla | vanilla | SP=2 | Env + SP=2 |
118+
| 24,576 | vanilla | Env | Env | SP=2 | Env + Offload |
119+
| 28,672 | Env | Env | SP=2 | SP=2 | Env + Offload + SP=2 |
120+
| 32,768 | SP=2 | SP=2 | SP=2 | Env + SP=2 | Env + Offload + SP=2 |
121+
| 36,864 | SP=2 | SP=2 | SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 |
122+
| 40,960 | SP=2 | SP=2 | SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 |
123+
| 51,200 | Env + SP=2 | Env + SP=2 | Env + Offload + SP=2 | Env + Offload + SP=2 ||
124+
| 61,440 | Env + SP=2 |||||
125+
| 71,680 ||||||
126+
127+
> ✅ 6 卡对中小模型(≤4B)支持极佳,但对 14B 模型在超长上下文下仍存在限制。
128+
129+
---
130+
131+
## H20 96GB 显卡(待补充)
132+
133+
134+
---
135+
136+
## 使用建议
137+
138+
1. **优先尝试 `vanilla` 配置**
139+
2. **长上下文(超过模型原有最大长度)务必启用 YaRN RoPE**,并合理设置 `factor`
140+
3. **当出现 OOM 时**
141+
- 先尝试设置 `PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`
142+
- 再考虑启用 FSDP2 Offload 或增加 Sequence Parallelism
143+
4. **多卡训练时**,SP 并行度建议设为 GPU 数量和模型注意力头数的共因数(如 2、4)。
144+
145+
如有疑问,请联系技术支持或参考官方训练框架文档。

0 commit comments

Comments
 (0)