貝氏定理(Bayes' Theorem)筆記
前言
最近在嘗試整理這一年來所閱讀的加速推理技巧論文成筆記,過程中看到了用到了貝氏的貝氏優化技巧,遂決定也寫一篇筆記記錄貝氏定理的精神。
簡單來說,貝氏定理(Bayes' Theorem)是機率論中的經常會看到的定理,描述在特定條件下一隨機事件的發生機率。
Read More »貝氏定理(Bayes' Theorem)筆記最近在嘗試整理這一年來所閱讀的加速推理技巧論文成筆記,過程中看到了用到了貝氏的貝氏優化技巧,遂決定也寫一篇筆記記錄貝氏定理的精神。
簡單來說,貝氏定理(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)實作筆記(附簡易實驗結果)我們在利用大型語言模型進行生成任務時,尤其是自迴歸任務(Auto-regression),模型實際上是在做一個好幾萬的分類任務,而分類的標的,其實就是我們詞庫(vocabulary)中的詞,通常是被稱為詞元(Token),也就是組成詞彙的最小單位。
如果我們希望採用貪婪解碼(greedy decoding),那麼我們永遠取模型最後一層解碼層的 logits
最大值就完事;但如果我們希望模型的生成結果具備多樣性與一定程度的隨機性,那麼,我們就有了許多的參數可以用來調整 logits
成為機率分佈了。
在自迴歸模型(Auto-regressive Model)解碼時,如果需要解碼 K 個詞元(Tokens),則需要跑 K 次流程,而這正是當前大型語言模型的推理時間瓶頸所在。
Read More »[論文閱讀] Fast Inference from Transformers via Speculative Decoding最近建立了許多 Chatbot 的後台 API Server,一開始我是接收到使用者的訊息後回傳,將 LLM 的生成回覆一口氣顯示在前端界面,但這樣使用者體驗並不好;之後改成了 HTTP 串流,每生成一個 Token 就回傳前端界面,但後來發現在部份使用者的裝置上會發生黏包,所以最後改成了使用 WebSocket。
Read More »[Python] FastAPI 使用 Server-Sent Events (SSE) 進行串流回覆在大型語言模型的解碼過程中,尤其是自迴歸模型(Auto-regressive model),勢必得一次次地解碼直到生成整個序列為止,在這之中存在著一些 cache 的技巧,能夠幫助模型減少計算量、提昇解碼速度;而這個技巧就被稱為 KV Cache。
Read More »KV Cache: 一種加速 Transformer 模型生成速度的暫存機制在大家透過 LLM 架設各種服務時,是否會煩惱 LLM 經常生成一些不受控制的言論?最近我的工作正在專案收尾的緊要關頭,我使用了 Outlines 等工具用以約束 LLM 解碼,確實能控制模型生成符合我想項中的模式 —— 但我同事突然對我發出靈魂一問:那我想要它不生成某些詞彙該怎麼辦?
Read More »使用有限狀態機(FSM)和回滾(Rollback)機制控制 LLM 禁止生成禁止詞彙(Banned-Words)一直以來,我都只用個大概的公式去推估我的模型量級與我的 GPU VRAM 開銷之間關聯;畢竟這之間牽扯到的變數實在太多了,光是模型架構、層數、注意力機制實現、序列長度、Batch Size、訓練或推理採用的資料精度... 在在都影響我們最後計算的結果。
Read More »訓練、推理 AI 模型的 VRAM 開銷計算筆記今天我在吃飯時看到了一部影片(影片附於文末),影片中不像現在很多衝著 AI 這種新穎技術的科技頻道,一上來就把 AI、經濟、取代人類等等議題一股腦地拋出來;而是仔細地,講解了從以前到現在,硬體的規格如何影響演算法(或者稱 AI 模型架構)。
Read More »一點思考:Transformer 在未來是否會被取代?之前一直斷斷續續從網路上、HuggingFace 官方文件等各種地方看到名為 Kahneman-Tversky Optimization(KTO)的 LLM 微調方式(實際上跟 DPO 相似是一種價值觀對齊方式),因為其準備資料的格式比起 DPO 實在太方便了,目前先趕緊嘗試應用在自己手邊的任務上、之後再來抽空閱讀論文中的詳細內容。
Read More »KTOTrainer(Kahneman-Tversky Optimization Trainer)筆記