Skip to content

AI

使用 HuggingFace `transformers` 套件中模型的 `assistant_model` 方法來進行 Speculative Decoding 的加速

最近嘗試實作了許多推測性解碼(Speculative Decoding)的加速方法,而 HuggingFace 的 transformers 套件中自然也有對應的加速方法 assistant_model,今天就趁這個機會一起紀錄下來。

Read More »使用 HuggingFace `transformers` 套件中模型的 `assistant_model` 方法來進行 Speculative Decoding 的加速

Self-Speculative Decoding 完整實作: LayerSkip Model, Bayesian Optimization, and Adaptive Draft-Exiting Mechanism(附 gemma-2-9b-it 實驗結果)

在過去的一週裡,我抽空按照論文 Draft & Verify: Lossless Large Language Model Acceleration via Self-Speculative Decoding 的思路嘗試復現了一遍自推測性解碼Self-Speculative Decoding),包含以下模組:

  • 跳層解碼的 Decoder-only Transformer 模型(主要以 Llama 和 Gemma-2 兩種架構為主)
  • 自適應草稿離開機制
  • 貝氏優化探索最佳跳層策略(尋找怎樣的搭配才會是最好的草稿模型)
  • Self-Speculative Decoding —— 完成只靠模型自身的加速
Read More »Self-Speculative Decoding 完整實作: LayerSkip Model, Bayesian Optimization, and Adaptive Draft-Exiting Mechanism(附 gemma-2-9b-it 實驗結果)

[論文閱讀] Draft & Verify: Lossless Large Language Model Acceleration via Self-Speculative Decoding

本篇論文重點

  • 量化、剪枝、蒸餾同樣可以加速,但得面對與原始模型不同的輸出分佈、重新訓練的開銷等等問題
  • 原先的 Speculative Decoding 面對的問題則為我們需要使用額外的記憶體空間去驅動 draft model(草稿模型),而 Self-Speculative Decoding 僅使用了自身部份神經網路作為 draft model
  • 自適應草稿脫離機制(Adaptive Draft-Exiting Mechanism)可以基於自動調整信心分數閾值來自動調整草稿模型的推測 tokens 數量
Read More »[論文閱讀] Draft & Verify: Lossless Large Language Model Acceleration via Self-Speculative Decoding

透過貝氏優化去搜索 LayerSkip 模型的最佳跳層策略

在自推測性解碼(Self-Speculative Decoding)中,由於我們的 draft model 是由 target model 的部份網路擔任,所以找到一個好的『跳層策略』(Layer Skip Strategy)是非常重要的事情 —— 我們不僅要跳得夠多層讓加速真正意義上實現、也需要讓 draft model 的推測解碼程度足夠好且不容易被 target model 驗證時拒絕。

所以今天的實作,就是靠貝氏優化框架 Optuna 來優化我之前的實現的 LayerSkip 模型,決定到底要跳哪幾層。

Read More »透過貝氏優化去搜索 LayerSkip 模型的最佳跳層策略

Self-Speculative Decoding 實現: 跳層 Transformer 模型實作筆記

介紹

自推測性解碼(Self-Speculative Decoding)是一個推測性解碼(Speculative Decoding)的變體。原本的 Speculative Decoding 是採用一個草稿模型(draft model)來優化我們真正想要推理的目標模型(target),並且 draft model 擁有與 target model 相似的輸出以及快上幾倍的推理時間,通常是由 target model 蒸餾而來。

Read More »Self-Speculative Decoding 實現: 跳層 Transformer 模型實作筆記

使用有限狀態機(FSM)和回滾(Rollback)機制控制 LLM 禁止生成禁止詞彙(Banned-Words)

在大家透過 LLM 架設各種服務時,是否會煩惱 LLM 經常生成一些不受控制的言論?最近我的工作正在專案收尾的緊要關頭,我使用了 Outlines 等工具用以約束 LLM 解碼,確實能控制模型生成符合我想項中的模式 —— 但我同事突然對我發出靈魂一問:那我想要它不生成某些詞彙該怎麼辦?

Read More »使用有限狀態機(FSM)和回滾(Rollback)機制控制 LLM 禁止生成禁止詞彙(Banned-Words)

一點思考:Transformer 在未來是否會被取代?

今天我在吃飯時看到了一部影片(影片附於文末),影片中不像現在很多衝著 AI 這種新穎技術的科技頻道,一上來就把 AI、經濟、取代人類等等議題一股腦地拋出來;而是仔細地,講解了從以前到現在,硬體的規格如何影響演算法(或者稱 AI 模型架構)。

Read More »一點思考:Transformer 在未來是否會被取代?
Exit mobile version