跳到主要内容基于魔搭与 LLaMA Factory 的大模型微调全流程实操 | 极客日志PythonAI算法
基于魔搭与 LLaMA Factory 的大模型微调全流程实操
介绍基于魔搭平台免费 GPU 实例和 LLaMA Factory 工具进行大模型微调的全流程。涵盖环境搭建、轻量模型(Qwen2.5)下载、数据集准备与转换、WebUI 训练配置、效果测试及 GGUF 格式导出。通过实操预训练、微调概念,帮助开发者从零掌握大模型本地化部署与训练技术。
DevOpsTeam3 浏览 1、先搞懂:什么是大模型「微调」?
在动手实操前,我们先花 2 分钟搞懂核心概念——微调。常规大语言模型的训练,就像培养一个孩子,整体分为 3 个关键阶段:

用「养娃」做类比,小白也能秒懂三个阶段的区别:
1、预训练(对应孩子的「通识教育」)
- 模型层面:通过自监督学习,读取海量文本数据,掌握基础的语言规则、词汇逻辑,但此时还不会针对具体问题给出精准回答,相当于「有知识但不会用」。
- 通俗类比:就像孩子上幼儿园、小学前,大量听家长说话、读绘本、看动画片,积累了基本的词汇和生活常识,但还不会完整表达自己的观点,也不会精准回应大人的提问。
2、微调(对应孩子的「专项训练」)
- 模型层面:用提前准备好的 Q&A 问答对训练模型,教会它如何组织语言、贴合需求,精准回应具体问题,相当于「把知识转化为实用能力」。
- 通俗类比:类似家长或老师通过「问答练习」引导孩子成长,比如:久而久之,孩子就能用更专业、更清晰的语言回应问题,这和模型微调的逻辑完全一致。
- 问:「天空为什么是蓝色的?」
- 教:「因为阳光照射到大气层时,蓝光波长较短,容易被散射,所以我们看到的天空是蓝色的。」
3、RLHF(对应孩子的「品德与规范教育」)
- 模型层面:根据人类的反馈调整模型的回答,让回答更符合社会偏好——比如更友善、更严谨、不跑偏、不输出违规内容。
- 通俗类比:当孩子回答「天空是蓝色的,因为天空喜欢蓝色」时,家长耐心纠正:「这个想法很可爱,但回答要讲究科学依据哦」,久而久之,孩子就会明白「不仅要会回答,还要回答得靠谱」,RLHF 就是给模型做这样的「规范引导」。
看到这里,相信你已经明白:大模型微调,本质就是「给已经有基础的模型做专项培训」,让它适配我们的具体需求。
那么什么时候需要微调?其实很简单:在垂直场景(比如电商客服、行业知识库问答)、需要高效输出特定内容,或者希望模型贴合自己需求的场景下,都需要微调。
2、免费搭建微调环境(零成本不踩坑)
很多小白担心「微调需要高性能电脑」「需要花钱买服务器」,其实完全不用——我们用魔搭平台的免费 GPU 实例,搭配 LLaMA Factory 开源工具,零成本就能搭建好微调环境,全程复制代码即可,不用自己配置复杂依赖。
1、打开魔搭平台,创建免费 GPU 实例
第一步:打开魔搭实例创建地址(直接复制打开):https://modelscope.cn/my/mynotebook/preset
第二步:关联你的阿里云账号(没有的话注册一个,免费),然后选择「第二个 GPU 环境」(重点!免费且适配我们后续的操作,不用选其他付费环境),如下图所示:

⚠️ 注意:这个实例是免费的,但闲置一段时间后会自动释放,不用担心操作失误搞坏环境,大胆尝试就好!
第三步:等待 2-3 分钟,实例创建完成后,点击「查看 notebook」,进入云端操作界面。

