Transformer中的編碼器和解碼器是什么?

今天,我們來具體介紹Transformer的架構設計。

一個完整的Transformer模型就像一個高效的語言處理工廠,主要由兩大車間組成:編碼車間和解碼車間。

首先來看這幅“世界名畫”,你可以在介紹Transformer的場景中常常看到這幅圖,這就是《Attention Is All You Need》論文中所畫的Transformer架構,左邊就是我們說的編碼車間,右邊是解碼車間。

img

編碼器(Encoder)車間:

任務是深度閱讀理解輸入信息(比如一句中文)。

1.將輸入轉成數字信息(即粉色框中的嵌入):將輸入序列的每個token映射為高維向量。

2.再進行位置編碼(即圖中左側的Positional Encoding),前文中提到過,通過正弦余弦函數來增加詞向量的位置信息,彌補Transformer不考慮詞序先后的缺陷。

3.編碼團隊(即灰色框):由N個(即圖中左側的N*)結構一致的“編碼工人團隊”(Encoder Layer)串聯組成。

在這里插入圖片描述

團隊的工作流程:

3-1自注意力小組(即橙色框中的多頭注意力):運用自注意力機制(前一篇中提到過,Transformer的最大創新),讓當前句子里的所有詞瘋狂交流、互相理解,形成富含上下文關系的詞表達。

3-2前饋神經網絡小組(即藍色框中的FFN):對每個詞進行更深層次、更復雜的特征提取和變換(可以想象成給每個詞的“升級版自我表達”再做一次深度加工和升華)。

3-3殘差連接與層歸一化(即黃色框中的Add & Norm):前面兩個小組每次工作完,還要通過“傳送帶”(殘差連接)快速傳遞,避免信息丟失;同時有“質檢員”(層歸一化)確保信息穩定、易處理,傳給下一個人。

N個團隊層層加工,讓輸入句子的理解越來越深刻、精準。

解碼器(Decoder)車間:

任務是根據編碼車間的深刻理解,生成輸出(比如對應的英文翻譯)。

1.輸出嵌入(粉色框)和2.位置編碼(右側的PE)同編碼車間。

3.解碼團隊(灰色框):同樣由N個結構相似的“解碼工人團隊”(Decoder Layer)串聯組成。

團隊的特殊技能:

3-1掩碼自注意力小組(下方橙色框中的掩碼多頭注意力):處理已生成的部分輸出(比如已經翻譯出來的前幾個英文詞)。這里的“掩碼”(Mask)很關鍵,它讓每個詞在交流時只能看到它前面的詞(已經生成的),看不到后面的(還沒生成的),確保生成過程是順序的、合理的(不能提前知道答案),即這是個自回歸過程。

這里初學者不太容易理解,我們前面介紹過自注意力的特點,就是可以全局同時并行處理,不用按序逐個循環處理,為什么這里的掩碼注意力是自回歸的,只能看到前面的詞,不能看到后面的內容呢?

這里的誤解是源于,這個世界名畫是介紹模型訓練,就是模型自己來找到這么多的參數的過程。注意!這里并不是你已訓練好了模型,輸入prompt,讓模型給出回答。

在訓練模型的過程中,我們是知道輸入的這句中文對應的英文翻譯的答案的,我們就是用這些信息去訓練模型。在生成任務的過程中,模型是需要逐步預測序列的下一個token的,如果不進行掩碼,由于自注意力機制是全局的,模型就能提前看到未來生成的信息,直接知道生成的答案,其實就是訓練時在作弊,會破壞自回歸生成邏輯,預測結果將偏離正式概率分布,所以這就是為什么需要掩碼。

在數學處理上,其實很簡單,就是只保留注意力中的下三角區域,即當前位置及其之前的注意力權重,還是用上一篇中的“我愛吃蘋果”舉例,掩碼注意力如下圖。

img

