ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

HRM-Text环境搭建指南:Docker镜像一键部署与H100双节点集群配置详解

HRM-Text环境搭建指南:Docker镜像一键部署与H100双节点集群配置详解 HRM-Text环境搭建指南Docker镜像一键部署与H100双节点集群配置详解【免费下载链接】HRM-TextHRM-Text is a 1B text generation model based on the HRM architecture, strengthened by task completion and latent space reasoning.项目地址: https://gitcode.com/gh_mirrors/hr/HRM-TextHRM-Text 是一个基于 HRM 架构的 10 亿参数文本生成模型本文带你用 Docker 镜像一键完成 HRM-Text 环境搭建并详解 H100 双节点训练集群的完整配置流程。只需按步骤操作几十美元级的算力预算就能从零预训练一个基础模型。 提示由于注意力计算路径依赖 FlashAttention 3 的 Hopper 专用内核训练需要 80GB 的 H100 显卡。一、先搞清楚资源需求为什么是 H100HRM-Text 基于 PyTorch FSDP2、FlashAttention 3 与 PrefixLM 序列打包构建官方给出两档参考训练配置模型规模参数量硬件需求参考耗时成本估算*L0.6B8×H100单节点约 50 小时~$800XL1B16×H100双节点约 46 小时~$1472*按每 H100 小时 $2 估算。HRM-Text 1B 模型在 16 块 GPU 上用 1.9 天训练完成MATH、DROP、ARC-C、MMLU 等基准成绩超过训练开销高几十到几万倍的模型——这正是环境搭建值得认真做的理由。二、Docker 镜像一键部署推荐方式官方发布的sapientai/hrm-text:latest镜像已内置全部依赖Python 3.13、CUDA 12.8.1、cu128 版 PyTorch、FlashAttention 3甚至为多机训练预装好了 InfiniBand/RDMA 驱动完整清单见 docker/Dockerfile。先确保宿主机装有 NVIDIA Container Toolkit让 Docker 能识别 GPU然后在仓库根目录执行docker run --gpus all --ipchost --networkhost -it \ -v $PWD:/workspace \ sapientai/hrm-text:latest各参数作用一目了然--gpus all把全部 NVIDIA GPU 暴露给容器--ipchost共享宿主进程间通信空间避免 NCCL 共享内存不足--networkhost使用宿主网络多节点 NCCL 通信的必选项-v $PWD:/workspace把代码目录挂载为容器内工作目录备选从源码手动安装环境不用 Docker 时需先自行安装 PyTorch、CUDA 与 FlashAttention 3测试版本以 docker/Dockerfile 为准再安装 Python 依赖pip install -r requirements.txt核心依赖列表含flash_attn_3、vllm、wandb、hydra-core等维护在 requirements.txt。三、H100 双节点集群配置详解1. 共享存储与训练数据准备双节点训练时让每个节点挂载路径完全相同的共享工作区避免各进程间代码与数据出现版本漂移推荐目录布局/shared/ |-- HRM-Text/ |--- checkpoints/ |-- data_io/训练数据由配套的data_io管线清洗并分词后在每个训练节点上独立做分层采样采样快速且确定性各节点结果一致cd DATA_IO_PATH python sample_tokenized.py epochs4 output_path/dev/shm/sampled⚠️ 采样条目的epochs数必须与训练配置保持一致默认 4 个 epoch。2. 验证多机通信NCCL在启动长任务前至少确认torchrun能在目标节点间完成初始化如果集群提供nccl-tests建议跑一轮机内与机间带宽测试——不要等 46 小时后才发现问题出在网络上。3. 配置训练日志HRM-Text 通过 Weights Biases 记录训练指标启动前执行wandb login登录无头环境可直接wandb login API_KEY。4. 双节点启动预训练在每个节点上分别运行XL 规模共 16 卡OMP_NUM_THREADS1 MKL_NUM_THREADS1 \ torchrun \ --nproc_per_node8 \ --nnodes2 \ --node_rankNODE_RANK \ --master_addrMASTER_ADDR \ --master_portMASTER_PORT \ pretrain.py关键参数含义--node_rank本节点编号主节点填 0另一节点填 1--master_addr/--master_port主节点 IP 与端口两机间必须可互通如果是单节点 8×H100 跑 L 规模一条命令即可OMP_NUM_THREADS1 MKL_NUM_THREADS1 \ torchrun --nproc_per_node8 pretrain.py \ arch/sizearchL lr2.5e-4 global_batch_size172032入口脚本 pretrain.py 负责 FSDP2 包装、优化器、学习率调度与分布式 checkpoint 保存XL 规模的网络结构定义在 config/arch/size/XL.yaml。5. 检查点保存注意事项Checkpoint 每个 epoch 保存一次默认输出到checkpoints/。多节点模式下每个节点只保存自己的分片务必挂载共享存储否则评估和导出会缺分片。四、训练后一键评估与模型导出评估会自动加载最新 epoch 的 checkpointpython -m evaluation.main ckpt_pathcheckpoints/...需要 1 块 80GB GPU显存不足时追加generation_config.batch_size16只跑指定基准追加run_only[MATH,DROP,ARC,MMLU]评估完成后可导出为 HuggingFace Transformers 格式方便接入生态python -m conversion.convert_to_hf \ --ckpt_path checkpoints/... \ --out_dir OUTPUT_PATH转换逻辑位于 conversion/convert_to_hf.py默认使用 checkpoint 中的 EMA 权重。五、常见问题速查现象解决方案docker run后容器看不到 GPU安装并启用 NVIDIA Container Toolkit双节点训练卡在初始化检查--master_addr/--master_port互通性确认使用--networkhost评估阶段 OOM追加generation_config.batch_size16多节点数据不一致确认各节点采样命令的epochs与训练配置相同按照以上步骤你就能在 Docker 容器里一键拉起完整环境并让 16 块 H100 组成的双节点集群稳定跑起 HRM-Text 预训练。【免费下载链接】HRM-TextHRM-Text is a 1B text generation model based on the HRM architecture, strengthened by task completion and latent space reasoning.项目地址: https://gitcode.com/gh_mirrors/hr/HRM-Text创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表