微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
进入界面后,大家可以简单熟悉一下:界面上的大图标是常用软件,侧边栏是文件夹(后续存放代码、模型、数据集),下方带有$符号的是终端——相当于阿里云给我们免费提供了一台「带 GPU 的云端电脑」,所有操作都在这个终端里完成。
点击「终端」,进入终端界面,接下来就开始配置环境、下载工具啦。
2、下载 LLaMA Factory 工具,配置依赖环境
LLaMA Factory 是一款非常适合小白的大模型微调工具,开源免费,操作简单,我们直接克隆它的开源代码,然后配置相关依赖即可。
⚠️ 重点提醒:以下代码,只复制「不带#号」的内容,粘贴到终端执行即可;#号后面是注释,不用复制,避免报错。
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
python -m venv .venv
source .venv/bin/activate
pip install-e".[torch,metrics]"
pip install --no-deps -e.
补充说明:安装依赖的过程中,可能会提示「缺少某个包」「需要升级 pip」,直接按照提示执行对应的指令即可,不用慌——小白最容易犯的错就是「急于求成」,这里一定要耐着性子等待,只要终端没有报错,就说明正在正常安装。
安装完成后,你会发现侧边栏的文件夹中,多了一个「LLaMA-Factory」文件夹,说明工具下载成功。
当终端出现类似下图的提示时,说明依赖安装完成,可以进行下一步操作了。
3、下载模型(小白首选轻量模型,提速不踩坑)
为了减少下载时间,避免小白因为「模型太大、等待过久」放弃,我们选择「Qwen2.5-0.5B-Instruct」模型——这是目前参数最小、适配性最好的轻量模型之一,适合新手入门实操,下载速度快,且能正常完成微调流程。
第一步:在 LLaMA-Factory 目录下,创建一个新的文件夹,命名为「newmodels」(用于存放我们下载的基础模型)。
git clone https://www.modelscope.cn/Qwen/Qwen2.5-0.5B-Instruct.git
等待几分钟,模型就会下载完成,并存放到「newmodels」文件夹中(如果下载速度较慢,耐心等待即可,不用中途中断)。
4、准备训练数据集(小白简化版,不用自己标注)
微调需要用「问答数据集」训练模型,小白不用自己标注数据,我们直接从魔搭数据集中下载一个轻量数据集(不到 300 行),下载速度快,且能满足入门实操需求。
第二步:数据集格式转换(重点!)—— 下载的数据集是 csv 格式,而模型训练需要 json 格式,这里我们用简单的脚本进行转换,小白不用自己写代码,直接让 AI 生成脚本,运行后保存为「train_converted.json」即可。
(补充:脚本可以直接问 AI「csv 格式转换为 json 格式的 Python 脚本,适配大模型微调数据集」,复制生成的脚本,在终端运行,即可完成转换,转换后的文件如下所示)
第三步:注册数据集—— LLaMA Factory 工具自带「dataset_info.json」文件(在项目目录中可以找到),这是数据集的索引文件,我们需要将转换后的「train_converted.json」文件注册到这个索引中,直接打开文件,将数据集名称和路径写入即可。
⚠️ 注意:写入路径时,一定要和你存放「train_converted.json」的路径一致,避免后续训练时找不到数据集(小白可以直接复制文件路径,粘贴到索引中,减少错误)。
3、一切就绪,启动模型训练
环境、模型、数据集都准备完成后,就可以启动训练了——LLaMA Factory 提供了 WebUI 界面,不用写复杂的训练指令,点击几下就能启动训练,小白也能轻松上手。
第一步:确保自己处于「LLaMA-Factory」目录下(如果不在,复制以下指令执行,回到项目目录):
cd LLaMA-Factory
terminal: llamafactory-cli webui
第二步:启动 WebUI 后,终端会出现一个「网址」,点击这个网址,就能进入训练配置界面。
第三步:配置训练参数(小白默认配置即可,不用修改,重点填写 3 个路径):
- 基础模型路径:选择我们下载的「Qwen2.5-0.5B-Instruct」模型(路径在 newmodels 文件夹下);
- 训练数据集路径:选择我们转换后的「train_converted.json」文件;
- 训练结果保存路径:自定义一个路径(比如 output,后续存放训练好的模型)。
第四步:点击「开始训练」,等待模型训练完成即可——训练过程中,终端会实时显示训练进度,你可以看到模型的损失值(loss)变化。
模型损失值(loss),是衡量模型预测结果与真实数据集差距的指标,训练的目标是「最小化损失值」,但并不是损失值越小越好——如果损失值太小,说明模型「死记硬背」了数据集,出现「过拟合」,后续遇到新问题就不会回答了。
我们这个入门实操,因为模型参数小、数据集少,损失值只要处于合理范围(比如 0.5-2.0 之间),就说明训练成功了,大家可以参考下图的训练结果:
训练完成后,WebUI 界面会显示最终的训练结果,如下所示:
4、本地测试聊天,检验微调效果
训练完成后,我们先在 WebUI 界面上测试一下,看看模型有没有记住我们的训练数据集,能不能给出贴合数据集的回答——这一步是小白最有成就感的环节,相当于「验收成果」。
第一步:在 WebUI 界面,切换到「Chat」标签页;
第二步:点击「检查点路径」,选择我们刚才训练好的模型(存放路径就是之前配置的 output 路径);
第三步:点击「加载模型」,等待模型加载完成(轻量模型加载很快,约 1-2 分钟)。
第四步:输入问题,测试模型回答——这里要注意,我们的数据集是「淘宝正面评价相关」,所以提问要贴合这个场景(比如「推荐一句淘宝好评」),模型会给出基于数据集的回答。
补充说明:我们这个实操用的是轻量模型(0.5B 参数),加上训练数据集较少,模型的回答可能不会很完美,甚至有点「笨拙」,这是正常的——后续大家可以换更大的模型(比如 Qwen2.5-7B)、更多的数据集,就能得到更精准的回答。
我这边测试的结果如下(因为多轮训练,回答有点偏差,但能看出基于训练数据,也算训练成功):
只要模型的回答和我们的训练数据集相关,就说明微调成功了,小白到这一步,就已经完成了大模型微调的核心操作!
5、导出模型(可本地使用,永久留存成果)
训练好的模型,我们可以导出到本地,后续无论是用 Jan.ai、Ollama,还是其他工具,都能直接使用,不用再重新训练——这一步我们将模型转换为「GGUF 格式」(大模型常用格式,兼容性最强)。
1、创建模型导出目录
第一步:在 LLaMA-Factory 目录下,创建一个新的文件夹,命名为「outputmodel」,用于存放导出的原始模型;
第二步:在 WebUI 界面,找到「导出模型」选项,选择导出路径为「outputmodel」,点击「导出」,等待导出完成。
导出完成后,侧边栏的「outputmodel」文件夹中,会出现训练好的模型文件,如下所示:
2、安装 GGUF 库,转换模型格式
GGUF 格式是目前最常用的大模型格式,支持 Jan.ai、Ollama 等多种工具,我们需要安装 GGUF 相关库,将导出的原始模型转换为 GGUF 格式。
第一步:新打开一个终端(避免和之前的 WebUI 冲突),复制以下指令,回到 LLaMA-Factory 目录:
cd /mnt/workspace/LLaMA-Factory
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp/gguf-py
pip install--editable.
执行完成后,侧边栏会多出一个「llama.cpp」文件夹,说明 GGUF 库安装成功。
3、执行格式转换,导出 GGUF 模型
第一步:在 LLaMA-Factory 目录下,创建一个新的文件夹,命名为「megred-model-path」,用于存放转换后的 GGUF 模型;
第二步:回到 llama.cpp 目录,复制以下 3 行代码,粘贴到终端,一次性执行(重点:修改路径为自己的文件夹路径):
cd..
python convert_hf_to_gguf.py /mnt/workspace/LLaMA-Factory/outputmodel \
--outfile /mnt/workspace/LLaMA-Factory/megred-model-path \
--outtype q8_0
- 第一个路径「/mnt/workspace/LLaMA-Factory/outputmodel」:是我们刚才导出的原始模型路径,一定要和自己的文件夹路径一致;
- 第二个路径「/mnt/workspace/LLaMA-Factory/megred-model-path」:是我们创建的 GGUF 模型存放路径,不用修改,只要提前创建好文件夹即可;
- –outtype q8_0:是模型的量化格式,小白默认这个即可,兼顾速度和效果。
执行完成后,GGUF 模型就会保存到「megred-model-path」文件夹中,我们直接点击文件夹,找到对应的 GGUF 文件,点击下载,就能保存到本地了。
6、本地使用模型,彻底玩转自己的大模型
下载好 GGUF 模型后,我们可以用最简单的方式(Jan.ai 工具),本地启动模型,和自己训练的模型聊天——全程不用联网(下载工具需要联网),小白也能轻松操作。
方法 1:用 Jan.ai 工具(最简单,小白首选)
第二步:配置模型,打开 Jan.ai 的设置(Setting),找到「Model Provider」,点击「Import」,导入我们刚才下载的 GGUF 模型;
第三步:导入完成后,点击「Start」,进入对话界面,输入问题,就能和自己训练的模型聊天了!
我这边测试的效果如下(虽然模型有点「笨拙」,但确实是基于我们的训练数据,属于自己「亲生打造」的大模型):
方法 2:用 Ollama 工具(进阶,程序员可选)
如果是程序员,也可以用 Ollama 工具加载模型——将 GGUF 模型转换为 Ollama 支持的格式,导入 Ollama 后,还能被 Dify、CherryStudio 等工具调用,实现更复杂的功能。
补充说明:我这边尝试将模型导入 CherryStudio 后,出现了回答跑偏的情况,推测是默认系统提示词的问题,或者格式转换时的小疏漏,小白可以先重点掌握 Jan.ai 的使用方法,进阶玩法后续再深入。
总结
到这里,我们就完成了「大模型微调全流程实操」——从环境搭建、模型下载、数据准备,到训练、测试、导出、本地使用,每一步都有具体操作和代码,零基础小白也能跟着完成。
其实大模型微调并没有想象中那么难,就像培养孩子一样:预训练让模型有「基础」,微调让模型有「技能」,RLHF 让模型有「规范」,我们这次实操,相当于完成了「基础 + 技能」的培养,后续只要优化数据集、更换更大的模型,就能训练出更实用的大模型。
建议实操时对照步骤一步步来,遇到问题不要慌——大部分问题都是「路径错误」「依赖缺失」,对照本文的提醒,或者搜索报错信息,都能轻松解决。