布魯爾定理(Brewer's/CAP Theorem)筆記
最近在看分散式系統的筆記,希望能對當前這一年所建立的系統進行反思,審視有什麼可以改進的點,就在這時被人推薦看看 CAP 定理,一看之下覺得滿直覺的,就順手紀錄於此。
Read More »布魯爾定理(Brewer's/CAP Theorem)筆記最近在看分散式系統的筆記,希望能對當前這一年所建立的系統進行反思,審視有什麼可以改進的點,就在這時被人推薦看看 CAP 定理,一看之下覺得滿直覺的,就順手紀錄於此。
Read More »布魯爾定理(Brewer's/CAP Theorem)筆記Given an integer array nums
where the elements are sorted in ascending order, convert it to a height-balanced binary search tree.
目前我看的許多加速推理技巧,如 Speculative Decoding 等等方式,大多數都是採用把 draft model 信心分數設定一個閾值(threshold)來決定現在要解碼多少個 draft tokens、再交由 target model 進行驗證,以此來減少 draft model 在低信心程度的情況下額外多推測的時間開銷。
Read More »Speculative Decoding 時採用目標模型(Target Model)的信心閾值來決定是否啟用草稿推測最近嘗試實作了許多推測性解碼(Speculative Decoding)的加速方法,而 HuggingFace 的 transformers
套件中自然也有對應的加速方法 assistant_model
,今天就趁這個機會一起紀錄下來。
在過去的一週裡,我抽空按照論文 Draft & Verify: Lossless Large Language Model Acceleration via Self-Speculative Decoding 的思路嘗試復現了一遍自推測性解碼(Self-Speculative Decoding),包含以下模組:
在自推測性解碼(Self-Speculative Decoding)中,由於我們的 draft model 是由 target model 的部份網路擔任,所以找到一個好的『跳層策略』(Layer Skip Strategy)是非常重要的事情 —— 我們不僅要跳得夠多層讓加速真正意義上實現、也需要讓 draft model 的推測解碼程度足夠好且不容易被 target model 驗證時拒絕。
所以今天的實作,就是靠貝氏優化框架 Optuna 來優化我之前的實現的 LayerSkip 模型,決定到底要跳哪幾層。
Read More »透過貝氏優化去搜索 LayerSkip 模型的最佳跳層策略自推測性解碼(Self-Speculative Decoding)是一個推測性解碼(Speculative Decoding)的變體。原本的 Speculative Decoding 是採用一個草稿模型(draft model)來優化我們真正想要推理的目標模型(target),並且 draft model 擁有與 target model 相似的輸出以及快上幾倍的推理時間,通常是由 target model 蒸餾而來。
Read More »Self-Speculative Decoding 實現: 跳層 Transformer 模型實作筆記最近在嘗試整理這一年來所閱讀的加速推理技巧論文成筆記,過程中看到了用到了貝氏的貝氏優化技巧,遂決定也寫一篇筆記記錄貝氏定理的精神。
簡單來說,貝氏定理(Bayes' Theorem)是機率論中的經常會看到的定理,描述在特定條件下一隨機事件的發生機率。
Read More »貝氏定理(Bayes' Theorem)筆記推測性解碼(Speculative Decoding)是一種實用性極強的加速推理技巧,通過讓小模型(draft model)快速、連續地解碼多個 Tokens 並保留過程中的採樣機率分佈,並讓我們真正希望加速的大模型(target model)在此之上預測下一個 Token —— 同時把過往的每個 Token 位置的採樣機率分佈一次性地計算得出,再透過 target model probs 去驗證 draft model probs 的有效性,並接受足夠可靠的 draft model 的推測解碼 Tokens。
Read More »推測性解碼(Speculative Decoding)實作筆記(附簡易實驗結果)