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

レッスン 2: 微調整 vs RAG — 2025 年最大の AI 論争

Fine-tuning と RAG の詳細な比較: 知識のギャップと行動のギャップ。実践的な意思決定のチェックリスト。ハイブリッドアプローチ。実際のケーススタディ: RAG が勝つ場合、Fine-tuning が勝つ場合。

🧠 AI と ML — レッスン 1 レッスン 2: 微調整 vs RAG — 競争 最大の議論 AI 2025

LLM の微調整: AI チューニングの技術

パート 1: 概要と戦略 — いつ微調整するか?

xdev.asia

はじめに

「Fine-tuning と RAG を使用するべきですか?」 — これは、2025 年から 2026 年のあらゆる AI ミートアップ、フォーラム、インタビューで最もよく聞かれる質問です。正解: 解決している問題によって異なります。この記事では、正しく答えるためのフレームワークを提供します。


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適
更新インスタント(DB更新)遅い (モデルを再トレーニング)
説明可能曹操 (出典引用)低 (ブラック ボックス)
セットアップ費用$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 以上の製品に関する質問に答える必要があり、ポリシーは毎週変わります。

微調整を試す: モデルは古いポリシーに基づいており、更新ごとにトレーニングが必要です。コストは $200/回 × 4 回/月 = $800/月です。

RAG を試す: データベースを 5 分で更新します。取得コストはクエリあたり ~0.001 ドルです。月額料金: ~$50。

結論: RAG は 16 倍安く、常に最新の状態です。

ケーススタディ 2: コード レビュー ボット — 微調整が成功

問題: モデルは、チーム独自のコーディング標準 (命名規則、アーキテクチャ パターン、非常に特殊なエラー処理スタイル) に従ってコードをレビューする必要があります。

プロンプトを試行: システム プロンプトが長すぎます (3000 トークン)。まだ一貫性がありません。

RAG を試してください: コーディング標準ドキュメントに十分なコンテキストがありません。出力が汎用的すぎます。

微調整を試す: 200 例 (コード + レビュー コメント) → モデルの一貫性 95% 以上、システム プロンプトが 3000 → 200 トークンに減少しました。

結論: 微調整により、トークン コストが 93% 削減され、一貫性が向上します。

ケーススタディ 3: 医療 Q&A — ハイブリッドの勝利

問題: 医療チャットボットは専門用語を理解し、患者記録に基づいて応答する必要があります。

解決策: ベトナム語の医療用語と患者記録の RAG を微調整します。


6. コストの比較: 具体的な数値

シナリオ: 10,000 クエリ/日、30 日間

アプローチセットアップ費用月次推論合計/月
ベースモデル + プロンプト$0~$300$300
ラグ$200 (1回)~$400 (取得オーバーヘッド)$400
微調整$100–$500 (1 回)~$250 (短いプロンプト)$250
ハイブリッド500ドル~$350$350

💡 システムプロンプトを短縮できれば、微調整は基本モデルより 安価 になります (トークンが少なくなる = お金が減ります)。ただし維持費込み!


レッスンの概要

  • 知識ギャップ → RAG | 動作のギャップ → 微調整 | 両方 → ハイブリッド
  • データが頻繁に変更される → RAG (即時更新)
  • スタイル/フォーマットに高い一貫性が必要 → 微調整
  • 80% のケース → プロンプト エンジニアリングまたは RAG で十分
  • ハイブリッド アプローチは企業の業界標準です
  • 総コスト (トレーニング + 推論 + メンテナンス) を常に計算します

演習

  1. 社内の 5 つのユースケースを分析 → 知識と行動のギャップを分類する
  2. 特定のユースケースの意思決定フローチャートを作成する
  3. 推定コストを計算します: RAG とそのユースケースの微調整
  4. 実用的なシステムを実現するためのハイブリッドアーキテクチャ設計