Prhub

#45128 [Model] Remove InternLMForCausalLM registry alias

原始 PR 作者 xianbaoqian 合并时间 2026-06-12 04:02 文件变更 14 提交数 4 评论 10 代码增减 +1 / -17

执行摘要

移除 InternLMForCausalLM 注册别名

InternLMForCausalLM 是 InternLM-v1 的遗留别名,已被 InternLM2/3 完全取代,过去 6 个月仅 44 个实例使用(0.007%),维护成本远大于收益。用户可通过重新标记架构或 --hf-overrides 改用 LlamaForCausalLM。

值得一读以了解 vLLM 模型别名弃用流程。展示了如何平衡向后兼容与清理遗留代码,包括使用 _PREVIOUSLY_SUPPORTED_MODELS 进行优雅降级。

讨论亮点

Isotr0py 指出应同时将 InternLMForCausalLM 加入 _PREVIOUSLY_SUPPORTED_MODELS 以保证向后兼容,已采纳。noooop 建议全面清理所有提及 InternLM 的注释,PR 作者做了清理但保留了 bias 字段检查(其他模型如 telechat 仍使用),noooop 同意仅清理注释。

实现拆解

  1. vllm/model_executor/models/registry.py_TEXT_GENERATION_MODELS 字典中删除 "InternLMForCausalLM": ("llama", "LlamaForCausalLM") 一行。
  2. 在同一文件的 _PREVIOUSLY_SUPPORTED_MODELS 字典中新增 "InternLMForCausalLM": "0.23.0",表示从该版本起不再直接支持。
  3. 从 9 个共享的 LlamaDecoderLayer 类文件(apertus.py, exaone.py, exaone4.py, exaone_moe.py, granite.py, jais2.py, llama.py, nemotron.py, nemotron_nas.py, solar.py)中删除 # Support internlm/internlm-7b with bias 注释行,消除误导。
  4. 同步更新测试文件 tests/models/registry.py,移除对 InternLMForCausalLM 的引用测试用例;更新文档 docs/models/supported_models.md,从表中移除该模型行。
文件 模块 状态 重要度
vllm/model_executor/models/registry.py 模型注册 modified 5.17
vllm/model_executor/models/apertus.py 模型实现 modified 4.65
tests/models/registry.py 注册测试 modified 4.21
docs/models/supported_models.md 文档 modified 3.0

关键源码片段

vllm/model_executor/models/registry.py data-contract

核心变更:移除 InternLMForCausalLM 注册别名,并添加至 _PREVIOUSLY_SUPPORTED_MODELS

# vllm/model_executor/models/registry.py# _TEXT_GENERATION_MODELS 字典(部分)
# 移除了以下键(原来映射到 LlamaForCausalLM):
# "InternLMForCausalLM": ("llama", "LlamaForCausalLM"),
# 保留 InternLM2/3 等后续模型:
"InternLM2ForCausalLM": ("internlm2", "InternLM2ForCausalLM"),
"InternLM2VEForCausalLM": ("internlm2_ve", "InternLM2VEForCausalLM"),
"InternLM3ForCausalLM": ("llama", "LlamaForCausalLM"),# _PREVIOUSLY_SUPPORTED_MODELS 字典(部分)
# 添加 InternLMForCausalLM 并从 v0.23.0 起不再直接支持:
_PREVIOUSLY_SUPPORTED_MODELS = {
    "InternLMForCausalLM": "0.23.0",
    # ... 其他已移除模型 ...
}

评论区精华

添加 InternLMForCausalLM 到 _PREVIOUSLY_SUPPORTED_MODELS 正确性

Isotr0py 在审核时指出应同时将 InternLMForCausalLM 加入 `_PREVIOUSLY_SUPPORTED_MODELS`,以确保用户使用旧配置时能收到明确错误信息。

结论:作者采纳建议,在 `_PREVIOUSLY_SUPPORTED_MODELS` 中添加了 `"InternLMForCausalLM": "0.23.0"`。 · 已解决

清理所有 InternLM 相关注释 style

noooop 建议删除所有提及 InternLM 的注释(如 `# Support internlm/internlm-7b with bias`),并引用 PR #34203。作者执行了删除,但保留了 bias 字段检查,因为其他模型如 telechat 仍在使用。noooop 同意仅清理注释即可。

结论:仅在 9 个模型文件中删除了注释行,未改变代码逻辑。 · 已解决

风险与影响

低风险。别名使用极少,且已通过 _PREVIOUSLY_SUPPORTED_MODELS 提供错误提示。唯一风险是极少数用户仍依赖 InternLMForCausalLM 而不知如何切换,但文档和错误信息已提供指引。注释清理不改变任何行为。

对绝对多数用户无影响。InternLMForCausalLM 使用量仅为 InternLM2ForCausalLM 的 0.007%。受影响用户可通过简单配置迁移。团队维护成本降低:移除了一个一行别名和散布的过时注释。

低使用率别名 向后兼容性 文档更新

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论