Lazy loaded image
记录-LLaMA-Factory基础
字数 1642阅读时长 5 分钟
2025-8-28
2025-9-6
AI智能摘要
GPT
这里是萌新 AI,这篇文章介绍了如何使用 LLaMA-Factory 框架进行模型微调、参数合并与量化。建议通过 Git 克隆 v0.9.3 分支并本地安装,避免使用 main 分支。文章还介绍了 WebUI 界面的四大模块,以及数据准备时需符合框架要求的格式,并以单轮对话为例进行说明。
URL
type
Post
status
Published
date
Aug 28, 2025
slug
LLaMaFactory1
summary
LLaMaFactory
tags
大模型
深度学习
Pytorch
Python
实用教程
category
大模型
icon
password
😀
该篇博客主要记录如何使用LLaMA-Factory框架微调模型、Merge参数和量化模型。请注意:不要使用GitHub的main分支直接安装,详细安装过程请往下看!

📝 准备工作

安装

博主通过本地源码安装。
首先,通过git命令将GitHub上的代码克隆到本地。请注意:这里克隆到本地的分支是main分支上的源码。
接着,切换分支。
最后,进行安装。
正常情况下,伙伴们按照这个流程可以成功安装。但有时也会遇到不正常的情况:包依赖冲突或者网络等一些问题。面对包依赖:我们需要核查某些包是否版本太高或者版本太低。同时,我们需要注意Python版本。Python版本不要太新,除非某些框架要求,一般都设置在3.11.0或者3.12.0。面对网络问题:我们需要从Github下载压缩包。“”“不要直接在main分支下载,点击tag标签,里边会有很多版本,选择0.9.3”“”

启动

博主使用的是WebUI界面进行操作。
notion image
从整个操作界面来看,整体分为4个模块:训练、评估、聊天测试和模型导出。博主使用的是Llama-3.2-1B-Instruct模型。伙伴们可以通过魔塔社区或者HuggingFace社区下载。

数据准备

在使用大模型微调时,我们都会使用自己收集到的数据。如果我们是自己代码实现模型微调,那么我们会设计符合自己数据格式的Dataset类。
但是如果我们使用别人写好的框架进行微调,那么我们收集的数据格式必须符合框架的要求,才能进行微调。
首先,我们需要查看LlaMa-Factory所需的数据格式。博主以有监督指令微调为例,其中以单轮对话进行实践。如下是单轮对话格式要求(其他格式要求,伙伴们可以查看下方链接):
其中,instruction和input是Human输入的命令。LlaMA-Factory框架会将这两个的内容进行拼接作为完整的Human输入,所以我们可以直接将Human的命令放入instruction或者input。
接着,准备我们自己的数据集。这里博主使用的魔塔社区提供的数据集-ruozhiba_qa问答数据集。我们一起查看一下数据集格式:
我们可以发现:目标数据集的格式与LlaMA-Factory框架要求的数据格式是不一样的。因此,我们需要转换数据格式。转换代码如下:
转换好后,我们需要将目标Json文件移动到LlaMA-Factory框架中data目录下,并在该目录下的dataset_info.json文件中添加如下内容:
好了!到了这里,我们已经准备好了数据和模型,接下来进行模型微调的工作。

🤗 模型微调-评估-合并-量化

整体的操作很简单,不会涉及到技术相关的操作,仅仅需要点点即可。关于页面框的介绍,大家可以点击该链接进行查看。

模型微调

notion image
微调阶段博主只设置了红色框中的内容。后边的参数设置,博主都选择了默认。
其中,截断长度是根据训练集设置,不是任意设置。批处理大小:博主设置的是16。在最下面的红色小框可以发现博主的GPU数量是2,所以这里博主设置的较大一些。伙伴们不要上来设置这么大,请根据GPU显存大小设置。
设置好这些,点击橙色按钮开始训练。
当伙伴们观测损失曲线图,发现损失曲线已经收敛(源曲线和光滑曲线重叠,并趋于平稳没有波动),便可以点击中断,不需要等到等待模型训练结束。

评估

notion image
第二行的内容设置保持和训练的一致,批处理大小可以随意。第一行中的数据集:选择你想要评估的测试集。第三行的内容根据实际需求进行设置。
注意:我们并不需要关注所有评估指标值,根据任务场景选择合适的评估指标。

合并-量化

这里需要控制版本问题。这也是伙伴们较为头疼的部分。千万不要使用最新的实验版本,尽量选择靠后稳定的LlaMA-Factory版本。
操作细节和注意事项可以查看该链接

📎 参考文章

 
💡
整体的操作没有什么技术含量,最主要是里边的代码细节和原理。这些博主会在后期的博客详细记录。å欢迎您在底部评论区留言,一起交流~
上一篇
记录-lmdeploy模型部署调用
下一篇
记录-LLaMA-Factory页面框(基础)

评论
Loading...