# 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:@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`