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

第 2 課:微調與 RAG——2025 年最大的人工智慧爭論

微調與 RAG 的詳細比較:知識差距與行為差距。實用決策清單。混合方法。實際案例研究:當 RAG 獲勝時,當 Fine-tuning 獲勝時。

🧠 人工智慧與機器學習 — 第 1 課 第 2 課:微調與 RAG — 競爭 2025 年人工智慧最大討論

微調 LLM:AI 調優的藝術

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

亞洲開發網

簡介

「我該使用微調還是 RAG?」— 這是 2025-2026 年每次人工智慧聚會、論壇和訪談中被問到最多的問題。正確答案:取決於您要解決的問題。本文為您提供了一個正確回答的架構。


1. 診斷:知識差距與行為差距

核心原則

┌─────────────────────────────────────────────────────┐
│                                                     │
│   Model KHÔNG BIẾT thông tin bạn cần?               │
│   → Knowledge Gap → RAG 📚                          │
│                                                     │
│   Model BIẾT nhưng KHÔNG LÀM ĐÚNG cách bạn muốn?   │
│   → Behavior Gap → Fine-tuning 🎯                   │
│                                                     │
│   Cả hai?                                           │
│   → Fine-tuning + RAG (Hybrid) 🔀                   │
│                                                     │
└─────────────────────────────────────────────────────┘

2. 比較細節

2.1 綜合對比表

標準抹布微調
已解決知識差距(缺乏資訊)行為差距(行為)
資料可能會改變常規 → 強 RAG變化不大→適合FT
更新即時(更新資料庫)慢(重新訓練模型)
可解釋曹(來源引用)低(黑盒子)
設定成本50-500 美元$50–$10,000+
維護成本低(僅更新資料)高(需要時重新訓練)
延遲較慢(檢索步驟較多)更快(無需檢索)
準確度取決於檢索品質取決於訓練資料
幻覺減少(帶來源)還是有可能的(如果數據不好的話)
大規模檢索成本/時間花費 1 次訓練課程

2.2 實際例子

Case 1: Chatbot hỗ trợ khách hàng cần biết chính sách công ty
→ Chính sách thay đổi thường xuyên
→ Cần cite nguồn cho customer
→ RAG THẮNG ✅

Case 2: Model phải trả lời bằng tiếng Việt, formal, format markdown cụ thể
→ Đây là "hành vi" không phải "kiến thức"
→ Prompt engineering không ổn định
→ FINE-TUNING THẮNG ✅

Case 3: Model y khoa cần biết thuật ngữ chuyên ngành VÀ access medical records
→ Thuật ngữ = behavior (fine-tune)
→ Medical records = knowledge (RAG)
→ HYBRID THẮNG ✅

Case 4: Model cần trả lời giá sản phẩm real-time
→ Giá thay đổi liên tục
→ Fine-tune sẽ bị outdated ngay lập tức
→ RAG (hoặc Tool Use) THẮNG ✅

Case 5: Model nhỏ (Flash/Mini) cần perform như model lớn (Pro/4o)
→ "Chắt lọc" kiến thức từ model lớn xuống nhỏ
→ Distillation = một dạng fine-tuning
→ FINE-TUNING THẮNG ✅

3. 決策流程圖

                    ┌─────────────────────┐
                    │  Bạn cần gì từ LLM? │
                    └──────────┬──────────┘
                               │
              ┌────────────────┼────────────────┐
              ▼                ▼                ▼
    ┌─────────────┐  ┌──────────────┐  ┌──────────────┐
    │ Kiến thức   │  │ Hành vi      │  │ Cả hai       │
    │ mới/riêng   │  │ /Style/Format│  │              │
    └──────┬──────┘  └──────┬───────┘  └──────┬───────┘
           │                │                  │
           ▼                ▼                  ▼
    ┌──────────┐    ┌─────────────┐    ┌──────────────┐
    │ Data thay│    │Prompt eng.  │    │ FT cho style │
    │ đổi nhiều│    │ đã thử?     │    │ + RAG cho    │
    │ không?   │    │             │    │   knowledge  │
    └─────┬────┘    └──────┬──────┘    └──────────────┘
     Yes  │  No        No  │  Yes
      │   │             │  │
      ▼   ▼             ▼  ▼
    ┌───┐┌────┐    ┌───┐┌─────────┐
    │RAG││Cả 2│    │Thử││Fine-tune│
    │   ││    │    │PE ││         │
    └───┘└────┘    └───┘└─────────┘

