Text Compression for Efficient Language Generation
[2503.11426] Text Compression for Efficient Language Generation
NAACL 2025
提出了“Generative Pretrained Thoughtformer”(GPTHF),這是一個分層 transformer 語言模型,它能夠通過將文本壓縮成句子嵌入并采用句子注意力機制來進行文本生成(將句子壓縮成一個固定大小的嵌入并采用句子級注意力來生成文本,對GPT的修改很小)。?GPTHF 保留了 GPT 的架構,僅通過動態稀疏注意力掩碼修改 token 交互。
這項工作沒有壓縮固定大小的 token 組,而是將一個句子——語言中具有更高語義價值的單元——壓縮成一個嵌入。作者專注于利用這些嵌入來提高計算效率,而不是嵌入本身。
方法
架構
GPTHF 模型由兩個主要組件組成:一個詞級 Transformer 編碼器 (wlt_encoder) 和一個句子級 Transformer 主體 (slt_body)。?編碼器將每個句子壓縮成一個單獨的嵌入,同時保留基本信息。?slt_body?對這些句子嵌入進行上下文處理并生成下一個 token 預測。
預訓練
使用自動回歸模型中常見的下一個 Token 預測目標。?為了在啟用有效的并行訓練的同時,為 Token 預測準備GPTHF,再次采用專門的注意性掩碼(圖4)。?目標是序列中的下一個 Token (圖3)?
訓練語料庫包含了 OpenWebText、維基百科和 ArXiv。使用標準的GPT-2 Token ,繼承了其詞匯大小和未知單詞的處理,同時引入了“EOS” Token 。?這個 Token 對于快速生成方法的設計至關重要,這是這項工作的基石。
使用 Adam 優化器,權重衰減為 0.01,β1=0.9,β2=0.98?和??=10?8.
保持梯度裁剪,值為 0.5。
學習率調度器使用線性衰減并進行 10000 步的預熱
批次大小調度器,起始批次大小為 64,并線性增加到 4096,在訓練持續時間的 60% 時達到峰值。?
在訓練期間消除了 dropout。
模型在預訓練語料庫上只進行一次或更少的傳遞,這降低了過擬合的風險。
快速生成
【感覺上是一句話有對應的emb,常規的生成token并不會影響先前已有句子的emb,因此在更新emb的時候效率得到了提高】
實驗
使用驗證困惑度和效率指標(FLOPs 和運行時)評估 GPTHF 與大小相當的 GPT 風格基線。
訓練數據限制為 100 億個 token,分為 320’000 個大小為 64 的微批次步驟,上下文大小為 512 個 token。?所有模型都在相同的數據集上進行預訓練。
基線:訓練了一個名為“Baseline-12”的 12 層基線和一個名為“Baseline-24”的 24 層基線,它們與 GPTHF 對應物具有相同的架構和大小。?唯一的區別是與圖4中的掩碼相反,它們使用用于編碼器和主體的完整三角掩碼進行訓練。
困惑度
GPTHF-16-8 和 12 層基線模型的表現相當,為進一步比較奠定了基礎:如果 GPTHF-16-8 實現了比 12 層 GPT 更高的生成效率和/或速度,那么訓練一個能夠壓縮的更大模型可能是值得的。
FLOPs
快速生成算法的加速度取決于跨句子的 Token 分布,而不是僅輸入的形狀。?直觀地說,更多句子通過緩存已完成的句子來跳過編碼器。
?效率增益隨著提示長度的增加而增加。
?平均句子數(x 軸)與效率提升(y 軸)的散點圖。效率提升與平均句子數線性相關。對于批處理數據,效率提升較低,這可能是由于 token 的多樣性較大(從增加的方差可以看出),導致處理了更多的 padding token,從而減慢了快速生成算法的速度。
推理時間
隨著上下文增加,加速比也會增加。
綜合來看,核心貢獻是以句子為基準進行劃分,只修改最后一句話在添加新的生成token后的emb,前面句子的emb不做變化。也對encoder的作用區域進行了精簡。
對我來說用處不大,簡單了解即可。