到目前為止,我們已經學會了:
RAG(Day 10):讓模型用到外部知識
微調(Day 11):讓模型學會專屬的語境
問題來了:
👉 「那我要怎麼知道,我的模型變得更好?」
👉 「怎麼比較 Azure 與 GCP 的輸出差異?」
今天我們來聊聊 模型評估 (Evaluation)。
1️⃣ 為什麼需要模型評估?
AI 模型的輸出不是單純的「正確/錯誤」,而是:
是否正確回答問題?
是否符合語境?
是否避免幻覺(hallucination)?
是否語氣符合品牌需求?
沒有評估,就很難知道 RAG 或 Fine-tuning 是否真的幫助到業務。
2️⃣ 模型評估的方法
🔹 自動化評估 (Quantitative)
BLEU / ROUGE / METEOR:常見於自然語言生成評估
Embedding 相似度:比較模型回答與標準答案的語意距離
精確率 / 召回率 (Precision / Recall):在分類或檢索場景常用
🔹 人工評估 (Qualitative)
人工標註:請人審查輸出是否正確
A/B 測試:比較兩個模型的回答,看哪一個用戶更滿意
使用者回饋:收集實際使用情境中的評價
3️⃣ Azure 與 GCP 的模型評估支援
Azure AI Foundry
提供 Evaluation 工具,可以定義評估資料集(問題 + 標準答案)
內建 Embedding 相似度、人工標註流程
可直接比較不同部署的模型輸出效果
GCP Vertex AI
提供 Evaluation Pipeline,可以跑自動化指標
支援 人類回饋 (Human-in-the-loop) 評估流程
可在 Vertex AI Studio 中做 多模型輸出比較 (Side-by-side comparison)
4️⃣ 簡單範例:比較兩個模型回答
假設我們有一個問題:「產品 A 的保固多久?」
Azure 比較方式 (Python)
expected_answer = "產品 A 的保固期為兩年"
model1_answer = "保固一年"
model2_answer = "保固期為兩年,並包含免費維修"
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('all-MiniLM-L6-v2')
score1 = util.cos_sim(model.encode(model1_answer), model.encode(expected_answer))
score2 = util.cos_sim(model.encode(model2_answer), model.encode(expected_answer))
print("模型1 相似度:", score1.item())
print("模型2 相似度:", score2.item())
輸出:
模型1 相似度:0.61
模型2 相似度:0.92
👉 很明顯,模型2 的表現更好。
5️⃣ 實務應用
企業內部 Q&A Bot:比較不同模型在 FAQ 上的正確率
客服自動回信:確保語氣、格式符合品牌需求
跨平台比較:同一批問題,分別丟給 Azure 和 GCP,看哪個效果更好
6️⃣ 小結
今天我們學會:
為什麼要做模型評估
自動化 vs 人工評估的方法
Azure 與 GCP 的評估工具
用範例比較模型輸出效果