【NLP 53、投機采樣加速推理】

目錄

一、投機采樣

二、投機采樣改進:美杜莎模型

流程

改進

三、Deepseek的投機采樣

流程

Ⅰ、輸入文本預處理

Ⅱ、引導模型預測

Ⅲ、候選集篩選(可選)

Ⅳ、主模型驗證

Ⅴ、生成輸出與循環


騙你的,其實我在意透了

????????????????????????????????—— 25.4.4

一、投機采樣

找到一種方式加速我們的推理過程 —— 投機采樣

????????投機采樣(Speculative Sampling)是一種用于加速大語言模型推理的技術,它通過預測模型可能生成的下一個 token 來減少計算量,同時盡量保持生成文本的質量 。

分層預測:投機采樣基于這樣一個假設,即可以使用一個較小、更快的 “引導模型”(也稱為 “投機模型”)來對大語言模型(“主模型”)的生成進行預測。引導模型結構簡單、計算成本低,能快速生成可能的下一個 token 及其概率分布。

驗證與修正:引導模型提出若干可能的下一個 token 及其概率。這些預測結果被視為 “投機”。主模型隨后僅對這些投機結果中的部分或全部進行驗證,而不是對所有可能的 token 進行完整計算。如果引導模型的預測與主模型的驗證結果相符,那么就采用引導模型的預測作為生成的下一個 token ,從而跳過主模型對其他大量 token 的計算。如果預測不符,主模型則會按照常規方式計算出正確的下一個 token ,同時這一信息也可用于微調引導模型,使其后續預測更準確。


二、投機采樣改進:美杜莎模型

模型自帶多個頭,代替draft model (投機小模型) 起到打草稿的目的

流程

改進

把前一個頭的輸出,作為后一個頭的輸入的一部分;

把前一個頭的輸出當作下一個頭的輸入進行傳遞


三、Deepseek的投機采樣

雙模型架構:與常見的投機采樣方法類似,Deepseek 采用主模型和引導模型的架構。主模型是具有強大語言處理能力的大型預訓練模型,負責生成高質量的文本。引導模型則相對輕量級,設計目的是快速預測主模型可能生成的下一個詞元(token)。引導模型經過優化,能夠以較低的計算成本對主模型的輸出進行近似預測。

分層預測與驗證:在推理過程中,引導模型首先基于輸入文本生成一系列可能的下一個 token 及其概率分布。這些預測并非隨意生成,而是通過引導模型對語言模式的學習以及對主模型行為的近似模擬得出。然后,主模型對引導模型提供的預測 token 進行驗證。主模型并非對詞匯表中的所有 token 進行全面計算,而是集中精力評估引導模型給出的候選集。若引導模型的預測與主模型的驗證結果匹配,就直接采用引導模型的預測作為生成結果,從而跳過主模型對其他大量 token 的計算,實現加速推理。若預測不匹配主模型則以常規方式計算正確的下一個 token

流程

Ⅰ、輸入文本預處理

文本分詞:將輸入文本送入分詞器,把文本分割成一個個詞元(token)。這是語言模型處理文本的基礎步驟,不同的語言模型可能使用不同的分詞方法,如字節對編碼(Byte - Pair Encoding,BPE)等。通過分詞,將連續的文本轉化為模型能夠理解和處理的離散單元序列。

構建輸入表示:對分詞后的結果進行處理,添加必要的位置編碼、段編碼等信息(如果模型需要),將其轉換為適合模型輸入的張量形式。這個張量包含了文本的詞元信息以及位置等上下文信息,為模型后續的處理提供基礎。

Ⅱ、引導模型預測

快速前向傳播:輕量級的引導模型接收預處理后的輸入張量,通過其神經網絡結構進行快速的前向傳播計算。引導模型經過專門設計和訓練,旨在以較低的計算成本快速生成預測結果。

生成候選 token 及概率:引導模型輸出一組可能的下一個 token 及其對應的概率分布。這些候選 token 是引導模型基于對輸入文本的理解和對主模型生成模式的學習而預測出來的。引導模型通過其內部的參數和訓練學到的語言知識,評估每個可能 token 成為下一個生成詞元的可能性,并輸出概率值。例如,引導模型可能預測下一個 token 有 80% 的概率是 “蘋果”,10% 的概率是 “香蕉” 等。

Ⅲ、候選集篩選(可選)

