跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

基于魔搭社区免费 GPU 使用 LLaMaFactory 微调大模型

利用魔搭社区免费 GPU 资源,结合 LLaMaFactory 进行大模型微调的完整流程。涵盖环境配置、模型选择、数据集处理、训练执行及 GGUF 格式转换。通过虚拟环境隔离依赖,解决 pip 冲突问题;区分 Base 与 Instruct 模型差异;提供 CSV 转 JSON 脚本示例。最终实现从云端环境搭建到模型量化导出的全链路操作,无需本地高性能硬件支持。

二进制发布于 2026/4/9更新于 2026/9/462 浏览
基于魔搭社区免费 GPU 使用 LLaMaFactory 微调大模型

一、环境

之前介绍过本地部署 LLaMaFactory 微调平台的方法,如果你还在为设备问题而烦恼,可以尝试使用云端免费 GPU 资源。

首先注册魔搭社区,绑定个人阿里云账号即可,详情见:https://www.modelscope.cn/my/mynotebook;然后就可免费获得 36 小时 GPU 环境。

配置参数如下:

  • CPU:8 核,主要负责数据的调度和预处理
  • 内存:32GB,数据从硬盘加载后会暂时存放这里
  • 显存:24G
  • 操作系统:Ubuntu 22.04
  • CUDA:12.8.1,英伟达的并行计算平台,支持最新的 RTX 40 系列或 H 系列显卡
  • Python:3.11
  • PyTorch:2.9.1,目前最主流的深度学习框架
  • ModelScope:1.35.0(预装版本)

文章配图

安装 LLaMaFactory

执行 git 克隆 llama-factory 项目,运行 pip install -e .。若出现依赖冲突提示,为避免 pip 导致权限混乱,推荐使用虚拟环境(venv)。

创建虚拟环境

python -m venv llmVenv
source llmVenv/bin/activate
deprecate

在虚拟环境中执行升级:pip install --upgrade pip

后续执行 pip install -e . 和 pip install -r requirements/metrics.txt。运行 llamafactory-cli webui 可以启动,并在控制台点击 http://127.0.0.1:7860/ 完成浏览器访问。

二、模型选择

2.1. 模型分类和区别

此处选中一个模型 Qwen3-4B-Base,跳出告警提示。这是因为 Base 表示基座模型,而不是经过指令微调 Instruct 的模型。

两者区别在于:

  • Base:基座模型,只完成了预训练,擅长续写文本,不擅长直接理解并回答人类的问题或指令。
  • Instruct:指令模型,在基座模型的基础上,使用大量用户指令和期望回答的数据进行微调,能够正确理解并遵循人类指令。

文章配图

后续选择 Qwen3.5-2B-Base,此时模型名称同样带 Base,却没有弹出告警提示。Qwen3.5 是后训练模型,已经经历了至少一轮指令微调或强化学习(RL),具备对话能力。RL 训练的模型其指令遵循能力通常优于单纯的监督微调(SFT)模型。

文章配图

2.2. 加载模型对话

点击 Chat 进行加载模型对话,可以看到其中的如下参数:

2.2.1. 推理引擎
  • Hugging Face:transformers 库,是 LLM 领域最通用的原生推理框架。开箱即用,配置灵活,适合调试、开发、原型验证。默认使用 PyTorch 动态图,速度相对较慢,显存占用较高。
  • vLLM:高性能和服务框架,专为高吞吐、低延迟设计。支持连续批处理,自动合并请求,提高吞吐。适合生产环境部署、高并发 API 服务、需要最大化吞吐量的离线推理。
  • SGLang:较新的推理框架,专注于结构化生成和复杂推理任务。吞吐量接近 vLLM,适合需要复杂生成逻辑,对推理过程有精细控制要求的场景。
2.2.2. 推理数据类型

