Teaching LLMs to reason like Bayesians

Teaching LLMs to reason like Bayesians
Bayesian teaching enables probabilistic reasoning in large language models | Nature Communications


白話解釋

想像你在跟一個旅行助理對話,每說一個新需求,他應該要越來越了解你。

普通 LLM:「我猜你想要這個,而且我不打算改。」
→ 不管你說什麼新資訊,推薦結果幾乎不變。

Bayesian LLM:「根據你剛說的,我更新我的判斷……」
→ 每輪對話都像偵探收集線索,越說越準。


動機

LLM 做不好「隨對話輪次更新信念」這件事。它更像是「一次性預測」機器,而不是「持續推理」機器。

問題核心:如何教模型學會在不確定中推理,而不只是記住答案?

傳統 SFT 只告訴模型「這一輪的答案是 X」,沒有教它「當我多知道一個資訊,信念應該怎麼變化」。

這篇的解法:拿 Bayesian assistant 的行為當示範資料去 SFT,讓模型學會「更新規則」本身。


兩種 Supervision 方式

第一種:Oracle teaching
直接知道使用者真實偏好,每輪都給正確答案
→ 教的是「正解」,但沒教推理過程

第二種:Bayesian teaching
不知道真實偏好,只看使用者的選擇去推測
前幾輪可能猜錯,但每輪都根據新證據更新信念
→ 教的是「正確的更新規則」⭐


流程圖

Teaching LLMs to reason like Bayesians Teaching LLMs to reason like Bayesians 問題是什麼? 普通 LLM 猜一次就不改 你:我想去東京 ✈️ 推薦:航班 A 你:我喜歡海景 🏖️ 推薦:航班 A ← 沒改 你:越便宜越好 💰 推薦:航班 A ← 沒改 ❌ 新資訊沒被用上 VS Bayesian LLM 每輪都更新自己的猜測 你:我想去東京 ✈️ 推薦:航班 A(猜) 你:我喜歡海景 🏖️ 更新 → 航班 B ✓ 你:越便宜越好 💰 更新 → 航班 C ✓✓ ✅ 每輪新資訊都更新判斷 怎麼教模型?— 兩種 Teacher Teacher 1:Oracle 直接知道使用者真實偏好 每輪都給出完美答案 → 教的是「正確答案」,不教推理過程 Teacher 2:Bayesian 不知道真實偏好,像正常人一樣猜 每輪根據新資訊更新自己的信念 → 教的是「如何更新判斷」⭐ 用示範資料做 SFT Fine-tune 結論:Bayesian teaching 效果更好 教「更新規則」比教「正確答案」更能泛化

flowchart TD
    A["🧑 模擬使用者\n有隱藏偏好(不告訴模型)\n每輪從 3 個航班中選一個"] --> B["📋 產生互動軌跡\n5 輪對話 / 每輪一個選擇"]

    B --> D1["🔮 Teacher 1: Oracle\n直接知道使用者真實偏好\n每輪都給正確答案\n→ 教的是「答案」"]
    B --> D2["🧠 Teacher 2: Bayesian\n不知道偏好,只看選擇\n每輪更新自己的推測\n→ 教的是「更新規則」⭐"]

    D1 --> G["🔧 SFT Fine-tune\nGemma 9B / Llama 8B / Qwen 7B\n1 epoch, lr=2e-6"]
    D2 --> G

    G --> H["✅ 結果:Bayesian teaching 更好\n因為能泛化到沒見過的任務\n(Hotel / Web Shopping)"]

訓練細節

fine-tune 三個中型開源模型:Gemma 2 9B、Llama 3 8B、Qwen 2.5 7B(full fine-tuning)


驗證方式

  1. 模型是否從第 1 輪到第 5 輪持續變好(隨資訊累積越來越準)
  2. 模型決策是否更接近 Bayesian Assistant(兩者做出相同預測的比例)
  3. 能否泛化到沒訓練過的任務(Hotel / Web Shopping)
Powered by Forestry.md