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

LLaMA-Factory 微调训练

LLaMA-Factory 微调训练

该框架功能,标注-微调-导出-合并-部署,一整条流程都有,而且训练时消耗的gpu算力也会小一些

一,安装(推荐在linux中训练,win可以用wsl+docker)

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory

# 根据cuda版本选择安装pytoch版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 提前把gpu版本的torch安装好
pip install -e .[torch,metrics]

# 遇到包冲突时,使用 pip install --no-deps -e . 解决
# 测试torch是否可用gpu
命令行输入python

import torch
print(torch.cuda.is_available())  #返回True则说明torch可用gpu

二,训练
1,数据集的准备和配置
参考:https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md

# 我自己使用的是 角色对话 的数据集格式

[
  {
    "conversations": [
      {
        "from": "human",
        "value": "人类指令"
      },
      {
        "from": "gpt",
        "value": "模型回答"
      }
    ],
    "system": "系统提示词(选填)",
  }
]

需要同步修改 dataset_info.json 中的配置(开始训练时会根据这个文件去找定义好的存放数据的json文件)

 "yi_6b_chat": {
    "file_name": "yi_6b_chat_520_24000.json",
    "formatting": "sharegpt", # 表示数据使用的格式
    "tags": { # 和数据集中的格式一一对应 
      "role_tag": "from",
      "content_tag": "value",
      "user_tag": "human",
      "assistant_tag": "gpt"
    }
  },

2,训练,启动web ui界面(ui 界面训练只支持单卡,多卡只能通过命令行训练)

训练命令:

CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli webui

三,vllm部署(不一定是llama3的模型,自己根据 llama3_vllm.yaml 配置修改就行,配置文件中也可用修改用huggingface部署)
1,vllm安装很多坑,pytorch版本和cuda版本必须保持一致兼容,使用pytoch的docker镜像可用省事很多,先看pytorch的版本,pytorch版本11.8,12.1,最好是cuda11.8版本的cuda和torch
2,vllm启动会预先分配一定的显存,也可用自行修改,如还有其他应用要启动,可用调低一些

启动命令:

CUDA_VISIBLE_DEVICES=0,1 API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml

更新时间 2024-06-01