当前位置:   article > 正文

baichuan-7B-chat微调报错及解决记录 使用的仓库:LLaMA-Factory 2023年11月27日_automodel got an unexpected keyword argument 'enab

automodel got an unexpected keyword argument 'enable

我所使用的代码仓库是LLaMA-Factoryhiyouga/LLaMA-Factory: Easy-to-use LLM fine-tuning framework (LLaMA, BLOOM, Mistral, Baichuan, Qwen, ChatGLM) (github.com)icon-default.png?t=N7T8https://github.com/hiyouga/LLaMA-Factory/tree/main

A.解决问题推荐两个查询网址,在issue中查询:Issues · hiyouga/LLaMA-Factory (github.com)Issues · hiyouga/LLaMA-Factory (github.com)

Issues · baichuan-inc/Baichuan2 (github.com)

B.baichuan-7B-chat模型下载到本地可以使用国内镜像,代码如下,cache_dir字段设置本地路径:
  1. import os
  2. import torch
  3. import torch as torch
  4. from modelscope import snapshot_download, AutoModelForCausalLM, AutoTokenizer, GenerationConfig
  5. model_dir = snapshot_download("baichuan-inc/Baichuan2-7B-Chat", revision='v1.0.4', cache_dir='Base_LLMs')
  6. tokenizer = AutoTokenizer.from_pretrained(model_dir, device_map="auto",
  7. trust_remote_code=True, torch_dtype=torch.float16)
  8. model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto",
  9. trust_remote_code=True, torch_dtype=torch.float16)

参考:百川2-7B-对话模型 · 模型库 (modelscope.cn)

1.报错:
    raise NotImplementedError(f"Loading a dataset cached in a {type(self._fs).__name__} is not supported.")
NotImplementedError: Loading a dataset cached in a LocalFileSystem is not supported.

解决办法:

pip install fsspec==2023.9.2

2.报错:
ValueError: Target modules ['q_proj', 'v_proj'] not found in the base model. Please check the target modules and try again.

我的配置是:

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Base_LLMs/baichuan-inc/Baichuan2-7B-Chat \
    --do_train \
    --dataset jjxq \
    --template baichuan2 \
    --finetuning_type lora \
    --lora_target q_proj,v_proj \
    --output_dir ./new_baichuan_test \
    --overwrite_cache \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 8 \
    --quantization_bit 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 3.0 \
    --plot_loss \
    --fp16

解决办法:将 --lora_target q_proj,v_proj \改为

--lora_target q_proj,v_proj,W_pack \

还可参考下面链接中说明的各种模型参数:

LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory (github.com)icon-default.png?t=N7T8https://github.com/hiyouga/LLaMA-Factory/blob/main/README_zh.md#%E6%A8%A1%E5%9E%8B

3.报错:TypeError: sdp_kernel() got an unexpected keyword argument 'enable_mem_efficient'

解决办法:好像是torch版本的问题,2.0以上就没有问题了,pip install torch==2.0.1

或者pip install xformers -i https://pypi.tuna.tsinghua.edu.cn/simple,不加镜像我安装时这个包下载的很慢,也挺大的,注意加镜像。

可参考:Baichuan2-7B-Chat执行推理报错TypeError: sdp_kernel() got an unexpected keyword argument 'enable_mem_efficient' · Issue #111 · baichuan-inc/Baichuan2 (github.com)icon-default.png?t=N7T8https://github.com/baichuan-inc/Baichuan2/issues/111

4.报错:在pip install xformers时遇到OSError: [Errno 28] No space left on device,经过一番研究,似乎由于多种原因而发生此错误。 有时是磁盘空间问题,有时是因为文件数量问题。 在这种情况下,似乎是因为容量。
$ df -h

df -h显示/盘空间用尽

解决办法:将其放在一个空间尚充足的目录(我设为了home下的一个自建目录),就可以顺利安装了,如下:

  1. $ mkdir $HOME/tmp
  2. $ export TMPDIR=$HOME/tmp

export TMPDIR=$HOME/tmp 该命令指定 tmp 目录。 此规范是临时的,在会话关闭时将被丢弃。

也可以扩容ubuntu–vg-ubuntu–lv,参考下面链接:Linux /dev/mapper/ubuntu–vg-ubuntu–lv磁盘满了 - 知乎 (zhihu.com)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/760210
推荐阅读
相关标签
  

闽ICP备14008679号