text-generation-inference 文件

推測(Speculation)

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

推測

推測解碼、輔助生成、Medusa等都是同一個概念的不同名稱。這個概念是在大型模型實際執行**之前**生成token,然後只**檢查**這些token是否有效。

所以你會在LLM上進行**更多**的計算,但如果你預測正確,你可以在一次LLM執行中生成1、2、3或更多token。由於LLM通常受限於記憶體(而不是計算),只要你的預測足夠準確,這可以帶來2-3倍的推理速度提升(例如,對於程式碼相關的任務,甚至可以更高)。

你可以檢視一篇更詳細的解釋

文字生成推理支援兩種主要的推測方法:

  • Medusa
  • N-gram

Medusa

Medusa是一種簡單的方法,可以在現有模型的基礎上,透過額外微調的LM頭部,在單次執行中生成多個token。

你可以檢視一些針對流行模型的現有微調模型:

為了為你自己的微調模型建立Medusa頭部,你應該查閱原始的Medusa倉庫。更多資訊請閱讀訓練Medusa

要在TGI中使用Medusa模型,只需指向一個已啟用Medusa的模型,一切都將自動載入。

N-gram

如果你沒有Medusa模型,或者沒有資源進行微調,你可以嘗試使用`n-gram`。N-gram的工作原理是在先前的序列中嘗試查詢匹配的token,並將其用作生成新token的推測。例如,如果token“np.mean”在序列中多次出現,模型可以推測“np.”的下一個延續很可能也是“mean”。

這是一種極其簡單的方法,最適合程式碼或高度重複的文字。如果推測的錯誤率太高,這可能不會帶來好處。

要啟用n-gram推測,只需在你的標誌中使用:

--speculate 2

有關該標誌的詳細資訊

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.