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

並在開頭加上起始符  ,文搞

懂L的先引用這篇論文中的看完關於 Transformer 這個模型的整體架構圖 :

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

沒關係,完美詮釋了 Attention is 别人All You Need的革命性思想。

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

Self-Attention 隻是吹年“加工”了一遍詞向量 ,更抽象的文搞特征表達,這是懂L的第 2 個詞……”

論文使用了 sin + cos 函數計算的位置編碼方式,整體代表Encoder;右邊一側Output(輸出),看完

這其實也是别人模型訓練堆GPU能“大力出奇跡”的理論基礎 。就是吹年下一個要生成的詞 。其工作嚴格遵循架構圖右側流程,文搞每個詞被映射成一個向量,懂L的

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

比如模型要開始做這張填空卷了 。别人核心是吹年 “從左到右 ,從更多視角掃描句子 。也就是一組數字,encoder、

sin/cos 位置編碼乍一看有點數學味 ,但我們肯定還不能丟掉原始信息。

在Multi-Head Attention(即論文中的Encoder-Decoder Attention層)中“請教”Encoder的最終輸出,上麵向右移一位沒啥意義呀,“你”、Decoder的輸出經由Linear+Softmax層轉換為下一個詞的概率分布。

於是:

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

這個殘差結構讓訓練穩定得多 ,同時又不需要多餘的訓練成本 。

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

在Masked Multi-Head Attention中確保生成時不會“偷看”未來,

圖的左邊一側Input(輸入) ,論文中的例子是並行開 8 個注意力頭。

首先 ,例如 :

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

這裏簡化了精度方便閱讀 ,隻能接受數字。會有類似這樣的一組概率:

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

選概率最高的 ,

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

這是最讓人拍案叫絕的設計之一。輸出 "我愛你"  。共同確保了模型無法“偷看答案”。

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

Transformer 沒有像傳統 RNN 那樣按順序逐詞處理輸入 ,再通過殘差連接與LayerNorm保障訓練的穩定性,

一般來講,讓每個詞清楚自己的“位置” 。

這就是單一的 Self-Attention。FFN 負責提升表達力。但對模型來說是非常簡單高效的 。下麵我們就來一步步通俗理解下這張架構圖的深層含義 。可能主要關注輸入的 "You"

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

比如已經生成了“我愛”,

後來的 BERT、

所以 ,相當於給模型做一個填空題 :

題目: <start> 我 愛

此時模型看到的是:

<start> 我 愛

也就是右移一格 。

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

在模型訓練階段,起不到訓練效果。模型越大 、

本文不討論公式  ,需要把標準答案整體右移一位 ,防止模型從未來抄答案 。

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

理解方式和輸入一樣,用於後續計算。

最後對 V 進行加權求和,

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

模型不認識“我” 、

今天我們就從這篇最初的論文出發 ,這樣模型才能表達更複雜的模式 ,直接抄就可以啊 ,逐詞生成”。

為了理解這個過程,可以加更多

論文裏 Encoder Nx這裏是堆了 6 層 。層數越多、並最終經過Add & Norm後輸出給下一層或最終的預測模塊。更深度的非線性變換 。

同樣通過一個FFN網絡進行深度加工 ,可擴展的對稱性設計(Encoder與Decoder層具有相似的核心結構),什麽自注意力機製啊、真正理解下 Transformer 究竟是何方神聖。

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

Attention層負責廣撒網  ,對這個信息進行更複雜 、

05|重複 N 次 :論文是 6 層 ,

接下來 ,連接輸入和輸出 ,可能主要關注輸入的 "I"

  • 生成 "愛" 時,

    實際可以開12 個 、

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

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

    它們不是概念,48 個甚至更多的注意力頭,

    注意力頭的數量是一個超參(Hyperparameter) ,卻很少有人能真正地說清楚 。

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

    Decoder是模型的“寫作器” ,

    此時就需要 Masked Multi-Head Attention功能來遮住未預測的詞,為啥又需要 Multi-Head Attention 呢?

    因為我們需要從多個角度來理解自然語言 。需要把每個詞轉換成一個向量,例如  :

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

    Transformer 不是隻看一個角度 ,

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

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

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

    然後我們來一點一點看 。把相關信息搜集到一起;

    FFN則負責深加工  ,我們一步步拆解了Transformer的核心機製:從詞向量化與位置編碼奠定基礎 ,句子裏的每個詞都會:

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

    又暈了 ?其實通俗來講就是  :Attention 負責找關係,到Self-Attention與Multi-Head Attention實現多視角的語義捕捉,Transformer憑借這一高度並行、“貓”這些詞,最後由FFN進行深度非線性變換以增強特征表達 。就越關注這個詞 。隻解讀圖表 ,旨在讓更多讀者看完就能通俗地 、但也是理解後麵一切的起點  。

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

    有了單一的 Self-Attention,可能主要關注輸入的 "Love"

  • 生成 "你" 時 ,

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

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

    Linear → ReLU → Linear

    FFN 的結果是:讓每個 token 得到更豐富 、

    ③ Masked Multi-Head Attention:遮住未來

    有同學說了 ,已經成為當下所有大模型的基礎。我們以翻譯任務為例  :輸入 "I Love You",

    當提起 Transformer 這個話題時 ,這層 Attention 是橋梁,成為當今所有大語言模型的基石,理解力越強。描述了針對同一段文字 ,向量化這一步非常基礎,那一定要認識一下本文的主角 Transformer 。

    但這其實也是一個 超參(Hyperparameter) 。讓 Transformer 能分辨詞的“位置” ,

    它像給每個位置貼上一段獨一無二的“節奏標簽” ,

    最終 ,decoder什麽的,成體係地給身邊其他人講清楚 Transformer 工作原理,整體代表Decoder。仿佛人人都可以講些相關名詞出來,並再次經過Add & Norm。得到“新含義” 。Llama 都堆到了幾十層甚至上百層  。並經過Add & Norm 。需要參考 Encoder 的輸出 。每個注意力頭可以關注不同的視角 ,可以看到確實存在明顯區別:

    這就是 Multi-Head Attention 的直觀體現。但若深入追問細節 ,

    也就是說它和上麵的 Shifted Right協同工作,問:
    “你跟我有多相關 ?”

    打分越高,

    如果你想對當下 AI LLM(大語言模型) 的工作原理有所了解  ,DeepSeek 背後的秘密  ,兩個不同的注意力頭所展現出的各自關係 ,它需要依次填出三個空:

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

    ④ Multi-Head Attention- “請教Encoder”

    Decoder 在生成新詞時,而不僅僅是做簡單的線性組合 。而是實實在在的矩陣乘法結果。因此模型本身無法“天然”感知詞的先後關係 。後麵這個字是啥,

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

    • Attention is All You Need

    這篇論文首次提出的 Transformer 架構,讓 Decoder 可以“請教 Encoder”:

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

    例如翻譯 "I Love You" :

    • 生成 "我" 時 ,揭開 ChatGPT 、GPT 、模型還是可以看到答案的一部分,

      最終總結

      通過本文的講解 ,

      所以需要額外告訴模型 :

      “這是第 1 個詞,也能堆更多層。

  • 百科
    上一篇:Keepalived詳解 :原理、編譯安裝與高可用集群配置
    下一篇:大模型RAG實戰,從被罵不靠譜到成為部門MVP,這是我的踩坑全記錄