Files
laoyao_2b_moe/README.md
T

54 lines
2.5 KiB
Markdown
Raw 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.
# 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 上的引用路径是:
```bash
/mnt/beegfs/yi/laoyao_2b_moe/tokenizer/glm5.2/tokenizer.json
```
该 tokenizer 从 ModelScope zai-org/GLM-5.2 下载,当前解析出的 vocab size 为 154,820tokenizer.json sha256 为 19e773648cb4e65de8660ea6365e10acca112d42a854923df93db4a6f333a82d。后续训练数据应按这个 tokenizer 重新统计/切分 token budget。
## g0033 路径约定
repo 路径:
```bash
/mnt/beegfs/yi/laoyao_2b_moe
```
预训练数据实际读取路径:
```bash
/mnt/beegfs/yi/laoyao_2b_moe_pretraining_dataset/train/pretrain_rebalanced_web40_edu20_chinese10_science10_logic10_math5_code5_200b_v1_20260701
```
数据不再复制到 repo 内;训练直接读取上面的源输出目录。`dataset/pretrain/data/` 仍被 `.gitignore` 忽略,仅用于小规模临时样本。