LLaMA-Factory:一键微调大模型

545 阅读4分钟

有手就会:LLaMA-Factory一键调教一个自己的大模型

简介

LLaMA-Factory 是一个开源的轻量级大语言模型(LLM)微调工具包,由南京大学人工智能创新研究院开发。它旨在简化大模型(如 LLaMA、BLOOM、GPT-2 等)的微调流程,仅需单张消费级显卡即可完成训练,大幅降低了开发者使用大模型的门槛。

核心特点

一站式微调解决方案

  • • 支持多种微调方法:
    • • 全参数微调(Full Fine-tuning)
    • • LoRA / QLoRA(低资源高效微调)
    • • P-Tuning(提示词优化)
    • • 模型权重复用(Delta Weights)
  • • 支持 100+ 开源大模型(LLaMA、Mistral、Baichuan、Qwen、ChatGLM 等)

快速开始

新手可以申请云算力测试,加快速度,比如算多多、优云智算、算家云、九章算力、Autodl等,这里以算多多为例介绍流程。

一、注册

用以下链接注册可以免费使用4070(36小时,😊)
注册链接:www.gpuduoduo.com/console/log…

二、选择"LLaMA-Factory(Qwen1.5B)"镜像创建实例

三、运行 LLaMA-Factory 服务

登录到云实例
  1. 1. 等待实例状态变成"在线+无任务"(1-3分钟),点击快捷应用里的"JupyterLab",在新窗口打开 Web 服务

  1. 2. 新建一个 jupyter 终端窗口

进入项目文件夹
cd /opt/LLaMA-Factory
激活 conda 环境
conda activate llamafactory
运行 web 微调页面
llamafactory-cli webui

看到下述输出,代表web 服务启动成功,可以使用 web 微调了:

Visit http://ip:port for Web UI, e.g., http://127.0.0.1:7860
* Running on local URL:  http://0.0.0.0:7860
* To create a public link, set `share=True` in `launch()`.

四、微调初体验

1、点击快捷应用中的“LLaMA-Factory”打开服务

2、选择微调的基准模型

镜像已下载了Qwen2-1.5B-Instruct 模型,建议第一次体验的同学保持默认参数不动

3、选择微调数据集

选一个数据集(你可以先点击旁边的"Preview dataset"按钮预览数据)

如果需要添加自定义数据集,请在 /LLaMA-Factory/data/dataset_info.json 文件里添加对应的数据集

4、开始微调

拉到下面,点击"Start"开始微调

你可以在 web 界面和终端上看到对应的进度

等待 5-10 分钟,微调完成后,你可以在界面上看到 loss 曲线。
微调好的模型保存在 /opt/LLaMA-Factory/saves/

5、使用预测数据集评估微调后的模型
  1. 1. 选择评估用的模型(选择刚刚微调后的模型)

  2. 2. 切换到预测选项卡

  3. 3. 选择评估用的数据集

  4. 4. 点击"Start"进行评估

  5. 5. 页面上看到下图代表评估完成

实例终端也可以看到评估结果:

评估指标结果
  • • BLEU-4: 7.0721 (衡量机器翻译质量的指标,值越高越好)
  • • ROUGE-1: 35.5077 (评估摘要质量的指标,衡量unigram匹配)
  • • ROUGE-2: 10.1685 (评估bigram匹配质量)
  • • ROUGE-L: 27.0266 (基于最长公共子序列的评估)
***** Running Prediction *****
[INFO|trainer.py:4291] 2025-06-26 09:42:36,284 >>   Num examples = 91
[INFO|trainer.py:4294] 2025-06-26 09:42:36,284 >>   Batch size = 2
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 46/46 [00:45<00:00,  2.10s/it]Building prefix dict from the default dictionary ...
Loading model from cache /tmp/jieba.cache
Loading model cost 0.499 seconds.
Prefix dict has been built successfully.
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 46/46 [00:46<00:00,  1.00s/it]
***** predict metrics *****
  predict_bleu-4                 =     7.0721
  predict_model_preparation_time =     0.0028
  predict_rouge-1                =    35.5077
  predict_rouge-2                =    10.1685
  predict_rouge-l                =    27.0266
  predict_runtime                = 0:00:47.06
  predict_samples_per_second     =      1.933
  predict_steps_per_second       =      0.977

五、使用微调好的模型进行推理测试(聊天)

  1. 1. 选择推理用的模型(选择刚刚微调后的模型)
  2. 2. 切换到 Chat 选项卡

  1. 3. 点击 "Load Model" 加载模型

看到下面的界面代表加载成功

  1. 4. 开始跟你的微调流行聊天吧

六、导出微调好的模型

  1. 1. 切换到 Export 选项卡

  2. 2. 点击 "Export" 按钮,导出后的模型就保存在 ./saves/

  3. 3. 验证模型是否导出成功

导出成功后,会生成 Modelfile config.json generation_config.json model.safetensors special_tokens_map.json tokenizer.json tokenizer_config.json 这些文件。

导出后的模型就可以使用 ollama 进行实际的推理了,具体的使用教程后面有需要再进行详细介绍。

七、结语

至此,我们完成了使用 LLaMA-Factory 进行微调推理的核心流程,更多功能可以参考官网或者知乎的教程: