Chuyển đến nội dung chính

第一課:什麼是微調? — 景觀以及為什麼你還不需要它。

在現代法學碩士背景下定義微調。預訓練 vs SFT vs RLHF/DPO。何時進行微調,何時不進行。決策架構:快速工程→RAG→微調。

🧠 人工智慧與機器學習 — 第 0 課 第一課:什麼是微調? — 风景 & 為什麼你(還)需要它

微調 LLM:AI 調優的藝術

第 1 部分:概述與策略 — 何時進行微調?

亞洲開發網

簡介

“微调”是人工智能领域最受关注的流行语之一,但也是最被滥用的技术。在进入代码之前,您需要了解:Fine-tuning 到底是什么,它在 AI 管道中的什么位置,以及何时真正需要它。

⚠️ 黃金法則:80% 的時間你認為你需要微調,實際上即時工程或 RAG 就足夠了。微调是最后的选择,而不是第一。


1. LLM 的生命週期

在了解fine-tuning之前,我们先看看LLM是如何创建的:

┌──────────────────────────────────────────────────────────────────┐
│                    VÒNG ĐỜI MỘT LLM                             │
│                                                                  │
│  Phase 1: PRE-TRAINING                                          │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ Huấn luyện trên TOÀN BỘ internet (~15 nghìn tỷ tokens)  │    │
│  │ → Học ngôn ngữ, kiến thức, lập luận chung               │    │
│  │ Cost: $10M–$100M+ | Time: Weeks–Months | GPUs: Hàng nghìn│    │
│  └─────────────────────────────────────────────────────────┘    │
│                         │                                       │
│                         ▼                                       │
│  Phase 2: SUPERVISED FINE-TUNING (SFT) ← Bạn đang ở đây        │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ Huấn luyện thêm trên dataset nhỏ, chất lượng cao        │    │
│  │ → Dạy model cách tuân thủ instructions, format, style    │    │
│  │ Cost: $10–$10,000 | Time: Minutes–Hours | GPUs: 1–8      │    │
│  └─────────────────────────────────────────────────────────┘    │
│                         │                                       │
│                         ▼                                       │
│  Phase 3: ALIGNMENT (RLHF / DPO)                               │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ Tinh chỉnh model theo preferences con người              │    │
│  │ → An toàn, helpful, honest                               │    │
│  │ Cost: $1,000–$50,000 | Cần human annotators              │    │
│  └─────────────────────────────────────────────────────────┘    │
└──────────────────────────────────────────────────────────────────┘

底线

  • 預訓練:讓模型「閱讀」整個網路→知道一切但不知道如何回答
  • SFT(微調):教模型如何以您想要的格式/風格做出回應
  • RLHF/DPO:完善模型以“正确”地响应人类

**當人們說「微調」時,通常指的是第二階段—SFT。 **


2. Fine-tuning 解決什麼問題?

2.1 行为与知识

這是決定是否需要微調的最重要的區別:

问题类型解决方案
型号不知道贵公司的产品知识差距抹布
模型响应必须是越南语,具体 JSON 格式行为差距微调
模型需要即時數據(股票價格、天氣)知識差距RAG / 工具使用
模型未使用正確的行業術語行為差距微調
模特“话太多”,你需要简单回答行为差距微调(或提示)
模型不知道最新的內部政策知識差距抹布

2.2 具体例子

❌无需微调:

  • “我希望聊天機器人了解公司的產品” → 使用 RAG
  • “我希望模型能夠準確回答文件中的問題” → 使用 RAG
  • “我需要一个模型来读取数据库并响应” → 使用工具使用/代理

✅ 需要微调:

  • “模型應始終以具有特定模式的 JSON 進行回應” → 微調
  • 「模型需要使用自己的品牌基調,與預設的有很大不同」→ 微調
  • 「小模型(Flash/Mini)需要像大模型(Pro/4o)一樣執行」→ 微調(蒸餾)
  • “模型必須理解越南醫學術語” → 微調 + RAG

3. 決策架構:三步驟階梯

在微調之前,請依序完成 3 個步驟:

Bước 1: PROMPT ENGINEERING
├── Chi phí: $0 | Thời gian: Phút
├── Thử: System prompt tốt hơn, few-shot examples, chain-of-thought
├── Đủ tốt? → DỪNG ✅
└── Không đủ? → Bước 2

Bước 2: RAG (Retrieval-Augmented Generation)
├── Chi phí: $50–$500 setup | Thời gian: Ngày
├── Thử: Kết nối knowledge base, vector DB
├── Đủ tốt? → DỪNG ✅
└── Không đủ? → Bước 3

Bước 3: FINE-TUNING
├── Chi phí: $50–$10,000+ | Thời gian: Days–Weeks
├── Chuẩn bị data, train, evaluate, iterate
└── Đây là lựa chọn cuối cùng

