如何使用 LLaMA-Factory 微调 LLaMA3

【LLaMa3微调】使用 LLaMA-Factory 微调LLaMA3

  1. 实验环境
    1.1 机器
    • 操作系统:Windows 10 或 Ubuntu
    • PyTorch 版本:2.1.0
    • Python 版本:3.10(针对Ubuntu 22.04)
    • Cuda 版本:12.1
    • GPU 配置:p100 (16GB) * 2
    • CPU 配置:12 vCPU Intel® Xeon® Platinum 8352V CPU @ 2.10GHz

1.2 基座模型

  • 基于中文数据训练过的 LLaMA3 8B 模型:shenzhi-wang/Llama3-8B-Chinese-Chat

  • 可选配置:hf 国内镜像站,使用以下命令安装和配置:

    bash 复制代码
    pip install -U huggingface_hub
    export HF_ENDPOINT=https://hf-mirror.com
    huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat --local-dir /root/autodl-tmp/models/Llama3-8B-Chinese-Chat1
  1. LLaMA-Factory 框架

2.1 安装

  • 使用以下命令克隆并安装LLaMA-Factory:

    bash 复制代码
    git clone https://github.com/hiyouga/LLaMA-Factory.git
    cd LLaMA-Factory
    pip install -e .

2.2 准备训练数据

  • 训练数据示例:fruozhiba_qaswift_train.json,可以去魔搭社区下载

  • 将训练数据放置在 LLaMA-Factory/data/ 目录下,例如:LLaMA-Factory/data/ruozhiba_qaswift_train.json

  • 修改数据注册文件:LLaMA-Factory/data/dataset_info.json,添加数据集的配置信息,例如:

    json 复制代码
    "fintech": {
      "file_name": "ruozhiba_qaswift_train.json",
      "columns": {
        "prompt": "instruction",
        "query": "input",
        "response": "output",
        "history": "history"
      }
    }

2.3 启动 Web UI

在 LLaMA-Factory 目录下执行以下命令启动 Web UI:
bash cd LLaMA-Factory llamafactory-cli webui

2.4 微调模型

使用 Web UI 或命令行进行微调。

命令行微调示例:构建配置文件 cust/train_llama3_lora_sft.yaml,内容示例如下:

复制代码
 cutoff_len: 1024
 dataset: ruozhiba_qaswift_train
 dataset_dir: data
 do_train: true
 finetuning_type: lora
 flash_attn: auto
 fp16: true
 gradient_accumulation_steps: 8
 learning_rate: 0.0002
 logging_steps: 5
 lora_alpha: 16
 lora_dropout: 0
 lora_rank: 8
 lora_target: q_proj,v_proj
 lr_scheduler_type: cosine
 max_grad_norm: 1.0
 max_samples: 1000
 model_name_or_path: /root/autodl-tmp/models/Llama3-8B-Chinese-Chat
 num_train_epochs: 10.0
 optim: adamw_torch
 output_dir: saves/LLaMA3-8B-Chinese-Chat/lora/train_XXXX-XX-XX-XX-XX-XX
 packing: false
 per_device_train_batch_size: 2
 plot_loss: true
 preprocessing_num_workers: 16
 report_to: none
 save_steps: 100
 stage: sft
 template: llama3
 use_unsloth: true
 warmup_steps: 0

使用以下命令执行微调

复制代码
 ```bash
 llamafactory-cli train cust/train_llama3_lora_sft.yaml
 ```
相关推荐
程序员与背包客_CoderZ2 天前
C/C++版LLM推理框架Llama.cpp——入门与编码实战
c语言·开发语言·网络·c++·人工智能·语言模型·llama
java_logo4 天前
LOBE-CHAT Docker 容器化部署指南
运维·docker·语言模型·容器·llama
AI大模型4 天前
手把手教你用LlamaIndex搭建RAG系统,让LLM告别“幻觉”,提升回答质量!
llm·agent·llama
开发者导航13 天前
【开发者导航】轻量可微调且开源的大语言模型家族:LLaMA
语言模型·开源·llama
缘友一世13 天前
借助LLama_Factory工具对大模型进行lora微调
llama
illuspas14 天前
MI50运算卡使用llama.cpp的ROCm后端运行Qwen3-Coder-30B-A3B的速度测试
人工智能·llama
herogus丶14 天前
【LLM】LLaMA-Factory 训练模型入门指南
python·ai编程·llama
illuspas14 天前
MI50运算卡使用llama.cpp的ROCm后端运行gpt-oss-20b的速度测试
人工智能·gpt·llama
谏书稀14 天前
LLaMA Factory微调大模型
python·transformer·llama
菠菠萝宝15 天前
【AI应用探索】-7- LLaMA-Factory微调模型
人工智能·深度学习·大模型·llm·nlp·attention·llama