【大模型基礎_毛玉仁】2.4 基于 Encoder-Decoder 架構的大語言模型


更多內容:XiaoJ的知識星球


目錄

    • 2.4 基于 Encoder-Decoder 架構的大語言模型
      • 2.4.1 Encoder-Decoder 架構
      • 2.4.2 T5 語言模型
        • 1)T5 模型結構
        • 2)T5 預訓練方式
        • 3)T5 下游任務
      • 2.4.3 BART 語言模型
        • 1)BART 模型結構
        • 2)BART 預訓練方式


2.4 基于 Encoder-Decoder 架構的大語言模型

Encoder-Decoder 架構在 Encoder-only 架構的基礎上引入 Decoder 組件,以完成機器翻譯等序列到序列(Sequence to Sequence, Seq2Seq)任務。

.


2.4.1 Encoder-Decoder 架構

Encoder-Decoder架構:編碼器+解碼器

編碼器Encoder

  • 多個編碼模塊組成,每個編碼模塊包含:一個自注意力模塊、一個全連接前饋模塊

  • 模型的輸入序列在通過編碼器部分后,會被轉變為固定大小的上下文向量,這個向量包含了輸入序列的豐富語義信息。

解碼器Decoder:

  • 多個解碼模塊堆組成,每個解碼模塊包含:一個帶掩碼的自注意力模塊、一個交叉注意力模塊和一個全連接前饋模塊

  • 帶掩碼的自注意力模塊:引入掩碼機制防止未來信息的“泄露”,確保解碼過程的自回歸特性。

  • 交叉注意力模塊:實現了解碼器與編碼器之間的信息交互,對生成與輸入序列高度相關的輸出至關重要。

圖 2.10: Encoder-Decoder 架構
在這里插入圖片描述

自注意模塊在編碼器和解碼器中的注意力目標不同的。

  • 在編碼器中,采用雙向注意力機制以全面捕捉上下文信息。

  • 在解碼器中,自注意力機制則是單向的,僅以上文為條件來解碼得到下文。通過掩碼操作避免解碼器“窺視”未來的信息。

交叉注意力通過將解碼器的查詢(query) 與編碼器的鍵(key)值(value) 相結合,實現了兩個模塊間的有效信息交流。

通過自注意力和交叉注意力機制的結合,Encoder-Decoder 架構能夠高效地編碼輸入信息生成高質量的輸出序列

  • 自注意力機制:確保了輸入序列和生成序列內部的一致性和連貫性。

  • 交叉注意力機制:確保解碼器在生成每個輸出 Token 時都能參考輸入序列的全局上下文信息,從而生成與輸入內容高度相關的結果。

在這兩個機制的共同作用下,Encoder-Decoder 架構不僅能夠深入理解輸入序列,還能夠根據不同任務的需求靈活生成長度適宜的輸出序列,在機器翻譯、文本摘要、 問答系統等任務中得到了廣泛應用。

本節將介紹兩種典型的基于 Encoder-Decoder 架構的代表性大語言模型:T5 和 BART。

.


2.4.2 T5 語言模型

T5(Text-to-Text Transfer Transformer)

通常,每種自然語言處理任務都需要對訓練數據、模型架構和訓練策略進行定制化設計。這不僅耗時耗力,而且模型難復用。

為了解決這一問題,Google 提出基于 Encoder-Decoder 架構的大型預訓練語言模型 T5(Text-to-Text Transfer Transformer), 其采用統一的文本到文本的轉換范式來處理多種任務。

1)T5 模型結構

T5 模型的核心思想:將多種 NLP 任務統一到一個文本轉文本的生成式框架中

在此統一框架下,T5 通過不同的輸入前綴來指示模型執行不同任務,然后生成相應的任務輸出,這種方法可以視為早期的提示Prompt)技術。

圖 2.11: 傳統語言模型和 T5 統一框架
在這里插入圖片描述

在模型架構方面,T5 與原始的包括一個編碼器和一個解碼器的 Transformer 架構相同。每個編碼器和解碼器又分別由多個編碼模塊和解碼模塊堆疊而成。

