宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

Meta與斯坦福聯手:讓字節級AI說話更快,"逐字節生成"的瓶頸終於被打破了?

2026年05月13日 首頁 » 熱門科技

這項由Meta人工智慧基礎研究團隊(FAIR at Meta)與斯坦福大學、華盛頓大學聯合開展的研究,於2026年5月發表,論文預印本編號為arXiv:2605.08044v1。感興趣的讀者可以通過該編號在arXiv平台上查閱完整論文。

現代語言模型的工作方式,大多數人都沒仔細想過:當你在用ChatGPT或類似的AI工具時,它並不是真的"逐字逐字"地寫出回答,而是把文字先切割成一個個"詞片段"——專業上叫做"詞元"(token)——然後對著這些詞片段進行預測和生成。這種做法效率高,但也帶來了一些隱患。比如,對於不同語言的用戶來說,同樣一段話被切割成的詞片段數量可能相差幾倍,中文用戶往往"吃虧";再比如,遇到拼寫錯誤、專有名詞、代碼這類不規則內容時,這套切詞規則就容易"露餡"。

字節級語言模型就是為了根治這個問題而生的。顧名思義,它不再依賴預先設計好的詞彙表和切割規則,而是直接對原始字節(也就是電腦儲存文字的最小單位,每個英文字母、數字甚至漢字都由若干字節組成)進行處理,徹底繞開了詞彙切割這道門檻。

然而,字節級模型長期以來面臨一個讓人頭疼的問題:太慢了。原因不難理解——一個普通的英文詞元平均覆蓋好幾個字節,如果模型要像傳統方法那樣"一步一步"地生成,對於同樣一段文字,它需要走的步驟數遠遠多於詞元級模型。這就像是一個廚師,別人用一把大鏟子翻炒一道菜,而他非要用筷子一粒一粒地翻動食材,最終結果一樣,但耗時完全不成比例。

Meta和斯坦福的研究團隊把目光投向了一個已經在字節級領域展現出潛力的架構——字節潛變換器(Byte Latent Transformer,簡稱BLT)。BLT的聰明之處在於,它不是對每一個字節都進行"全力以赴"的深度運算,而是把字節動態地打包成長度不等的"補丁"(patch),然後集中精力對這些補丁對應的潛在表示進行運算。越難預測的文字內容,補丁越短、處理越精細;越容易預測的部分,補丁越長、處理越粗略。這樣一來,整體運算量大幅降低。

但即便如此,BLT在生成文本時仍然是一個字節一個字節地往外蹦,這在現代AI推理的硬體層面造成了一個被稱為"內存頻寬瓶頸"的問題。通俗地說,就是模型的權重參數被反覆從內存中調入調出,每生成一個字節就要搬運一次這些龐大的"工具箱",效率極低。

正是針對這個具體的瓶頸,這支研究團隊提出了三種全新的訓練與生成技術,統一冠以"快速字節潛變換器"(Fast BLT)的名號。這篇文章將帶你完整地了解這三種方法的來龍去脈、實際效果,以及它們各自適合什麼場景。

一、從"逐字節蹦躂"到"整塊並行釋放":BLT擴散模型是怎麼煉成的

要理解研究團隊的第一個發明——BLT擴散模型(BLT Diffusion,簡稱BLT-D)——先得了解擴散語言模型(diffusion language model)這個概念的基本邏輯。

擴散模型原本是圖像生成領域的明星技術。它的核心思路是:先把一張清晰的圖片"污染"成一團噪聲,然後訓練模型學會如何一步一步地把噪聲"去除",還原成清晰的圖片。文本領域的擴散模型借鑑了這個思路,但把"加噪聲"改成了"遮蓋"——把一段文字里的某些詞或字節替換成特殊的"遮罩"符號,然後讓模型學會把被遮住的內容猜回來。這和我們熟悉的完形填空非常像。

關鍵在於,擴散模型在生成時,可以同時預測一整段被遮住的內容,而不是像傳統自回歸模型那樣必須先生成第一個字,才能生成第二個字,再生成第三個字……這種"並行生成"的能力,正是它速度優勢的來源。

