Files
laoyao_2b_moe/scripts/README.md
2026-07-09 08:02:25 +08:00

62 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Scripts
- `sync_pretrain_data_into_repo.sh`: 200B 数据构建完成后,把数据目录同步到 `dataset/pretrain/data/`,默认优先 hardlink。
- `wait_and_sync_pretrain_data.sh`: 后台等待当前 200B 构建进程结束,然后自动同步数据。
- `preprocess_megatron_bridge_pretrain.sh`: 旧的 Megatron indexed dataset 预处理入口,保留用于对照。
- `preprocess_megatron_bridge_pretrain_direct.sh`: 直接从 parquet 生成 Megatron indexed dataset不落中间 JSONL。
- `train_megatron_bridge_2b_moe.sh`: 当前主训练入口,使用 NeMo 26.06 镜像中的 Megatron-Bridge。
- `train_nemo_megatron_2b_moe.sh`: NeMo/Megatron 训练入口占位,包含 image、mount、路径检查。
- `g0050_download_and_setup_from_modelscope.sh`: 在 g0050 上一键准备训练环境并从 ModelScope 下载未 tokenize parquet 数据。
- `g0050_wait_and_tokenize_glm52_8192.sh`: 等待 g0050 ModelScope parquet 下载完成后,按 GLM-5.2 tokenizer 和 `max_seq_len=8192` 转成 Megatron indexed dataset。
- `resume_pretrain_8192_8gpu_mbs14.sh`: g0050 当前主恢复训练入口,默认 8 卡 DP、`mbs=14``gbs=112`、full recompute、distributed optimizer、2500 iter 保存、15000 iter validation。
- `serve_laoyao_megatron.sh` / `serve_laoyao_megatron_inner.sh`: 启动 Megatron 原生 text generation server用于 checkpoint 推理 smoke。
- `laoyao_megatron_inference_setup.sh`: 容器内热补丁 Megatron inference server 的参数兼容和返回格式问题。
- `check_laoyao_megatron_inference_ready.sh`: 检查 checkpoint、端口、GPU 和相关容器状态。
- `query_laoyao_megatron_server.sh`: 对 Megatron inference server 发送简单 prompt。
- `stop_laoyao_megatron_server.sh`: 停止 Megatron inference server 容器。
## g0050 下载与部署
在 Mac 侧通过 B300 跳转到 g0050
```bash
ssh B300 'ssh ubuntu@g0050 "cd /ssd/workspace/yi/laoyao_2b_moe && MODELSCOPE_API_TOKEN=ms-... bash scripts/g0050_download_and_setup_from_modelscope.sh"'
```
默认行为:
- repo 路径:`/ssd/workspace/yi/laoyao_2b_moe`
- 数据路径:`/ssd/workspace/yi/laoyao_2b_moe_pretraining_dataset`
- ModelScope dataset`eigentom/laoyao_2b_moe_pretrain_parquet_20260702`
- 训练镜像:`nvcr.io/nvidia/nemo:26.06`
- 下载镜像ModelScope CUDA 13.0 / Swift 4.3.1 官方镜像
- 代理:默认使用 B300/g0050 侧的 `http://100.72.0.101:8888`
私有 Gitea clone 时不要把 token 写进脚本,运行时通过环境变量传入:
```bash
GIT_REPO_URL=https://yi_lu:<token>@git.deeepseek.net/yi_lu/laoyao_2b_moe.git \
MODELSCOPE_API_TOKEN=ms-... \
bash scripts/g0050_download_and_setup_from_modelscope.sh
```
## g0050 当前训练恢复
在 g0050 上:
```bash
cd /ssd/workspace/yi/laoyao_2b_moe
bash scripts/resume_pretrain_8192_8gpu_mbs14.sh
```
默认配置与当前长跑实验一致:
- data manifest: `/ssd/workspace/yi/laoyao_2b_moe_pretraining_dataset/megatron_bridge/pretrain_8192_glm52_direct_v1/manifest.json`
- validation prefix: `dataset/val/megatron_8192_glm52/heldout_2p8k_text_document`
- train iters: `184209`
- `seq_length=8192`
- `micro_batch_size=14`, `global_batch_size=112`
- `save_interval=2500`, `eval_interval=15000`, `eval_iters=10`
- `--use-distributed-optimizer --overlap-grad-reduce --overlap-param-gather`
- `--recompute-granularity full --recompute-method uniform --recompute-num-layers 1`