GPT-4可能也在用的推測(cè)解碼是什么?一文綜述前世今生和應(yīng)用情況
眾所周知,大型語(yǔ)言模型(LLM)的推理通常需要使用自回歸采樣,這個(gè)推理過(guò)程相當(dāng)緩慢。為了解決這個(gè)問(wèn)題,推測(cè)解碼(Speculative Decoding)已經(jīng)成為 LLM 推理的一種新型采樣方法。這種方法在每個(gè)采樣步驟中,會(huì)先預(yù)測(cè)幾個(gè)可能的 token,然后并行地驗(yàn)證是否準(zhǔn)確。與自回歸解碼不同,推測(cè)解碼能夠單步解碼多個(gè) token,從而加速推理。
雖然推測(cè)解碼可以大有作為,但也引出了一些需要進(jìn)一步調(diào)研的關(guān)鍵問(wèn)題。首先需要考慮如何選擇或設(shè)計(jì)近似模型,以在推測(cè)準(zhǔn)確性和生成效率之間取得平衡。其次,有必要考慮評(píng)估標(biāo)準(zhǔn)是否能夠保持生成多樣性和輸出質(zhì)量。最后,應(yīng)仔細(xì)考慮對(duì)齊近似模型和目標(biāo)大模型之間的推理過(guò)程,以提高推理準(zhǔn)確性。
基于上述問(wèn)題,來(lái)自香港理工大學(xué)、北京大學(xué)、MSRA 以及阿里的研究者對(duì)推測(cè)解碼進(jìn)行了全面的調(diào)研。機(jī)器之心進(jìn)行了總結(jié)整理。
- 論文標(biāo)題:Unlocking Efficiency in Large Language Model Inference: A Comprehensive Survey of Speculative Decoding
- 論文地址:https://arxiv.org/pdf/2401.07851.pdf
推測(cè)解碼的演化之路
本文首先深入介紹了推測(cè)解碼的早期研究情況,并通過(guò)其演變的時(shí)間表進(jìn)行了說(shuō)明(如下圖 2 所示)。
分塊采樣(Blockwise Decoding)是一種在 Transformer 解碼器上集成額外前饋神經(jīng)(FFN)頭的方法,能夠單步生成多個(gè) token。
為了進(jìn)一步釋放分塊采樣算法的潛力,推測(cè)解碼的方案被提了出來(lái)。這種算法包含一個(gè)獨(dú)立的近似模型,通常是一個(gè)專(zhuān)門(mén)的非自回歸 Transformer,能準(zhǔn)確高效地執(zhí)行生成任務(wù)。
繼推測(cè)解碼出現(xiàn)之后,有學(xué)者接著提出了「投機(jī)采樣算法」(Speculative Sampling),在推測(cè)解碼中加入了無(wú)損加速核采樣。
簡(jiǎn)而言之,這些在推測(cè)解碼方面的開(kāi)創(chuàng)性努力已經(jīng)逐漸鞏固了 Draftthen-Verify 范式,展示了其在 LLM 加速方面的巨大潛力。
公式和定義
本節(jié)首先簡(jiǎn)要概述了標(biāo)準(zhǔn)自回歸解碼的內(nèi)容,然后深入闡述了推測(cè)解碼算法,包括對(duì)形式定義、方法論的全面描述以及算法的詳細(xì)闡述。
本文提出了一個(gè)組織框架來(lái)對(duì)相關(guān)研究進(jìn)行分類(lèi),如下圖 3 所示。
本文在前人的基礎(chǔ)上,對(duì)「推測(cè)解碼算法」再次進(jìn)行了正式的定義:
推測(cè)解碼算法是一種先生成后驗(yàn)證的解碼模式,在每個(gè)解碼步驟,它首先需要能生成多個(gè)可能的 token,然后使用目標(biāo)大語(yǔ)言模型并行地評(píng)估所有這些 token,以加快推理速度。算法表 2 是一個(gè)詳細(xì)的推測(cè)解碼過(guò)程。
隨后,本文深入研究了這一范式不可或缺的兩個(gè)基本子步驟 —— 生成和評(píng)估。
生成
在每個(gè)解碼步驟中,推測(cè)解碼算法首先會(huì)生成多個(gè)可能的 token,作為對(duì)目標(biāo)大語(yǔ)言模型的輸出內(nèi)容的推測(cè)。
本文將生成的內(nèi)容分為兩類(lèi):獨(dú)立生成(independent drafting )和自生成(self-drafting),并在下表 1 中總結(jié)了其公式。
驗(yàn)證
在每個(gè)解碼步驟中,并行地驗(yàn)證近似模型生成的 token,以確保輸出質(zhì)量與目標(biāo)大語(yǔ)言模型高度一致。這個(gè)過(guò)程還確定了每一步可允許的 token 數(shù)量,這是一個(gè)能夠影響加速情況的一個(gè)重要因素。
對(duì)各種驗(yàn)證標(biāo)準(zhǔn)的總結(jié)如下表 2 所示,包括那些在大語(yǔ)言模型推理中支持貪心解碼和核采樣的標(biāo)準(zhǔn)。
生成和驗(yàn)證的子步驟會(huì)持續(xù)迭代,直到滿(mǎn)足終止條件為止,即 [EOS] token 被解碼或句子達(dá)到最大長(zhǎng)度。
此外,本文引入了 token 的樹(shù)驗(yàn)證算法,這是一種逐步提高 token 接受度的有效策略。
模型對(duì)齊
提高推測(cè)準(zhǔn)確性是加速推測(cè)解碼的關(guān)鍵:近似模型的預(yù)測(cè)行為越接近目標(biāo)大語(yǔ)言模型,對(duì)其生成 token 的接受率就越高。為此,現(xiàn)有的工作探索了各種知識(shí)提?。↘D)策略,以使近似模型的輸出內(nèi)容與目標(biāo)大語(yǔ)言模型的輸出內(nèi)容保持一致。
分塊解碼首先采用序列級(jí)知識(shí)提?。⊿eq-KD)來(lái)進(jìn)行模型對(duì)齊,用目標(biāo)大語(yǔ)言模型生成的句子訓(xùn)練近似模型。
此外,Seq-KD 也是提高并行解碼生成質(zhì)量的有效策略,提高了并行解碼的生成性能。
下表 3 中總結(jié)了現(xiàn)有推測(cè)解碼方法的主要特征,包括近似模型的類(lèi)型或生成策略、模型對(duì)齊方法、支持的評(píng)估策略和加速程度等情況。
應(yīng)用
除了作為一種通用范式外,最近的工作還表明,推測(cè)解碼的一些變體在特定任務(wù)中表現(xiàn)出非凡的有效性。此外,其他研究已經(jīng)將這種范式應(yīng)用于解決某些應(yīng)用場(chǎng)景特有的延遲問(wèn)題,從而實(shí)現(xiàn)推理加速。
例如,有些學(xué)者認(rèn)為,推測(cè)解碼特別適合于模型輸入和輸出高度相似的任務(wù),如語(yǔ)法糾錯(cuò)和檢索增強(qiáng)生成。
除了這些工作之外,RaLMSpec(Zhang et al., 2023b)用推測(cè)解碼來(lái)加速檢索增強(qiáng)語(yǔ)言模型(RaLMs)。
機(jī)遇與挑戰(zhàn)
問(wèn)題 1:如何權(quán)衡預(yù)測(cè)內(nèi)容的準(zhǔn)確性和生成效率?盡管目前對(duì)這個(gè)問(wèn)題取得了一些進(jìn)展,但在使近似模型與目標(biāo)大語(yǔ)言模型生成內(nèi)容保持一致方面仍有相當(dāng)大的改進(jìn)空間。除了模型對(duì)齊之外,其他因素(如生成質(zhì)量和預(yù)測(cè)長(zhǎng)度的確定)也會(huì)影響推測(cè)的準(zhǔn)確性,值得進(jìn)一步探索。
問(wèn)題 2:如何將推測(cè)解碼與其他領(lǐng)先技術(shù)相結(jié)合?作為一種通用的解碼模式,推測(cè)解碼已經(jīng)與其他先進(jìn)技術(shù)相結(jié)合,展示了其潛力。除了加速純文本的大語(yǔ)言模型之外,推測(cè)解碼在多模式推理中的應(yīng)用,如圖像合成、文本到語(yǔ)音合成和視頻生成,也是未來(lái)研究的一個(gè)有趣而有價(jià)值的方向。
更多細(xì)節(jié)內(nèi)容請(qǐng)參閱原論文。