English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

guest
1 / ?
back to lessons

語言模型預測什麼

機率延續引擎

語言模型接收一個 token 序列,並為下一個 token 指派一個機率分佈。輸入 the cat sat on the,它會輸出整個詞彙表的機率:matfloorcouch 的機率高;xylophoneTuesday 的機率低。


對該分佈進行抽樣、附加一個 token,並回饋給它:這個迴圈一次生成一個 token 的文字。自迴歸生成,因每個步驟回歸於其自身先前輸出而得名。


三個數字定義語言模型


詞彙大小 (V)。 模型能產生的不同 token 數量。ANDREA-12M 使用了 4,353 個 token;ANDREA-120M 使用 8,449 個。


上下文窗口 (T)。 一次前向傳遞中能容納的 token 數量。ANDREA 模型使用 T = 1,024。


參數數量 (P)。 內部有多少學習到的權重。12M、120M 和 480M 以 P 命名一個模型家族。


三個成員的家族


變體d_model注意力頭層數上下文參數
ANDREA-12M384126102412.8M
ANDREA-120M76812121024~120M
ANDREA-480M153624161024~480M

三個可擴展的旋鈕:d_model(每個內部向量的寬度)、n_layer(堆疊的 Transformer 區塊的深度)、n_head(並行的注意力投影)。詞彙與上下文在整個系列中保持固定。

閱讀系列表格

比較 ANDREA-12M (d_model=384, 6 layers, 12 heads) 與 ANDREA-120M (d_model=768, 12 layers, 12 heads)。命名從 12M 到 120M 擴展的兩個架構軸,以及一個保持不變的。每個擴展選擇的一句理由有助益。

為什麼小模型重要

限制即解放

擁有數千億參數的大型語言模型需要數千個 GPU、專有資料集,以及企業預算。很少人能訓練一個。很少人能修復一個。


單一 GPU 上的小型語言模型顛覆了這一切。任何擁有 4090(或 3060)的人都能從開放資料重現 ANDREA。訓練配方即模型卡。開放程式碼、開放權重、開放資料;在 72 小時的運算中擁有完整出處。


容量 vs 品質

較小的模型無法記憶其訓練語料庫。ANDREA-12M 擁有 12.8M 參數,缺乏儲存事實內容的容量;它學習回合結構、詞彙分佈,以及回應形狀。ANDREA-120M 擁有 10 倍容量,學習事實回憶、多段落連貫性,以及領域廣度(透過外部評分驗證,在生物學與訊號處理樣本上達 9.5/10)。


重點: 容量設定了上限。課程決定是否達到上限。活動 14-23 涵蓋課程。 [TITLE decoder_only/]

三種 Transformer 變體

編碼器、解碼器、兩者皆有

原始 Transformer (Vaswani et al., 2017) 提供了編碼器與解碼器,結合用於翻譯。三種架構脈絡源自該論文:


僅編碼器 (BERT 脈絡)。雙向注意力,無因果遮罩。針對分類優化,而非生成。訓練期間,一個 token 能看到其過去與未來。


編碼器-解碼器 (T5, BART)。編碼器讀取輸入;解碼器生成輸出,透過跨注意力機制關注編碼器。用於翻譯、摘要。


僅解碼器 (GPT, ANDREA)。因果遮罩:每個 token 僅看到其過去的 token。訓練以預測下一個 token。生成免費;訓練與推論共享相同的正向傳遞。


為什麼僅解碼器在一張 GPU 上勝出

三個原因:


1. 單一目標。 下一個 token 預測適用於任何文字。不需要成對的來源/目標。

2. 訓練與推論對稱性。 相同的正向傳遞,無需特殊的生成邏輯。

3. 記憶體簡潔性。 無交叉注意力;一疊層;一個激活流。


ANDREA 繼承了來自 microGPT 的僅解碼器選擇,而 microGPT 繼承自 nanoGPT,nanoGPT 繼承自 GPT-2。這條血統保持標準;改變的生命在於分詞、訓練基礎設施與課程。

為何 ANDREA 使用僅解碼器

從訓練資料角度給出一個理由,從推論行為角度給出一個理由,解釋為何 ANDREA 使用僅解碼器 transformer 而非像 T5 的編碼器-解碼器。

什麼能放入 24 GB

每個參數的位元組數

RTX 4090 配備 24 GB VRAM。ANDREA-12M 訓練使用了 1.4 GB。ANDREA-120M 使用了大幅更多的空間。這差距來自簡單的記憶體會計練習:訓練期間每個參數在記憶體中出現多次。