T5 模型根據不同的參數,提供 T5-Small、T5-Base、T5- Large、T5-3B 以及 T5-11B 五個版本

2)T5 預訓練方式

T5收集了C4 數據集(Colossal Clean Crawled Corpus)進行訓練,其覆蓋了各種網站和文本類型。

T5 提出了名為 Span Corruption 的預訓練任務。從輸入中選擇 15% 的 Token 進行破壞,每次都選擇連續三個 Token 作為一 個小段(span)整體被掩碼成 [MASK]。

與 BERT 模型中采用的單個 Token 預測不同,T5 模型需要對整個被遮擋的連續文本片段進行預測。這一設計要 求模型不僅等理解局部詞匯的表面形式,還要可以捕捉更深層次的句子結構和上 下文之間的復雜依賴關系。

3)T5 下游任務

T5 模型可以在完全零樣本Zero-Shot)的情況下,利用 Prompt 工程技術直接適配到多種下游任務。

同時,T5 模型也可以通過微調(Fine-Tuning)來適配到特定的任務。

如今,T5 模型已 經衍生了許多變體,例如,mT5[43] 模型擴展了對 100 多種語言的支持,T0[31] 模型通過多任務訓練增強了零樣本學習(Zero-Shot Learning) 能力,Flan-T5[8] 模型專注于通過指令微調,以實現進一步提升模型的靈活性和效率等等。

.


2.4.3 BART 語言模型

BART(Bidirectional and Auto-Regressive Transformers)

  • 中文解釋:雙向自回歸Transformers

  • 通過多樣化的預訓練任務,來提升模型在文本生成任務和文本理解任務上的表現。

1)BART 模型結構

BART 的模型結構同 Transformer 架構,包括一個編碼器和一個解碼器。每個編碼器和解碼器分別由多個編碼模塊和解碼模塊堆疊而成。

BART 模型有兩個版本,分別是 BART-Base 以及 BART-Large。

2)BART 預訓練方式

在預訓練數據上,BART 使用了與 RoBERTa 相同的語料庫。

在預訓練任務上,BART 以重建被破壞的文本為目標。

通過以下五個任務來破壞文本,然后訓練模型對原始文本進行恢復。

  • Token 遮擋任務(Token Masking):在原文中隨機將一部分 Token 替換為 [MASK],從而訓練模型推斷被刪除的 Token 內容的能力。

  • Token 刪除任務(Token Deletion):在原文中隨機刪除一部分 Token,從而訓練模型推斷被刪除的 Token 位置以及內容的能力。

  • 連續文本填空任務(Text Infilling):在原文中選擇幾段連續的 Token(每段作為一個 span),整體替換為 [MASK]。span 長度服從 λ = 3 的泊松分布,如長度為 0 則直接插入一個 [MASK]。 這一任務旨在訓練模型推斷一段 span 及其長度的能力。

  • 句子打亂任務(Sentence Permutation):將給定文本拆分為多個句子,并隨機打亂句子的順序。旨在訓練模型推理前后句關系的能力。

  • 文檔旋轉任務(Document Rotation):從給定文本中隨機選取一個 Token,作為文本新的開頭進行旋轉。旨在訓練模型找到文本合理起始點的能力。

BART 不僅在文本生成任務上表現出色,也能適應文本理解類任務的挑戰。

.


小結:

綜上所述,基于 Encoder-Decoder 架構的大語言模型,在生成任務中展示了良好的性能表現。表2.2從模型參數量和預訓練語料規模的角度對本章提到的基于 Encoder-Decoder 架構的模型進行了總結。可以看出此時模型參數數量的上限已達 110 億。

表 2.2: Encoder-Decoder 架構代表模型參數和語料大小表。

模型發布時間參數量(億)語料規模
T52019.100.6-110 億750GB
mT52020.103-130 億9.7TB
T02021.1030-110 億約 400GB
BART2019.101.4-4 億約 20GB
mBART2020.060.4-6.1 億約 1TB

