我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
再度回到 Transformer 架構中的 Encoder 部分,如下圖所示:
我現在手上有的素材如下:
現在我們準備把既有的素材合在一起,目前我手上有每個字的 Input Embedding 與 Positional Encoding,每個字都有這兩項素材,且它們都是維度為 512 的向量,依據原始 Google 發表的 Transformer 論文,合起來的步驟是這樣的:
至於為什麼要乘上 (512開根號) 呢,這和 Embedding 在訓練的時候,內部神經網路的初始權重配置有關係,為了避免訓練不穩定,通常會給每個權重的變異數加以限制,也因為這樣的配置,在神經網路訓練好之後,要再把它調整回來,那根號的原因和變異數有平方的概念相抵銷,整體的數學邏輯可以參照: