ModuleNotFoundError: No module named ‘transformers_modules.moonshotai.Kimi-K2’

该报错通常出现在使用 Transformers 5.x 加载依赖远程代码(remote_code)的模型(如 moonshotai/Kimi-K2.5)时,原因是 v5 移除了内部函数 is_torch_fx_available ,而模型仓库中的远程代码仍在调用它。优先排查当前 Transforme

快速结论:该报错通常出现在使用 Transformers 5.x 加载依赖远程代码(remote_code)的模型(如 moonshotai/Kimi-K2.5)时,原因是 v5 移除了内部函数 is_torch_fx_available,而模型仓库中的远程代码仍在调用它。优先排查当前 Transformers 版本,并尝试降级到 v4.57 加载。

适用环境:Issue 中已确认的环境为:Transformers 5.3.0、Python 3.12.12、PyTorch 2.9.1(CUDA),操作系统为 Linux。

最快修复方案:暂无确认的一步修复方案。Issue 中验证可用的方法是使用 transformers==4.57 加载该模型,同时配合调整模型仓库中的量化配置(如将 group_size 从 32 改为 16,并参考 moonshotai/Kimi-K2.5 讨论区 105 的解法)。

注意事项:Transformers v5 是主版本升级,存在破坏性变更。官方表示会考虑重新添加该函数,但模型提供方(如 Moonshot AI)需要同步维护远程代码。降级版本可能影响其他功能,且加载 K2.5 可能还会遇到 use_deterministic_attn 和压缩权重初始化等其他兼容性问题。

问题场景

用户在尝试加载 moonshotai/Kimi-K2.5 模型时触发。通过 AutoTokenizerAutoModelForCausalLM 调用 from_pretrained 并设置 trust_remote_code=True,在 Transformers 5.3.0 下无法完成加载。

报错原文

ImportError: cannot import name 'is_torch_fx_available' from 'transformers.utils.import_utils' (/usr/local/lib/python3.12/dist-packages/transformers/utils/import_utils.py). Did you mean: 'is_torch_available'?

# 核心报错(模块未找到):
ModuleNotFoundError: No module named 'transformers_modules.moonshotai.Kimi-K2'

原因分析

可能原因:Transformers v5 移除了内部函数 is_torch_fx_available(原定义于 transformers/utils/import_utils.py 第 748 行)。使用 remote_code 的模型(如 Kimi-K2.5)仓库中自带的 modeling_deepseek.py 仍在导入该函数,导致 import 失败。这是 v5 主版本升级带来的破坏性变更,影响所有依赖该内部导入的远程代码模型。

环境排查

  • Confirm Transformers 版本是否为 5.x(例如 5.3.0),可尝试降级到 4.57。
  • 确认 Python 版本(示例为 3.12.12)、PyTorch 版本(示例为 2.9.1+git,CUDA)。
  • 检查目标模型仓库(如 moonshotai/Kimi-K2.5)的远程代码是否仍调用 is_torch_fx_available
  • 确认模型压缩相关依赖(如 compressed-tensors)是否已升级到最新版本。

解决步骤

  1. 首选尝试降级 Transformers 到 v4.57,然后在设置 trust_remote_code=True 的情况下重新加载模型。
  2. 若仍报错,参照 moonshotai/Kimi-K2.5 讨论区 105 的说明:使用最新 compressed-tensors,并考虑直接调用 ModelCompressor.from_pretrained 而不是 PretrainedModel.from_pretrained
  3. 检查量化配置:若出现维度不整除错误,将 group_size 从 32 改为 16(注意 4304 应能被 16 整除)。
  4. 遇到 use_deterministic_attn 相关报错时,可通过补丁或自定义加载逻辑绕过该属性。
  5. 关注 Transformers 官方后续版本是否重新加入 is_torch_fx_available;在此之前,优先锁定 v4.57。

验证方法

成功执行 AutoTokenizer.from_pretrainedAutoModelForCausalLM.from_pretrained,且不出现 ImportError 或模块缺失错误,模型可正常进入 eval() 模式,即视为问题解决。

参考来源

huggingface/transformers #45020

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18287

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注