facebookresearch/LayerSkip

Code for "LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding", ACL 2024

解決的問題

LayerSkip 解決了大語言模型(LLM)推論中的計算成本與延遲問題。它允許模型在生成的草稿階段從深層的層堆疊中「提前退出」,從而減少每個 token 生成所需的計算量,實現更快的 token 生成。

工作原理

LayerSkip 使用一種訓練方法,使單一模型既能擔任草稿模型,也能擔任驗證模型。它實現了自我推測性解碼,模型在指定層(exit_layer)退出,快速生成草稿 token。這些 token 隨後由完整模型一次性驗證,相比標準的自回歸解碼顯著提升速度。

適用對象

本專案適用於希望在不犧牲正確性的前提下提升 Llama 基礎模型推論速度的 AI 研究人員與開發者,尤其適用於摘要與程式碼生成等生成任務。

主要亮點

  • 自我推測性解碼:使用同一模型進行草稿與驗證,無需額外的小型草稿模型。
  • 提前退出推論:使用者可指定退出層,以在速度與準確度之間取得平衡。
  • 廣泛模型支援:提供多種 Llama 2、Llama 3、Llama 3.2 與 CodeLlama 模型的預訓練檢查點。
  • 整合支援:已整合至 Hugging Face transformers 與 PyTorch torchtune
  • 評估工具:包含用於基準測試、正確性驗證與超參數調優的腳本,以找到最佳的退出層與推測次數。

相關

  • Dispatch
  • 專案
  • 專案
  • Dispatch
  • 專案