4. 混合法-兩全其美

4.1 混合架構

# Fine-tune model cho: style, format, domain terminology
# RAG cho: factual data, recent information

class HybridAI:
    def __init__(self):
        self.model = "ft:gpt-4o-mini:xdev:customer-support:abc123"  # Fine-tuned
        self.rag = RAGPipeline(collection="company_docs")           # RAG
    
    def answer(self, question):
        # Step 1: Retrieve relevant context
        context = self.rag.search(question, top_k=3)
        
        # Step 2: Use fine-tuned model with context
        response = openai.chat.completions.create(
            model=self.model,  # Fine-tuned model → đúng style/format
            messages=[
                {"role": "system", "content": f"Context:\n{context}"},
                {"role": "user", "content": question}
            ]
        )
        return response.choices[0].message.content

4.2 何時使用混合?

  • 需要單獨的樣式和單獨的資料
  • 大型企業系統
  • 專業領域(醫療、法律、金融)
  • 預算足夠雙方

5. 實際個案研究

案例研究 1:客戶支援機器人 — RAG 獲勝

問題:聊天機器人需要回答有關 500 多種產品的問題,政策每週都會變化。

嘗試Fine-tuning:模型在舊政策下,每次更新都需要訓​​練→費用$200/次×4次/月=$800/月。

嘗試 RAG:5 分鐘內更新資料庫,檢索成本約為 0.001 美元/查詢。每月費用:~50 美元。

結論:RAG 便宜 16 倍,並且始終是最新的。

案例研究 2:程式碼審查機器人 — 微調獲勝

問題:模型需要根據團隊自己的編碼標準(命名約定、架構模式、非常具體的錯誤處理風格)來審查程式碼。

嘗試提示:系統提示太長(3000個令牌),仍然不一致。

嘗試 RAG:編碼標準文件沒有足夠的上下文,輸出太通用。

嘗試微調:200個範例(程式碼+審閱意見)→模型一致性95%+,系統提示從3000減少→200個令牌。

結論:微調將代幣成本降低了 93% + 提高了一致性。

案例研究 3:醫學問答 — 混合獲勝

問題:醫療聊天機器人需要理解專業術語並根據患者記錄做出回應。

解決方案:微調越南醫學術語+病患記錄的 RAG。


6. 成本比較:具體數字

場景:每天 10,000 次查詢,30 天

方法設定成本每月推理總計/月
基本款+提示0 美元〜$300300 美元
抹布$200(1 次)~$400(檢索開銷)400 美元
微調$100–$500(1 次)~$250(較短的提示)250 美元
混合500 美元~$350350 美元

💡 如果您可以縮短系統提示,那麼微調可以比基本模型便宜(更少的代幣=更少的錢)。但包括維護費用!


課程總結

  • 知識差距 → RAG | 行為差距 → 微調| 兩者 → 混合
  • 資料頻繁變化→RAG(即時更新)
  • 風格/格式需高度一致性→微調
  • 80% 的情況 → 快速工程或 RAG 就足夠了
  • 混合方法是企業的業界標準
  • 始終計算總成本(訓練+推理+維護)

練習

  1. 分析貴公司的 5 個用例 → 將知識與行為差距進行分類
  2. 為特定用例繪製決策流程圖
  3. 計算估計成本:RAG 與針對該用例的微調
  4. 實際系統的混合架構設計