控制模型加载和推理时使用的数值精度。

  • auto:自动选择,框架会根据模型配置和硬件能力自动决定最优精度。如果支持 bfloat16,通常会优先使用,否则回退到 float16 或 32。
  • float32:最精确,显存占用最大,速度最慢,通常不推荐用于推理。
  • float16:显存较 fp32 减半,速度更快,精度损失小。大多数 GPU 支持。
  • bfloat16:与 fp16 同显存占用,但动态范围更大,训练和推理更稳定。
2.2.3. 额外参数

{"vllm_enforce_eager": true},vLLM 专用参数,在 vLLM 中会强制使用 eager 模式(不使用 CUDA 图优化),通常用于调试或避免某些显存问题;此处当前推理引擎是 huggingface,理论上这个参数不会生效,但是我这里默认自带,还是手动删除(即仅保留 {},否则会出现 Json 格式错误);

文章配图

点击加载模型后,可以看到控制台会自动下载对应的模型。

文章配图

当然也可以手动下载魔搭社区的模型,默认存储路径也是一样的,访问:https://modelscope.cn/models,此处以 Qwen3.5-2B 举例:modelscope download --model Qwen/Qwen3.5-2B(详情见:https://www.modelscope.cn/models/Qwen/Qwen3.5-2B)

这里等待模型加载成功后,就可以正常聊天了。

文章配图

三、数据集

魔搭社区中提供大量数据集,我们学习过程中可以下载使用,详情见:https://www.modelscope.cn/datasets

3.1. 获取源数据

此处随便举个例子,随手拿了个蚂蚁金融语义相似度数据集,详情见:https://www.modelscope.cn/datasets/modelscope/afqmc

文章配图

在数据集文件中下载 train.csv,下载完成后,我可能可以得到如下数据,可以看出此数据集是用于评估问题间的语义相似性。

sentence1 = 句子 1, sentence2 = 句子 2, label = 0 表示两者语义不同、1 表示语义相同

文章配图

3.2. 编写转换脚本

我们通过脚本将 csv 转换成 LLaMaFactory 需要的 json 格式,脚本如下,不熟练的小伙伴可借助 AI 工具。

文章配图

3.3. 生成数据集

在 py 脚本目录下执行 python csv2Json.py 可以得到目标文件 json 如下:

文章配图

将生成的 ant_finance_same.json 移动至 LLaMA-Factory 项目中的 data 文件夹中,再修改 dataset_info.json 加入刚才生成的 json,其余保持不动;

dataset_info.json 是 LLaMaFactory 中用于注册和管理数据集的配置文件。主要作用是配置数据集文件路径。

文章配图

四、训练

4.1. 加载并预览数据集

现在,我们就可以在数据集中选中刚才配置的数据,点击预览数据集后可以看到示例;

文章配图

4.2. 执行微调

点击开始微调模型,大约一两分钟后可以看到下方控制台输出日志,然后就是耐心的等待(GPU 环境超过 1 小时无操作将触发自动关闭功能,要记得点下控制台);

文章配图

上图可知,此次训练需要大约 10.5 小时,但是单次实例连接时间最长是 8 小时,尽管可以中途中断,后续再继续,但是我执行 1 个小时后,环境直接卡死,什么都动不了。

文章配图

本次演示我还是希望能够走完一遍流程,于是将数据集做了份删减版。mini 版数据集仅 1000 条数据,训练需要不到 20 分钟;

文章配图

文章配图

文章配图

上图中右边的趋势图表示训练过程中损失值 Loss 随训练步数 Step 变化的曲线,用于监控模型的学习情况。

original 原始曲线:每个记录点实际计算出的损失值,由于单批次数据存在随机性,曲线往往会有很多噪声毛刺;

smoothed 平滑曲线:对原始损失进行移动平均或指数平滑后的曲线,能更加清晰地反映损失的整体变化趋势,滤除短期波动;

4.3. 导出微调结果

等到训练完毕,我们可以在检查点路径找到刚才微调后的模型;

文章配图

导出完成后,我们可以看到路径下对应的文件;

文章配图

我们尝试加载微调后的模型,进行对话。

文章配图

五、转换 GGUF

