昨天我們談到 LLM(大型語言模型)如何從 Transformer 的架構中誕生。
那麼,LLM 為什麼能這麼聰明?為什麼只要問它一個問題或是給它一段提示,它就能「學會」新的任務,並且產出非常厲害的答案?
這背後的關鍵能力,就是— In-Context Learning(ICL) 。
沒錯,今天就要來講講什麼是 In-Context Learning~~
➔ 這聽起來像是「學習」,但奇妙的是,語言模型其實並不是被訓練來學會從例子中學習;它的訓練目標只是 預測「下一個 token」
➔ 因此,LLM 的預訓練(pre-training)任務和 In-Context Learning 之間其實存在一個「mismatch」
在 ICL 時,我們通常會在 prompt 裡給模型幾組輸入輸出組( input–output pairs ),以展示任務的模式,最後給一個「測試的 input」,請模型產出 output
如下圖所示:
模型會試著分析:
🚨 但要注意的是,ICL 應該說是從 prompt 中的訓練例子去抓住特定的表達模式或是語意關係,並非真的去學習 input 和 output 之間的關聯性
✅ 一致標籤:
香蕉:黃色
蘋果:紅色
葡萄:紫色
❌ 不一致標籤:
香蕉:黃色
蘋果:長在樹上
葡萄:一顆一顆的
In-Context Learning 讓 LLM 從「參數內學習」走向「上下文內學習」,我們不再需要動模型權重,只需調整 prompt,模型就能在眼前「現場學會」新的任務。
而更進一步的發展是我們不只想讓模型模仿學習,更想要讓它能「逐步推理」。
這就是下一篇要介紹的 Chain-of-Thought(思維鏈) 。
參考資料
Reference 1
Reference 2
Reference 3
Reference 4
Reference 5