You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AutoTrain微调Llama模型推送到HF仓库后缺失config.json报错求助

问题解决:加载AutoTrain推送的PEFT Llama模型报错找不到config.json

问题原因

  1. 训练时使用了--use_peft参数,AutoTrain推送到Hub的只是PEFT适配器权重,不是完整的Llama模型,因此仓库中没有base模型的config.json文件。
  2. 错误使用了AutoModelForSeq2SeqLM加载模型——Llama是因果语言模型(Causal LM),应该用AutoModelForCausalLM。

正确加载步骤

1. 安装PEFT库(如果未安装)

pip install peft

2. 正确加载代码

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel, PeftConfig

# 加载PEFT适配器的配置,获取base模型信息
peft_config = PeftConfig.from_pretrained("myrepo/test", use_auth_token=True)

# 加载base模型(和训练时的meta-llama/Llama-2-7b-hf一致)
base_model = AutoModelForCausalLM.from_pretrained(
    peft_config.base_model_name_or_path,
    use_auth_token=True,
    load_in_4bit=True  # 对应训练时的--use_int4参数
)

# 加载tokenizer
tokenizer = AutoTokenizer.from_pretrained(peft_config.base_model_name_or_path, use_auth_token=True)
tokenizer.pad_token = tokenizer.eos_token  # Llama默认无pad token,需手动设置

# 将PEFT适配器加载到base模型上
model = PeftModel.from_pretrained(base_model, "myrepo/test", use_auth_token=True)

# (可选)如果需要合并适配器和base模型,保存为完整模型
# model = model.merge_and_unload()
# model.save_pretrained("merged-model")
# tokenizer.save_pretrained("merged-model")

额外说明

  • 检查你的Hugging Face仓库,应该包含adapter_config.json和adapter_model.bin,这是PEFT适配器的核心文件,而非完整模型的文件。
  • 只有当你不使用PEFT训练时,AutoTrain才会推送完整模型文件到Hub。

内容的提问来源于stack exchange,提问作者Youshikyou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 09:27:16