大模型微调lama-factory

简介

LLaMA-Factory是一个强大的工具,用于微调大型语言模型。本文将介绍如何使用LLaMA-Factory进行模型微调的简单操作流程,并提供代码记录。

操作流程
  1. 环境搭建

    • 首先,需要克隆LLaMA-Factory仓库并安装必要的库:

      复制代码

      bash

      复制代码
      !git clone https://github.com/hiyouga/LLaMA-Factory.git
      %cd LLaMA-Factory
      %ls
    • 安装unsloth,xformers和bitsandbytes库:

      复制代码

      bash

      复制代码
      !pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
      !pip install --no-deps xformers==0.0.25
      !pip install .[bitsandbytes]
      !pip install 'urllib3<2'
  2. 数据集准备

    • 将自定义数据集复制到data目录下,并修改data/dataset_info.json以注册数据集:

      复制代码

      json

      复制代码
      {
        "adgen_local": {
          "file_name": "your_dataset.json"
        }
      }
  3. 模型微调

    • 使用LLaMA-Factory的命令行工具进行微调,以下是一个基于LoRA的微调示例命令:

      复制代码

      bash

      复制代码
      CUDA_VISIBLE_DEVICES=0 llamafactory-cli train \
        --stage sft \
        --do_train \
        --model_name_or_path /path/to/your/model \
        --dataset adgen_local \
        --dataset_dir ./data \
        --template llama3 \
        --finetuning_type lora \
        --lora_target q_proj,v_proj \
        --output_dir ./saves/LLaMA3-8B/lora/sft \
        --overwrite_cache \
        --overwrite_output_dir \
        --cutoff_len 1024 \
        --preprocessing_num_workers 16 \
        --per_device_train_batch_size 2 \
        --gradient_accumulation_steps 8 \
        --lr_scheduler_type cosine \
        --logging_steps 50 \
        --warmup_steps 20 \
        --save_steps 100 \
        --eval_steps 50 \
        --evaluation_strategy steps \
        --load_best_model_at_end \
        --learning_rate 5e-5 \
        --num_train_epochs 5.0 \
        --max_samples 1000 \
        --val_size 0.1 \
        --plot_loss \
        --fp16

      参数解释和更多命令可以通过llamafactory-cli train -h获取。

  4. 模型导出

    • 微调完成后,使用以下命令合并LoRA权重到原始模型,并导出新模型:

      复制代码

      bash

      复制代码
      modelPath=/path/to/your/model
      adapterModelPath=./saves/lora/sft/
      llamafactory-cli export \
        --model_name_or_path $modelPath \
        --adapter_name_or_path $adapterModelPath \
        --template qwen \
        --finetuning_type lora \
        --export_dir ./saves/lora/export/ \
        --export_size 2 \
        --export_device cpu \
        --export_legacy_format False
  5. 预测评估

    • 使用微调后的模型进行预测,并评估模型性能:

      复制代码

      bash

      复制代码
      modelPath=/path/to/your/model
      llamafactory-cli train \
        --stage sft \
        --do_predict \
        --finetuning_type lora \
        --model_name_or_path $modelPath \
        --adapter_name_or_path ./saves/lora/sft \
        --template qwen \
        --dataset identity \
        --cutoff_len 4096 \
        --max_samples 20 \
        --overwrite_cache \
        --overwrite_output_dir \
        --per_device_eval_batch_size 1 \
        --preprocessing_num_workers 16 \
        --predict_with_generate
相关推荐
沪漂阿龙5 小时前
从“对话机器人”到“全能数字员工”:一文彻底搞懂 AI Agent(附大量代码实战)
人工智能·chatgpt
承渊政道10 小时前
Prompt工程:连接大语言模型能力与真实应用的关键桥梁
人工智能·深度学习·语言模型·自然语言处理·chatgpt·prompt·transformer
小兵张健19 小时前
Codex 切换 Provider 后恢复历史对话
chatgpt·openai·全栈
Lei活在当下1 天前
借助Vibe Coding,我用周末两天开发了一套简历维护系统
chatgpt·openai·ai编程
Agent产品评测局1 天前
企业流程异常处理自动化落地,预警处置全流程实现方案:2026企业“数字免疫系统”构建指南
运维·人工智能·ai·chatgpt·自动化
这儿有一堆花1 天前
Pixel 与 iPhone 安全性对比:硬件芯片、系统更新和实际防护谁更可靠
人工智能·chatgpt
Maiko Star2 天前
Claude Code安装教程
java·chatgpt·claude code
Agent产品评测局2 天前
律所行业自动化平台选型,合同审核与案件管理优化 | 2026年法律科技Agent化演进与企业级智能体实测横评
运维·人工智能·科技·ai·chatgpt·自动化
王莎莎-MinerU2 天前
MinerU 生态全景:Skills、RAG、MCP、Cursor Rules
人工智能·深度学习·计算机视觉·chatgpt·pdf·软件工程
Agent产品评测局2 天前
酒店行业自动化工具选型,门店运营与客户服务优化:2026精细化运营的技术路径与实测横评
运维·人工智能·ai·chatgpt·自动化