| name | xtuner-sync-supported-models |
|---|---|
| description | Synchronize xtuner's supported model documentation (docs/en/pretrain_sft/advanced_tutorial/model.md and docs/zh_cn/pretrain_sft/advanced_tutorial/model.md) with the actual Config classes defined under xtuner/v1/model/. Use when (1) new TransformerConfig, MoEConfig, or BaseComposeConfig subclasses are added, removed, or renamed in xtuner/v1/model/, (2) existing model configs change their inheritance hierarchy, scale, or HuggingFace counterpart, or (3) a code review or user request points out that model.md is out of sync with the codebase. |
Keep the English and Chinese model.md files synchronized with the actual Config classes in xtuner/v1/model/.
Run the bundled scan script from the xtuner project root to discover all Config classes and their inheritance:
python3 .agents/skills/xtuner-sync-supported-models/scripts/scan_model_configs.pyThe script outputs JSON with two keys:
configs: list of every*Configclass underxtuner/v1/model/with its parent classes and file pathchildren: parent-to-children mapping for the hierarchy tree
Compare the script output against the two files:
docs/en/pretrain_sft/advanced_tutorial/model.mddocs/zh_cn/pretrain_sft/advanced_tutorial/model.md
Both files share the same structure and must stay in sync:
- Base Config Classes — configs that directly inherit from
TransformerConfig(orMoEConfig) and provide afrom_hfclassmethod for loading HuggingFace weights - Concrete Model Configs — fixed-scale subclasses of the base configs above
- Compose Models — multimodal configs that inherit from
BaseComposeConfig - Inheritance Hierarchy — a text tree showing the full
XTunerBaseModelConfighierarchy
Include these direct descendants of TransformerConfig/MoEConfig:
Qwen2DenseConfigQwen3DenseConfigDeepSeekV3ConfigGptOssConfigQwen3MoEConfig
Exclude from the base table:
MoEConfig— it is an intermediate base class, not a usable model familyQwen3_5_VLTextMoEConfig— it is an intermediate base with only one concrete child; its childQwen3_5_VLTextMoE35BA3BConfigbelongs under the MoE concrete table
Include every concrete subclass that has fixed parameter defaults. For each row note:
Config ClassBase Class / FamilyArchitecture Type:Dense,MoE,Dense (VL backbone),MoE (VL backbone)Scale / Notes: parameter count or total/activated size; for VL backbones note "for multimodal"
DeepSeekV3Config appears here even though it has no separate base entry (it is both base and concrete).
Include three sub-tables:
- Compose Base Config Classes —
Qwen3VLBaseConfig,InternVLBaseConfig,InternS1BaseConfigQwen3VLBaseConfig: VL model based on Qwen3 text backboneInternVLBaseConfig: VL model based on InternViT + Qwen3InternS1BaseConfig: Science multimodal model based on InternViT + Qwen3
- Concrete Compose Model Configs — every subclass of the above bases; for each row note the wrapped
Text Configand scale
Rebuild the tree from XTunerBaseModelConfig with two top-level branches:
XTunerBaseModelConfig
├── TransformerConfig
│ ├── Dense Models
│ │ ├── Qwen2DenseConfig
│ │ │ └── Qwen2Dense7BConfig
│ │ └── Qwen3DenseConfig
│ │ ├── Qwen3Dense8BConfig
│ │ ├── Qwen3Dense4BConfig
│ │ ├── Qwen3Dense0P6BConfig
│ │ ├── Qwen3VLTextDense4BConfig
│ │ └── Qwen3VLTextDense8BConfig
│ └── MoE Models (via MoEConfig)
│ ├── DeepSeekV3Config
│ ├── GptOssConfig
│ │ ├── GptOss21BA3P6Config
│ │ └── GptOss117BA5P8Config
│ ├── Qwen3MoEConfig
│ │ ├── Qwen3MoE30BA3Config
│ │ ├── Qwen3MoE235BA22Config
│ │ ├── Qwen3MoEFoPEConfig
│ │ ├── Qwen3VLTextMoE30BA3Config
│ │ └── Qwen3VLTextMoE235BA22Config
│ └── Qwen3_5_VLTextMoEConfig
│ └── Qwen3_5_VLTextMoE35BA3BConfig
└── BaseComposeConfig
├── Qwen3VLBaseConfig
│ ├── Qwen3VLMoE30BA3Config
│ ├── Qwen3VLMoE235BA22Config
│ ├── Qwen3VLDense4BConfig
│ ├── Qwen3VLDense8BConfig
│ └── Qwen3_5_BaseConfig
│ └── Qwen3_5_VLMoE35BA3Config
├── InternVLBaseConfig
│ ├── InternVL3P5Dense8BConfig
│ ├── InternVL3P5MoE30BA3Config
│ └── InternVL3P5Dense1BConfig
└── InternS1BaseConfig
├── InternS1Config
└── InternS1MiniConfig
When new configs are added, insert them into the appropriate branch following the same indentation style.
Keep the Chinese model.md (docs/zh_cn/...) structurally identical to the English one. Translate:
- Section headings
- Table header cells
- Description cells (e.g., "Image / Video + Text" → "图像/视频 + 文本")
- Scale descriptions (e.g., "~7B parameters" → "约 7B 参数", "FoPE variant" → "FoPE 变体")
Do not translate Config class names, file paths, or code identifiers.