一、登录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进行高效的模型微调工作。