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

第 8 課:針對生產微調 Gemini — 先進技術

從大模型→小模型的蒸餾。超參數優化。綜合評估管道。 A/B 測試。多任務微調。成本優化。

🧠 人工智慧與機器學習 — 第 7 課 第 8 課:為生產微調 Gemini — 先進技術

微調 LLM:AI 調優的藝術

第 3 部分:在 Google Gemini / Vertex AI 上進行微調

亞洲開發網

簡介

微調一次是原型,微調到生產需要迭代、評估和最佳化。


1.蒸餾:大模型→小模型

# Step 1: Dùng Gemini Pro (lớn) để generate training data
# Step 2: Fine-tune Gemini Flash (nhỏ) trên data đó
# → Flash performs gần Pro nhưng rẻ hơn 10x

def distill_dataset(prompts, teacher_model="gemini-2.0-pro"):
    training_data = []
    for prompt in prompts:
        response = client.models.generate_content(
            model=teacher_model, contents=prompt
        )
        training_data.append({
            "messages": [
                {"role": "user", "content": prompt},
                {"role": "model", "content": response.text}
            ]
        })
    return training_data

2. 超參數優化

參數預設何時增加何時減少
時代3小資料集(<200)大資料集(>2000)
學習率1.0慢學習模型模型「忘記」舊知識

3. A/B 測試框架

import random

def ab_test(query, model_a, model_b, n_trials=100):
    results = {"a_wins": 0, "b_wins": 0, "tie": 0}
    for _ in range(n_trials):
        resp_a = call_model(model_a, query)
        resp_b = call_model(model_b, query)
        winner = llm_judge(query, resp_a, resp_b)
        results[winner] += 1
    return results

總結

  • 蒸餾:蒸餾大→小模型知識,節省 10 倍推理
  • 超參數調整:epochs、學習率、batch size
  • 投入生產前需要進行 A/B 測試
  • 多重任務微調:1 個模型,多種功能

練習

  1. 進行蒸餾:Gemini Pro → Gemini Flash
  2. 運行3個不同epoch的實驗,比較結果
  3. 建構A/B測試框架
  4. 計算節省的成本:精煉模型與原始 Pro 模型