作者 newwu (說不定我一生涓滴廢文)
標題 Re: [問卦] 聯考數學95聽不懂LLM原理正常嗎
時間 Fri Sep 12 07:59:19 2025


※ 引述《Supasizeit (Shitpost King)》之銘言:
: 阿北當年聯考數學95
: 可是沒有念資工
: 今天心血來潮
: 嘗試理解LLM transformer 原理
: 可是講到token就聽不懂了
: 然後又變成embedding
: 弄一弄變成weights
: 怎麼突然就變成attention block
: 這不是大學生每個都懂的東西嗎
不是
: 我是不是失智了

所謂語言模型在處理什麼?其實就是人類的語言嘛。
所以除了要數學上的思考,也要站在人類語言的角度去理解。

那麼,token 是什麼?
其實就是模型讀入的最小單位。
這個 token 可能是word subword(類似字首字根) character等等。
英文主流的做法多半是用subword來分(如果有錯請糾正 XD)。

為什麼要這樣分?
想一想其實很合理。對人類來說,語言中意義的最小單位是什麼?
像 "dog" 這個字沒什麼好拆的,如果拆成 "d" 和 "og",對人類完全沒意義,和「狗」無關。
但有些字是由小單位的意義組成,例如 re-organ-ization。
怎麼切算是演算法決定的,不過通常人類看了也會覺得切得有道理。

Embedding 就是把每個詞轉換成向量。
因為模型只能處理數字,
所以需要建立一個 token → embedding(向量) 的對應表,
再把語言的意義透過向量來處理。

問題是,怎麼建立這個對應表?
在機器學習裡,最簡單的方式就是 one-hot。
例如:

dog → (1,0,0)
cat → (0,1,0)
mouse → (0,0,1)

可是這樣效率很差。
語言裡動輒上萬個 token,多語言甚至可能上百萬。
這樣輸入輸出的維度就超大,還有很多同義詞、近義詞白白浪費空間。

因此通常不會用 one-hot,而是對應到一個「較小維度」的向量空間(幾百到幾千維)。
而且這些向量對應不是隨便定義,而是透過模型訓練學出來的。
這樣才能讓向量比較具備語義,例如:

cat 與 kitty 的距離最近

cat 與 dog 比較遠

cat 與 car 幾乎沒關係

簡單來說,embedding 就是在機器學習裡,
模型可讀取的意義/資訊表達,通常是一個多維向量。
是機器理解概念的方式。

至於 Transformer,可以想成對人類理解語言方式的一種模仿。
網路流行說:「每個字都看得懂,但合起來卻看不懂。」
這正是語言理解的關鍵——
人會先讀懂單字,再把上下文合起來理解。

文字擺在一起才有整體意義,
而單字的意義常常是上下文決定的。

舉例:
英文的 interest 可以指「利益」、「利息」、「興趣」。
當前後文提到貸款和數字時,我們會理解成「利息」。
當出現娛樂相關語境時,就會理解成「興趣」。

Transformer 的重點就是:
讓上下文產生關聯,合成新的語意 embedding (contextual embedding)。
哪些字彼此有關聯,模型就會把它們合起來看。
例如 interest 與 loan 一起出現時,模型就會發現它們高度相關,進而推斷這裡指的是
「利息」。

Transformer 的核心是 自注意力機制。
它的訓練目標之一,就是讓模型學會:
某個 token(或 embedding)應該去「注意」哪些其他 token。

這就是所謂的「注意力」。
意思是:當看到這個詞時,應該去關注哪些相關的詞,
而這些相關詞會幫助模型正確理解它的意義。

所以不管是 token → embedding 的對應,還是 Transformer 的結構與訓練,
核心其實都是 字與字之間的關係。
也因此可以說:單一詞彙本身不構成意義,關係才構成意義。

現代機器學習方法,很多都是在模仿人類思考。
有時候拿來跟人類的理解、學習、思考方式對比,
會發現很有趣。

---
附:注意力的數學/模型簡論

token → embedding → (Q, K, V) embedding


後面這個箭頭,就是訓練的部分:
怎麼把原本的 embedding 轉成 Q、K、V。

V 基本上就是語意表達本身。

Q 可以理解成「這個 token 應該去找哪些的 token 來注意」。

K 可以理解成「這個 token 該被哪些其他 token 注意」。

兩個 token 之間的注意力,
就是它們各自的 Q 與 K 的內積。
內積越大,關係越強,模型就越會去注意。

於是就利用注意力加權合併,就得到含上下文資訊的新embedding。

---
回到你的問題
token -> 演算法切出的最小語意單元
embedding -> token的向量表示,好的embedding會包含字詞的意義訊息。
weights -> 應該是指 embedding轉成 V Q K 的參數(怎麼轉成VQK的)
attention block -> transformer很複雜,裡面可能會有很多上述的注意力小模型串聯
並聯,attention block應該就是指每個小部分。


有懂嗎?

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.237.207.106 (美國)
※ 作者: newwu 2025-09-12 07:59:19
※ 文章代碼(AID): #1ems9QFB (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1757635162.A.3CB.html
brianuser: 沒有,但謝謝你的用心解說1F 218.164.23.48 台灣 09/12 08:00
herculus6502: 這篇你打多久2F 1.175.167.246 台灣 09/12 08:00
akito703: 長知識3F 223.136.132.159 台灣 09/12 08:01
wanderchang: 懂了4F 118.165.93.61 台灣 09/12 08:02
fallinlove15: 講的很基礎5F 36.225.32.104 台灣 09/12 08:02
firose: 為什麼內積越大關係越強6F 111.241.51.73 台灣 09/12 08:05

模型算法是人訂的,
你先訂出內積越大關係越強
假如你模型訓練得好
之後訓練出來,相關文字的Q K向量,自然會相近
在理工方面這是很直覺的訂法,A B向量的相似程度就是 A‧B/(|A||B|)
在推薦系統的模型裡,也常常運用這概念

sha09876: 我以為是紅茶文,想說拉到最下面怎麼沒有業業老公7F 36.230.217.48 台灣 09/12 08:07
assommoir: 推推9F 49.218.230.5 台灣 09/12 08:08
PPCYes: 6樓該複習一下高中數學10F 1.171.174.232 台灣 09/12 08:10
miniric: 內積越大代表這個向量在這個空間越靠近彼此,也就是意義越近。反之也有意義相反或者無相關性的概念存在。
在資料科學中也有一種叫做 cosine 相似度 就是運用內積概念11F 220.143.193.51 台灣 09/12 08:11
※ 編輯: newwu (98.237.207.106 美國), 09/12/2025 08:15:32
ohyeah5566: 有趣16F 111.184.47.89 台灣 09/12 08:15
changmada: 看到一半往下找竟然沒出現胡歌老公17F 49.217.136.49 台灣 09/12 08:15
alotofjeff: 高手18F 42.79.5.233 台灣 09/12 08:15
zxc0312: 人家聯考數學99分?19F 118.153.237.3 日本 09/12 08:16
phosphazene: 邏輯清晰  講得讓人淺顯易懂20F 59.124.93.79 台灣 09/12 08:16
g933246: 好文推一下21F 111.82.124.36 台灣 09/12 08:18

--
作者 newwu 的最新發文:
點此顯示更多發文記錄