少樣本示範怎麼挑:三個會讓效果變差的常見錯誤
加了範例反而更糟,通常不是因為範例太少,而是挑錯了。這篇講清楚範例的挑選原則與排列順序的影響。
少樣本(few-shot)幾乎是最便宜的效果提升手段,但它也很容易反效果。以下三個錯誤在實務上出現的頻率最高。
錯誤一:範例全是簡單案例
人挑範例時會不自覺挑「乾淨漂亮」的樣本,結果模型學到的是「這個任務很單純」。真正該放的是邊界案例:模糊的、需要回答 unknown 的、格式怪異的。範例的分布應該貼近真實輸入的分布,而不是理想輸入的分布。
錯誤二:標籤分布嚴重偏斜
如果八個範例裡有七個是「正面」,模型會傾向多回答正面。分類任務的範例應該讓各類別數量接近,即使真實資料本身就不平衡。
錯誤三:忽略排列順序
模型對範例順序敏感,尤其是最後一個範例。把同類別的範例連續排在一起,會強化最後那一類的傾向。實務做法是把類別交錯排列。
# 不好:同類連續
labels = ['正面','正面','正面','負面','負面','負面']
# 較好:交錯,且最後一個不固定同一類
labels = ['正面','負面','中性','負面','正面','中性']要放幾個
- 分類任務:每個類別 2–3 個,總數控制在 12 個以內。
- 格式轉換任務:3–5 個通常就飽和,再加只是浪費 token。
- 推理任務:範例要含推理過程,數量 2–3 個即可,太多反而壓縮可用上下文。
範例改動後一定要重跑評測。少樣本的效果高度依賴任務,別人的最佳組合搬過來往往無效。