将 ant-pretrain 相对上游 MaxText 的修改(约 241 个提交,~1.5 万行新增代码)重构为 7 个独立 PR,按功能模块拆分,剥离所有私有依赖后推回 AI-Hypercomputer/maxtext 上游。
PR1: 配置扩展 (types.py + base.yml + common_types.py)
├── PR2: MoE 对齐与修复 (moe.py, GA, train.py, metric_logger.py)
├── PR3: Megatron MMap 数据管道 (新文件 + grain 集成)
├── PR4: GLA 线性注意力 (attention_gla.py, gla_pallas.py)
│ └── PR6: AL Model / Ling2 / Decoder 集成 (依赖 PR4)
│ ├── PR7: MTP 改进 (修改上游已有文件)
│ └── PR8: 检查点转换扩展
目标
将 ant-pretrain 相对上游 MaxText 的修改(约 241 个提交,~1.5 万行新增代码)重构为 7 个独立 PR,按功能模块拆分,剥离所有私有依赖后推回 AI-Hypercomputer/maxtext 上游。
背景
d4ed2261(upstream AI-Hypercomputer/maxtext,2026-01-16)src/MaxText/→src/maxtext/(小写),models 迁移到models/子目录PR 依赖图
各 PR 概要
PR1: 配置扩展(基础 PR)
AL_MODEL/LING2DecoderBlockType 枚举PR2: MoE 对齐与修复
PR3: Megatron MMap 数据管道
MMapIndexedDataset— Megatron .bin+.idx 格式读取器MegatronNpyDataSource— 预构建 .npy 索引随机访问MegatronBlendedDataSource— blend-then-shard 数据集混合GenerateDocSegmentIds/MegatronSplitInputsTargets— segmentation 解耦PR4: GLA 线性注意力
BailingMoeV2LinearAttention— Gated Linear Attention (Lightning Attention-2)gla_pallas.py— Pallas TPU 内核封装(pallas-kernel 作为可选依赖)GroupRMSNorm— 分组 RMS 归一化PR6: AL Model / Ling2 / Decoder 集成
ALModel— 混合 GLA/MLA 注意力 + MoELing2— Ling2 decoder 架构PR7: MTP 改进
roll_and_mask_by_segment— 文档边界感知 MTP 滚动final_layernorm和self.sow()改进PR8: 检查点转换扩展
全局剥离清单
详细文档
docs/plans/2026-03-23-upstream-refactoring-design.mddocs/plans/2026-03-23-upstream-refactoring-impl.md