一、Transformer的本質

Transformer架構:主要由輸入部分(輸入輸出嵌入與位置編碼)、多層編碼器、多層解碼器以及輸出部分(輸出線性層與Softmax)四大部分組成。

Transformer架構

Encoder-Decoder(編碼器-解碼器):左邊是N個編碼器,右邊是N個解碼器,Transformer中的N為6。

Encoder-Decoder(編碼器-解碼器)

Encoder(編碼器)架構

Decoder(解碼器)架構

二、Transformer的原理

Transformer工作原理

Multi-Head Attention(多頭注意力):它允許模型同時關注來自不同位置的信息。通過分割原始的輸入向量到多個頭(head),每個頭都能獨立地學習不同的注意力權重,從而增強模型對輸入序列中不同部分的關注能力。

Multi-Head Attention(多頭注意力)

  1. 輸入線性變換:對于輸入的Query(查詢)、Key(鍵)和Value(值)向量,首先通過線性變換將它們映射到不同的子空間。這些線性變換的參數是模型需要學習的。
  2. 分割多頭:經過線性變換后,Query、Key和Value向量被分割成多個頭。每個頭都會獨立地進行注意力計算。
  3. 縮放點積注意力:在每個頭內部,使用縮放點積注意力來計算Query和Key之間的注意力分數。這個分數決定了在生成輸出時,模型應該關注Value向量的部分。
  4. 注意力權重應用:將計算出的注意力權重應用于Value向量,得到加權的中間輸出。這個過程可以理解為根據注意力權重對輸入信息進行篩選和聚焦。
  5. 拼接和線性變換:將所有頭的加權輸出拼接在一起,然后通過一個線性變換得到最終的Multi-Head Attention輸出。

Scaled Dot-Product Attention(縮放點積注意力):它是Transformer模型中多頭注意力機制的一個關鍵組成部分。

Scaled Dot-Product Attention(縮放點積注意力)

三、Transformer架構改進

BERT:BERT是一種基于Transformer的預訓練語言模型,它的最大創新之處在于引入了雙向Transformer編碼器,這使得模型可以同時考慮輸入序列的前后上下文信息。

BERT架構

  1. 輸入層(Embedding)
  2. 編碼層(Transformer Encoder):BERT模型使用雙向Transformer編碼器進行編碼。
  3. 輸出層(Pre-trained Task-specific Layers)

GPT:GPT也是一種基于Transformer的預訓練語言模型,它的最大創新之處在于使用了單向Transformer編碼器,這使得模型可以更好地捕捉輸入序列的上下文信息。

GPT架構

  1. 輸入層(Input Embedding)
  2. 編碼層(Transformer Encoder):GPT模型使用單向Transformer編碼器進行編碼和生成。
  3. 輸出層(Output Linear and Softmax)

本文章轉載微信公眾號@架構師帶你玩轉AI

上一篇:

深度學習的Top10模型

下一篇:

一文徹底搞懂機器學習 - 回歸(Regression)
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費