# 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 下载与部署

在 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
```
