Skip to main content
PromptQuorumPromptQuorum
主页/本地LLM/创建自定义本地 LLM 2026:使用 Unsloth 和 Ollama 进行微调与预训练
高级技术

创建自定义本地 LLM 2026:使用 Unsloth 和 Ollama 进行微调与预训练

·阅读约 12 分钟·Hans Kuepper 作者 · PromptQuorum创始人,多模型AI调度工具 · PromptQuorum

创建自定义本地 LLM 意味着微调现有模型或从零开始预训练。截至 2026 年 4 月,使用 LoRA 的微调在消费级硬件上可行:500 个样本、8GB VRAM、1-2 小时、$100-500。

创建自定义本地 LLM 意味着微调现有模型或从零开始预训练。截至 2026 年 4 月,使用 LoRA 的微调在消费级硬件上可行:500 个样本、8GB VRAM、1-2 小时、$100-500。预训练成本为 $50,000-500,000,需要 100 亿+ tokens——仅对罕见的专有需求合理。本指南涵盖两种方法:使用 Unsloth 的 7 步微调路径、微调 vs. 预训练 vs. RAG 决策矩阵以及 Ollama 部署。

演示文稿: 创建自定义本地 LLM 2026:使用 Unsloth 和 Ollama 进行微调与预训练

幻灯片涵盖微调与预训练成本分析、Unsloth 7 步路径、GGUF 量化和 Ollama 部署步骤。下载为自定义 LLM 微调参考卡。

浏览以下幻灯片或下载PDF以供离线参考。 下载参考卡(PDF)

关键要点

  • 微调(推荐): 8GB VRAM、500+ 样本、1-4 小时。成本:$100-500。
  • 预训练: 8+ GPU、100B+ tokens、数周。成本:$50,000-500,000。
  • 大多数组织应该微调,不应预训练。自定义预训练的收益递减。
  • 最佳方法:先在领域数据上进行微调,然后评估预训练是否合理。
  • 截至 2026 年 4 月,除非需要专有模型,否则预训练很少正当。

微调与预训练对比

方面微调预训练
训练时间1-4 小时数周-数月
VRAM 需求8GB100+ GB(多 GPU)
数据需求500-5k 个样本100B+ tokens
成本$100-500$50,000-500,000
定制化领域知识专有模型
适用时机99% 的情况罕见、特殊需求
微调(1-4 小时、$100-500、8GB VRAM)vs 预训练(数周-数月、$50,000-500,000、100+ GB):训练时间、成本、数据需求和适用场景对比。
微调(1-4 小时、$100-500、8GB VRAM)vs 预训练(数周-数月、$50,000-500,000、100+ GB):训练时间、成本、数据需求和适用场景对比。

微调路径(推荐)

  1. 1
    收集 500-5,000 个高质量领域特定样本。
  2. 2
    选择基础模型(Llama 3.3 8B、Qwen 7B 等)。
  3. 3
    使用 LoRA 进行高效训练(快 4 倍,质量相同)。
  4. 4
    在 GPU 上训练 3-5 个 epoch。
  5. 5
    在测试集上评估(精确率、召回率、自定义指标)。
  6. 6
    将 LoRA 适配器合并到基础模型中。
  7. 7
    部署为生产模型。
7 步微调工作流:收集数据 → 选择基础模型 → 使用 LoRA 训练(3-5 epoch、8GB VRAM)→ 评估 → 合并 → 转换为 GGUF → 部署到 Ollama。总时间:1-4 小时。
7 步微调工作流:收集数据 → 选择基础模型 → 使用 LoRA 训练(3-5 epoch、8GB VRAM)→ 评估 → 合并 → 转换为 GGUF → 部署到 Ollama。总时间:1-4 小时。

LoRA 与完整微调:选择哪个?

LoRA(低秩适配)仅更新 1-2% 的模型权重,使其速度快 4 倍,VRAM 需求少 80-90%。完整微调更新所有权重,精度略有提升(2-5% 改进),但需要 64+ GB VRAM 和大量计算资源。

LoRA(快 4 倍、8GB VRAM、95-98% 准确率)vs 完整微调(基线速度、64+ GB VRAM、+2-5% 增益):速度-精度权衡和 VRAM 需求对比。
LoRA(快 4 倍、8GB VRAM、95-98% 准确率)vs 完整微调(基线速度、64+ GB VRAM、+2-5% 增益):速度-精度权衡和 VRAM 需求对比。

