执行摘要
- 一句话:移除废弃模型 XverseForCausalLM
- 推荐动作:PR 本身简单直接,但可作为清理废弃模型注册表条目的参照模板。值得关注的是
_PREVIOUSLY_SUPPORTED_MODELS 机制的设计,它提供了优雅的弃用路径。
功能与动机
XverseForCausalLM 自 PR #10814(2024 年 12 月)删除独立实现后,已成为 LlamaForCausalLM 的注册别名。根据 vllm-release 遥测,近 6 个月内该架构仅被加载 38 次,总计 0.028 GPU 小时,实际已无人使用。本变更旨在清理无效的注册条目,并避免用户混淆。
实现拆解
- 从注册表中删除条目 在
vllm/model_executor/models/registry.py 中,从 _TEXT_GENERATION_MODELS 字典中移除 XverseForCausalLM 行(原指向 ("llama", "LlamaForCausalLM"))。
- 加入已废弃模型列表 在同一文件的
_PREVIOUSLY_SUPPORTED_MODELS 字典中添加 "XverseForCausalLM": "0.23.0",当用户尝试加载时,vLLM 会给出清晰错误,提示该架构已在 v0.23.0 版本后被移除。
- 移除测试条目 从
tests/models/registry.py 中删除 XverseForCausalLM 的测试示例配置(包含 xverse/XVERSE-7B-Chat 检查点及相关 tokenizer 说明)。
- 清理注释代码 删除
tests/distributed/test_pipeline_parallel.py 中被注释掉的 "xverse/XVERSE-7B-Chat": PPTestSettings.fast() 行。
- 更新文档 从
docs/models/supported_models.md 的模型中删除 XverseForCausalLM 表格行。
关键文件:
vllm/model_executor/models/registry.py(模块 模型注册表;类别 source;类型 data-contract): 核心变更文件:从 _TEXT_GENERATION_MODELS 中删除条目,并加入 _PREVIOUSLY_SUPPORTED_MODELS。
tests/models/registry.py(模块 测试;类别 test;类型 test-coverage): 从测试注册表中删除对应的检查点配置,保持测试与源码一致。
tests/distributed/test_pipeline_parallel.py(模块 测试;类别 test;类型 test-coverage): 清理被注释掉的 XVERSE 测试行,保持代码整洁。
docs/models/supported_models.md(模块 文档;类别 docs;类型 documentation): 从支持模型表格中移除 XVERSE 行,同步文档。
关键符号:未识别
关键源码片段
vllm/model_executor/models/registry.py
核心变更文件:从 _TEXT_GENERATION_MODELS 中删除条目,并加入 _PREVIOUSLY_SUPPORTED_MODELS。
# 从 _TEXT_GENERATION_MODELS 字典(行 217 附近)中删除该行:
# "XverseForCausalLM": ("llama", "LlamaForCausalLM"),
# 在 _PREVIOUSLY_SUPPORTED_MODELS 字典(行 725 附近)中添加:
_PREVIOUSLY_SUPPORTED_MODELS = {
# ... 其他废弃模型 ...
"XverseForCausalLM": "0.23.0", # 用户尝试加载时会收到清晰错误,并被告知可映射到 LlamaForCausalLM
}
评论区精华
该 PR 无 review 评论。review 者 ywang96 直接批准(APPROVED)。
风险与影响
-
风险:兼容性风险:若仍有用户主动指定 --hf-overrides architectures='["XverseForCausalLM"]' 加载 XVERSE 检查点,将因架构不在 _TEXT_GENERATION_MODELS 中而报错。但 PR 提供了清晰的替代方案(映射到 LlamaForCausalLM),且遥测数据表明此类用户极少。
功能风险:变更仅涉及注册表和测试配置,不触及模型执行或推理逻辑,回归风险极低。
-
影响:用户影响:极少数使用 XverseForCausalLM 的用户将收到友好错误提示并被引导至 LlamaForCausalLM。绝大多数用户不受影响。
系统影响:无运行时影响。
团队影响:降低模型注册表维护负担,与近期清理废弃模型的趋势一致(如 PR #47058 移除冗余 load_weights)。
-
风险标记:低兼容性风险, 无功能回归风险
关联脉络
- PR #10814 [Model] Delete standalone xverse.py implementation: 本 PR 是对 #10814 的后续清理,后者删除了独立的 xverse.py 文件,使 XverseForCausalLM 成为 LlamaForCausalLM 的别名。
- PR #47058 Remove more unnecessary
load_weights methods: 同属模型清理主题,移除冗余的模型代码以降低维护负担。
参与讨论