然而,把擴散模型硬塞進BLT的架構里,並不是件簡單的事。BLT的補丁是動態計算的——文字的難易程度不同,補丁的長度就不同,這讓"固定塊大小"的擴散框架顯得很彆扭。研究團隊的解法是:在訓練時,構造出一些"固定長度的塊",這些塊的起點與BLT的補丁邊界對齊,但塊的長度可以超過單個補丁,延伸到後續補丁的字節中。這樣,模型就被迫學會"向前多看幾個字節",具備了預測超出當前補丁範圍的能力。

訓練過程同時使用了兩個目標:一個是傳統的"下一個字節預測"(逐字節的自回歸損失),另一個是"被遮蓋字節預測"(擴散損失)。二者合併成一個總損失函數一起優化。這樣訓練出來的BLT-D,既保留了BLT原有的自回歸生成能力,又額外獲得了並行擴散解碼的能力。

在生成階段,BLT-D的工作流程可以這樣理解:編碼器和全局模型(這是BLT架構中負責"深度思考"的大腦部分)照常工作,對已有的文字內容進行理解和編碼,輸出一組"潛在表示"。然後,解碼器面對的不是一個空白位置,而是一整塊填滿了"遮罩"符號的固定長度區域,就像一張布滿空格的填字遊戲紙。解碼器用雙向注意力(它可以同時看到這塊區域內所有位置的狀態)對這些空格進行推斷,每次可以填入多個最有把握的字節,直到整塊區域全部填滿。

填字的順序由兩種策略控制。一種是"置信度優先":每次選出模型最確定的那些空格填入,直到達到一個預設的置信度閾值。另一種叫"熵約束採樣"(EB sampling):先按照每個空格的預測不確定程度從低到高排序,然後依次累加不確定性,一旦累加值超過某個閾值就停下來,把閾值以內的空格全部填入。這種方式可以和"top-p採樣"結合,產生多樣化的生成結果。兩種策略都有一個保底機制:如果沒有任何空格滿足條件,就至少填入最有把握的那一個,確保不會卡死。

這套機制的實際效果怎麼樣?研究團隊訓練了四種模型:一個標準BLT,以及塊大小分別為4、8、16字節的三種BLT-D變體(分別稱為BLT-D-4、BLT-D-8、BLT-D-16)。每種模型都訓練了10億參數和30億參數兩個規模,所有模型都在同一個包含1萬億詞元的大規模數據集上訓練,確保比較公平。

從30億參數的翻譯任務結果來看,BLT-D-4在法語到英語翻譯中獲得了38.09分(BLEU分數,衡量翻譯質量的標準指標),與BLT的40.72分差距不大,而它的內存頻寬消耗比BLT低了約58%。BLT-D-8在同一任務中得到37.09分,內存頻寬降低約78%。BLT-D-16則將內存頻寬壓縮到只有BLT的8%到13%左右,降低幅度高達87%到92%,但翻譯質量有所下降,代碼生成任務上的表現下滑更為明顯。這說明塊大小越大,速度越快,但模型需要"猜測"的未來字節越多,質量代價也越大。

二、BLT的"自我草稿":讓輕量解碼器替代專門的草稿模型

了解了BLT-D之後,我們來看第二種方法——BLT自我猜測(BLT Self-speculation,簡稱BLT-S)。這種方法的思路來自近年來在大模型推理領域非常流行的一項技術:推測性解碼(speculative decoding)。

推測性解碼的基本邏輯是:與其讓大模型每生成一個詞就搬運一次整個"工具箱",不如用一個輕量級的小模型先快速草擬出幾個候選詞,然後讓大模型一次性驗證這批草稿,接受對的、拒絕錯的,並替換掉第一個出錯的位置。因為大模型的一次並行驗證往往比多次單步生成高效,整體速度就提升了。傳統推測性解碼的代價是需要維護兩個模型,增加了系統的複雜性。

BLT-S則利用了BLT自身架構的特點,把"草稿模型"的角色交給了BLT自己的輕量解碼器,完全無需引入額外的模型。

回憶一下BLT的工作方式:編碼器把輸入字節打包成補丁,全局模型對這些補丁進行深度處理,然後解碼器根據全局模型的輸出,一個字節一個字節地生成新內容。每當解碼器生成到一個高不確定性的字節時(也就是下一個補丁應該開始的地方),BLT就會重新調用編碼器和全局模型,獲取最新的潛在表示。

