windows系统离线微调通用模型为领域大模型步骤
这里写目录标题
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
调整思路提高回答准确率

更多推荐
所有评论(0)