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

使用AutoTrain微调Llama 2时出现PEFT版本兼容错误

问题:PEFT版本0.5.0.dev0仍触发兼容错误?

背景与操作步骤

我在Google Colab上使用AutoTrain完成了Llama 2的微调,使用的训练命令如下:

!autotrain llm --train --project_name "llm-vhsfinetune-200s" \
--model abhishek/llama-2-7b-hf-small-shards \
--data_path . \
--text_column text \
--use_peft \
--use_int4 \
--learning_rate 2e-4 \
--train_batch_size 2 \
--num_train_epochs 1 \
--model_max_length 1024 \
--trainer sft \
--push_to_hub \
--repo_id "soajan/llm2-vhsfinetune-200s" \
--block_size 1024 > training.log

训练完成后,尝试从Hugging Face加载并测试模型,代码如下:

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig

model_id = "soajan/llm2-vhsfinetune-200s"
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config, device_map={"":0})

运行后出现如下错误:

ValueError: The version of PEFT you are using is not compatible, 
please use a version that is greater than 0.4.0

我检查到当前PEFT版本为0.5.0.dev0,请问为何仍会出现该兼容错误?

原因分析与解决办法

1. 版本号格式触发的判断逻辑问题

PEFT的版本检查逻辑只识别正式发布版的版本号格式,0.5.0.dev0属于开发预览版,版本号中的dev0后缀会让检查逻辑误判为版本低于要求的0.4.0。

2. 具体解决步骤

  • 卸载当前开发版PEFT:
    pip uninstall peft -y
    
  • 安装正式发布的稳定版PEFT(建议选最新版):
    pip install peft>=0.4.0 --upgrade
    
  • 验证安装后的版本:
    import peft
    print(peft.__version__)
    
    确认输出为类似0.6.2这类不带dev后缀的正式版本号即可。

3. 额外注意点

  • 若AutoTrain依赖特定PEFT版本,重新安装后重启Colab运行时,再执行加载模型的代码就能正常运行。
  • Colab环境偶尔会存在依赖缓存冲突,重启运行时能有效解决这类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:15:14