iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
AI & Data

AI 實戰 30 天:Azure Foundry 與 Vertex AI 全面探索系列 第 11

Day 11 - 模型微調 (Fine-tuning) 讓 AI 更懂你的語境

  • 分享至 

  • xImage
  •  

在前幾天的內容中,我們已經體驗了:

通用模型(如 GPT-4, Gemini)很厲害,但有時候回答不夠專業

RAG (Day 10) 能幫助 AI 結合外部知識

不過有些情境,RAG 還不夠,例如:

想要 AI 掌握專屬於某領域的語氣/風格

想讓 AI 產出固定格式的回覆(像是客服回信模板)

想降低每次都要附加「額外知識」的需求

這時候,就需要 微調 (Fine-tuning)。

1️⃣ 什麼是微調?

原始模型:已經在大量通用數據上訓練

微調模型:在原始模型基礎上,再用 你的專屬資料集 進行額外訓練

這樣,模型就會更符合你的業務需求。

2️⃣ 什麼時候需要微調?

✅ 適合微調的情境:

客服固定格式回覆

專業領域術語(醫療、金融、製造業專有名詞)

公司內部專屬語氣

❌ 不需要微調的情境:

一般問答(通用知識用 RAG 就足夠)

不斷變動的資訊(新聞、價格 → 適合用檢索)

3️⃣ Azure AI Foundry 的微調流程

準備資料:JSONL 格式,例如:

{"messages": [{"role": "system", "content": "你是客服助理"}, {"role": "user", "content": "產品A多久保固?"}, {"role": "assistant", "content": "產品A提供兩年保固,並包含免費維修"}]}
{"messages": [{"role": "system", "content": "你是客服助理"}, {"role": "user", "content": "如何退貨?"}, {"role": "assistant", "content": "請於30天內提出申請,並保留發票"}]}

上傳資料:到 Azure AI Foundry → Fine-tuning → 選擇基礎模型 (如 GPT-3.5-turbo)

訓練模型:系統會自動處理

部署並呼叫:之後可以像一般模型一樣使用,只是換成微調過的 deployment name

4️⃣ GCP Vertex AI 的微調流程

GCP 提供 自訂訓練 (Custom Training) 與 微調工具

適合微調 Gemini Pro、Text-Bison 等模型

操作方式:

準備資料集(格式類似 JSONL 或 CSV)

在 Vertex AI Studio 中選擇 Tune model

設定超參數(訓練次數、學習率)

訓練完成後,會得到一個新的 model endpoint,可直接部署

5️⃣ 簡單範例:使用微調後的模型

from openai import AzureOpenAI
import os

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_KEY"),
    api_version="2023-05-15",
    azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT")
)

response = client.chat.completions.create(
    model="fine-tuned-gpt35",  # 這是微調過的模型
    messages=[
        {"role": "user", "content": "請幫我寫一封客服回信,關於退貨流程"}
    ]
)

print(response.choices[0].message.content)

輸出的內容就會依照 你在微調資料中定義的格式,而不是隨機生成。

6️⃣ 小結

今天我們學會了:

微調的意義與使用時機

Azure AI Foundry 與 GCP Vertex AI 的微調流程

簡單的範例呼叫方式


上一篇
Day 10 - AI 與資料整合:讓模型理解企業知識
下一篇
Day 12:模型評估與比較 — 如何判斷 AI 真的有進步?
系列文
AI 實戰 30 天:Azure Foundry 與 Vertex AI 全面探索14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言