從大模型的根源開始最佳化。
Transformer 架構可以說是近期深度學習領域許多成功案例背後的主力。建構深度Transformer 架構的簡單方法是將多個相同的Transformer 「區塊」(block)依序堆疊起來,但每個「區塊」都比較複雜,由許多不同的元件組成,需要以特定的排列組合才能實現良好的性能。
自從 2017 年 Transformer 架構誕生以來,研究者們基於其推出了大量衍生研究,但幾乎沒有改動過 Transformer “塊”。
那麼問題來了,標準 Transformer 區塊是否可以簡化?
在最近的一篇論文中,來自 ETH Zurich 的研究者討論瞭如何在不影響收斂特性和下游任務表現的情況下簡化 LLM 所必需的標準 Transformer 區塊。基於訊號傳播理論和經驗證據,他們發現可以移除一些部分,例如殘差連接、歸一化層(LayerNorm)、投影和值參數以及MLP 序列化子區塊(有利於並行佈局),以簡化類似GPT 的解碼器架構以及編碼器式BERT 模型。
研究者探討了在不影響訓練速度的情況下,是否可以移除所涉及的元件,並對Transformer區塊進行哪些架構修改。

論文連結:https://arxiv.org/pdf/2311.01906.pdf
Lightning AI 創辦人、機器學習研究者Sebastian Raschka 將這項研究稱為自己的「年度最愛論文之一」:
但也有研究者質疑:「這很難評,除非我看過完整的訓練過程。如果沒有歸一化層,也沒有殘差連接,如何能在大於1 億參數的網路中進行擴展?」

#Sebastian Raschka 表示同意:「是的,他們試驗的架構相對較小,這是否能推廣到數十億參數的Transformer 上還有待觀察。」但他仍然表示這項工作令人印象深刻,並認為成功移除殘差連接是完全合理的(考慮到其初始化方案)。
對此,圖靈獎得主Yann LeCun 的評價是:「我們只是觸及了深度學習架構領域的皮毛。這是一個高維度空間,因此體積幾乎完全包含在表面中,但我們只觸及了表面的一小部分。」
#為什麼需要簡化Transformer 區塊?
研究者表示,在不影響訓練速度的前提下簡化 Transformer 區塊是一個有趣的研究問題。
首先,現代神經網路架構設計複雜,包含許多元件,而這些不同元件在神經網路訓練動態中所扮演的角色,以及它們之間如何相互作用,人們對此尚不清楚。這個問題關乎深度學習理論與實務之間的差距,因此非常重要。
訊號傳播理論(Signal propagation)已被證明具有影響力,因為它能夠激勵深度神經網路架構中的實際設計選擇。訊號傳播研究了初始化時神經網路中幾何資訊的演化,透過跨輸入的分層表徵的內積來捕捉,在訓練深度神經網路方面取得了許多令人印象深刻的成果。
然而,目前理論只考慮初始化時的模型,而且往往只考慮初始前向傳遞,因此無法揭示深度神經網路訓練動態的許多複雜問題,例如殘差連接對訓練速度的助益。雖然訊號傳播對修改動機至關重要,但研究者表示,他們不能僅從理論上就得出簡化的 Transformer 模組,還要依靠經驗見解。
在實際應用方面,考慮到目前訓練和部署大型 Transformer 模型的高昂成本,Transformer 架構的訓練和推理管線的任何效率提升都代表著巨大的潛在節約意義。如果能夠透過移除非必要元件來簡化 Transformer 模組,既能減少參數數量,又能提高模型的吞吐量。
這篇論文也提到,移除殘差連接、值參數、投影參數和序列化子區塊之後,可以同時做到在訓練速度和下游任務表現方面與標準 Transformer 相符。最終,研究者將參數量減少了 16%,並觀察到訓練和推理時間的吞吐量增加了 16%。
如何簡化 Transformer 區塊?
研究者結合訊號傳播理論和經驗觀察,介紹如何從 Pre-LN 模組出發,產生最簡單的 Transformer 區塊(如下圖)。
在論文第四章的每一個小節,作者分別介紹如何在不影響訓練速度的情況下每次刪除一個區塊組件。
這一部分的所有實驗都在CodeParrot 資料集上使用了一個18-block 768-width 的因果僅解碼器類別GPT 模型,這個資料集足夠大,因此當作者處於單一訓練epoch 模式時,泛化差距非常小(見圖2),這使得他們可以專注於訓練速度。
刪除殘差連結
#研究者首先考慮刪除注意力子區塊中的殘差連結。在公式(1)的符號中,這相當於將 α_SA 固定為 0。簡單地移除注意力殘差連接會導致訊號退化,即秩崩潰(rank collapse),從而導致可訓練性差。在論文 4.1 部分,研究者詳細解釋了他們的方法。
刪除投影/ 值參數
#從圖3 可以得出結論,完全移除值和投影參數W^ V、W^P 是可能的,而且每次更新的訓練速度損失最小。也就是說,當β_V = β_P = 0 和identity 初始化的
#時,在相同的訓練步數後,本研究基本上能達到Pre-LN 區塊的性能。在這種情況下,在整個訓練過程中都有 W^V = W^P = I,即值和投影參數是一致的。作者在 4.2 節介紹了詳細方法。

