后续会更新 从0学习LLaMaFactory参数解释说明 ,请期待~
文章目录
- 一、准备工作
- 1、创建python虚拟环境(annoconda)
- 2、配置pytorch傻瓜版
- 3、llamafactory配置
- 4、微调数据准备
- 5、开始微调
- 5.1 webui启动微调
- 5.2 指令启动微调
一、准备工作
1、创建python虚拟环境(annoconda)
本篇文章使用的版本信息为:python=3.8.12、pytorch=2.0.1
conda create --name llf python=3.8.12 # 创建指定python版本
2、配置pytorch傻瓜版
pytorch历史版本官网:https://pytorch.org/get-started/previous-versions/
注:傻瓜版,慢!慢!慢!慢是正常现象,可能需要两个多小时,等着人去干点别的事情就行了!!!如果需要可快速完成,可自行在其基础上配置清华源等...
进入创建的虚拟环境,选择后续红色字体的一种选择指令来安装pytorch:
activate llf
我这里使用的是pytorch=2.0.1,CUDA=11.8(我机器的CUDA为12.5,CUDA可由高版本向低版本兼容,查看cuda版本的指令下附):
第一种选择,使用condazhi指令下载:
# CUDA 11.8
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
第二种选择,使用condazhi指令下载:
# CUDA 11.8
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
打开任意cmd窗口查看cuda版本:
nvidia-smi
成功:
3、llamafactory配置
放一个仓库地址,已转存到国内gitee,大家可以直接克隆下载(更新时间:2025/01/10):
git clone https://gitee.com/yaki_chen/lla-ma-factory2.git
这里下载下来整个文件名应该是lla-ma-factory2
,我这边后面改了下名字llamafactory
可以在pycharm中打开整个文件夹为一个项目,根据README_zh.md
进行安装llamafactory,其实就一步很简单
在上面启动的虚拟环境和项目地址的路径(cd llamafactory
)下运行:
pip install -e ".[torch,metrics]"
出现success成功安装。
4、微调数据准备
数据需要做两方面的处理:
第一步,将我们准备的数据添加到llamafactory\data
路径下
第二部,在同样llamafactory/data/dataset_info.json
中声明我们添加的数据
譬如:
5、开始微调
微调我这里讲两种微调方式:
- webui启动微调
- 指令启动微调
5.1 webui启动微调
一句指令即可启动gradio驱动的微调界面:
llamafactory-cli webui
5.2 指令启动微调
下面三行命令分别对 Llama3-8B-Instruct 模型进行 LoRA 微调
、推理
和合并
:
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
如果是使用指令llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
进行微调,那我们就需要配置 examples/train_lora/llama3_lora_sft.yaml
文件,一般来说是复制一个改名字再改内容(如图):
以下几个必须要更改的项:
- model_name_or_path:模型参数地址
- dataset: 数据文件夹名(
记住不要带.json
)- template: 模型template
- output_dir: 输出地址
然后再运行我们修改好的配置文件就能开始训练了:
llamafactory-cli train examples/train_lora/chatglm3_lora_sft.yaml