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.
Update XTuner Supported Model Docs
Keep the English and Chinese model.md files synchronized with the actual Config classes in xtuner/v1/model/.
Scan the Codebase
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.py
The 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
What to Update
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
Rules for the Base Config table
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
Rules for the Concrete Model 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).
Rules for the Compose Models section
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
Rules for the Inheritance Hierarchy tree
Rebuild the tree from XTunerBaseModelConfig with two top-level branches:
XTunerBaseModelConfig
├── TransformerConfig
│ ├── Dense Models
│ │ ├── Qwen2DenseConfig
│ │ │ └── Qwen2Dense7BConfig
│ │ └── Qwen3DenseConfig
│ │ ├── Qwen3Dense8BConfig
│ │ │ └── Qwen3VLTextDense8BConfig
│ │ ├── Qwen3Dense4BConfig
│ │ │ └── Qwen3VLTextDense4BConfig
│ │ └── Qwen3Dense0P6BConfig
│ └── MoE Models (via MoEConfig)
│ ├── DeepSeekV3Config
│ ├── GptOssConfig
│ │ ├── GptOss21BA3P6Config
│ │ └── GptOss117BA5P8Config
│ ├── Qwen3MoEConfig
│ │ ├── Qwen3MoE30BA3Config
│ │ │ └── Qwen3VLTextMoE30BA3Config
│ │ ├── Qwen3MoE235BA22Config
│ │ │ └── Qwen3VLTextMoE235BA22Config
│ │ └── Qwen3MoEFoPEConfig
│ └── 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.
Translation Notes
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.