如何解决 LLamafactory 微调 InternVL3 报错 “Processor was not found”

在使用 LLamafactoryInternVL3 模型进行微调时,许多同学可能会遇到以下报错:

Processor was not found

这个错误的出现主要是由于 模型与 LLamafactory 的预处理器(Processor)定义不匹配,导致在加载模型时无法正确找到对应的处理器。本文记录了我踩坑的完整过程,以及最终的解决方案,供大家参考。


1. 环境准备

首先,我们需要正确安装 LLamafactory 及其依赖:

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]" --no-build-isolation

确保 Python 版本 ≥ 3.9,并且已经安装了 Pytorch + CUDA 的 GPU 环境(不然后续训练无法运行)。


2. 问题复现

我最开始是直接使用 HuggingFace 官方给出的 InternVL3 模型链接,例如:

OpenGVLab/InternVL3-1B

在这里插入图片描述

但是在使用 LLamafactory 进行加载和微调时,会不断出现以下报错:

Processor was not found

在这里插入图片描述

我尝试过多种issues的解决方案,比如:

  • 手动安装 transformers 的不同版本
  • 替换 AutoProcessorAutoTokenizer + AutoImageProcessor
  • 查看官方 issue 中类似的报错

最后找到一个最稳定的解决方案。


3. 解决方案

不要使用官方给出的 HF 模型地址,而是要使用 适配 LLamafactory 的模型版本

也就是说,你需要找到在 HuggingFace 上提供的 带有完整 Processor 配置 的版本,而不是直接拉取官方原始模型。

官方所给链接的版本
LLamafactory所需要的版本

这样,LLamafactory 在加载模型时就能自动找到 processor_config.json,避免报错。
在这里插入图片描述


4. 示例:微调 InternVL3

当正确使用支持的 HuggingFace 模型后,微调就能顺利进行了。

下面以 InternVL3 的自我认知微调 为例:
在这里插入图片描述
在这里插入图片描述
这样模型可以正常加载 Processor 并开始训练。


5. 总结

  • 出现 Processor was not found 报错,本质原因是 模型与 LLamafactory 的依赖不兼容
  • 解决方法是 换用 HuggingFace 上与 LLamafactory 匹配的模型版本,而不是使用官方原始模型。
  • 一旦模型能正常加载 Processor,后续的 SFT(微调)、Lora 等流程就能顺利跑通。

如果你在微调 InternVL3 的过程中也遇到过类似问题,希望这篇文章能帮你节省踩坑时间 🚀。


Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