微調前的檢查清單

  • 嘗試過至少5個不同的系統提示版本?
  • 嘗試過幾次提示(提示中 3-5 個範例)?
  • 如果您需要新知識 → 嘗試過 RAG 嗎?
  • 擁有至少 100 個高品質訓練資料範例?
  • 是否有訓練+評估迭代的預算?
  • 此型號是否有長期維護期?

4.微調方法

4.1 全面微調

  • 更新所有模型權重
  • 需要龐大的 GPU (A100 80GB+)
  • 高成本、災難性遺忘風險
  • 2025-2026 年實務中很少需要

4.2 透過 API 進行監督微調 (SFT)

  • 使用Google/OpenAI API
  • 無需GPU管理
  • 快速、簡單、成本適中
  • 這是最常用的方法

4.3 LoRA / QLoRA(參數高效率)

  • 僅更新權重的小部分(~0.1–1%)
  • 可在消費級 GPU 上運作(RTX 3090、T4)
  • 成本最低
  • 需要更多技術知識
┌─────────────────────────────────────────────────┐
│           So sánh 3 phương pháp                  │
│                                                  │
│  Full FT    ████████████████████  $$$$$  🔥🔥🔥  │
│  SFT (API)  ██████████           $$     🔥       │
│  LoRA       ████                 $      🔥🔥     │
│                                                  │
│  ████ = Resources    $$$ = Cost    🔥 = Difficulty│
└─────────────────────────────────────────────────┘

5. 2025-2026 年景觀:誰提供微調?

供應商支援的型號定價模式優點
Google(Vertex AI)Gemini 2.0 閃存,專業版每個訓練令牌以基本模型推斷價格
開放人工智慧GPT-4o-迷你、GPT-4o每個訓練令牌生態系統龐大,易於使用
人為尚未發布 SFT不適用不適用於最終用戶
抱臉所有開源模型自架/AutoTrain最靈活、最便宜
攜手人工智慧LLaMA,米斯特拉爾,...每個訓練令牌基礎設施管理
不懶惰LLaMA,米斯特拉爾,...免費(自架)速度提高 2 倍,顯存更少

6. 快速示範:微調“Hello World”

享受最簡單的微調-使用 OpenAI API:

from openai import OpenAI
import json

client = OpenAI()

# Step 1: Chuẩn bị dataset (tối thiểu ~10 examples cho demo)
training_data = [
    {"messages": [
        {"role": "system", "content": "Bạn là trợ lý hỗ trợ khách hàng của XDev."},
        {"role": "user", "content": "Giá dịch vụ thế nào?"},
        {"role": "assistant", "content": "Dạ, XDev có 3 gói: Starter (miễn phí), Pro ($29/tháng), Enterprise (liên hệ). Anh/chị quan tâm gói nào ạ? 😊"}
    ]},
    {"messages": [
        {"role": "system", "content": "Bạn là trợ lý hỗ trợ khách hàng của XDev."},
        {"role": "user", "content": "Làm sao liên hệ support?"},
        {"role": "assistant", "content": "Dạ, anh/chị có thể liên hệ qua: 📧 [email protected] hoặc 💬 chat trực tiếp trên website. Team support online 9h-18h (GMT+7) các ngày trong tuần ạ!"}
    ]},
    # ... thêm 8+ examples nữa
]

# Step 2: Save thành JSONL file
with open("training_data.jsonl", "w") as f:
    for item in training_data:
        f.write(json.dumps(item, ensure_ascii=False) + "\n")

# Step 3: Upload file
file = client.files.create(
    file=open("training_data.jsonl", "rb"),
    purpose="fine-tune"
)

# Step 4: Tạo fine-tuning job
job = client.fine_tuning.jobs.create(
    training_file=file.id,
    model="gpt-4o-mini-2024-07-18",
    hyperparameters={"n_epochs": 3}
)

print(f"Job ID: {job.id}")
print(f"Status: {job.status}")  # → "validating_files" → "running" → "succeeded"

💡 注意:這只是一個示範流程。第 7 課和第 9 課將詳細介紹實際資料集。


課程總結

  • 微調 = 教導模型如何行為,而不是教導知識
  • 知識差距 → 使用 RAG | 行為差距 → 使用微調
  • 始終執行 3 個步驟:快速工程 → RAG → 微調
  • 3 種方法:完整 FT(罕見)|透過 API 進行 SFT(流行)| LoRA(節儉)
  • Google Vertex AI + OpenAI 是 API 微調的兩個主要平台
  • LoRA/QLoRA 自託管,成本最低

練習

  1. 列出您工作中的 3 個人工智慧問題—將知識差距與行為差距進行分類
  2. 對於每個問題,建議一個解決方案:提示工程、RAG 還是微調?
  3. 為您感興趣的用例建立 10 個訓練範例(JSONL 格式)
  4. 閱讀 OpenAI Cookbook 上的部落格文章“微調實用指南”