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

LLaMa-Factory 开源大模型微调与部署实战

基于 LLaMA-Factory 进行开源大模型微调的全流程详解。涵盖环境安装、数据集格式配置(Alpaca/ShareGPT)、训练参数调优、LoRA 适配器合并与量化、以及本地推理与 Ollama 部署方案。旨在降低技术门槛,帮助开发者高效完成模型定制与落地应用。

静心发布于 2026/4/7更新于 2026/5/2314 浏览

开源大模型微调和部署

开源大模型虽然带有'开源'二字,但与传统软件有所不同。它通常公开模型权重和架构,比如 LLaMA、Qwen 等,能处理自然语言或多模态任务。不过,训练代码和数据往往不公开,这让它更像是一个'免费使用的黑盒',而非完全透明的白盒。

接下来我们聚焦于如何实操,这里推荐一个高效工具——LLaMA-Factory。它主打轻量与高效,核心目标就是降低微调门槛。通过它,你可以在无需编写复杂代码的前提下,在本地完成上百种预训练模型的微调,支持命令行和 WebUI 交互。

安装环境

如果你选择源码安装,建议先确保 CUDA 环境就绪:

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]" --no-build-isolation

或者直接使用 Docker 镜像,里面已经预置好了环境:

docker run -it --rm --gpus=all --ipc=host hiyouga/llamafactory:latest

数据集准备

数据格式是微调的关键。LLaMA-Factory 支持 Alpaca 和 ShareGPT 两种主流格式。你需要在 dataset_info.json 中定义好数据集的列映射。

Alpaca 格式适用于大多数指令微调任务。例如多模态数据,需要在 JSON 中包含图像路径:

[{"instruction":"人类指令","input":"人类输入","output":"模型回答","images":["图像路径"]}]

配置描述如下:

"dataset_name": {"file_name": "data.json", "columns": {       
"prompt"
:
"instruction"
,
"query"
:
"input"
,
"response"
:
"output"
,
"images"
:
"images"
}
}

如果是偏好训练(如 DPO),则需要提供优质回答(chosen)和劣质回答(rejected):

[{"instruction":"指令","input":"输入","chosen":"优质回答","rejected":"劣质回答"}]

ShareGPT 格式则更灵活,支持更多角色(human, gpt, observation 等)。消息列表需按顺序排列,奇数位为人类输入,偶数位为模型回复。

开始训练

训练可以通过 WebUI (llamafactory-cli webui) 或命令行完成。命令行参数较多,核心配置包括模型路径、训练阶段(stage)、微调类型(finetuning_type)以及学习率等。

参数说明
model_name_or_path基座模型名称或路径
stage训练阶段:rm, pt, sft, PPO, DPO 等
finetuning_type微调方式:freeze, lora, full
output_dir输出目录
per_device_train_batch_size批次大小
learning_rate学习率

实际运行时,注意根据显存调整 batch size 和梯度积累步数。如果显存紧张,推荐使用 LoRA 或 QLoRA 方案。

合并与量化

训练完成后,LoRA 适配器通常是独立的文件。为了推理方便,建议将基座模型与适配器合并,并根据需要量化以节省显存。

合并配置示例:

model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct
adapter_name_or_path: saves/llama3-8b/lora/sft
export_dir: models/merged_model
export_size: 2

量化技术能有效减少显存占用并加速推理。LLaMA-Factory 支持 AQLM、AWQ、GPTQ 等多种方法,其中 QLoRA 在保持性能的同时大幅降低了资源需求。

推理与部署

推理时,只需指定模型路径和模板即可。默认使用 Huggingface 引擎,若追求速度可切换至 vLLM。

完整模型推理配置:

model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct
template: llama3
infer_backend: huggingface

微调模型推理配置:

model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct
adapter_name_or_path: saves/llama3-8b/lora/sft
finetuning_type: lora
infer_backend: huggingface

对于本地部署,Ollama 配合 Open WebUI 是个不错的选择,上手成本低。你可以先将模型转换为 GGUF 格式,再导入 Ollama 运行。

转换脚本示例:

python llama.cpp/convert_hf_to_gguf.py /path/to/model --outtype q8_0 --outfile model.gguf

创建 ModelFile 后,执行 ollama create 即可启动服务。这样就能在本地轻松体验微调后的模型效果了。

目录

  1. 开源大模型微调和部署
  2. 安装环境
  3. 数据集准备
  4. 开始训练
  5. 合并与量化
  6. 推理与部署
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Midjourney官网地址是哪个?有没有中文官网?
  • 字节全员涨薪背后的前端职场真相:马太效应与技术壁垒
  • RoboBrain 2.5:解决具身智能空间与时间维度的落地难题
  • 伪分布式 Spark 环境搭建指南
  • Stable Diffusion 秋叶整合包快速上手指南
  • 基于关键场景辨别算法的两阶段鲁棒微网优化调度 Matlab 代码实现
  • π0 源码深度剖析:从 PaLI-Gemma 扩散策略到 C/S 架构部署
  • Windows 上如何用 Conda 管理多个 Python 版本?
  • Java 核心面试题精选与深度解析
  • 2025 年人工智能发展趋势与学习路径指南
  • 利用腾讯云 HAI 与 DeepSeek 快速构建个人网页
  • Flutter 三方库 ethereum_addresses 的鸿蒙化适配指南
  • OpenClaw 与 Ollama 本地部署指南
  • Pencil.dev 实战指南:AI 驱动的设计代码一体化工作流
  • macOS 连接 Android 文件传输工具 OpenMTP 详解
  • 向量数据库:高效检索与大语言模型融合
  • 突破内存瓶颈:llama.cpp 项目中 KV 缓存优化策略全解析
  • 如何在 Android Studio 中使用 Gemini 进行 AI 编程
  • 消息队列选型:Kafka、RabbitMQ 与 Redis 对比
  • 基于 Matlab Simulink Simscape 的码垛机器人分析与仿真

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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