刪除MLP 子區塊殘差連接
與上述幾個模組相比,刪除MLP 子區塊殘差連接要更具挑戰性。與先前的研究一樣,作者發現,在使用 Adam 時,如果沒有 MLP 殘差連接,透過訊號傳播使活化更加線性仍會導致每次更新訓練速度的顯著下降,如圖 22 所示。
他們也嘗試了 Looks Linear 初始化的各種變體,包括高斯權重、正交權重或恆等權重,但都無濟於事。因此,他們在整個工作中使用標準活化(例如 ReLU)和 MLP 子塊中的初始化。
作者轉向並行 MHA 和 MLP 子區塊的概念,這在幾個近期的大型 transformer 模型中已被證明很受歡迎,例如 PALM 和 ViT-22B。並行 transformer 區塊如下圖所示。

作者在論文 4.3 節詳細介紹了移除 MLP 子區塊殘差連接的具體操作。
刪除歸一化層
最後一個被刪除的是歸一化層,這樣就得到了圖 1 右上角的最簡塊。從訊號傳播初始化的角度來看,作者可以在本節簡化的任何階段移除歸一化層。他們的想法是,Pre-LN 區塊中的歸一化會隱式地降低殘差分支的權重,而這種有利的效果可以透過另一種機制在沒有歸一化層的情況下複製:要麼在使用殘差連接時明確降低殘差分支的權重,要麼將注意力矩陣偏向identity / 將MLP 非線性轉換為「更」線性。
由於作者在修改過程中考慮了這些機制(例如降低 MLP β_FF 和 Shaped Attention 的權重),因此無需進行歸一化處理。作者在第 4.4 節介紹了更多資訊。
實驗結果
深度擴展
#鑑於訊號傳播理論通常關注很大的深度,而這種情況下通常會出現訊號退化。因此一個很自然的問題就是,本文的簡化 transformer 區塊所提升的訓練速度是否也能擴展到更大的深度?
從圖6 可以觀察到,將深度從18 個區塊擴展到72 個區塊後,本研究的模型和Pre-LN transformer 的表現都得到了提高,這表明本研究中的簡化模型不僅訓練速度更快,還能利用更大的深度所提供的額外能力。事實上,在使用歸一化時,本研究中的簡化區塊和 Pre-LN 的每次更新軌跡在不同深度下幾乎沒有差異。

BERT
接下来,作者展示了他们的简化块性能除了适用于自回归解码器之外,还适用于不同的数据集和架构,以及下游任务。他们选择了双向仅编码器 BERT 模型的流行设置,用于掩蔽语言建模,并采用下游 GLUE 基准。
如图 7 所示,在 24 小时运行时内,与(Crammed)Pre-LN 基线相比,本研究的简化块可以媲美掩蔽语言建模任务的预训练速度。另一方面,在不修改值和投影的情况下删除残差连接再次导致训练速度的显著下降。在图 24 中,作者提供了 microbatch 步骤的等效图。

此外,在表 1 中,研究者发现他们的方法在 GLUE 基准上经过微调后,性能与 Crammed BERT 基准相当。

他们在表 2 中对下游任务进行了细分。为了进行公平比较,他们使用了与 Geiping & Goldstein (2023) 相同的微调协议(5 个 epoch、各任务超参数恒定、dropout regularisation)。

