保姆式教你使用LLaMA-Factory微调大模型

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

快速开始

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

1. 从 Gitee 克隆仓库:

考虑有同学访问 github 网络不稳定,找了一个别人上传到 gitee 的版本,大家也可以自己去搜索其他的

git clone https://gitee.com/yunjie445/LLaMA-Factory.git

三、运行 LLaMA-Factory 服务

进入项目文件夹
cd LLaMA-Factory
安装环境

将 pip 切换为国内的清华源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
cd LLaMA-Factory
pip install -e ".[torch,metrics]" --no-build-isolation
运行 web 微调页面

把环境变量改为 hf-mirror,直接使用国内镜像

echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc

运行服务

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、本地浏览器打开微调页面
http://127.0.0.1:7860
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. 选择评估用的模型(选择刚刚微调后的模型)
  2. 切换到预测选项卡
  3. 选择评估用的数据集
  4. 点击"Start"进行评估
  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. 选择推理用的模型(选择刚刚微调后的模型)
  2. 切换到 Chat 选项卡

  1. 点击 “Load Model” 加载模型

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

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

六、导出微调好的模型

  1. 切换到 Export 选项卡
  2. 点击 “Export” 按钮,导出后的模型就保存在 ./saves/
  3. 验证模型是否导出成功

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

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

七、结语

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

我不想折腾环境!

不想折腾环境的同学,可以使用我制作的镜像:llama-factory

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