根據概率排序與篩選:如果引導模型生成的候選 token 數量較多,可能會根據預測概率對候選集進行排序,然后篩選出概率較高的一部分 token 作為最終的候選集。例如,只選擇概率最高的前 5 個 token,這樣可以進一步減少主模型需要驗證的 token 數量,提高整體效率。這一步驟并非絕對必要,具體是否執行以及篩選的標準可能根據模型的設計和應用場景而定。

Ⅳ、主模型驗證

針對候選集計算:主模型接收輸入文本以及引導模型生成的候選 token 集對這些候選 token 進行驗證。主模型會根據自身強大的語言理解和生成能力,對每個候選 token 在當前上下文下的合理性進行評估。與傳統生成方式不同,此時主模型無需對整個詞匯表中的所有 token 進行計算,大大減少了計算量。

確定最終 token:主模型通過計算,確定在候選集中哪個 token 是最符合當前文本上下文的下一個生成詞元。如果引導模型的預測準確,主模型驗證后選擇的 token 與引導模型預測概率最高的 token 一致,就直接采用該 token 作為生成結果;若主模型驗證后認為引導模型的預測均不準確,則按照常規方式,對整個詞匯表進行計算,確定正確的下一個 token。

Ⅴ、生成輸出與循環

輸出當前 token:將確定的下一個 token 輸出,作為文本生成的一部分。這個 token 可能會被添加到已生成的文本序列中,形成新的上下文。

循環進行下一輪預測:以新的文本序列作為輸入,重復上述步驟,繼續生成下一個 token,直到滿足預設的生成結束條件,如達到指定的文本長度、生成特定的結束標志 token 等。通過這樣的循環過程,逐步生成完整的文本。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75842.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ffmpeg時間基與時間戳

時間基、時間戳 時間基:表示時間單位的分數,用來定義視頻或音頻流中時間的精度。其形式是一個分數,分子通常為 1,而分母則表示每秒的單位數。 時間戳:代表在時間軸里占了多少個格子,是特定的時間點。 時間…

激光加工中平面傾斜度的矯正

在激光加工中,加工平面的傾斜度矯正至關重要,直接影響加工精度和材料處理效果。以下是系統的矯正方法和步驟: 5. 驗證與迭代 二次測量:加工后重新檢測平面度,確認殘余誤差。 反饋優化:根據誤差分布修正補償…

算法刷題記錄——LeetCode篇(2.2) [第111~120題](持續更新)

更新時間:2025-04-04 算法題解目錄匯總:算法刷題記錄——題解目錄匯總技術博客總目錄:計算機技術系列博客——目錄頁 優先整理熱門100及面試150,不定期持續更新,歡迎關注! 114. 二叉樹展開為鏈表 給你二…

C語言學習筆記-9

九、結構體 構造類型: 不是基本類型的數據結構也不是指針類型, 它是若干個相同或不同類型的數據構成的集合 結構體類型: 結構體是一種構造類型的數據結構,是一種或多種基本類型或構造類型的數據的集合。 1.結構體類型定義 定…

Test——BUG篇

目錄 一軟件測試的生命周期 二BUG 1概念 2描述Bug 3Bug級別 4Bug的生命周期 三與開發人員發生爭執怎么辦 ?編輯1先自省:是否Bug描述不清晰 2站在用戶角度考慮并拋出問題 3Bug定級有理有據 4不僅要提出問題,還要給出解決方案 5Bug評審 5.1…

【Block總結】HWAB,半小波注意力塊|即插即用

論文信息 標題: HALF WAVELET ATTENTION ON M-NET+ FOR LOW-LIGHT IMAGE ENHANCEMENT 地址: arXiv:2203.01296 日期: 2022年3月 創新點 改進的分層架構 M-Net+: 提出了一個專為低光圖像增強設計的改良分層模型 M-Net+。該架構旨在緩解采樣過程中的空間信息損失問題。通過采用…

Spring 中的事務

🧾 一、什么是事務? 🧠 通俗理解: 事務 一組操作,要么全部成功,要么全部失敗,不能只做一半。 比如你轉賬: A 賬戶扣錢B 賬戶加錢 如果 A 扣了錢但 B 沒收到,那就出問…

Flutter極速接入IM聊天功能并支持鴻蒙

Flutter極速接入IM聊天功能并支持鴻蒙 如果你們也是Flutter項目,想快速接入聊天,包括聊天的UI界面,強烈推薦這一家。因為我們已經完成了集成,使用非常穩定,集成也非常快捷方便。 而且,就在今天&#xff0c…

C# 類庫生成后自動復制到指定目錄

