Основні поняття
本文提出了一種名為 Cerberus 的新型平行解碼框架,通過引入 Cerberus Heads 和基於熵值的閘控機制,在不影響生成品質的前提下,顯著提升了大型語言模型的推理速度。
Анотація
Cerberus:透過自適應平行解碼和序列知識增強實現高效推理
研究背景
大型語言模型(LLM)在各種下游應用中展現出卓越的性能,但其推理速度受限於自回歸解碼的瓶頸。近年來,平行解碼技術作為一種推測性解碼演算法,在提升推理效率方面展現出巨大潛力。
研究問題
現有平行解碼框架存在兩個主要問題:
- 解碼頭難以平衡預測準確性和執行並行性。現有框架要麼使用序列獨立的解碼頭,要麼使用串聯的解碼頭。前者導致預測準確性低,而後者則需要按順序執行每個解碼頭,從而損害了並行性。
- 平行解碼並非適用於所有情況的通用解決方案。在某些具有挑戰性的解碼步驟中,平行解碼會帶來不必要的開銷。
研究方法
為了解決這些問題,本文提出了 Cerberus,這是一個有效的平行解碼框架,它結合了兩種新穎的組件:
- **Cerberus Heads:**一種新穎的解碼頭範例,它整合了序列知識以提高預測準確性,同時保持執行並行性。具體來說,Cerberus Heads 在每個解碼頭的內部模組之間引入了序列連接,允許每個頭從先前的位置學習信息,捕獲更長的上下文,並做出更準確的預測。
- **基於熵值的閘控機制:**允許 LLM 在每個解碼步驟中自適應地選擇不同的解碼方法。基於觀察結果:最後隱藏狀態的熵可以反映預測準確性,並幫助評估模型的置信度,本文引入了一種基於熵值的閘控機制。如果最後隱藏狀態的熵低於指定閾值,則認為模型對當前預測有信心,並採用平行解碼。否則,僅使用自回歸解碼。
實驗結果
在 MT-Bench 上進行的實驗結果表明,Cerberus 在所有設置下均表現出色,與自回歸解碼相比,速度提升了 1.57 倍至 2.12 倍。此外,它還優於領先的平行解碼框架之一 Medusa,加速提升了 10% 至 30%,並具有更好的生成品質。
研究結論
Cerberus 是一個有效的平行解碼框架,可以無縫集成到現有的 LLM 中。它結合了新穎的 Cerberus Heads 和基於熵值的閘控機制,在不影響生成品質的前提下,顯著提升了 LLM 的推理速度。
Статистика
在 MT-Bench 的八種類型的下游任務測試中,平均有 18.38% 的平行解碼步驟未能生成任何通過驗證的額外標記。
在提取和人文任務中,這一比例甚至可以達到 23.52% 和 24.84%。
Cerberus 在所有 MT-Bench 下游任務中均實現了最佳推理速度。
與自回歸解碼相比,Cerberus 平均加速比 Medusa 高 10%。
在角色扮演任務中,Cerberus 的加速增量甚至可以比 Medusa 高 30%。
與自回歸解碼相比,Cerberus 可以實現 2.12 倍的加速,超過了 Medusa 的 2.06 倍。
Цитати
「現有平行解碼框架存在兩個主要問題:(1) 解碼頭難以平衡預測準確性和執行並行性,(2) 平行解碼並非適用於所有情況的通用解決方案。」
「最後隱藏狀態的熵可以反映預測準確性,並幫助評估模型的置信度。」