如何使用 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
 ```
相关推荐
风筝超冷1 天前
LLaMA-Factory - 批量推理(inference)的脚本
llama
bluebonnet273 天前
【agent开发】部署LLM(一)
python·llama
阿牛大牛中3 天前
LLaDa——基于 Diffusion 的大语言模型 打平 LLama 3
人工智能·语言模型·llama
Lilith的AI学习日记4 天前
【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析
人工智能·深度学习·机器学习·chatgpt·aigc·llama
LChuck6 天前
【大模型微调】魔搭社区GPU进行LLaMA-Factory微调大模型自我认知
人工智能·语言模型·自然语言处理·nlp·llama·魔搭社区·modelscope
燕双嘤6 天前
Fine-tuning:微调技术,训练方式,LLaMA-Factory,ms-swift
llama
装不满的克莱因瓶9 天前
【小白AI教程】大模型知识扫盲通识
人工智能·数学建模·ai·大模型·llm·llama·rag
TGITCIC11 天前
英伟达破局1000 Token/秒!Llama 4以光速重塑AI推理边界
人工智能·大模型·llama·英伟达·大模型速度·ai赛道·大模型基座
天天爱吃肉821812 天前
【 大模型技术驱动智能网联汽车革命:关键技术解析与未来趋势】
语言模型·汽车·llama
Lilith的AI学习日记15 天前
【AI面试秘籍】| 第17期:MoE并行策略面试全攻略:从理论到调参的降维打击指南
人工智能·python·面试·职场和发展·llama