LLaMA-Factory安装
github
下载 LLaMA-Factory
项目
创建虚拟环境
conda create -n llama_factory python==3.10
激活
activate llama_factory
torch 安装
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
依赖安装
pip install requirements.txt
解决方案:
pip install -r F:\conda_work\LLaMA-Factory-main\requirements.txt
pip install -e .[metrics]
检测 llamafactory
命令有哪些
llamafactory-cli train -h
启动
llamafactory-cli webui
如果要开启 gradio的share功能,或者修改端口号
// 改端口 改IP 端口默认是7860 GRADIO_SHARE是允许远程访问 USE_MODELSCOPE_HUB设为1,表示模型来源是ModelScope
USE_MODELSCOPE_HUB=1 CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 GRADIO_SERVER_PORT=7860
设置中文语言
下载模型
下载开源模型
微调数据集
偏好数据
sft
微调一般用alpaca
格式,dpo
优化的偏好数据一般用sharegpt
格式
DPO优化偏好数据集
下面是DPO优化偏好数据集示例:
https://huggingface.co/datasets/hiyouga/DPO-En-Zh-20k/viewer/zh?row=5
HelpSteer2
英伟达开源的HelpSteer2
https://huggingface.co/datasets/nvidia/HelpSteer2
论文:https://arxiv.org/pdf/2406.08673
数据集注册
数据集格式
自定义数据集
创建 dataset_info.json
文件,这个文件需要放到 LLaMA-Factory-main\data
目录下
我们用longgeai的甄嬛数据集进行测试
我们先下载alpaca
格式的 huanhuan.json
数据集
可以在这儿下载数据集进行测试:https://www.modelscope.cn/datasets/longgeai3x3/huanhuan-chat/files
将下载的 huanhuan.json
文件放到data目录
然后打开 dataset_info.json
文件,将 huanhuan.json
注册进去
"huanhuan_chat": {"file_name": "huanhuan.json"},
保存之后在界面上就可以找到
点击预览数据集可以查看数据集的格式
微调
对话模版 选择 qwen
是因为我这里的底座模型选择的是qwen
系列的
微调方法:一般选择lora
,显卡的要求较低
量化等级:如果 Qlora
这里就要选择量化等级
训练阶段:做私有知识库就选sft
数据集:可以选择自定义的,后文会介绍如何自定义
批处理大小:是根据显卡发小以及数据集的大小进行调整的
计算类型:老显卡不支持bf16
中断继续训练
中断之后继续训练,可以使用下面命令,训练步数也会从保存的checkpoint处开始,比如checkpoint保
存点是400步,但是在450步中断,会从400步开始继续
/workspace/checkpoint/codellama34b_5k_10epoch/checkpoint-4000
--output_dir new_dir
#--resume_lora_training #这个可以不设置
#如果不需要换output_dir,另外两条命令都不加,脚本会自动寻找最新的 checkpoint
--output_dir /workspace/checkpoint/codellama34b_5k_10epoch
当然使用命令训练,没有用webui看loss那么直观,需要加一个命令
--plot_loss # 添加此参数以生成loss图
如果可以通过添加命令,从检查点开始继续训练,但训练集会从头开始训练,适合用新数据集继续训练
#lora的保存路径在llama-factory根目录下,如saves\Qwen2-7B-int4-Chat\lora\train_2024-
07-17-15-56-58\checkpoint-500
--adapter_name_or_path lora_save_patch