2.4 KiB
2.4 KiB
laoyao_2b_moe
这个 repo 用来把 Jiayi/Laoyao 的 2B MoE 小模型实验重构成更可复现的预训练项目:数据配比更合理,模型定义迁移到 NeMo/Megatron 风格配置,训练入口从手写 PyTorch 逻辑迁移到 Megatron/Nemo 体系。
当前目标不是继续沿用旧的手写 trainer,而是把数据、模型、训练三个边界拆开:
dataset/: 预训练数据和验证集的构建、manifest、数据落盘位置。model/: 2B MoE 架构定义,优先用 NeMo/Megatron 配置表达。training/: 训练 recipe、评估 recipe、并行和优化超参。scripts/: 在 g0033 上同步数据、拉起训练的 shell 入口。
当前数据计划
预训练目标规模为 200B tokens,随机种子固定为 42。核心配比:
| 类别 | 目标比例 | 说明 |
|---|---|---|
| English Web | 40% | Ultra-FineWeb/FineWeb 类英文网页文本 |
| English Edu | 20% | FineWeb-Edu/高质量教育文本;science 不足时也从这里补齐 |
| Chinese Clean | 10% | Ultra-FineWeb zh / CCI3-HQ / SkyPile 类中文干净文本 |
| Science | 10% | medmcqa、proofwriter、scienceqa、sciq、qasc、openbookqa;不足则 edu 补齐 |
| Logic | 10% | 从高质量 scored/education 数据中抽取逻辑类文本 |
| Math | 5% | 使用 Jiayi 已清洗/评分的数学来源 |
| Code | 5% | 使用 Jiayi 已去重的多语言代码数据 |
验证集为 2,800 条,七个能力维度各 400 条:science_reasoning、logic、code、chinese_exam、math、chinese_dialogue、english_dialogue。它会用于预训练过程中的 accuracy、perplexity 和 nll 评估。
Tokenizer 设计
为了兼容 GLM-5.2 生态,本模型的 tokenizer/vocab 直接采用 GLM-5.2 同款词表,而不是旧 Laoyao 65K BPE。当前 g0033 上的引用路径是:
/mnt/tmp/yi/data/tokenizer/tokenizer.json
该 tokenizer 当前解析出的 vocab size 为 151,643。后续训练数据应按这个 tokenizer 重新统计/切分 token budget。
g0033 路径约定
repo 路径:
/mnt/beegfs/yi/laoyao_2b_moe
200B 数据当前构建源路径:
/mnt/beegfs/yi/laoyao_2b_moe_pretraining_dataset/train/pretrain_rebalanced_web40_edu20_chinese10_science10_logic10_math5_code5_200b_v1_20260701
构建完成后同步到 repo 内:
bash scripts/sync_pretrain_data_into_repo.sh
同步后的数据目录 dataset/pretrain/data/ 被 .gitignore 忽略,不提交到 GitHub。