1、创建虚拟环境

python安装包
先装好python3.10 ( add to path 添加到环境变量) python --version
github上下载好 llamafactory 0.8.3 的安装包
llamafactory安装包
python的所有需要的依赖(官方文档只给了一部分,离线环境要求比较高,精确到== 而不是> )详情见最后的requirements.txt 中的内容

随便建一个文件夹用于创建虚拟环境

mkidr pythonenv
cd pythonenv
python -m venv  ai_env
#进入虚拟环境
ai_env\Scripts\activate.bat

就可以进入虚拟环境啦!

2、从外网下载好whl文件

pip  download -d D:\offline    -r  requirements.txt

3、内网倒进来

没有requirements.txt 的时候
pip install transformers4.41.2 datasets2.19.2 accelerate0.30.1 peft0.11.1 trl==0.9.4 --no-index --find-links=./offline2 --force-reinstall --no-deps
有requirement.txt 的时候
pip install --no-index --find-links=offline -r requirements.txt
在这里插入图片描述

4、执行命令

在项目根目录下执行(因为我们是离线环境)

pip install -e ".[torch,metrics]" --no-deps --no-build-isolation

5、然后进行训练

权限问题,用管理员权限运行以后再进行操作。ctrl+shift+esc 勾选上系统管理员运行(或者你确保你是管理员身份直接cmd就可以)

激活虚拟环境(cmd执行):

D:\pythonenv\ai_env\Scripts\activate

进入虚拟环境以后 切换到根目录 执行命令:

cd /d    D:\AI\212and118\212and118\LLaMA-Factory-v0.8.3\LLaMA-Factory-v0.8.3(这里是项目根目录)

进行调试:

llamafactory-cli train D:\AI\212and118\212and118\config\llama3_lora_sft.yaml  

然后 在外网准备好数据集,如json格式的数据,写好data_info.json 导进来,进行训练,放到根目录/data 这几个文件里边的参数命名需要注意。

dataset_info.json 文件

{
  "medical_o1_sft_Chinese": {  
    "file_name": "medical_o1_sft_Chinese.json",  
    "formatting": "alpaca",  
    "columns": {
      "prompt": "Question",
      "query": "Complex_CoT",
      "response": "Response"
    }
  }
}

llama3_lora_sft文件

model_name_or_path: "D:/AI/212and118/212and118/model/qwen2B"


### method
stage: sft
do_train: true
finetuning_type: lora
lora_target: all
#use_lora: true
lora_rank: 8
lora_alpha: 32
lora_dropout: 0.05

### dataset
dataset: medical_o1_sft_Chinese
template: qwen
cutoff_len: 1024
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 1

### output
output_dir: "D:/AI/212and118/212and118/output"
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true

### train
per_device_train_batch_size: 1
gradient_accumulation_steps: 8
learning_rate: 1.0e-4
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
fp16: true
bf16: false
ddp_timeout: 180000000
#geaduebt_checkpointing: true
seed: 42

### eval
val_size: 0.1
per_device_eval_batch_size: 1
eval_strategy: steps
eval_steps: 500

6、用训练完的模型进行对话(生成的模型文件夹里边没有配置文件的话 从源文件里边拷贝过去)

Llamafactory-cli chat --model_name_or_path D:/AI/212and118/212and118/output --template qwen  

调整思路提高回答准确率

在这里插入图片描述

更多推荐