transformers>=5.6,<6 下 GLM5 导入不兼容,导致 AngelSlim 全部 CLI 无法启动
环境
- AngelSlim: 当前
main 源码安装
- Python: 3.12.0
- PyTorch: 2.14.0
- Transformers: 5.17.0
- 安装约束:
transformers>=5.6.0,<6.0
问题描述
运行任意 AngelSlim CLI 命令时,即使目标模型不是 GLM5(例如 Qwen3 GPTQ),程序也会在全量导入模型注册表时失败:
python tools/run.py --help
报错:
ImportError: cannot import name 'GlmMoeDsaNaiveMoe'
from 'transformers.models.glm_moe_dsa.modeling_glm_moe_dsa'
问题位置:
# angelslim/models/llm/glm5_1.py
from transformers.models.glm_moe_dsa.modeling_glm_moe_dsa import GlmMoeDsaNaiveMoe
在当前 Transformers 5.17.0 中,不存在 GlmMoeDsaNaiveMoe,对应的融合专家模块为 GlmMoeDsaExperts。
由于 angelslim/models/llm/__init__.py 会无条件导入 GLM5_1,该问题会阻断 Engine、tools/run.py,以及所有非 GLM5 的量化流
程。
## 复现步骤
git clone https://github.com/Tencent/AngelSlim.git
cd AngelSlim
# 按项目方式安装依赖与源码
python tools/run.py --help
## 期望行为
- transformers 版本在项目声明范围内时,CLI 应可启动。
- GLM5 的可选适配不应阻断 Qwen、Hunyuan 等其他模型的流程。
## 临时修复
try:
from transformers.models.glm_moe_dsa.modeling_glm_moe_dsa import (
GlmMoeDsaNaiveMoe,
)
except ImportError:
from transformers.models.glm_moe_dsa.modeling_glm_moe_dsa import (
GlmMoeDsaExperts,
)
GlmMoeDsaNaiveMoe = GlmMoeDsaExperts
该兼容修改后,以下命令均可成功:
python -c "from angelslim import Engine; print('OK')"
python tools/run.py --help
## 建议
建议增加 Transformers API 兼容导入,或者将 GLM5_1 延迟导入,避免可选模型适配阻断整个工具包启动。
`ResourceTracker` 的退出告警是 `multiprocess`/Python 3.12 的独立问题,不建议和这个 Issue 混在一起。
transformers>=5.6,<6下 GLM5 导入不兼容,导致 AngelSlim 全部 CLI 无法启动环境
main源码安装transformers>=5.6.0,<6.0问题描述
运行任意 AngelSlim CLI 命令时,即使目标模型不是 GLM5(例如 Qwen3 GPTQ),程序也会在全量导入模型注册表时失败: