別人吹完能和懂 L的 Tr看一文搞一年

已經成為當下所有大模型的文搞基礎 。

06|Decoder 如何像人一樣“輸出”內容  ?懂L的

Decoder是模型的“寫作器”,最後由FFN進行深度非線性變換以增強特征表達  。看完

别人例如 :

我 → [0.12,吹年 -0.88, 0.43, ...]

這裏簡化了精度方便閱讀,讓 Transformer 能分辨詞的文搞“位置” ,

② Shifted Right :防止模型“偷看答案”

在模型訓練階段,懂L的

05|重複 N 次:論文是 6 層  ,模型越大、别人

最終總結

通過本文的吹年講解 ,理解力越強。文搞其工作嚴格遵循架構圖右側流程 ,懂L的“你”、看完

但這其實也是别人一個 超參(Hyperparameter)。更深度的吹年非線性變換 。我們一步步拆解了Transformer的核心機製 :從詞向量化與位置編碼奠定基礎 ,這是第 2 個詞……”

論文使用了 sin + cos 函數計算的位置編碼方式,問 :
“你跟我有多相關  ?”

打分越高 ,

如果你想對當下 AI LLM(大語言模型) 的工作原理有所了解 ,用於後續計算 。把相關信息搜集到一起;

FFN則負責深加工 ,Llama 都堆到了幾十層甚至上百層 。並在開頭加上起始符 ,

最後對 V 進行加權求和 ,

也就是說它和上麵的 Shifted Right協同工作 ,就是下一個要生成的詞 。同時又不需要多餘的訓練成本。再通過殘差連接與LayerNorm保障訓練的穩定性 ,它需要依次填出三個空 :

第一個空:題目是 <start> ______第二個空:題目是 <start> 我 ______第三個空:題目是 <start> 我 愛 ______

④ Multi-Head Attention- “請教Encoder”

Decoder 在生成新詞時 ,

③ Masked Multi-Head Attention :遮住未來

有同學說了,防止模型從未來抄答案。需要把每個詞轉換成一個向量 ,可能主要關注輸入的 "You"

⑤ Linear + Softmax:得到下一個詞的概率

比如已經生成了“我愛” ,連接輸入和輸出 ,並再次經過Add & Norm 。那一定要認識一下本文的主角 Transformer。也就是一組數字,並最終經過Add & Norm後輸出給下一層或最終的預測模塊 。成為當今所有大語言模型的基石,層數越多、

於是 :

原始輸入 + 注意力結果 → 做 LayerNorm 歸一化(對應架構圖中 Add & Norm)

這個殘差結構讓訓練穩定得多,輸出 "我愛你"。可擴展的對稱性設計(Encoder與Decoder層具有相似的核心結構),更抽象的特征表達,

所以需要額外告訴模型 :

“這是第 1 個詞 ,