BLT-S的改動很簡單:不再在高不確定性處立刻停下來調用編碼器和全局模型,而是讓解碼器"硬撐"著繼續往下生成,直到生成了固定數量k個字節。這k個字節就是"草稿"。草稿生成完畢後,BLT才調用完整的編碼器和全局模型,對整個包含草稿的序列進行一次完整的前向傳播,得到每個位置的下一字節預測。然後,BLT-S從草稿的第一個字節開始逐一比對:若草稿字節與模型驗證的預測一致,接受並繼續;若不一致,替換掉該字節,並終止這輪草稿,從替換點開始下一輪。

由於驗證使用的是貪心解碼(即每次選概率最高的字節),且接受標準是精確匹配(草稿字節必須與模型驗證的預測完全一致),BLT-S在貪心解碼下保證輸出與標準BLT完全相同——這是一個非常重要的性質,意味著加速沒有任何質量代價。

實驗數據印證了這一點。在30億參數的翻譯任務中,BLT-S使用k=8時,法語到英語翻譯得分依然是40.72分,與標準BLT完全一致,但內存頻寬降低了約51.65%;k=16時降低了約62.15%,不過此時解碼器生成的草稿有更多字節不被接受(驗收率降至約70%),說明解碼器在預測較遠的未來字節時開始力不從心。代碼生成任務上,k=16時內存頻寬降低約63%,質量同樣沒有損失。這意味著BLT-S在不犧牲任何生成質量的前提下,實現了相當可觀的效率提升。

三、擴散草稿加上自回歸驗證:BLT-DV如何兩全其美

有了BLT-D的高速並行生成和BLT-S的無損驗證加速,研究團隊自然想到了一個組合技:能不能用BLT-D的擴散解碼器來生成草稿,再用自回歸的方式來驗證和修正這些草稿,從而在速度和質量之間取得更好的平衡?這就是第三種方法——BLT擴散加驗證(BLT Diffusion+Verification,簡稱BLT-DV)。

實現這一思路的關鍵前提,恰恰就藏在BLT-D的訓練設計里。前面提到,BLT-D的訓練損失函數包括兩部分:擴散損失和自回歸下一字節預測損失。這意味著,同一個BLT-D模型,既可以用擴散模式運行(解碼器對一整塊遮罩位置進行雙向注意力並行預測),也可以用自回歸模式運行(解碼器只用因果注意力掩碼,一個字節一個字節地生成)。切換模式,只需要改變注意力掩碼的設置,模型參數完全不用換。

BLT-DV的生成過程就是:先用擴散模式生成一塊草稿字節,然後立即切換到自回歸模式,對整段包含草稿的序列做一次完整前向傳播,得到每個位置的下一字節預測,再用與BLT-S相同的驗證邏輯逐一核對草稿,接受正確的,替換第一個錯誤的。

研究團隊發現,在BLT-DV中使用"一步擴散"(也就是只做一次解碼器前向傳播就把整塊遮罩全部填完,相當於最激進的並行生成)配合驗證,是推理速度最快的設置。雖然一步擴散單獨使用時質量會嚴重下降,但驗證步驟有效地"兜了底",把質量拉回到一個可接受的水平。

具體來看30億參數的代碼生成任務(HumanEval):BLT-D-8在純擴散模式(置信度閾值0.7)下得分15.85,而BLT-DV-8(一步擴散加驗證)得分上升到16.46,內存頻寬比BLT降低了約54%。BLT-D-16純擴散下得分9.76,BLT-DV-16一步擴散加驗證後提升至14.02,內存頻寬降低約71.5%。對於翻譯任務,BLT-DV-8的表現接近BLT-D-4的水平,而BLT-DV-16也明顯優於純BLT-D-16。可見,驗證這一步確實在大塊擴散時發揮了顯著的質量修復作用。

代價是什麼?驗證需要額外調用一次完整的編碼器和全局模型,因此BLT-DV的編碼器和全局模型調用次數比純BLT-D更多,總內存頻寬比純BLT-D略高。不過依然遠低於標準BLT。這在速度與質量之間構成了一個合理的中間地帶。