按模型大小的 VRAM 需求

并非所有模型都能在 8GB VRAM 上进行 LoRA 微调。以下是您可以运行的:

微调 VRAM 兼容性:3B-8B 模型 ✓ 在 8GB 上运行、13B ✓ 运行但紧张、32B 需要 64+ GB、70B 不可行。LoRA 批量训练增加约 25% 开销。
微调 VRAM 兼容性:3B-8B 模型 ✓ 在 8GB 上运行、13B ✓ 运行但紧张、32B 需要 64+ GB、70B 不可行。LoRA 批量训练增加约 25% 开销。

将自定义模型部署到 Ollama

合并 LoRA 适配器后,分 3 步部署到 Ollama:

  1. 1
    第 1 步——导出为 GGUF: 使用 llama.cpp 的转换脚本将合并的模型从 PyTorch/safetensors 格式转换为 GGUF。这对 Ollama 和 llama.cpp 兼容性至关重要。 ```bash python convert_hf_to_gguf.py \ --model ./merged-model \ --outfile ./my-custom-model.gguf \ --outtype q4_k_m ```
  2. 2
    第 2 步——创建 Ollama Modelfile: 定义模型的系统提示、参数和推理设置。 ``` FROM ./my-custom-model.gguf SYSTEM "You are a [your domain] expert..." PARAMETER temperature 0.4 PARAMETER num_ctx 4096 ```
  3. 3
    第 3 步——注册和运行: 将模型加载到 Ollama 以供本地或 API 访问。 ```bash ollama create my-custom-model -f Modelfile ollama run my-custom-model ``` 您的微调模型现在可通过位于 localhost:11434 的 Ollama OpenAI 兼容 API 访问——与任何标准 Ollama 模型相同。与 Continue.dev、Open WebUI 或通过 Python/Node.js OpenAI SDK 的自定义应用配合使用。

预训练:何时以及为什么

预训练是指从原始数据(书籍、文件、代码)中学习。 仅在以下情况下合理:

1. 拥有超过 100 亿个 tokens 的独特有价值数据。

2. 预训练模型在您的领域中表现不佳。

3. 预算超过 $50,000(现实成本)。

4. 需要专有模型(竞争优势)。

示例:拥有 500GB 私有研究数据的基因组公司可能需要自定义预训练。

决策矩阵:选择哪种方法?

存在三种主要的自定义模型方法。根据您的数据、预算和时间表选择:

决策矩阵:无训练数据时使用 RAG($0)、有 500+ 样本时使用微调($100-500、1-4 小时)、有 100B+ tokens 时使用预训练($50,000-500,000、数周-数月)。
决策矩阵:无训练数据时使用 RAG($0)、有 500+ 样本时使用微调($100-500、1-4 小时)、有 100B+ tokens 时使用预训练($50,000-500,000、数周-数月)。

领域适配策略

不进行完整预训练的情况下,改进模型在您领域的性能:

  • 继续预训练: 获取基础模型,在领域数据上训练(10B+ tokens)。比完整预训练更便宜。
  • LoRA 微调: 最实用。在 500+ 样本上调优。
  • 提示工程: 精心设计提示。免费,但有局限。
  • RAG: 检索文档,提供上下文。无需重训就能工作。
  • 集合: 组合多个模型。

评估指标

衡量模型质量:

  • 任务特定指标: 准确性、F1 分数、BLEU(文本生成)。
  • 基准测试: 在标准基准上运行(MMLU、HumanEval)。
  • 人工评估: 手动评分(耗时但准确)。
  • 业务指标: 模型是否改进实际业务成果?

常见错误

  • 数据不足的预训练。 <10B tokens 会浪费计算。改用微调。
  • 评估不充分。 仅看训练损失会误导。在未见过的数据上测试。
  • 期望自定义模型与 GPT-4 相当。 开源模型与前沿模型之间的差距很大。
  • 忽视推理成本。 更大的自定义模型 = 更高的推理成本。考虑权衡。
  • 跳过 GGUF 转换步骤。 使用 Unsloth 或 HuggingFace 微调后,模型为 PyTorch/safetensors 格式。Ollama 和 llama.cpp 需要 GGUF。使用 llama.cpp 的 `convert_hf_to_gguf.py` 进行转换。没有此步骤,微调模型无法在 Ollama、LM Studio 或任何基于 GGUF 的推理引擎中运行。始终在转换时量化(推荐 Q4_K_M)以将文件大小减少 3-4 倍。