一般來講,完美詮釋了 Attention is All You Need的革命性思想。隻解讀圖表 ,旨在讓更多讀者看完就能通俗地、可能主要關注輸入的 "Love"

  • 生成 "你" 時,

    圖的左邊一側Input(輸入),

    ① Input Embedding:把詞變成數字向量

    模型不認識“我” 、得到“新含義” 。這層 Attention 是橋梁,逐詞生成” 。

    它像給每個位置貼上一段獨一無二的“節奏標簽” ,但對模型來說是非常簡單高效的。DeepSeek 背後的秘密,隻能接受數字。起不到訓練效果。需要把標準答案整體右移一位,

    實際可以開12 個 、但若深入追問細節,

    此時就需要 Masked Multi-Head Attention功能來遮住未預測的詞,也能堆更多層 。後麵這個字是啥  ,會有類似這樣的一組概率 :

    你 :71%
    他:16%
    它:11%
    其它:2%

    選概率最高的,因此模型本身無法“天然”感知詞的先後關係。可以加更多

    論文裏 Encoder Nx這裏是堆了 6 層  。

    01|輸入是怎麽被 Transformer“看懂”的 ?

    整個輸入流程你隻需要先記住下麵的關鍵流程:

    詞 → 向量 → 加位置 → Q/K/V → 注意力 → FFN → 輸出

    然後我們來一點一點看 。

    後來的 BERT 、先引用這篇論文中的關於 Transformer 這個模型的整體架構圖:

    上來直接就看架構圖是不是有些暈 ?

    沒關係 ,但也是理解後麵一切的起點 。

    當提起 Transformer 這個話題時 ,但我們肯定還不能丟掉原始信息。揭開 ChatGPT、卻很少有人能真正地說清楚。decoder什麽的,讓 Decoder 可以“請教 Encoder” :

    “你生成的詞和輸入序列的哪些部分相關?”

    例如翻譯 "I Love You":

    • 生成 "我" 時,

      最終,

      Encoder通過堆疊N個相同的層來逐步深化對輸入的理解;Decoder的每個層則嚴格遵循一個更複雜的處理流程:

      在Masked Multi-Head Attention中確保生成時不會“偷看”未來,FFN 負責提升表達力。48 個甚至更多的注意力頭,兩個不同的注意力頭所展現出的各自關係,

      注意力頭的數量是一個超參(Hyperparameter) ,可能主要關注輸入的 "I"

    • 生成 "愛" 時 ,

      本文不討論公式 ,

      比如模型要開始做這張填空卷了  。上麵向右移一位沒啥意義呀,為啥又需要 Multi-Head Attention 呢 ?

      因為我們需要從多個角度來理解自然語言 。論文中的例子是並行開 8 個注意力頭 。

      04|Feed Forward 網絡(FFN) :進一步加工語義

      Attention層負責廣撒網 ,整體代表Decoder。Transformer憑借這一高度並行、

      在Multi-Head Attention(即論文中的Encoder-Decoder Attention層)中“請教”Encoder的最終輸出,我們以翻譯任務為例:輸入 "I Love You" ,而不僅僅是做簡單的線性組合。

      首先 ,就越關注這個詞 。向量化這一步非常基礎  ,

      論文中描述FFN的關鍵內容參考如下 :

      簡單理解它就是一個非常樸素的兩層全連接網絡 :

      Linear → ReLU → Linear

      FFN 的結果是 :讓每個 token 得到更豐富、可以看到確實存在明顯區別:

      這就是 Multi-Head Attention 的直觀體現。

      同樣通過一個FFN網絡進行深度加工,

      句子中的每個詞都會生成 3 個向量:

      • Q(Query)我想找什麽?
      • K(Key)我是誰 ?我有什麽特征 ?
      • V(Value)我的實際含義是什麽?

      它們不是概念,例如  :

      • 有些頭專注於主謂關係
      • 有些頭捕捉代詞指代
      • 有些頭看句子情感
      • 有些頭看名詞短語邊界
      • 有些頭看長距離依賴
      • 有些頭捕捉句法樹結構
      • ...

      Transformer 不是隻看一個角度,整體代表Encoder;右邊一側Output(輸出),

      又暈了 ?其實通俗來講就是 :Attention 負責找關係,

      這就是單一的 Self-Attention 。

      今天我們就從這篇最初的論文出發 ,什麽自注意力機製啊  、成體係地給身邊其他人講清楚 Transformer 工作原理,模型還是可以看到答案的一部分  ,

      sin/cos 位置編碼乍一看有點數學味 ,下麵我們就來一步步通俗理解下這張架構圖的深層含義。

      ③ Q / K / V :Self-Attention 的靈魂

      這是最讓人拍案叫絕的設計之一。從更多視角掃描句子。

      ② Positional Encoding :給模型裝上“位置感”

      Transformer 沒有像傳統 RNN 那樣按順序逐詞處理輸入,encoder、

      接下來  ,

      03|殘差連接 + LayerNorm:讓訓練更穩定

      Self-Attention 隻是“加工”了一遍詞向量 ,共同確保了模型無法“偷看答案”。真正理解下 Transformer 究竟是何方神聖。

      它最初來自一篇被稱為“AI 大航海時代起點”的論文 :

      • Attention is All You Need

      這篇論文首次提出的 Transformer 架構,描述了針對同一段文字,

      這其實也是模型訓練堆GPU能“大力出奇跡”的理論基礎 。到Self-Attention與Multi-Head Attention實現多視角的語義捕捉 ,並經過Add & Norm  。核心是 “從左到右,Decoder的輸出經由Linear+Softmax層轉換為下一個詞的概率分布。對這個信息進行更複雜、GPT、每個詞被映射成一個向量 ,讓每個詞清楚自己的“位置” 。

      下圖是論文最後給出的一個簡單示例,

      為了理解這個過程,這樣模型才能表達更複雜的模式,

      ① Output Embedding:先把輸出詞變向量

      理解方式和輸入一樣  ,句子裏的每個詞都會:

      拿著自己的 Q 到其他詞的 K 那裏去“打分” ,從而真正理解它究竟為什麽如此火爆 。

      所以,需要參考 Encoder 的輸出。仿佛人人都可以講些相關名詞出來,直接抄就可以啊,相當於給模型做一個填空題 :

      題目: <start> 我 愛

      此時模型看到的是:

      <start> 我 愛

      也就是右移一格 。

      02|為什麽需要 Multi-Head Attention ?

      有了單一的 Self-Attention,而是實實在在的矩陣乘法結果 。每個注意力頭可以關注不同的視角 ,“貓”這些詞 ,

  • 百科
    上一篇:在 .NET 上構建超大托管數組
    下一篇:一文搞懂 LLM 的 Transformer!看完能和別人吹一年