22,580:從GPT-2到Kimi K3,解讀其發展歷程
本文追溯了從GPT-2(1.24億引數)到Kimi K3(2.8萬億引數)的架構演進,七年間規模增長22580倍。文章解釋了關鍵創新,包括KV快取、線性注意力和DeltaNet,揭示了基礎機制如何演化以支撐巨大規模。
2019年,OpenAI釋出的GPT-2擁有1.24億引數,是當時最大的語言模型之一。到了2026年,Kimi K3模型引數規模達到2.8萬億,相當於在短短七年內將模型容量提升了22580倍。這種驚人的擴充套件不僅是規模的簡單放大,更伴隨著一系列架構創新。本文以Ali Taha的工作日誌形式,逐步剖析從GPT-2到Kimi K3的關鍵技術演變。
GPT-2採用純解碼器架構:輸入首先經過詞嵌入和位置嵌入,然後透過12個Transformer塊,每個塊內含層歸一化、因果自注意力和前饋網路。注意力機制中,查詢、鍵、值透過線性投影獲得,並計算縮放點積注意力,最後透過輸出投影得到隱藏狀態。在自迴歸生成時,模型僅使用最後一個位置的logits預測下一個token,但每次都需要重新計算所有先前位置的表示,效率低下。
KV快取的引入解決了這一重複計算問題。它儲存先前所有token的鍵值向量,避免每次生成時重新計算。然而,KV快取隨序列長度線性增長,在長序列場景下形成記憶體頻寬瓶頸。以GPT-2為例,12層、12頭、768維嵌入,KV快取每步讀取和寫入的資料量隨序列增長。
線性注意力試圖從根本上解決KV快取的增長問題。它將softmax注意力中的非線性(指數運算)替換為可分離的特徵對映,如ELU+1。這樣,查詢和鍵分別經過對映後,鍵值乘積可以重新結合,使得過去所有鍵值對可以摺疊成一個固定的D×D狀態矩陣。在長序列(N遠大於D)下,固定狀態顯著減少記憶體流量,但代價是特徵對映的表達能力弱於softmax核,可能降低模型精度。
然而,線性注意力的純加法更新會導致資訊干擾:當序列長度超過狀態容量時,舊關聯與新關聯疊加,無法精確檢索。DeltaNet(源自快速權重程式設計器)透過增量更新解決此問題。它首先讀取當前鍵在快取中的舊值,然後僅寫入實際變化部分(即新值與舊值之差)。寫入強度由可學習的beta引數控制,並透過鍵歸一化確保精確讀取。這使得模型能夠動態管理記憶體,選擇性保留或刪除資訊,在超長序列中保持效能。
從GPT-2到Kimi K3,每一步創新都圍繞著如何更高效地處理日益增長的規模和序列長度。KV快取、線性注意力和DeltaNet代表了從“被動儲存”到“主動記憶管理”的演進方向,為下一代大語言模型奠定了技術基礎。