四、三種方法的橫向比較:各有所長,各有代價

把三種方法放在一起看,我們可以清晰地感受到它們各自的定位。

BLT-D是三者中速度最快的。以30億參數模型在翻譯任務上的內存頻寬為基準,BLT-D-4可以降低約57%到59%,BLT-D-8可以降低約77%到79%,BLT-D-16可以降低約87%到92%。代價是隨著塊大小增加,代碼生成等需要精確邏輯推理的任務質量有明顯下降,而翻譯任務的質量則相對魯棒。這說明擴散解碼在處理"規律性強、容錯性高"的任務時遊刃有餘,但在需要精確到每一個字節的任務(如代碼)上會暴露出局限性。

BLT-S的優勢在於"零損失"。它在貪心解碼下與標準BLT生成完全相同的結果,不存在任何質量折損,內存頻寬可以降低約50%到77%,具體取決於推測窗口大小k以及各任務的草稿接受率。它的不足在於增加了解碼器的調用次數(解碼器要額外跑k個字節的草稿),對於解碼器參數量很小的模型來說這個代價幾乎可以忽略,但如果未來解碼器被擴大,這部分代價會變得更明顯。

BLT-DV則是質量與速度之間的折中方案。它比純BLT-D的質量更好,尤其是在大塊擴散(如塊大小16)時提升明顯,但比BLT-S的質量略低(BLT-DV不保證與標準BLT完全相同的輸出,因為擴散草稿本身就可能與自回歸路徑有所偏離,只是被驗證過濾到"足夠好"的程度)。內存頻寬減少幅度大約在52%到81%之間,視塊大小和任務而定。

五、還有什麼被測量了:多樣性分析與基準能力評估

除了主要的翻譯和代碼生成任務,研究團隊還做了兩類補充實驗。

第一類是無條件文本生成的多樣性分析。研究團隊讓BLT-D模型從起始符號開始自由生成最多1000個字節的文本,不給任何提示,然後計算生成文本的"詞語類型-詞語總數"比值(type-token ratio,TTR),這是衡量詞彙多樣性的一個簡單指標,值越高說明生成的詞彙越豐富、越不重複。

結果顯示出一個清晰的規律:解碼器調用次數越多,TTR越高;調用次數越少(也就是並行程度越高、每步填入的字節越多),TTR越低,文本越單調重複。這背後的邏輯是:當模型被要求一次性填完更多字節時,它傾向於選擇最安全、最"顯而易見"的內容,導致生成文本缺乏變化;而當它有機會逐步調整、每次只填幾個最確定的字節時,生成的多樣性就更高。這個現象揭示了擴散解碼中一個內在的權衡:想要更快,就得接受更少的多樣性。

第二類是標準語言理解基準測試。研究團隊對所有BLT和BLT-D模型跑了ARC-Easy、ARC-Challenge(兩個科學問答基準)、PIQA(常識推理)、HellaSwag(常識句子補全)和MMLU(多學科知識理解)這五個測試。

以30億參數為例,BLT在ARC-Easy上得74.33分,BLT-D-4得72.39,BLT-D-8得70.95,BLT-D-16得66.89,分數隨塊大小增大而逐漸下滑。PIQA和HellaSwag上也呈現相同趨勢。MMLU的差距相對小一些(BLT是41.15,BLT-D-16是37.08)。總體而言,BLT-D在添加擴散訓練目標後,自回歸能力有所下降,但仍然在合理範圍之內,不至於"丟掉了語言模型的本分"。1B參數版本也有類似規律,但分數普遍低於3B版本(這符合模型越大越強的一般規律)。

這些基準結果同時也為BLT-DV的驗證質量提供了間接依據:因為BLT-DV的驗證步驟用的正是BLT-D的自回歸模式,如果BLT-D的自回歸能力越接近BLT,那麼驗證時的預測也就越準確,接受率越高,速度越快,生成質量也越有保障。

六、測量效率的方式:為什麼用內存頻寬而不是時鐘秒數

