models/__init__.py文件是models模块的入口文件,它定义了register_model函数,该函数负责将所有NPU优化的模型注册到vLLM的ModelRegistry中。每个注册调用包含两个参数:模型名称和类路径(格式为"模块路径:类名")。
vllm_ascend/models/__init__.py - 完整源码
from vllm import ModelRegistry
def register_model():
# ==================== Kimi K3 系列 ====================
# 主模型:用于文本生成
ModelRegistry.register_model(
"KimiLinearForCausalLM",
"vllm_ascend.models.kimi_k3:AscendKimiLinearForCausalLM",
)
# 兼容性别名:用于旧版本checkpoint
ModelRegistry.register_model(
"KimiK3ForCausalLM",
"vllm_ascend.models.kimi_k3:AscendKimiLinearForCausalLM",
)
# 条件生成模型:用于多模态任务
ModelRegistry.register_model(
"KimiK3ForConditionalGeneration",
"vllm_ascend.models.kimi_k3:AscendKimiK3ForConditionalGeneration",
)
# MTP模型:用于投机解码
ModelRegistry.register_model(
"KimiK3MTPModel",
"vllm_ascend.models.kimi_k3_mtp:AscendKimiK3MTP",
)
# DSpark草稿模型:用于分布式投机解码
ModelRegistry.register_model(
"K3DSparkModel",
"vllm_ascend.models.kimi_k3_dspark:AscendK3DSparkForCausalLM",
)
# ==================== DeepSeek V4 系列 ====================
# 主模型:支持MLA多头潜在注意力
ModelRegistry.register_model(
"DeepseekV4ForCausalLM",
"vllm_ascend.models.deepseek_v4.model:AscendDeepseekV4ForCausalLM",
)
# MTP模型:用于投机解码
ModelRegistry.register_model(
"DeepSeekV4MTPModel",
"vllm_ascend.models.deepseek_v4.mtp:DeepSeekV4MTP",
)
# DSpark草稿模型:用于分布式投机解码
ModelRegistry.register_model(
"DSparkDraftModel",
"vllm_ascend.models.deepseek_v4.dspark:DSparkDeepseekV4ForCausalLM",
)
# ==================== MiniMax M3 系列 ====================
# 稀疏模型:使用MoE混合专家架构
ModelRegistry.register_model(
"MiniMaxM3SparseForCausalLM",
"vllm_ascend.models.minimax_m3:MiniMaxM3SparseForCausalLM",
)
# 条件生成模型:用于多模态任务
ModelRegistry.register_model(
"MiniMaxM3SparseForConditionalGeneration",
"vllm_ascend.models.minimax_m3:MiniMaxM3SparseForConditionalGeneration",
)
# ==================== 投机解码模型 ====================
# DeepSeek MTP:用于Eagle3投机解码
ModelRegistry.register_model(
"DeepSeekMTPModel",
"vllm_ascend.models.deepseek_mtp:AscendDeepSeekMTP",
)
ModelRegistry.register_model(
"DeepseekV32MTPModel",
"vllm_ascend.models.deepseek_mtp:AscendDeepSeekMTP",
)
ModelRegistry.register_model(
"GlmMoeDsaForCausalLM",
"vllm_ascend.models.deepseek_mtp:AscendGlmMoeDsaForCausalLM",
)
# LLaMA Eagle3:用于LLaMA的投机解码
ModelRegistry.register_model(
"LlamaForCausalLMVwnEagle3",
"vllm_ascend.models.llama_eagle3_vwn:Eagle3VwnLlamaForCausalLM",
)
ModelRegistry.register_model(
"Eagle3LlamaForCausalLM",
"vllm_ascend.models.llama_eagle3:AscendEagle3LlamaForCausalLM",
)
# Qwen3 DSpark:用于Qwen3的分布式投机解码
ModelRegistry.register_model(
"Qwen3DSparkModel",
"vllm_ascend.models.qwen3_dspark:AscendQwen3DSparkForCausalLM",
)
# Qwen3 DFlash2:用于Qwen3的Flash投机解码
ModelRegistry.register_model(
"DFlash2DraftModel",
"vllm_ascend.models.qwen3_dflash2:DFlash2Qwen3ForCausalLM",
)