当前位置:AIGC资讯 > AIGC > 正文

使用Llama-factory微调Llama3教程

一、登录OpenBayes进行注册登录

通过以下链接,新用户注册登录 OpenBayes , 即可获得 四个小时 RTX 4090免费使用时长 !!

注册链接:https://openbayes.com/console/signup?r=zzl99_WBHM

二、创建容器

模型训练=》创建容器=》填写容器名称=》下一步

选择一台4090,2.1-gpu,python-3.10,cudu-12.1,然后执行

三、配置环境

首先需要下载llama-factory源码,执行如下命令

 #下载 
!git clone https://github.com/hiyouga/LLaMA-Factory.git
 

安装所需的模块,可以按需下载

cd LLaMA-Factory
#可选的额外依赖项:metrics、deepspeed、bitsandbytes、vllm、galore、badam、gptq、awq、aqlm、qwen、modelscope、quality
pip install -e .[torch,metrics]

​注意:这里不要加代理

#安装web模块
pip install gradio==4.10
#安装Modelscope
pip install modelscope==1.15.0

四、微调

进入下载好的llama-factory目录,执行以下命令启动web-ui页面

CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=0 GRADIO_SERVER_PORT=8080 llamafactory-cli webui

启动成功以后可以看到如下的页面

然后访问旁边的API地址,就可以看到llama-factory web-ui的页面了。

第一次进入可能是英文的,可以通过左上角的下拉框切换一下。

然后再模型名称那里选择llama3的模型,例如我这里选的是llama3-8b-chinese-chat的模型,

然后模型路径那里会出来模型在Huging上面对应的id。

拉倒下面点执行就会自动下载模型。

有的时候OpenBayes 会访问huging face超时,所以需要手动下载模型。

没有梯子的话可以去魔搭上面去下载,执行下面的命令

import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os
#https://huggingface.co/meta-llama
#https://modelscope.cn/search?page=2&search=LLM-Research&type=model
#model_dir = snapshot_download('LLM-Research/Meta-Llama-3-8B-Instruct', cache_dir='/openbayes/home/model', revision='master')
#model_dir = snapshot_download('LLM-Research/Llama3-8B-Chinese-Chat', cache_dir='/openbayes/home/model')
model_dir = snapshot_download('LLM-Research/Meta-Llama-3-8B', cache_dir='/openbayes/home/model')

上面列了多个模型,可以自行选择。后面是模型的存储路径,这个填到上面页面的模型路径那里就可以了。

然后选择一个你要训练的数据集

下面的参数可以自己调整,最后拉到最下面,可以点击预览来查看微调的具体命令。

大体格式如下

llamafactory-cli train \
    --stage sft \
    --do_train True \
    --model_name_or_path /openbayes/home/model/Llama3-8B-Chinese-Chat \
    --preprocessing_num_workers 16 \
    --finetuning_type lora \
    --template llama3 \
    --flash_attn auto \
    --dataset_dir data \
    --dataset huanhuan \
    --cutoff_len 1024 \
    --learning_rate 5e-05 \
    --num_train_epochs 3.0 \
    --max_samples 100000 \
    --per_device_train_batch_size 2 \
    --gradient_accumulation_steps 8 \
    --lr_scheduler_type cosine \
    --max_grad_norm 1.0 \
    --logging_steps 5 \
    --save_steps 100 \
    --warmup_steps 0 \
    --optim adamw_torch \
    --packing False \
    --report_to none \
    --output_dir saves/LLaMA3-8B-Chinese-Chat/lora/train_2024-06-21-09-35-29 \
    --fp16 True \
    --plot_loss True \
    --ddp_timeout 180000000 \
    --include_num_input_tokens_seen True \
    --lora_rank 8 \
    --lora_alpha 16 \
    --lora_dropout 0 \
    --lora_target all

看下没有问题的话,点击开始就能开始训练了

开始训练以后,可以实时在左侧查看训练的进度以及loss的情况

总结

在环境配好的情况下,使用llama-factory还是很容易的。而OpenBayes提供了一个基础的配置环境,开箱即用,就目前使用来看,个人体验很友好。

总结

### 文章总结
本文详细介绍了如何在OpenBayes平台上使用llama-factory进行模型微调的全过程。主要步骤包括:
1. **注册登录OpenBayes**:
- 通过指定链接注册并登录OpenBayes,新用户可获得四个小时RTX 4090免费使用时长。
2. **创建容器**:
- 在OpenBayes上创建容器,选择RTX 4090 GPU、Python 3.10及CUDA 12.1环境。
3. **配置环境**:
- 下载llama-factory源码并安装必要的依赖项,包括torch、metrics、gradio等。
- 注意不要使用代理,并安装Modelscope库以便下载模型。
4. **模型微调**:
- 启动llama-factory的web-ui页面,选择llama3模型(如llama3-8b-chinese-chat),并下载模型。
- 若OpenBayes访问Hugging Face超时,可通过Modelscope手动下载模型。
- 选择训练数据集,调整训练参数,并预览微调命令。
- 点击开始训练,实时查看训练进度和loss情况。
5. **总结**:
- 在OpenBayes提供的配置环境下,使用llama-factory进行模型微调过程简便且体验友好。
通过本文,用户可以快速上手在OpenBayes平台上利用llama-factory进行高效的模型微调工作。

更新时间 2024-08-13