为了能够让 ollama 或 llama.cpp 直接使用,需要将 Hugging Face 格式模型转换成 GGUF 格式的文件。

5.1. 创建环境

为避免冲突,建议创建一个独立的 Python 环境:

python -m venv cppVenv
source cppVenv/bin/activate

克隆 llama.cpp,该工具可转换 GGUF:

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
pip install -r requirements.txt

5.2. 执行转换

python convert_hf_to_gguf.py /mnt/workspace/models/Qwen3.5-2B-output --outfile /mnt/workspace/gguf/Qwen3.5-2B-output.gguf --outtype q8_0

Qwen3.5-2B-output 为 model.safetensors 文件所在路径;

--outtype q8_0 表示量化类型,默认输出 f16 格式;

执行过程中会出现异常:

File "/mnt/workspace/git_src/llama.cpp/cppVenv/lib/python3.11/site-packages/transformers/models/auto/tokenization_auto.py", line 1153, in from_pretrained raise ValueError( ValueError: Tokenizer class TokenizersBackend does not exist or is not currently imported.

原因是在合并模型时,无法正确加载模型的 tokenizer 导致的,通常是因为模型文件夹中的 tokenizer_config.json 配置缺少必要的 tokenizer 文件。

  1. 检查当前 tokenizer_config.json 内容:
cat /mnt/workspace/models/Qwen3.5-2B-output/tokenizer_config.json | grep tokenizer_class

文章配图

  1. Qwen3.5-2B 模型对应的 tokenizer 类是 Qwen2Tokenizer,使用 sed 直接替换:
sed -i 's/"tokenizer_class": "TokenizersBackend"/"tokenizer_class": "Qwen2Tokenizer"/g' /mnt/workspace/models/Qwen3.5-2B-output/tokenizer_config.json

替换后再执行转换命令即可,最后可以得到 GGUF 文件。

文章配图

目录

  1. 一、环境
  2. 安装 LLaMaFactory
  3. 创建虚拟环境
  4. 二、模型选择
  5. 2.1. 模型分类和区别
  6. 2.2. 加载模型对话
  7. 2.2.1. 推理引擎
  8. 2.2.2. 推理数据类型
  9. 2.2.3. 额外参数
  10. 三、数据集
  11. 3.1. 获取源数据
  12. 3.2. 编写转换脚本
  13. 3.3. 生成数据集
  14. 四、训练
  15. 4.1. 加载并预览数据集
  16. 4.2. 执行微调
  17. 4.3. 导出微调结果
  18. 五、转换 GGUF
  19. 5.1. 创建环境
  20. 5.2. 执行转换

更多推荐文章

查看全部
  • SparkAi 创作系统:AI 大模型、绘画与视频生成一站式方案
  • Spring Boot 集成 WebSocket 实战:实现后台向前端实时推送
  • 基于 2-RSS-1U 的双足机器人并联踝关节分析与实现
  • SAP 协议解析:AI Agent 时代的前端开发实践
  • 双非本科工程造价转行 AIGC 产品经理经验与面试指南
  • 工程造价背景转行AIGC产品经理求职面试经验分享
  • C++ STL 容器详解:双向链表 list 核心用法与注意事项
  • 鸿蒙金融理财全栈项目:生态合作、用户运营与数据变现优化
  • 数组模拟链表、栈、队列与优先队列:高效实现与性能对比
  • Eel 框架快速构建 Python 桌面 GUI 应用
  • 服务器环境 VS Code GitHub Copilot 加载超时优化与修复
  • 学术论文如何通过重复率与 AIGC 率双重检测
  • DeepSeek 国产模型适配:云端接入与本地化部署实战
  • 论文解读:使用人类反馈训练语言模型遵循指令
  • 数据结构与算法:顺序表详解
  • 自然语言处理在客户服务领域的应用与实战
  • 双指针算法实战:移动零与复写零详解
  • F5 刷新时浏览器前端发生了什么
  • JavaScript 运算符与流程控制详解
  • Git 版本控制入门及 Gitee 远程仓库协作指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online