131 lines
2.6 KiB
Markdown
131 lines
2.6 KiB
Markdown
# CPM 训练框架文档
|
||
|
||
> 本文档介绍基于 PyTorch 的 CPM 大规模语言模型训练系统。训练完成的模型将存储在 `model_final` 目录。
|
||
|
||
conda在:https://lz-1305252147.cos.ap-guangzhou.myqcloud.com/llm_conda.tar.gz
|
||
|
||
## 一、环境配置指南
|
||
|
||
### 硬件配置清单
|
||
|
||
必要配置:
|
||
- GPU:4张 NVIDIA A100(80GB)显卡
|
||
- 单卡训练批次:4
|
||
|
||
软件环境:
|
||
- CUDA 版本:12.1
|
||
- Python 环境:3.10
|
||
- 深度学习框架:PyTorch + accelerate
|
||
|
||
### 环境部署方案
|
||
|
||
**选项1:基于容器**
|
||
```bash
|
||
# Step 1: 获取基础镜像
|
||
docker pull pytorch/pytorch:2.4.0-cuda12.1-cudnn9-devel
|
||
|
||
# Step 2: 运行容器实例
|
||
docker run --gpus all \
|
||
-v $(pwd):/workspace \
|
||
pytorch/pytorch:2.4.0-cuda12.1-cudnn9-devel
|
||
```
|
||
|
||
**选项2:基于conda**
|
||
```bash
|
||
# Step 1: 创建虚拟环境
|
||
conda create -n cpm python=3.10
|
||
|
||
# Step 2: 激活环境
|
||
conda activate cpm
|
||
|
||
# Step 3: 安装依赖包
|
||
pip install -r requirements.txt
|
||
```
|
||
conda env create -f environment.yml
|
||
## 二、操作流程详解
|
||
|
||
### 2.1 前期准备
|
||
|
||
实验监控配置(可选):
|
||
```bash
|
||
# 配置wandb监控
|
||
wandb login
|
||
```
|
||
|
||
### 2.2 模型训练步骤
|
||
|
||
1. 修改训练配置:
|
||
```bash
|
||
# 编辑训练脚本
|
||
vim train.sh # 设置模型路径等参数
|
||
```
|
||
|
||
2. 执行训练:
|
||
```bash
|
||
# 进入训练目录并启动
|
||
cd training
|
||
bash train.sh
|
||
```
|
||
|
||
### 2.3 效果验证
|
||
|
||
验证指标:
|
||
- 验证集损失应当低于0.52
|
||
- 推荐保存训练过程中的多个检查点
|
||
|
||
### 2.4 推理部署
|
||
|
||
示例代码:
|
||
```python
|
||
# 核心配置项
|
||
inference_config = {
|
||
'model_path': './checkpoints/best_model', # 模型路径
|
||
'input_path': './data/input.txt', # 输入文件
|
||
'output_path': './results/output.txt' # 输出文件
|
||
}
|
||
|
||
# 执行推理
|
||
python inference.py
|
||
```
|
||
|
||
## 三、关键注意事项
|
||
|
||
### 性能调优须知
|
||
|
||
- 严格遵守GPU数量要求
|
||
- 保持默认批处理大小不变
|
||
- 不建议修改accelerate默认配置
|
||
|
||
### 实验记录管理
|
||
|
||
实验数据查看方式:
|
||
- 实时监控:wandb平台
|
||
- 本地记录:`training/wandb`目录
|
||
|
||
## 四、最优实践建议
|
||
|
||
1. 优先考虑容器化部署
|
||
2. 建立完善的检查点备份机制
|
||
3. 持续监控训练指标变化
|
||
4. 保持训练环境的一致性
|
||
|
||
## 五、补充说明
|
||
|
||
系统文件说明:
|
||
- 根目录:配置文件
|
||
- Docker相关:自定义镜像构建文件
|
||
- 监控工具:wandb集成支持
|
||
|
||
## 六、故障排查指南
|
||
|
||
常见问题处理:
|
||
1. 内存溢出:检查批次大小设置
|
||
2. 训练中断:查看显卡状态
|
||
3. 性能不佳:确认环境配置
|
||
|
||
## 七、版本说明
|
||
|
||
当前版本特性:
|
||
- 支持分布式训练
|
||
- 提供完整监控方案
|
||
- 优化内存使用效率 |