常见问题

微调能否匹配预训练模型的质量?

经过微调的模型在您的特定领域可能超过基础模型的性能,但不会达到更大预训练模型的知识广度。在法律文件上微调的 Llama 3.3 8B 会在法律任务上优于 Llama 3.3 70B,但在一般知识上表现不佳。当领域特定的准确性比广度更重要时,选择微调。

有效微调需要多少数据?

可用模型最少需要 500-1,000 个样本;生产质量需要 5,000+。数据质量比数量更重要——1,000 个高质量样本优于 50,000 个低质量样本。对于小数据集(500-2,000 个样本),使用 LoRA;仅当有 10,000+ 个样本时才进行完整微调。

LoRA 和完整微调有什么区别?

LoRA(低秩适配)仅更新约 1-2% 的模型权重,使其速度快 4 倍,VRAM 需求少 80-90%。完整微调更新所有权重,精度提升边际(约 2-5%),但需要大量计算资源。大多数项目使用 LoRA;仅当有预算时才进行完整微调。

何时应考虑预训练而不是微调?

仅当:(1) 有超过 100 亿个 tokens 的独特数据,(2) 微调未能持续达到准确性目标,(3) 预算超过 $50,000,(4) 需要专有模型获得竞争优势时。对于 99% 的组织,微调才是正确选择。

如何评估自定义模型是否可用于生产?

在 3 个维度上测试:(1) 任务特定指标(准确性、F1、BLEU),(2) 基准对比(在 MMLU 或 HumanEval 上运行与基础模型比较),(3) 业务指标(是否改进实际成果?)。如果微调模型在您的任务上比基础模型性能提升 5-10%,则可用于生产。

能否结合微调和提示工程获得更好的结果?

是的——这是最佳实践。微调处理结构性变化(领域语言、格式);提示工程处理特定用例。经过微调的法律模型加上良好的提示工程会优于单独使用任何一种。从提示优化开始(免费),然后根据需要进行微调。

微调应使用哪个框架?

Unsloth(最高快2×,参见unsloth.ai)、Axolotl(灵活)和 Hugging Face Transformers(官方、文档最全)是主要选择。Unsloth 推荐用于速度;Axolotl 推荐用于多 GPU 设置。所有都支持 LoRA 并可与 Ollama 集成进行部署。

如何判断预训练成本是否值得?

计算:(1) 估计微调与预训练在您任务上的质量差距(例如微调达到 85%,预训练可能达到 92%),(2) 量化精度点的业务价值(例如 +1% 准确性 = $10,000 收入),(3) 如果($50,000 预训练成本)<(7% 改进的价值),则预训练。否则,微调。

地区考虑事项

自定义模型涉及因地区而异的数据隐私和监管影响。在部署微调或预训练模型之前,理解地区合规要求至关重要。

  • 中国(数据安全法、网络空间管理): 中国《数据安全法》和网络空间管理规则要求对个人和工业数据进行本地处理。在中国数据上训练的自定义模型必须在中国基础设施上训练。为在中国部署的预训练模型需要网络空间管理注册。考虑在华本地微调和部署。
  • 亚太地区(数据跨境): 新加坡、韩国和澳大利亚等地有数据驻留框架。自定义模型在多个 APAC 国家部署需要评估各自的数据本地化义务。一些国家(泰国、菲律宾)要求个人数据由当地运营商处理。设计支持地区部署的模型管道。
  • 企业部署(金融/医疗/法律): 部署在受管制行业(银行、医疗、律师事务所)的微调模型需要审计跟踪和模型变更文档。许多企业使用本地推理来满足数据驻留和客户隐私要求。实施模型版本控制、评估日志和访问控制。

参考资源

关于第三方事实的说明

本文引用了第三方AI模型、基准测试、价格和许可证。AI领域变化迅速。基准分数、许可条款、模型名称和API价格可能在写作时间和您阅读时之间发生变化。在根据本文做出部署或合规决策之前,请在每个提供商的官方来源核实当前数据:Hugging Face模型卡用于许可证和基准测试,提供商网站用于API定价,EUR-Lex用于当前GDPR和EU AI法案文本。本文反映截至2026年5月的公开可用信息。

使用本地LLM、您自己的API密钥或两者运行PromptQuorum — 您来决定使用哪个后端。

加入PromptQuorum等待列表 →

← 返回本地LLM