---
# System prepended metadata

title: 【生成式AI時代下的機器學習(2025)】08~09：大型語言模型的推理過程不用太長、大型語言模型評估
tags: [生成式AI]

---

20251111筆記 內容可能有錯誤，請參考原始影片

[李宏毅【生成式AI時代下的機器學習(2025)】](https://www.youtube.com/playlist?list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi)


[【生成式AI時代下的機器學習(2025)】第八講：大型語言模型的推理過程不用太長、夠用就好](https://www.youtube.com/watch?v=ip3XnTpcxoA&list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi&index=9)

[【生成式AI時代下的機器學習(2025)】第九講：你這麽認這個評分系統幹什麽啊？談談有關大型語言模型評估的幾件事](https://www.youtube.com/watch?v=s266BzGNKKc&list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi&index=10)



### 【生成式AI時代下的機器學習(2025)】第八講：大型語言模型的推理過程不用太長、夠用就好 大綱

![image](https://hackmd.io/_uploads/Hk4cnz3Jbx.png)

### I. 推理長度的迷思與代價
A. 觀點轉變：長推理不必然帶來好結果。
B. 實際代價：冗長的推理過程浪費運算資源（算力）。
C. 實驗嚴謹性：觀察到的長度與低準確度之間的負相關性，常是因問題難度所致。

### II. 嚴謹實驗結果
A. 實驗方法：針對同一問題，測試模型五次，比較不同長度組（Group 1最短至Group 5最長）的準確度。
B. 結果：在不同資料集上，**更長的答案不一定有更高的準確度**。最優工程師應在有限資源下做到最好。

### III. 避免模型「想太多」的四大方法
A. **提示工程 (Prompt Engineering)：** 使用 Chain of Draft (CoD) 限制每一步思考的長度。
B. **推論工作流控制：** 人為設定推理流程的參數（如縮小 Beam Search 範圍或樹狀結構）。
C. **教導模型推理 (Distillation/Learning)：**
    1. 選擇最短且正確的推理過程作為訓練資料。
    2. **隱式思考鏈 (Implicit CoT)：** 逐步移除推理過程的 Token，讓模型學會「心算」。
D. **強化學習 (RL) 優化：** 修改獎勵機制以納入長度限制。
    1. 相對長度限制：懲罰長度超過答對平均所需長度的推理。
    2. 輸出長度可控性：透過獎勵機制，讓模型學會依據指令輸出指定長度的推理。

### IV. 總結與類比：過猶不及
A. 類比：長頸鹿的脖子演化故事。


### I. 推理長度的問題與觀察

*   **初始觀察與問題：** 有些推理模型（如 Deepseek）在面對簡單問題時，明明一開始就能答對，卻會「左思右想」，浪費大量的運算資源 (算力)。
*   **長度與結果的相關性爭議：**
    *   過去的提示是如果推理較長，結果可能更好。
    *   許多研究現在指出，推理越長不一定代表結果越好。
    *   **實驗偏誤：** 簡單將推理長度與正確率畫圖，可能發現負相關性（越長越低）。然而，這只說明存在相關性，不能證明是長度導致準確度降低。
    *   真正的共同因素可能是**問題的難度**。當問題較難時，模型傾向使用較長的推理過程，而難題本身就會導致準確率下降。

*   **嚴謹的實驗驗證：**
    *   一篇論文對可以推理的模型詢問相同的問題五次。由於模型每次的回答和推理長度會不同，實驗者將輸出長度最短的標為 Group 1，最長的標為 Group 5。
    *   結果顯示，即使是最短的 Group 1，推理長度也已經很長（約 5,000 到 10,000 個 Token），而最長的可超過 2 萬個 Token。
    *   在不同資料集上驗證，**越長的答案（Group 5）並沒有更高的正確率**。
*   **工程師的目標：** 這些模型的回答通常太長且沒有必要，代價是額外的算力消耗。最好的工程師不是將事情做到完美，而是在**有限的資源**下把事情做到最好。我們期待的人工智慧是在有限算力下，能將事情做好的模型。

### II. 避免模型過度思考的具體方法

針對四種讓模型學習 Reasoning 的方向，都有對應的方法來限制其長度：

#### A. 透過提示工程 (Prompt Engineering)

*   **Chain of Draft (CoD)：** 這是修改 Chain of Thought (CoT) 的方法。標準 CoT 僅要求模型 "think step by step"。
*   **CoD 的作法：** 依然要求模型 "think step by step"，但規定**每一步的思考都只是一個草稿 (Draft)**，且草稿的每一條都**不要超過五個字**。
*   **效果：** CoD 是一個簡單但有效的方法。
    *   相比直接回答問題（輸出簡短）和標準 CoT（輸出冗長），CoD 能顯著縮短模型輸出的 Token 長度。
    *   在 Claude 3.5 上的實驗發現，使用 CoD 限制長度後，模型的效能影響不大，有時甚至比原本長篇大論的 CoT 結果還要稍微好一點。

#### B. 透過推論工作流的設定

*   在模型推論的工作流程是人為設定的第二個方向中，可以完全控制推論長度。
*   **控制方式：** 可以透過控制採樣 (sampling) 的次數，或是在執行 Beam Search 時，讓 Beam 開得小一點。此外，讓模型產生樹狀結構時，可以讓樹長得小顆一點，以此來控制推理的長度。

#### C. 透過教導模型進行推理 (蒸餾/學習)

*   **使用最短正確推理進行訓練 (知識蒸餾)：**
    *   可以找一個會推理的「老師模型」，讓它針對同一個問題產生多次推理過程。
    *   在老師模型可以答對的情況下，**選擇一個最短的推理過程**，將其作為「學生模型」的訓練資料。學生模型學習這個最短的推理過程後，就能成為一個推理過程不冗長的模型。
*   **隱式思考鏈 (Explicit CoT to Implicit CoT)：**
    *   目的是將寫出來的推理過程 (Explicit CoT) 逐漸消除，讓模型學會「心算」。
    *   **訓練方法：** 採用漸進式的學法。
        1.  模型先學習產生完整的推理過程和答案。
        2.  接著逐步將推理過程中的第一個 Token 拿掉，讓模型學習在少了一個 Token 的情況下產生後續推理和答案。
        3.  依此類推，每次減少一兩個推理 Token，直到最後模型能直接看著輸入，不產生任何推理過程就輸出答案。
    *   **結果：** 在較簡單的語料庫上，這種方法可以成功地將 Reasoning 過程練不見，且模型能力與原本會做推理的模型能力差不多。

#### D. 透過強化學習 (RL) 優化

*   **RL 產生冗長推理的原因：** 像 DeepseekR1 這種單純依賴 RL 訓練的模型，其推理過程會非常冗長。這是因為在 RL 訓練中，如果 Reward 只考慮「答案是否正確」，而沒有考慮長度，模型就會傾向於將問題反覆確認、提出多個想法來保證答案正確，導致輸出越來越長。
*   **解決方案 1：相對長度的限制**
    *   直接定一個硬性長度標準（例如超過 1000 字就扣分）不一定適用於所有問題，因為問題難度不同，所需的推理長度也不同。
    *   多數論文採用**相對標準**：先讓模型對某一問題推理多次，收集合格（答對）的狀況。
    *   **懲罰機制：** 計算答對時所需的**平均推理長度**。在 RL 過程中，如果答案答對了，但推理長度比平均所需長度還長，則視為不好。模型必須**答對，且比平均所需的推論長度更短**，才能得到正面的 Reward。
*   **解決方案 2：教導模型控制輸出長度**
    *   在輸入問題後，直接用文字指令告訴模型：**「推理長度必須設定為 N 字」** (例如 1000 個字)。
    *   **獎勵機制：** Reward 設定為「正確率」減去「目標長度與實際推理長度的差異」。
    *   **效果：**
        *   模型能夠學會控制輸出的推論長度。在一篇 2024 年 3 月的數學問題訓練文章中，模型產生的長度與指定長度的差異約在 2% 到 6% 之間（In-Domain）。在非數學問題上（Out-of-Domain），差異則在 20% 到 40%。
        *   這種方法允許使用者根據算力資源需求來調整推理長度（算力少就短推論，算力多就長推論）。
        *   重要的是，實驗證明，透過 RL 教導模型控制長度，**並不會對模型本質的推理能力造成太大的傷害**。相比之下，粗暴地強制截斷（如 S1 模型在達到 256 個字時強制卡掉），會導致模型的正確率大幅下降。

### III. 總結：過猶不及

*   **核心理念：** 我們探討的不是推理這件事情沒用，而是要傳達「**過猶不及**」的道理。
*   **長頸鹿的演化類比：**
    *   長頸鹿的脖子演化到足夠長，可以吃到高處的葉子本來是生存優勢。
    *   然而，脖子長到比多數的樹還高，反而需要低下來才能吃到葉子。
    *   脖子長太長可能主要是因為「性擇」（Sexual Selection）：長脖子的長頸鹿擁有較多交配機會。這種長度已超越實用所需。
    *   在資源苛刻的環境（如飢荒）下，脖子太長的個體需要更多能量來支撐脖子，反而不利於生存競爭。
    *   推理長度的控制也是如此，**它需要夠用，但不需要過度冗長**。



### 【生成式AI時代下的機器學習(2025)】第九講：你這麽認這個評分系統幹什麽啊？談談有關大型語言模型評估的幾件事 大綱

### I. LLM 推理能力的評估現狀與挑戰
A. 傳統評估：主要依賴數學和程式問題的正確率。
B. 挑戰：模型可能僅是「記憶」了答案，而非真正具備推理能力。

### II. 基準測試 (Benchmarks) 的可靠性問題
A. GSM8K 測試結果的漏洞：更換不影響難度的符號或語句順序，會導致多數模型準確率下降，顯示模型可能背誦了部分答案。
B. 訓練資料污染：難以完全排除模型在訓練時已看過測試題目或其變體。
C. ARC-AGI (圖形智力測驗)：
    1. 優勢：避免模型依賴網路上學過的知識，考驗純粹推理能力。
    2. 挑戰：題目困難，且 O3 模型在 ARGI 上表現優異，但代價極高，每題成本相當於 1000 美金的算力。
    3. 潛在破解：透過大量創造類似範例題目的方式，仍有可能「刷題」。

### III. 人類評估的風格偏見 (Chatbot Arena)
A. Arena 機制：用戶向兩個隨機配對的模型提問，並判斷哪個回答較好。
B. 風格影響：人類評審容易受到**回答風格**的影響（如長度、使用 Emoji 或粗體字），而非僅依賴內容品質。
C. 評分調整：官方透過 Elo Score 演算法納入風格因素（Beta 0），以糾正排名偏差。
D. 實證：考慮風格因素後，模型排名有大幅變動，例如 Claude 系列模型因其「無聊」的風格而受影響，但在風格因素被移除後，其排名大幅上升。

### IV. 結論：指標的局限性
A. **古德哈特定律 (Goodhart's Law)：** 一旦某項指標被當作目標來追求，它就不再是一個好的指標。
B. 結論：過度在意評分系統可能會扭曲模型的努力方向。

---


### I. 評估 LLM 推理能力的傳統方式及其挑戰

*   **傳統方法：** 今天評估模型推理能力的方法通常「簡單粗暴」，即直接測試模型解決數學或程式設計問題的正確率。
    *   例如，D6 技術報告的第一頁就展示了 D6 模型與 O1 系列模型在數學和程式問題上的正確率。
    *   許多模型在推出時也會衡量這類數學問題（如 GSM8K）來展現其能力。
*   **記憶與推理的區分問題：** 僅能解數學問題是否就代表模型具備推理能力？這存在疑問。
    *   模型有可能只是剛好看過這道題的答案，然後「裝模作樣」地推理一下後輸出，讓人誤以為它很會推理。

### II. 基準測試的脆弱性與破解風險

#### A. GSM8K 基準測試的不足

*   **GSM8K 測試：** 這是一個知名的資料集，包含一些比較簡單的應用問題。今天多數模型都能答對 GSM8K 的問題。
*   **符號替換實驗：** 一篇論文嘗試替換 GSM8K 應用題中的一些符號，例如更換人名（如將 Sofia 換成別的名字）、親戚關係、或是數字。
    *   即使替換的內容不影響問題的難度，但多數模型的正確率都有所降低。
    *   **結論：** 這表明這些模型「有稍微背到一些這些問題的答案」，否則換了數字或人名就不應該答錯。
    *   **例外：** 當時的 O1 mini 模型受到的影響較小。
*   **語句順序的影響：** 另一篇論文將 GSM8K 題目的部分句子順序對調，在不影響題目意思的前提下，模型的解題正確率竟然下降了。這顯示模型學到了一些不該學的東西。
*   **訓練資料污染的難題：** 由於今天的模型是在網路上看過極大量的資料，因此偷看到 GSM8K 裡面的題目是非常有可能的。
    *   即使從訓練資料中移除看起來與測試資料相同的題目，也無法完全解決問題。例如，如果有人將 GSM8K 翻譯成蒙古文放在網路上，模型學到了跨語言學習能力，仍可能看到這些題目，且難以被檢測出來。
    *   因此，今天的測試結果「往往不一定那麼可靠」。

#### B. ARC-AGI（抽象與推理圖形智力測驗）

*   **設計目標：** ARC-AGI 旨在避免模型依賴其在網路上學到的知識，希望模型能憑藉**真正的推理能力**來回答問題。
    *   它提供圖形化的智力測驗題，通過給予輸入/輸出範例來讓模型理解規則。
*   **模型輸入：** 丟給語言模型時，題目是以**文字形式**呈現的，用數字代表不同的顏色和圖案（例如 0 代表沒有顏色，1-5 代表不同顏色）。
*   **歷史難度：** ARC-AGI 自 2019 年問世以來，一直被認為是一個難題，在五年內未有重大突破。
*   **O3 模型表現與代價：** O3 模型在 ARC-AGI 上取得了不錯的結果，其能力介於一般人類和 STEM 領域畢業生之間。
    *   但 O3 模型付出了**極大的代價**：每回答一題的成本相當於 **1000 美金的算力**。
*   **潛在破解風險：** 雖然 ARC-AGI 有隱藏的測試集（Testing Set）未公開，但透過大量創造與範例問題類似的題目來刷題，仍有可能「Hack」這個比賽。

### III. Chatbot Arena 的人類評估偏見

*   **Chatbot Arena 機制：** 這是一個平台，隨機給用戶兩個模型（A 和 B），用戶向兩者提問後，決定哪個模型表現更好。依據比賽結果，模型會獲得分數並生成排行榜。
*   **風格偏好的影響：** 傳說 Chatbot Arena 可以被「Hack」。
    *   如果模型的輸出包含較多 Emoji、有粗體字或項目符號 (bullet points)，或傾向於**長篇大論**，就更容易受到人類評審的青睞，從而提高勝率。
    *   許多人在評比模型時，通常是看其**輸出風格**，而不是仔細檢查其內容。
    *   如果評審的知識不如模型（即「評比一個比你聰明的人」），將無法判斷內容的對錯，只能憑藉其「聲音好不好聽」（即風格）。
*   **Elo Score 與 Beta 0 的引入：** 
*   ![image](https://hackmd.io/_uploads/SJnMVmhybx.png)

*   Chatbot Arena 官方試圖解決這個問題，他們使用的 Elo Score 評分系統納入了**模型實力以外的因素（Beta 0）**。
    *   Beta 0 在衡量那些會干擾人類評估結果的因素，如長度的差異 (乘以常數 Gamma) 或 Emoji 數量的差異。
    *   如果 Gamma 經計算為正值，代表回答越長，模型的勝率越高。
*   **風格因素對排名的決定性影響：** 官方部落格文章指出，是否有考慮這些風格相關的因素，會**影響模型的排名**。
    *   在考慮了回答長度、使用 Emoji 數目、回答的正面程度等風格因素後，模型的戰力排名發生了大幅變動。
    *   **案例：** Claude 系列模型在考量風格因素後，排名大幅上升。這可能是因為 Claude 模型講話「太無聊了」，很少輸出 Emoji，雖然它很聰明，但在吃虧在「講話風格」上。移除風格影響後，其名次才得以大幅向前。

### IV. 結論：Goodhart's law

![image](https://hackmd.io/_uploads/rJ6HWZeebg.png)


*   **本質問題：** 即使是像 Chatbot Arena 這樣的平台，也可能被針對性地訓練模型來「打贏」比賽（例如訓練模型特別喜歡輸出 Emoji、講好聽的話）。
*   **古德哈特定律 (Goodhart's Law)：** 一旦某項指標（如評分系統的排名）被當作目標來努力追求，它就不再是一個好的評估指標。
*   **核心啟示：** 過於在意評分系統，可能會使模型的努力方向被異化掉。這個概念類似於「眼鏡蛇現象」（殖民地政府懸賞捕蛇，反而導致人們養蛇來賺錢，使蛇的數量更多）。