效率提升
在表 1 中,研究者还详细列出了使用不同 Transformer 块的模型在掩蔽语言建模任务中的参数数量和训练速度。他们以预训练 24 小时内所采取的 microbatch 步骤数与基线 Pre-LN Crammed BERT 的比率计算了速度。结论是,模型使用的参数减少了 16%,SAS-P 和 SAS 的每次迭代速度分别比 Pre-LN 块快 16% 和 9%。
可以注意到,在这里的实现中,并行块只比 Pre-LN 块快 5%,而 Chowdhery et al.(2022 )观察到的训练速度则快 15%,这表明通过更优化的实现,整个训练速度有可能进一步提高。与 Geiping & Goldstein(2023 年)一样,此处实现也使用了 PyTorch 中的自动算子融合技术 (Sarofeen et al., 2022)。
更长的训练
最后,考虑到当前在更多数据上长时间训练较小模型的趋势,研究者讨论了简化块在长时间训练后是否仍能达到 Pre-LN 块的训练速度。为此,他们在 CodeParrot 上使用图 5 中的模型,并使用 3 倍 token 进行训练。准确地说,是在批大小为 128、序列长度为 128 的情况下进行了约 120K 步(而不是 40K 步)的训练,这将导致约 2B 个 token。
从图 8 可以看出,当使用更多的 token 进行训练时,简化的 SAS 和 SAS-P 代码块的训练速度仍然与 PreLN 代码块相当,甚至优于 PreLN 代码块。
更多研究细节,可参考原论文。
以上是網友盛贊:Transformer引領年度論文的簡化版本來了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

擁抱Face的OlympicCoder-7B:強大的開源代碼推理模型 開發以代碼為中心的語言模型的競賽正在加劇,擁抱面孔與強大的競爭者一起參加了比賽:OlympicCoder-7B,一種產品

你們當中有多少人希望AI可以做更多的事情,而不僅僅是回答問題?我知道我有,最近,我對它的變化感到驚訝。 AI聊天機器人不僅要聊天,還關心創建,研究

隨著智能AI開始融入企業軟件平台和應用程序的各個層面(我們必須強調的是,既有強大的核心工具,也有一些不太可靠的模擬工具),我們需要一套新的基礎設施能力來管理這些智能體。 總部位於德國柏林的流程編排公司Camunda認為,它可以幫助智能AI發揮其應有的作用,並與新的數字工作場所中的準確業務目標和規則保持一致。該公司目前提供智能編排功能,旨在幫助組織建模、部署和管理AI智能體。 從實際的軟件工程角度來看,這意味著什麼? 確定性與非確定性流程的融合 該公司表示,關鍵在於允許用戶(通常是數據科學家、軟件

參加Google Cloud Next '25,我渴望看到Google如何區分其AI產品。 有關代理空間(此處討論)和客戶體驗套件(此處討論)的最新公告很有希望,強調了商業價值

為您的檢索增強發電(RAG)系統選擇最佳的多語言嵌入模型 在當今的相互聯繫的世界中,建立有效的多語言AI系統至關重要。 強大的多語言嵌入模型對於RE至關重要

特斯拉的Austin Robotaxi發射:仔細觀察Musk的主張 埃隆·馬斯克(Elon Musk)最近宣布,特斯拉即將在德克薩斯州奧斯汀推出的Robotaxi發射,最初出於安全原因部署了一支小型10-20輛汽車,並有快速擴張的計劃。 h

人工智能的應用方式可能出乎意料。最初,我們很多人可能認為它主要用於代勞創意和技術任務,例如編寫代碼和創作內容。 然而,哈佛商業評論最近報導的一項調查表明情況並非如此。大多數用戶尋求人工智能的並非是代勞工作,而是支持、組織,甚至是友誼! 報告稱,人工智能應用案例的首位是治療和陪伴。這表明其全天候可用性以及提供匿名、誠實建議和反饋的能力非常有價值。 另一方面,營銷任務(例如撰寫博客、創建社交媒體帖子或廣告文案)在流行用途列表中的排名要低得多。 這是為什麼呢?讓我們看看研究結果及其對我們人類如何繼續將


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),