# 部署文档 ## 环境信息 | 组件 | 版本 | |---|---| | CUDA Driver | 570.133.20 | | CUDA Runtime | 12.4 | | Python | 3.10 | | PyTorch | 2.6.0+cu124 | | Transformers | 4.53.3 | | lm-eval | 0.4.4 | ## 构建 Docker 镜像 在 `tracy/` 目录下执行: ```bash cd /root/tracy docker build -t pangu1b-hif8:latest . ``` 首次构建需下载基础镜像并编译 quant_cy CUDA 扩展,约需 10–20 分钟。 ## 启动容器 ### 训练 ```bash docker run --gpus all \ -v /data0/dataset:/data0/dataset \ -v /root/tracy/checkpoints:/workspace/tracy/checkpoints \ -v /root/logs:/workspace/tracy/logs \ --shm-size=64g \ pangu1b-hif8:latest \ bash pangu_hif8_pretrain/run_train.sh ``` 参数说明: - `--gpus all`:挂载所有 GPU - `-v /data0/dataset`:挂载本地数据集缓存,避免重复下载 - `-v checkpoints / logs`:持久化训练结果和日志到宿主机 - `--shm-size=64g`:DataLoader 多进程需要足够的共享内存 ### 评测 ```bash docker run --gpus all \ -v /root/tracy/checkpoints:/workspace/tracy/checkpoints \ -v /root/tracy/evaluate_benchmarks/results:/workspace/tracy/evaluate_benchmarks/results \ pangu1b-hif8:latest \ bash -c "cd evaluate_benchmarks && bash run_eval.sh" ``` ### 交互式调试 ```bash docker run --gpus all -it \ -v /root/tracy:/workspace/tracy \ -v /data0/dataset:/data0/dataset \ --shm-size=64g \ pangu1b-hif8:latest \ bash ``` ## 目录结构 ``` tracy/ ├── Dockerfile ├── DEPLOY.md # 本文件 ├── HiFloat8/ # HiF8 量化库(含 quant_cy CUDA 扩展) ├── pangu_hif8_pretrain/ # 训练代码 │ ├── train.py │ ├── hif8.py │ └── run_train.sh ├── evaluate_benchmarks/ # 评测代码 │ ├── run_eval.sh │ ├── compare_results.py │ └── results/ ├── checkpoints/ # 训练产出模型权重 │ ├── bf16/final/ │ ├── cts/final/ │ └── dts_exp/final/ └── logs/ # 训练日志 ``` ## 常见问题 **Q: `quant_cy` 编译失败** 确认宿主机 CUDA Driver ≥ 12.4(`nvidia-smi` 查看),且 Docker 使用了 `--gpus all`。 **Q: 训练时 OOM** 当前配置 `micro_batch_size=16, seq_len=1024`,需要约 60 GiB 显存。 如果 GPU 显存不足,在 `run_train.sh` 中减小 `micro_batch_size`。 **Q: 数据集下载慢** 首次运行会从 HuggingFace 下载 FineWeb sample-10BT(约 48 GB)到 `/data0/dataset/train_pangu1b`。 挂载 `-v /data0/dataset:/data0/dataset` 后后续运行直接读本地缓存。