当前位置: 首页 > news >正文

【LLM】LLaMA-Factory 训练模型入门指南

1. 前言

这篇文章主要带你了解如何使用 LLaMA-Factory 来微调大模型,包括如何安装、如何使用其web可视化界面训练、在线测试、导出模型等。
你可以先阅读我的这篇文章,了解 QLoRA 微调流程 一篇文章带你入门QLoRA微调。

2. 安装

2.1 从源码安装

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

建议使用虚拟环境管理 python 依赖,我这里使用 uv (也可以使用 conda)。

# 安装 uv
pip install uv# 进入项目目录
cd LLaMA-Factory# 创建基于 python 3.11 的虚拟环境
uv venv --python=3.11# 激活虚拟环境
.\.venv\Scripts\activate# 安装依赖
pip install -e ".[torch,metrics]" --no-build-isolation

2.2 验证

验证 torch 是否正确安装

# 验证 GPU 版torch是否安装,返回true说明安装正确
python -c "import torch; print(torch.cuda.is_available())" 

如果返回 false,请参考我之前的文章,安装对应版本的 cuda

【踩坑笔记】50系显卡适配的 PyTorch 安装_cuda13.0对应pytorch-CSDN博客

我的显卡型号为:NVIDIA GeForce RTX 5070 Ti Laptop,50系显卡可参考以下命令安装:

# 先卸载(可选)
pip uninstall torch torchvision
# 安装
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu129

安装完成后,继续执行上述验证代码查看是否正确安装。

验证 llamafactory 是否正确安装

# 出现下图说明成功
llamafactory-cli version

2.3 LLaMA Board 可视化微调

llamafactory-cli webui

启动成功

浏览器访问:http://127.0.0.1:7860 进入 LLaMA Factory web 面板。

在这里插入图片描述

3. 数据集准备

在训练之前我们需要先准备数据集,LLaMA-Factory 支持HuggingFace / ModelScope / Modelers 上的数据集或加载本地数据集。如何配置参考:

LLaMA-Factory/data/README_zh.md at main · hiyouga/LLaMA-Factory

以配置本地数据集为例,首先将数据集放到 /data 路径下,然后打开 dataset_info.json 文件,增加如下配置:

"code_alpaca": {"file_name": "code_alpaca.json"
},

4. 模型训练(Train)

4.1 基础配置

配置你要训练的模型以及是否启用量化等信息。

4.2 训练配置

可配置一些训练相关的参数,learning_rate(初始学习率)、num_train_epochs(训练轮数)、per_device_train_batch_size(每个 GPU 处理的样本数量)等等

4.3 其他参数配置

参数配置可参考:参数介绍

4.4 开始训练

点击 开始 按钮即可开始训练,你可以在这边预览 llamafactory-cli 训练命令。

llamafactory-cli 命令

llamafactory-cli train `--stage sft `--do_train True `--model_name_or_path Qwen/Qwen2.5-Coder-7B-Instruct `--preprocessing_num_workers 16 `--finetuning_type lora `--template qwen `--flash_attn auto `--dataset_dir data `--dataset code_alpaca `--cutoff_len 2048 `--learning_rate 0.0001 `--num_train_epochs 5.0 `--max_samples 100000 `--per_device_train_batch_size 2 `--gradient_accumulation_steps 8 `--lr_scheduler_type cosine `--max_grad_norm 1.0 `--logging_steps 5 `--save_steps 100 `--warmup_steps 0 `--packing False `--enable_thinking True `--report_to none `--output_dir saves\Qwen2.5-Coder-7B-Instruct\lora\train_code4 `--bf16 True `--plot_loss True `--trust_remote_code True `--ddp_timeout 180000000 `--include_num_input_tokens_seen True `--optim adamw_torch `--quantization_bit 4 `--quantization_method bnb `--double_quantization True `--lora_rank 8 `--lora_alpha 16 `--lora_dropout 0 `--lora_target all 

训练日志截图:可以看到训练总步数等信息。

4.5 loss曲线

4.5.1 什么是 loss 曲线

Loss 曲线(损失函数曲线) 展示模型在训练过程中的误差随迭代次数(或 epoch)变化的趋势。

理想情况是:持续下降,趋于稳定

4.5.2 original 和 smoothed 曲线

名称含义特点常见用途
Original curve(原始曲线)数据未经平滑处理,直接绘制的曲线保留所有波动、噪声明显用于展示真实观测值或模型输出的原貌
Smoothed curve(平滑曲线)通过数学方法去除短期波动,使趋势更清晰噪声减少,更易观察整体趋势用于趋势分析、可视化优化、报告展示

示例

针对我的数据集,下面是不同 学习率 + **训练轮数 **的loss曲线。

  1. 5e-5 + 3轮

  1. 2e-5 + 3轮

  1. 1e-4 + 3轮

  1. 1e-4 +** 5轮**

5. 模型对话(Chat)

检查点路径选择上面训练阶段结果导出的路径,然后点击加载模型,即可在web端与模型对话。

6. 导出

检查点路径选择上面训练阶段结果导出的路径,然后点击 开始导出,即可导出模型。

7. 参考文档

LLaMA-Factory github

LLaMA Factory-参数介绍

http://www.dtcms.com/a/588809.html

相关文章:

  • DTrac Rotor
  • 06 Activiti 与 Spring Boot 整合
  • 分布式专题——49 SpringBoot整合ElasticSearch8.x实战
  • 18_FastMCP 2.x 中文文档之FastMCP服务端高级功能:后端存储详解
  • 基于Spring Boot的社团服务系统的设计与实现
  • Spring Boot配置文件加载顺序详解(含Nacos配置中心机制)
  • 基于React+Flask前后端分离的文件搜索系统
  • K8s 集群部署中间件 - yaml 版本(二)
  • zmaiFy音频转录介绍
  • 学校资源网站建设目标关于做电商网站导流项目
  • 【论文阅读与项目复现】Hypothesis Generation with Large Language Models
  • win7下asp.net网站发布软件开发文档编写
  • socket编程——使用UDP实现的一个回显功能
  • 侠客行・iOS 26 Liquid Glass TabBar 破阵记
  • G882磁力仪方向调整
  • 站长友情链接网上卖货的平台有哪些
  • 弱函数:嵌入式回调的最佳实践
  • 如何在实验室服务器上搭建python虚拟环境?安装conda并配置虚拟环境
  • 【开发者导航】轻量可微调且开源的大语言模型家族:LLaMA
  • 北京网站建立公司创意包装设计网站
  • INSERT INTO … SELECT … 常见问答(含样例)
  • 做图素材的网站有哪些昆明做网站公司有哪些
  • 移动端网站定制搞笑网站模板
  • 网站后台的数据库怎么做工业产品设计要学什么
  • 你去湖北省住房城乡建设厅网站查软件开发好学吗
  • 北京手机网站设计公司益阳建设公司网站
  • 网站建设ip微信小程序 做网站
  • 单位网站建设的必要性网站如何被收录
  • 狗贩子怎么做网站卖狗成都网站建设餐饮
  • 如何开发网站自己做站长哪个网站可以做编程题