AI智能摘要
GPT
这里是萌新AI,这篇文章介绍了 LLaMA-Factory 框架的基础使用流程。首先,作者详细说明了如何通过克隆指定版本(v0.9.3)的源码并解决依赖冲突来正确安装。接着,介绍了通过 WebUI 界面启动,并概述了其训练、评估等核心功能模块。最后,文章强调了数据准备的重要性,指出微调时需严格遵循框架规定的数据格式(如单轮对话示例),才能顺利进行后续的模型微调、评估与量化操作。
URL
type
status
date
slug
summary
tags
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界面进行操作。

从整个操作界面来看,整体分为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文件中添加如下内容:
好了!到了这里,我们已经准备好了数据和模型,接下来进行模型微调的工作。
🤗 模型微调-评估-合并-量化
整体的操作很简单,不会涉及到技术相关的操作,仅仅需要点点即可。关于页面框的介绍,大家可以点击该链接进行查看。
模型微调

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

第二行的内容设置保持和训练的一致,批处理大小可以随意。第一行中的数据集:选择你想要评估的测试集。第三行的内容根据实际需求进行设置。
注意:我们并不需要关注所有评估指标值,根据任务场景选择合适的评估指标。
合并-量化
这里需要控制版本问题。这也是伙伴们较为头疼的部分。千万不要使用最新的实验版本,尽量选择靠后稳定的LlaMA-Factory版本。
操作细节和注意事项可以查看该链接。
📎 参考文章
整体的操作没有什么技术含量,最主要是里边的代码细节和原理。这些博主会在后期的博客详细记录。å欢迎您在底部评论区留言,一起交流~
- 作者:不爱吃香菜的萌新
- 链接:https://hexo.levsongsw.com//largemoder/LLaMaFactory1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。