細心的讀者可能注意到,上面所有的效率討論都是用"內存頻寬"或者"網路函數評估次數(NFE)"來衡量的,而不是我們日常更熟悉的"每秒生成多少字"或"實際運行時間"。這個選擇背後有明確的理由,研究團隊在論文中也坦誠地說明了這是一個局限性。

現代AI模型在小批量、低延遲場景下(比如你在手機上跟AI對話,只有你一個人在用,不是一堆人同時發請求),推理速度的瓶頸主要不是計算量(浮點運算的多少),而是內存頻寬(也就是把模型參數從內存搬到計算單元的速度)。每次做一次前向傳播,就要把相關的模型參數從內存搬運一次。參數越多,搬運越慢;前向傳播次數越多,搬運越頻繁。所以用"參數量乘以前向傳播次數"來估算內存頻寬,是一個合理的近似。

具體的公式是:總內存頻寬(GB)= b × [解碼器前向傳播次數 × 解碼器參數量 + 編碼器全局模型前向傳播次數 × (編碼器參數量 + 全局模型參數量)] / 10的9次方,其中b=2表示每個參數用16位浮點精度儲存占2字節。

但NFE和內存頻寬畢竟是估算,而不是實際測量的wall-clock時間(也就是你拿著秒表計時的那種真實耗時)。實際運行時間還會受到硬體特性、計算核心的利用率、KV緩存的管理方式、算子融合優化等眾多因素的影響。研究團隊明確指出,在高度優化的推理引擎上對這幾種方法進行實際運行時間測試,是一個重要的後續工作方向。換句話說,本文的效率數據是理論估算,落地實現時可能與這些數據有出入,但整體趨勢應當是成立的。

此外,這篇論文評估的模型規模是10億和30億參數,屬於中等規模。更大規模的模型(如數百億參數)上這些方法的表現,以及擴散解碼與自回歸驗證的最優組合比例,都有待進一步探索。

說到底,這篇論文幹的事情可以用一句話來概括:讓字節級語言模型在生成時不再那麼"費力",具體做法是給它們安上了"批量填字"、"提前打草稿"、"草稿加校對"這三種新本領。這不是什麼改頭換面的革命,而是在一個已經很有潛力的架構上,針對一個具體而現實的瓶頸,提出了有效的工程解法。

對於普通用戶來說,這意味著什麼?如果字節級模型在未來真的被廣泛部署,這類技術上的改進會直接讓AI回復速度更快、響應延遲更低,同時對多語言用戶更公平,對包含特殊字符或格式的內容(比如代碼、數學公式、罕見語言)處理得更準確。當然,從實驗室結果到產品落地還有很長的路要走,論文自己也坦承NFE只是效率的代理指標,真實部署的性能還需要進一步驗證。

如果你對這些技術細節有更深的好奇,可以在arXiv上以編號2605.08044檢索這篇論文,看看研究團隊在附錄里提供的完整超參數掃描結果和更多分析。

Q&A

Q1:字節級語言模型和普通語言模型有什麼區別?

A:普通語言模型(如GPT系列)把文字切分成"詞片段"(token)再處理,不同語言切分效率不同,有時會"虧待"中文等非英語用戶。字節級語言模型跳過了這一步,直接處理電腦儲存文字的最小單位——字節,不需要提前設計詞彙表,理論上對所有語言更公平,對拼寫錯誤、代碼等特殊內容也更魯棒,但歷史上速度較慢。

Q2:BLT-D、BLT-S和BLT-DV這三種方法哪個最好?

A:沒有絕對最好,各有側重。BLT-D速度最快,內存頻寬最低,但在代碼生成等精確任務上質量有下降;BLT-S不損失任何生成質量(貪心解碼下與原BLT輸出完全一致),效率也有顯著提升;BLT-DV介於兩者之間,比純BLT-D質量更好,比BLT-S速度更快,適合對質量有一定要求但又希望加速的場景。

Q3:Fast BLT的研究結果是用真實運行時間測的嗎?

A:不是。論文使用的是"內存頻寬"和"網路函數評估次數(NFE)"作為效率指標,這是對實際推理成本的理論估算,而非秒表計時的真實運行時間。實際部署時的速度還受硬體、優化程度等因素影響。研究團隊明確指出,在高度優化的推理實現上做真實時間測試是重要的後續工作。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新