3-2編碼-解碼注意力小組(中間橙色框中的多頭注意力,起到關鍵橋梁作用):這是Decoder的巧妙設計,這里的工人會專門去“凝視”編碼器車間最終輸出的那個深刻理解(代表整個輸入中文句子的精華信息)。他們讓正在生成的每個英文詞,都能有選擇地、動態地聚焦于輸入中文句子中最相關的部分。用我們翻譯的例子來說明,我在翻譯某個中文對應的英文時,我同時要關注這個中文的信息,這樣翻譯的結果會更加“信達雅”。

3-3前饋神經網絡小組(藍色框):同樣進行深度特征處理。

3-4傳送帶與質檢(黃色框):同樣保證信息流穩定高效。

4.最終,解碼器車間的輸出經過一個簡單的“包裝處理”(紫色框中的線性層)和“概率轉換”(綠色框中的Softmax層),就能預測出下一個最可能的詞是什么了。一個個詞生成,就得到了最終的翻譯結果。

前面為了方便理解,我們用了工廠流水線的例子來進行比喻,讀到這里,大家已經有個大致的了解,那我們再簡單總結一下編碼器和解碼器。

編碼器(Encoder)就是將輸入序列(例如一句中文)轉換成一個富含上下文信息的、固定大小的表示序列,每個輸入元素對應一個輸出向量,每個向量都包含了整個輸入序列的上下文信息。

解碼器(Decoder)就是利用編碼器提供的上下文信息,逐步生成輸出序列(例如目標語言的翻譯)。

助理deepseek進行了下述比較總結:

img

這里再額外說明一下,2017年發表的《Attention Is All You Need》論文中所述的Transformer是一個包含編碼器和解碼器的完整架構,但在后續訓練產生的生成式大模型中,并非都是采用這樣完整的編碼器解碼器模型,還有僅解碼器模型、僅編碼器模型、編碼器-解碼器模型。

僅解碼器模型,就像內容創作者,擅長寫出引人入勝且信息豐富的內容,但不擅長理解主題和學習目標。僅解碼器模型的例子有GPT系列模型,如GPT-3。

僅編碼器模型,就像審核者,擅長理解語言之間的關系和上下文,但不擅長生成內容。僅編碼器模型的例子有BERT。

如果既能創作又能審核測驗,這就是編碼器-解碼器模型。如BART和T5。

特意提出上述不同模型種類,是希望大家不要拘泥于對Transformer 架構的靜態理解(不要死記硬背地學),實際應用中,模型設計需根據任務動態調整,Transformer 的編碼器-解碼器結構是通用框架,但并非所有任務都需要完整使用。例如GPT 系列繼承了 Transformer 的自注意力機制,但通過架構簡化(僅解碼器)和訓練策略優化(如 RLHF),實現了生成能力的突破。

最后

選擇AI大模型就是選擇未來!最近兩年,大家都可以看到AI的發展有多快,我國超10億參數的大模型,在短短一年之內,已經超過了100個,現在還在不斷的發掘中,時代在瞬息萬變,我們又為何不給自己多一個選擇,多一個出路,多一個可能呢?

與其在傳統行業里停滯不前,不如嘗試一下新興行業,而AI大模型恰恰是這兩年的大風口,整體AI領域2025年預計缺口1000萬人,人才需求急為緊迫!

由于文章篇幅有限,在這里我就不一一向大家展示了,學習AI大模型是一項系統工程,需要時間和持續的努力。但隨著技術的發展和在線資源的豐富,零基礎的小白也有很好的機會逐步學習和掌握。

【2025最新】AI大模型全套學習籽料(可白嫖):LLM面試題+AI大模型學習路線+大模型PDF書籍+640套AI大模型報告等等,從入門到進階再到精通,超全面存下吧!

獲取方式:有需要的小伙伴,可以微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費】
包括:AI大模型學習路線、LLM面試寶典、0基礎教學視頻、大模型PDF書籍/筆記、大模型實戰案例合集、AI產品經理合集等等