C# 類庫生成后自動復制到指定目錄 在C#中,當你開發了一個類庫項目(通常是.NET Core或.NET Framework項目),你可能會希望在構建(Build)完成后自動將生成的DLL文件復制到指定的目錄。有幾種方法可以實現這個需求,下面是一些常用的方法: 方法1:使用MSBuild的AfterBuild…

13-產品經理-產品多分支平臺管理

禪道16.0版本開始,優化和增強了產品的分支/平臺功能,主要特點如下: 多分支/平臺功能兼容各種大小型項目,項目/迭代可以關聯對應產品的某個分支/平臺。分支/平臺支持靈活管理,可以把分支/平臺理解為時間層面的概念&…

手搓多模態-04 歸一化介紹

在機器學習中,歸一化是一個非常重要的工具,它能幫助我們加速訓練的速度。在我們前面的SiglipVisionTransformer 中,也有用到歸一化層,如下代碼所示: class SiglipVisionTransformer(nn.Module): ##視覺模型的第二層&am…

Qt 入門 1 之第一個程序 Hello World

Qt 入門1之第一個程序 Hello World 直接上操作步驟從頭開始認識,打開Qt Creator,創建一個新項目,并依次執行以下操作 在Qt Creator中,一個Kits 表示一個完整的構建環境,包括編譯器、Qt版本、調試器等。在上圖中可以直…

深入理解MySQL:核心特性、優化與實踐指南

MySQL是一個開源的關系型數據庫管理系統(RDBMS),由瑞典MySQL AB公司開發,目前屬于Oracle公司。它是目前世界上最流行的開源數據庫之一,廣泛應用于各種規模的Web應用和企業系統中。 目錄 一、核心特點 關系型數據庫: 開源免費&am…

Linux 系統安裝與優化全攻略:打造高效開發環境

一、開篇引言 (一)Linux 系統的廣泛應用 Linux 憑借其開源、穩定且安全的特性,在服務器、嵌入式設備以及開發環境等領域都有著極為廣泛的應用。 (二)撰寫本文的目的 為讀者提供一套全面且實用的指南,助…

代碼訓練day22回溯算法p1

1.組合 (1)模板 void backtracking(參數) {if (終止條件) {存放結果;return;}for (選擇:本層集合中元素(樹中節點孩子的數量就是集合的大小)) {處理節點;backtracking(路徑,選擇列表); // 遞歸回溯&#…

2024華為OD機試真題-任務最優調度(C++/Java/Python)-E卷-200分

2024華為OD機試最新E卷題庫-(D卷+E卷)-(JAVA、Python、C++) 目錄 題目描述 輸入描述 輸出描述 用例1 考點 題目解析 代碼 c++ java python 題目描述 給定一個正整數數組表示待系統執行的任務列表,數組的每一個元素代表一個任務,元素的值表示該任務的類型。請計算執…

每日習題:20250407

2025 2025 2025年 04 04 04月 06 06 06日 題目 1 設 X X X是實隨機變量,任意光滑的函數 f : R → R f:\mathbf{R} \rightarrow \mathbf{R} f:R→R,都有: E ( X f ( X ) ) E ( f ′ ( X ) ) E\left(Xf(X)\right)E\left(f(X)\right) E(Xf(X)…

TensorRT 有什么特殊之處

一、TensorRT的定義與核心功能 TensorRT是NVIDIA推出的高性能深度學習推理優化器和運行時庫,專注于將訓練好的模型在GPU上實現低延遲、高吞吐量的部署。其主要功能包括: 模型優化:通過算子融合(合并網絡層)、消除冗余…

JCR一區文章,壯麗細尾鷯鶯算法Superb Fairy-wren Optimization-附Matlab免費代碼

本文提出了一種新穎的基于群體智能的元啟發式優化算法——壯麗細尾鷯優化算法(SFOA),SFOA從精湛的神仙鶯的生活習性中汲取靈感。融合了精湛的神仙鶯群體中幼鳥的發育、繁殖后鳥類喂養幼鳥的行為以及它們躲避捕食者的策略。通過模擬幼鳥生長、繁殖和攝食階…

使用Ubuntu18恢復群暉nas硬盤數據外接usb

使用Ubuntu18恢復群暉nas硬盤數據外接usb 1. 接入硬盤2.使用Ubuntu183.查看nas硬盤信息3. 掛載nas3.1 掛載損壞nas硬盤(USB)3.2 掛載當前運行的nas 4. 拷貝數據分批傳輸 5. 新舊數據對比 Synology NAS 出現故障,DS DiskStation損壞,則可以使用計算機和 U…