Back to blog
    如何微調 LLM:2026 年完整指南
    fine-tuningguidellmloragguftutorial

    如何微調 LLM:2026 年完整指南

    逐步學習如何微調大型語言模型——從準備訓練資料和選擇基礎模型,到配置 LoRA、評估結果和本地部署。

    EEdward Yang··Updated

    要微調 LLM,你需要準備一個指令-回應對的 JSONL 資料集、選擇基礎模型(通常是 7B-8B 參數)、應用 LoRA 或 QLoRA 適配器、訓練 1-5 個週期,並將結果匯出為 GGUF 文件以進行部署。整個過程根據資料集大小和硬體,需要 30 分鐘到幾小時。根據 Hugging Face,像 LoRA 這樣的參數高效微調方法可以將可訓練參數減少 99% 以上,同時達到完整微調 2-5% 以內的結果。來自 Stanford HAI AI Index Report 的研究顯示,微調的較小模型在特定領域任務上一貫優於較大的提示工程模型,使微調成為建構生產 AI 最具成本效益的方法之一。

    本指南涵蓋整個過程:微調何時有意義、如何準備資料、選擇哪個基礎模型、如何配置訓練,以及如何部署結果。

    你應該什麼時候微調?

    微調並不總是正確答案。在投入時間準備資料和運行訓練作業之前,考慮你的問題是否真的需要它。

    微調有意義的情況:

    • 提示工程遇到瓶頸。 你嘗試了少樣本示例、思維鏈提示詞和系統指令,但模型仍然無法為你的領域產生一致結果。
    • 你需要特定的輸出格式。 你的應用程式需要結構化 JSON、特定的寫作風格或基礎模型難以可靠產生的特定領域術語。
    • 延遲和成本在規模上很重要。 在狹窄任務上,微調的 7B 模型可以優於提示工程的 70B 模型——以推論成本的一小部分。
    • 隱私要求禁止雲端 API。 微調模型可以完全在你的基礎設施上運行,將敏感資料保持在第三方伺服器之外。

    考慮替代方案的情況:

    • 你的任務是廣泛的且頻繁變化——提示工程或 RAG 可能更靈活。
    • 你有少於 100 個高品質訓練範例——微調需要足夠的資料來學習模式而不過擬合。
    • 你需要模型訪問頻繁變化的外部知識——檢索增強生成更好地處理這個問題。

    要進行更深入的比較,請參閱我們關於微調 vs RAG 的指南。

    第 1 步:準備訓練資料

    資料品質是微調成功的單一最大因素。在 500 個優秀範例上訓練的模型將優於在 10,000 個平庸範例上訓練的模型。

    格式:JSONL

    微調資料的標準格式是 JSONL(JSON Lines)——每行一個 JSON 物件。每行通常包含一個指令和所需的回應:

    {"instruction": "Classify this support ticket as billing, technical, or general.", "input": "I can't log in to my account after resetting my password.", "output": "technical"}
    {"instruction": "Classify this support ticket as billing, technical, or general.", "input": "When will I be charged for the annual plan?", "output": "billing"}

    對於對話模型,使用訊息格式:

    {"messages": [{"role": "system", "content": "You are a medical assistant."}, {"role": "user", "content": "What are common side effects of metformin?"}, {"role": "assistant", "content": "Common side effects include nausea, diarrhea, and stomach pain..."}]}

    資料品質檢查清單

    • 一致的格式 — 每個範例應遵循相同的結構
    • 多樣的範例 — 涵蓋邊緣案例,而非只是順利路徑
    • 準確的標注 — 垃圾進,垃圾出。讓領域專家審查你的資料。
    • 平衡的分布 — 如果你在訓練分類器,每個類別大致相等的範例防止模型默認為多數標注
    • 沒有資料洩露 — 保留驗證集與訓練資料分開以測量真實性能

    你需要多少資料?

    沒有通用答案,但以下是實際起點:

    任務類型最少範例甜蜜點
    分類每類 100–200 個每類 500–1,000 個
    摘要500 個2,000–5,000 個
    對話1,000 個5,000–10,000 個
    代碼生成500 個3,000–8,000 個
    領域問答300 個1,000–3,000 個

    更多資料有幫助,但回報遞減。先關注品質,然後擴展規模。

    第 2 步:選擇基礎模型

    你的基礎模型決定你的起始點。正確的選擇取決於你的任務、硬體限制和許可要求。

    2026 年流行的基礎模型

    模型大小優勢授權
    Llama 38B、70B通用、強推理、大社區Meta Community
    Mistral7B、8x7B快速推論、擅長代碼和指令遵循Apache 2.0
    Qwen 2.57B、14B、72B多語言、基準分數強Apache 2.0
    Gemma 22B、9B、27B高效、適合資源受限部署Google
    DeepSeek7B、67B擅長代碼和數學DeepSeek License
    Phi-33.8B、14B小但有能力、適合邊緣部署MIT

    選擇標準

    1. 任務適合度 — 在代碼上預訓練的模型(DeepSeek、CodeLlama)對代碼任務的微調效果更好
    2. 大小 vs 硬體 — 7B 模型在單個 GPU 上微調;70B 需要多 GPU 設置
    3. 授權 — 檢查你的部署場景是否允許商業使用
    4. 社區支持 — 更流行的模型有更多微調指南、適配器和量化版本

    對於大多數任務,從 7B–8B 模型開始。它足夠大以具有能力,但足夠小以快速微調並在適度的硬體上部署。

    第 3 步:配置訓練

    完整微調 vs LoRA

    完整微調更新模型中的每個權重。它產生最佳結果,但需要大量 GPU 記憶體——對於 7B 參數以上的模型通常需要多個高端 GPU。

    **LoRA(低秩適應)**凍結基礎模型並訓練修改模型行為的小型適配器矩陣。它使用記憶體的一小部分且訓練更快,結果通常在完整微調的 5% 以內。

    QLoRA 通過在應用 LoRA 適配器之前將基礎模型量化為 4 位精度更進一步,允許你在具有 8GB VRAM 的單個消費級 GPU 上微調 7B 模型。

    對於大多數團隊,LoRA 或 QLoRA 是正確的選擇。完整微調保留給擁有大量計算資源且需要最大性能的情況。

    關鍵超參數

    參數典型範圍功能
    學習率1e-5 到 5e-4模型更新其權重的積極程度。太高 = 不穩定;太低 = 學習緩慢。
    週期1–5模型看完整資料集的次數。更多週期有過擬合風險。
    批次大小4–32同時處理的範例數。更大 = 更平滑的梯度但更多記憶體。
    LoRA 秩8–64適配器容量。更高的秩 = 更具表達力但更多參數。
    LoRA alpha16–128LoRA 更新的縮放因子。通常設置為秩的 2 倍。

    實際起始配置

    對於單 GPU 上帶 LoRA 的 7B 模型:

    Learning rate: 2e-4
    Epochs: 3
    Batch size: 8 (with gradient accumulation)
    LoRA rank: 16
    LoRA alpha: 32
    LoRA target modules: q_proj, v_proj, k_proj, o_proj
    Warmup steps: 100
    Weight decay: 0.01
    

    從這裡開始並根據驗證損失進行調整。如果損失過早達到平台,增加學習率或秩。如果損失激增,降低學習率。

    第 4 步:訓練和監控

    在訓練期間,觀察兩個關鍵指標:

    • 訓練損失 — 應該穩定下降。突然激增意味著學習率過高。
    • 驗證損失 — 應該跟蹤訓練損失。當驗證損失開始增加而訓練損失繼續下降時,你正在過擬合。

    問題跡象

    症狀可能原因修復
    損失不下降學習率太低或資料問題增加學習率;檢查資料格式
    損失激增然後恢復學習率太高學習率降低 2–5 倍
    驗證損失與訓練發散過擬合減少週期、添加丟棄、使用更多資料
    輸出重複或退化災難性遺忘或資料不良降低學習率、檢查資料品質

    在帶 LoRA 的 7B 模型上對 5,000 個範例進行訓練,在單個 A100 GPU 上通常需要 30–90 分鐘。使用 Ertas Studio,這在託管雲端 GPU 上運行,因此你不需要自行提供硬體。

    第 5 步:評估你的模型

    不要跳過評估。在訓練損失上得分良好的模型仍然可以產生糟糕的真實世界輸出。

    評估方法

    1. 保留測試集 — 在訓練期間未見過的範例上運行模型。將輸出與基準事實進行比較。
    2. A/B 比較 — 在相同提示詞上從基礎模型和微調模型生成輸出。讓領域專家評估哪個更好。
    3. 任務特定指標 — 分類的準確率、摘要的 ROUGE、提取任務的精確匹配。
    4. 感覺測試 — 有時最重要的評估只是使用模型,看看它對你的使用案例是否感覺正確。

    良好效果的表現

    • 模型一致地遵循你的輸出格式
    • 正確使用領域術語
    • 與基礎模型相比幻覺減少
    • 輸出匹配你的訓練範例的語氣和風格

    如果結果不令人滿意,進行迭代:審查訓練資料品質、調整超參數,或為失敗案例添加更多範例。

    第 6 步:匯出和部署

    一旦你對模型滿意,匯出它以進行部署。本地推論最常見的格式是 GGUF——一個由 llama.cpp、Ollama、LM Studio 和許多其他工具支持的開放標準。

    為什麼選擇 GGUF?

    • 內建量化 — 以最小的品質損失將模型大小減少 2–4 倍
    • CPU 推論 — 在沒有 GPU 的消費級硬體上運行
    • 通用相容性 — 適用於所有主要的本地推論工具
    • 沒有供應商鎖定 — 這是你控制的開放格式

    部署選項

    選項最適合設置工作量
    Ollama快速本地測試、API 相容服務極少
    LM Studio桌面聊天介面、非技術用戶極少
    llama.cpp最大控制、自訂應用程式中等
    vLLM高吞吐量的生產服務中等
    Open WebUI面向團隊的類 ChatGPT 介面中等

    示例:使用 Ollama 部署

    從 Ertas Studio 匯出 GGUF 後:

    # Create a Modelfile
    echo 'FROM ./my-fine-tuned-model.gguf' > Modelfile
    
    # Import into Ollama
    ollama create my-model -f Modelfile
    
    # Run inference
    ollama run my-model "Classify this ticket: I can't reset my password"

    你的微調模型現在完全在你的硬體上運行。沒有 API 呼叫,沒有按 token 費用,沒有資料離開你的網路。

    更快的方式:Ertas Studio

    上述工作流程涉及設置訓練環境、撰寫配置文件和管理 GPU 實例。Ertas Studio 通過視覺畫布介面處理所有這些:

    1. 上傳你的 JSONL 資料集 — Studio 驗證你的資料並在訓練開始前標記問題
    2. 選擇基礎模型 — 瀏覽可用模型或從 Hugging Face 匯入
    3. 配置和啟動 — 以視覺方式設置超參數並在託管雲端 GPU 上開始訓練
    4. 比較結果 — 並排運行多個微調作業並在同一畫布上比較輸出
    5. 匯出為 GGUF — 下載你的模型並部署到任何地方

    無需訓練腳本。無需管理基礎設施。無需終端機。

    以 $14.50/月的早鳥定價永久鎖定 — 此價格終身保證,並在上市時增至 $34.50/月。加入優先預約 →

    常見問題

    微調 LLM 需要多長時間?

    微調時間取決於你的資料集大小、基礎模型和硬體。在帶 LoRA 的 7B 模型上對 5,000 個範例進行訓練,在單個 A100 GPU 上通常需要 30-90 分鐘。較小的資料集(500-1,000 個範例)可以在 15 分鐘內完成。在消費級 GPU(RTX 3090/4090)上使用 QLoRA 需要 2-4 倍長,但仍以小時而非天來計算。資料準備步驟通常比實際訓練花費更長時間。

    微調需要什麼硬體?

    對於 7B 模型的 LoRA/QLoRA 微調,你需要至少 8 GB VRAM 的 GPU(例如 NVIDIA RTX 3060)。QLoRA 特別是為了在消費級硬體上微調而設計——具有 24 GB VRAM 的單個 RTX 4090 可以處理最多 33B 參數的模型。對於完整微調(不建議大多數團隊使用),你需要多個高端 GPU,如 A100。Lambda Labs、RunPod 等雲端 GPU 提供商,或像 Ertas Studio 這樣的託管服務,完全消除了硬體要求。

    我需要多少訓練資料?

    它因任務複雜性而異。對於分類任務,每類最少 100-200 個範例,500-1,000 個是甜蜜點。對話微調至少需要 1,000 個範例,理想情況下 5,000-10,000 個。代碼生成任務從約 500 個範例開始。品質遠比數量重要——根據 Meta AI 的研究,500 個高品質、由專家整理的範例通常優於 10,000 個噪音較大的範例。從小規模開始,評估,並針對失敗案例添加更多資料。

    我可以不編碼地進行微調嗎?

    可以。Ertas Studio、Hugging Face AutoTrain 和 OpenAI 的微調 API 等工具提供視覺或簡化介面,為你處理訓練管道。你準備 JSONL 資料集、上傳它、選擇基礎模型、配置基本參數,然後開始訓練。無需 Python 腳本,無需 GPU 部署,無需基礎設施管理。

    接下來閱讀什麼

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Keep reading