對於每個參數,訓練會保留:

- 權重本身 (1× 權重)

- Adam 第一矩 (m):與權重相同形狀 (1× 權重)

- Adam 第二矩 (v):與權重相同形狀 (1× 權重)

- 梯度:與權重相同形狀 (1× 權重)

- 激活值與臨時變數:~2-4× 權重 (依批次與上下文而異)


總計:~6-8× 權重數量,以精度決定位元組大小。


精度會放大一切


精度每參數位元組120M 權重總計備註
FP324480 MB基準;最安全、最慢
FP162240 MBcuBLAS,記憶體減半
FP8 E4M31120 MBTensor cores,NaN 風險

訓練時完整足跡需乘以 6-8 倍。ANDREA-120M 在 FP16 下舒適訓練(~2 GB 用於權重 + 優化器 + 梯度);FP8 E4M3 在 RTX 4090 tensor cores 上將訓練時間減半。


活動 13 (grow_a_language_model_precision) 詳細說明了 FP 精度的權衡取捨。

調整 ANDREA-120M 的優化器狀態大小

ANDREA-120M 擁有約 120,000,000 個參數。每個 FP32 權重佔用 4 位元組。AdamW 為每個權重儲存兩個額外的優化器狀態浮點數 (m, v)。計算:(a) 僅權重使用 FP32,單位 MB;(b) 權重 + 優化器狀態使用 FP32,單位 MB;(c) 權重 + 優化器狀態使用 FP16,單位 MB。請顯示您的計算過程。

二十五個活動

兩個半部

本課程清楚地分成兩部分。第一半涵蓋 microGPT 教導該領域的內容:一個可在單一 GPU 上運行的 transformer。第二半涵蓋 ANDREA 的實際貢獻:一個能夠學習的課程。


半部 1:單一 GPU 上的 Transformer(活動 2-13)


#活動節奏
2Harris 語素分詞器分布分割,256+N+1 詞彙
3分詞器飲食對齊飽和點,為何 12M 浪費 63.6%
4嵌入與位置學習的 token + 位置查詢
5縮放點積注意力Q·Kᵀ/√d,因果遮罩,softmax
6多頭注意力頭部分割,平行投影
7Transformer 區塊MLP,殘差,層歸一化
8交叉熵與困惑度對數似然,SMMA 損失
9自訂 CUDA 中的反向傳播鏈式法則橫跨 microgpt_cuda.cu
10AdamW分離權重衰減;為何傳統 Adam 失效
11LR 預熱 + 餘弦衰減2000 步階梯;為何瞬間峰值毀掉 120M
12梯度裁剪全局 L2 範數;3 個 CUDA 核心
13FP32 / FP16 / FP8 E4M3精度權衡;張量核心

下半部:一個會學習的課程(活動 14-24)


#活動擊敗點
14多臂老虎機UCB1, 探索 vs 利用
15階段式骰子控制7/14/21/28/42 階段, 1d3/1d4 骰子
16獎勵歸因 & EMA每來源損失 EMA, 1000× 縮放
17來源底線 & 紀元懲罰1/(1+epochs) 防止記憶化
18覆蓋獎勵文件級追蹤, 1.3× 新鮮度
19課程暖身前 20K 步驟先用 7 聊天/散文來源
20依形狀過濾,而非字符has_system_prompt_shape()
21相干閘控早期停止bigram/trigram/word/char 自動停止
22檢查點、恢復、信號格式、SIGTERM/SIGUSR1、loss.json 連續性
23樣本審核與外部評分閱讀執行、9.5/10 領域
24從 microGPT 到 ANDREA-120Mv1 崩潰、v2 修復、v2.5 修補、v3 潤色

另外一個伴侶:geometry_of_andrea 將每一層視為幾何(嵌入空間、注意力作為投影、損失表面、bandit 作為離散單純形的行走)。


建議順序

活動 2-13 將建構一個可運作的 transformer。如果您之前訓練過 transformer,可跳至下半部;好奇心來襲時再回來。


每個活動盡可能獨立成章。數學參照會以名稱提及先前的活動(見活動 5:scaled dot-product attention)。程式碼參照指向 ~/git/uncloseai-cli/ 中的 microgpt/microgpt_cuda.cu & microgpt/training_proxy.py

您將從何處開始?

觀看 24 個活動 + 幾何伴侶課程,命名一個您想開始的活動 & 一個理由:先前知識缺口、專業相關性,或純粹好奇。沒有錯誤答案;課程路徑屬於您。