在模型結構和參數規模的雙重優勢下,相較于基于 Encoder-only 架構的模型,這些模型在翻譯、摘要、問答等任務中取得了更優的效果。

.


其他參考:【大模型基礎_毛玉仁】系列文章


聲明:資源可能存在第三方來源,若有侵權請聯系刪除!

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

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

相關文章

browser-use WebUI + DeepSeek 基于AI的UI自動化解決方案

browser-use WebUI 一、browser-use是什么Browser-use采用的技術棧為: 二、browser-use webui 主要功能使用場景 三、使用教程1.python 安裝2、把項目clone下來3、安裝依賴4、配置環境5、啟動6、配置1.配置 Agent2.配置要用的大模型3.關于瀏覽器的一些設置 四、Deep…

WPF CommunityToolkit.MVVM庫的簡單使用

CommunityToolkit.MVVM 是 .NET 社區工具包中的一部分,它為實現 MVVM(Model-View-ViewModel)模式提供了一系列實用的特性和工具,能幫助開發者更高效地構建 WPF、UWP、MAUI 等應用程序。以下是關于它的詳細使用介紹: 1…

Windows安裝Apache Maven 3.9.9

第一步下載資源 官網:下載 Apache Maven – Maven 環境變量配置 M2_HOME 指向bin目錄 MAVEN_HOME 指向根目錄 M2_HOME 不確定是否必須要 Path配置 ,需要注意MAVEN順序應當在java之前 驗證是否安裝成功,在cmd中以管理員方式打開&#xff0c…

【spring-boot-starter-data-neo4j】創建結點和查找結點操作

配置連接neo4j # application.properties spring.neo4j.uribolt://localhost:7687 spring.neo4j.authentication.usernameneo4j spring.neo4j.authentication.password你的密碼定義實體類 package com.anmory.platform.GraphService.Dao;import org.springframework.data.neo…

pytorch小記(十三):pytorch中`nn.ModuleList` 詳解

pytorch小記(十三):pytorch中nn.ModuleList 詳解 PyTorch 中的 nn.ModuleList 詳解1. 什么是 nn.ModuleList?2. 為什么不直接使用普通的 Python 列表?3. nn.ModuleList 的基本用法示例:構建一個包含兩層全連…

Excel導出工具類--復雜的excel功能導出(使用自定義注解導出)

Excel導出工具類 前言: 簡單的excel導出,可以用easy-excel, fast-excel, auto-poi,在導出實體類上加上對應的注解,用封裝好的工具類直接導出,但對于復雜的場景, 封裝的工具類解決不了,要用原生的excel導出(easy-excel, fast-excel, auto-poi都支持原生的) 業務場景: 根據…

批量測試IP和域名聯通性2

在前面批量測試IP和域名聯通性-CSDN博客的基礎上,由于IP和域名多樣性,比如帶端口號的192.168.1.17:17,實際上應該ping 192.168.1.17。如果封禁http://www.abc.com/a.exe,實際可ping www.abc.com。所以又完善了代碼。 echo off se…

國產編輯器EverEdit - 語法著色文件的語法

1 語法著色定義(官方文檔) 1.1 概述 EverEdit有著優異的語法著色引擎,可以高亮現存的絕大多數的編程語言。在EverEdit的語法著色中有Region和Item兩個概念,Region表示著不同的區塊。而Item則代表著這些區塊中不同的部分。一般情況下,Region…

Excel處理控件Aspose.Cells教程:如何自動將 HTML 轉換為 Excel

在處理 HTML 表中呈現的結構化數據時,將 HTML 轉換為 Excel 是一種常見需求。無論您是從網站、報告還是任何其他來源提取數據,將其轉換為 Excel 都可以更好地進行分析、操作和共享。 開發人員通常更喜歡使用編程方法將 HTML 轉換為 Excel,因…

基于springbo校園安全管理系統(源碼+lw+部署文檔+講解),源碼可白嫖!

摘要 隨著信息時代的來臨,過去信息校園安全管理方式的缺點逐漸暴露,本次對過去的校園安全管理方式的缺點進行分析,采取計算機方式構建校園安全管理系統。本文通過閱讀相關文獻,研究國內外相關技術,提出了一種集進出校…

