当前位置:   article > 正文

使用Llama-factory微调Llama3教程

使用Llama-factory微调Llama3教程

一、登录OpenBayes进行注册登录

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

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

二、创建容器

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

 

format,png

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

三、配置环境

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

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

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

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

​注意:这里不要加代理

  1. #安装web模块
  2. pip install gradio==4.10
  3. #安装Modelscope
  4. pip install modelscope==1.15.0

四、微调

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

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

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

 

format,png

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

 

format,png

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

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

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

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

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

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

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

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

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

 

format,png

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

 

format,png

大体格式如下

  1. llamafactory-cli train \
  2. --stage sft \
  3. --do_train True \
  4. --model_name_or_path /openbayes/home/model/Llama3-8B-Chinese-Chat \
  5. --preprocessing_num_workers 16 \
  6. --finetuning_type lora \
  7. --template llama3 \
  8. --flash_attn auto \
  9. --dataset_dir data \
  10. --dataset huanhuan \
  11. --cutoff_len 1024 \
  12. --learning_rate 5e-05 \
  13. --num_train_epochs 3.0 \
  14. --max_samples 100000 \
  15. --per_device_train_batch_size 2 \
  16. --gradient_accumulation_steps 8 \
  17. --lr_scheduler_type cosine \
  18. --max_grad_norm 1.0 \
  19. --logging_steps 5 \
  20. --save_steps 100 \
  21. --warmup_steps 0 \
  22. --optim adamw_torch \
  23. --packing False \
  24. --report_to none \
  25. --output_dir saves/LLaMA3-8B-Chinese-Chat/lora/train_2024-06-21-09-35-29 \
  26. --fp16 True \
  27. --plot_loss True \
  28. --ddp_timeout 180000000 \
  29. --include_num_input_tokens_seen True \
  30. --lora_rank 8 \
  31. --lora_alpha 16 \
  32. --lora_dropout 0 \
  33. --lora_target all

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

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

 

format,png

总结

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

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/760646
推荐阅读
相关标签
  

闽ICP备14008679号