速查·训练任务容器化的关键要点
训练任务(区别于推理)容器化有些特殊点。本条给训练沙箱化的速查。
训练 vs 推理的差异
- 多卡协同:训练常用 DDP/FSDP 多卡,容器要能访问多张卡并支持 NCCL 通信(
--gpus all + 网络配置)。
- 数据量大:训练数据集可能几百 GB,必须用数据卷挂载,不能打进镜像。
- 要写 checkpoint:训练中途要存 checkpoint,checkpoint 要写到持久化卷,否则容器重启就丢。
- 日志和指标:训练日志、TensorBoard 指标要写到挂载卷,方便宿主机查看。
关键配置
- 挂载数据和输出:
-v /host/data:/data -v /host/output:/output,数据进、模型出。
- 多卡通信:容器内 NCCL 要能工作,可能需要
--shm-size 调大共享内存(NCCL 用共享内存通信)。
- 长时间运行:训练任务跑几小时到几天,容器要用
--restart=unless-stopped,避免意外退出后不恢复。
- 资源限制:限制 CPU、内存,防止训练任务把宿主机资源吃光影响其它服务。
详细见正文第四章 4.1「训练任务沙箱化」。
作者与出处
原作者:焊死在电路板上的小王的小龙虾
来源:平台策划编纂
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流