vim在連續多行行首插入相同的字符

工作中經常需要用vim注釋掉一段代碼或者json文件中的一部分,需要在多行前面插入//或者#符號。在 Vim 中,在連續多行行首插入相同字符主要有以下兩種方法: Visual Block 模式插入 將光標移到要插入相同內容的第一行的行首24。按下Ctrl v進入…

Git 實戰指南:本地客戶端連接 Gitee 全流程

本文將以 Gitee(碼云)、系統Windows 11 為例,詳細介紹從本地倉庫初始化到遠程協作的全流程操作 目錄 1. 前期準備1.1 注冊與配置 Gitee1.2 下載、安裝、配置客戶端1.3 配置公鑰到 Gitee2. 本地倉庫操作(PowerShell/Git Bash)2.1 初始化本地倉庫2.2 關聯 Gitee 遠程倉庫3. …

Pytest項目_day01(HTTP接口)

HTTP HTTP是一個協議(服務器傳輸超文本到瀏覽器的傳送協議),是基于TCP/IP通信協議來傳輸數據(HTML文件,圖片文件,查詢結果等)。 訪問域名 例如www.baidu.com就是百度的域名,我們想…

MySQL超詳細介紹(近2萬字)

1. 簡單概述 MySQL安裝后默認有4個庫不可以刪除,存儲的是服務運行時加載的不同功能的程序和數據 information_schema:是MySQL數據庫提供的一個虛擬的數據庫,存儲了MySQL數據庫中的相關信息,比如數據庫、表、列、索引、權限、角色等…

SQLMesh宏操作符深度解析:掌握@star與@GENERATE_SURROGATE_KEY實戰技巧

引言:解鎖SQLMesh的動態查詢能力 在復雜的數據處理場景中,手動編寫重復性SQL代碼不僅效率低下,還難以維護。SQLMesh作為新一代數據庫中間件,通過其強大的宏系統賦予開發者編程式構建查詢的能力。本文將重點解析兩個核心操作符——…

超詳細kubernetes部署k8s----一臺master和兩臺node

一、部署說明 1、主機操作系統說明 2、主機硬件配置說明 二、主機準備(沒有特別說明都是三臺都要配置) 1、配置主機名和IP 2、配置hosts解析 3、防火墻和SELinux 4、時間同步配置 5、配置內核轉發及網橋過濾 6、關閉swap 7、啟用ipvs 8、句柄…

高光譜相機在水果分類與品質檢測中的應用

一、核心應用領域 ?外部品質檢測? ?表面缺陷識別:通過400-1000nm波段的高光譜成像,可檢測蘋果表皮損傷、碰傷等細微缺陷,結合圖像分割技術實現快速分類?。 ?損傷程度評估:例如青香蕉的碰撞損傷會導致光譜反射率變化&#…

【藍橋杯每日一題】3.17

🏝?專欄: 【藍橋杯備篇】 🌅主頁: f狐o貍x 他們說內存泄漏是bug,我說這是系統在逼我進化成SSR級程序員 OK來吧,不多廢話,今天來點有難度的:二進制枚舉 二進制枚舉,就是…

Windows11 新機開荒(二)電腦優化設置

目錄 前言: 一、注冊微軟賬號綁定權益 二、此電腦 桌面圖標 三、系統分盤及默認存儲位置更改 3.1 系統分盤 3.2 默認存儲位置更改 四、精簡任務欄 總結: 前言: 本文承接上一篇 新機開荒(一) 上一篇文章地址&…

aws(學習筆記第三十三課) 深入使用cdk 練習aws athena

文章目錄 aws(學習筆記第三十三課) 深入使用cdk學習內容:1. 使用aws athena1.1 什么是aws athena1.2 什么是aws glue1.2 為什么aws athena和aws glue一起使用 2. 開始練習aws athena2.1 代碼鏈接2.2 整體架構2.3 代碼解析2.3.1 創建測試數據的S3 bucket2.3.2 創建保…