在這里插入圖片描述
大模型學習之路,道阻且長,但只要你堅持下去,一定會有收獲。本學習路線圖為你提供了學習大模型的全面指南,從入門到進階,涵蓋理論到應用。在這里插入圖片描述
L1階段:啟航篇|大語言模型的基礎認知與核心原理

L2階段:攻堅篇|高頻場景:RAG認知與項目實踐

L3階段:躍迀篇|Agent智能體架構設計

L4階段:精進篇|模型微調與私有化部署

L5階段:專題篇|特訓集:A2A與MCP綜合應用 追蹤行業熱點(全新升級板塊)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
AI大模型全套學習資料【獲取方式】

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93724.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93724.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93724.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp 應用未安裝:軟件包與現有軟件包存在沖突

應用未安裝:軟件包與現有軟件包存在沖突常見原因包名(AppID)沒變,但簽名證書不同安卓會把同一包名的 App 當成同一個應用。如果你之前安裝的版本用了 A 簽名,現在你打包用了 B 簽名,就會沖突,導…

MyCAT2的主從配置

1.創建數據源重置配置:/* mycat:resetConfig{} */添加讀寫的數據源/* mycat:createDataSource {"dbType": "mysql","idleTimeout": 60000,"initSqls": [],"initSqlsGetConnection": true,"instanceType&quo…

個人介紹CSDNmjhcsp

年齡:12歲 住址:山東濰坊 看的這,有人懵了,訪問量4.8萬的mjhcsp竟然是一個小孩! 好吧,我的強項其實是C,但是C發表文章很少,我平常寫一寫java,云原生,Deeps…

01-Docker-簡介、安裝與使用

1. docker簡介 Docker 是一個應用打包、分發、部署的工具你也可以把它理解為一個輕量的虛擬機,它只虛擬你軟件需要的運行環境,多余的一點都不要,而普通虛擬機則是一個完整而龐大的系統,包含各種不管你要不要的軟件。 2. 相關概念 …

阿里云參數配置化

阿里云參數配置化 一、問題描述 當我們直接在AliOSSUtils.java中對所需的阿里云OSS相關參數進行賦值時,當相關參數發生改變,但是又在多次進行了賦值這些參數,那么就需要逐一進行修改,所以我們直接在SpringBoot項目的配置文件appli…

Diamond開發經驗(1)

前言: 學習Lattice的芯片開發的過程中,很多實際開發過程中遇到的問題是沒辦法繞過的,雖然我今天被繞了一天(此句多余,單純記錄美好心情哈哈哈哈)將這些解決方法梳理成文章供大家參考,十個問題組成一篇文章。…

神經網絡訓練過程詳解

神經網絡訓練過程詳解 神經網絡訓練過程是一個動態的、迭代的學習過程,接下來基于一段代碼展示模型是如何逐步學習數據規律的。 神經網絡擬合二次函數:代碼詳解 下面將詳細解釋這段代碼,它使用神經網絡擬合一個帶有噪聲的二次函數 y x 2x …

LeetCode100-560和為K的子數組

本文基于各個大佬的文章上點關注下點贊,明天一定更燦爛!前言Python基礎好像會了又好像沒會,所有我直接開始刷leetcode一邊抄樣例代碼一邊學習吧。本系列文章用來記錄學習中的思考,寫給自己看的,也歡迎大家在評論區指導…

【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常見問題說明

1 Flash 固化Flash 固化需要先生成 BOOT.bin 文件,這邊以裸機的串口工程進行講解如何生成 BOOT.bin 文件及 Flash 固化操作。有讀者會遇到,只使用 PL 端的情況,也需要進行 Flash 固化。我們需要添加 PS 端最小配置(包含 Flash 配置…

數據結構:查找表

一、數據結構的概念數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。它不僅僅是存儲數據的方式,更強調數據之間的邏輯關系和操作方法。數據結構主要從以下幾個角度來理解:1. 數據之間的關系邏輯結構:集合結構:元素之…

自建知識庫,向量數據庫 (十)之 文本向量化——仙盟創夢IDE

自建文章向量化技術:AI 浪潮下初學者的進階指南 在人工智能(AI)蓬勃發展的浪潮中,向量化作為將文本數據轉化為數值向量表示的關鍵技術,成為理解和處理文本的基石。本文將結合給定的代碼示例,深入探討自建文…

數據結構 -- 順序表的特點、操作函數

線性表順序存儲的優缺點優點無需為表中的邏輯關系增加額外的存儲空間,利用連續的內存單元存儲數據,存儲密度高。支持 隨機訪問,通過下標可在 O(1) 時間復雜度內定位元素(如數組按索引取值),查詢效率穩定。缺…

反向代理實現服務器聯網

下載腳本:https://gitee.com/995770513/ssh-reverse-socket然后解壓到 D:\Download在本機運行 cd D:\Download\ssh-reverse-socket-master\ssh-reverse-socket-master python socket5_proxy.py --ssh_cmd "xaserver10.150.10.51 -p 22" --socket5_port 78…

C語言關于函數傳參和返回值的一些想法2(參數可修改的特殊情況)

我最近寫了一篇文章名為“C語言關于函數傳參和返回值的一些想法”(C語言關于函數傳參和返回值的一些想法-CSDN博客),里面提到了一種觀點就是傳參的參數在函數體內部是只讀的,不能寫它,因為如果寫了,也就是污…

前端AI對話功能實現攻略

一、對話內容渲染 在前端頁面的 AI 對話場景中,對話內容的渲染效果直接影響用戶的閱讀體驗和交互效率。合理選擇對話格式、優化流式對話呈現、嵌入自定義內容以及實現語音播報等功能,是提升整體體驗的關鍵。 對話格式選擇 MarkDown 作為一種輕量級標記語…

深入理解Redis持久化:讓你的數據永不丟失

1 Redis持久化概述 1.1 什么是Redis持久化 Redis作為一個高性能的內存數據庫,默認情況下數據存儲在內存中,這意味著一旦服務器重啟或發生故障,內存中的數據將會丟失。為了保證數據的持久性和可靠性,Redis提供了持久化機制,將內存中的數據保存到磁盤中。 持久化是Redis實…

IC驗證 AHB-RAM 項目(二)——接口與事務代碼的編寫

目錄準備工作接口相關代碼編寫事務相關代碼編寫準備工作 DVT(Design and Verification Tools)是一款專門為 IC 驗證打造的 IDE 插件,可以理解為智能的 Verilog/System Verilog 編輯器,在 VS Code、Eclipse 軟件中使用。 接口相關…

基于Spring Boot的智能民宿預訂與游玩系統設計與實現 民宿管理系統 民宿預訂系統 民宿訂房系統

🔥作者:it畢設實戰小研🔥 💖簡介:java、微信小程序、安卓;定制開發,遠程調試 代碼講解,文檔指導,ppt制作💖 精彩專欄推薦訂閱:在下方專欄&#x1…

大模型的底層運算線性代數

深度學習的本質是用數學語言描述并處理真實世界中的信息,而線性代數正是這門語言的基石。它不僅提供了高效的數值計算工具,更在根本上定義了如何以可計算、可組合、可度量的方式表示和變換數據。 1 如何描述世界📊 真實世界的數據&#xff08…

Rust 中 i32 與 *i32 的深度解析

Rust 中 &i32 與 *i32 的深度解析 在 Rust 中,&i32 和 *i32 是兩種完全不同的指針類型,它們在安全性、所有權和使用方式上有本質區別。以下是詳細對比: 核心區別概覽 #mermaid-svg-rCa8lLmHB7MK9P6K {font-family:"trebuchet ms…