【NLP】 22. NLP 現代教程:Transformer的訓練與應用全景解讀

🧠 NLP 現代教程:Transformer的訓練與應用全景解讀


一、Transformer的使用方式(Training and Use)

如何使用Transformer模型?

Transformer 模型最初的使用方式有兩種主要方向:

  1. 類似 RNN 編碼-解碼器的架構(用于序列到序列任務)
    • 例如機器翻譯、文本摘要任務。
    • Encoder 用于將輸入句子編碼為向量,Decoder 再將向量解碼為目標語言或句子。
  2. 作為生成上下文詞向量的預處理模塊
    • Transformer也被用作詞向量上下文建模器(contextualized word embeddings)
    • 這些向量可輸入至下游模型,例如分類器、序列標注器等。

初期效果如何?

  • 準確率提升較小:初期在一些基準任務中僅帶來輕微的精度提升
  • 效率提升顯著:相比RNN,Transformer可并行計算,訓練速度大幅提升

二、Transformer的統治地位崛起(Over Time: Transformers Became Dominant)

為什么Transformer最終成為主流?

  • Transformer 架構可以完全并行,解決了RNN“逐步處理”的效率問題。
  • 支持大規模模型訓練,能夠有效利用現代GPU/TPU資源。
  • 與“預訓練+微調”范式結合,成為自然語言處理的統一框架

三、BERT:Transformer成功的代表

BERT由三部分構成:

  1. WordPiece分詞(WordPiece Tokenisation)
    • 將生僻詞拆解為已知子詞。例如:“unhappiness” → “un”, “##happiness”
    • 避免OOV問題,提高表示能力。
  2. Transformer結構(Transformer Architecture)
    • 多頭注意力機制 + 殘差連接 + 層歸一化
    • 采用“Encoder-only”結構
  3. 大量訓練數據(Data)
    • 使用維基百科+BooksCorpus等海量文本進行預訓練。

三者結合 → 極高性能:

BERT = WordPiece?Tokenisation + Transformer?Encoder + Pretraining?on?Large?Corpus \text{BERT} = \text{WordPiece Tokenisation} + \text{Transformer Encoder} + \text{Pretraining on Large Corpus} BERT=WordPiece?Tokenisation+Transformer?Encoder+Pretraining?on?Large?Corpus

BERT代表著“大模型+大數據”的范式首次登頂NLP任務榜單。


四、大模型時代的到來:訓練成本問題

  • 訓練BERT等模型需要巨大的算力存儲資源
  • 這使得模型訓練逐漸超出一般高校實驗室的能力范圍
  • 學術界被迫轉向使用開源預訓練模型進行微調(fine-tuning)

五、加速訓練的意義

為什么加速訓練如此重要?

  • 更快的訓練速度 → 更大規模模型可行
  • 支持“迭代實驗” → 快速調參、驗證新想法

六、Transformer的發展軌跡

模型年份主要貢獻
Transformer(原始論文)2017提出“Self-Attention”
GPT-12018首次使用Decoder-only結構進行語言建模
BERT2018Encoder-only + 雙向掩碼訓練
GPT-22019擴展模型規模(15億參數)
GPT-320201750億參數,展示“大模型能力的涌現

七、Scaling Law:模型規模、數據和性能的關系

什么是 Scaling Laws(擴展定律)?

  • 經驗法則:在給定訓練預算下,模型的最佳參數數量、數據量、訓練步驟數之間存在關系。
  • 使用這些法則可以估算最優模型大小
公式表達如下:

若性能度量為損失 L,參數量為 N,數據量為 D,計算量為C,有如下規律:

L ( N , D ) ≈ L ∞ + A N α + B D β L(N, D) \approx L_\infty + \frac{A}{N^\alpha} + \frac{B}{D^\beta} L(N,D)L?+NαA?+DβB?

其中 α,β>0,表示“規模擴展的收益遞減”。


八、注意力的復雜度問題(Attention is Quadratic)

標準注意力機制的復雜度:

給定輸入序列長度為 n,標準多頭注意力機制的復雜度為:

O ( n 2 ? d ) O(n^2 \cdot d) O(n2?d)

其中 d 為表示維度。這種 二次增長 導致長文本處理效率極低。


九、解決注意力復雜度問題的模型變種

為了解決效率問題,研究者提出了多種“稀疏/線性注意力”方法:

模型技術特點
Performer近似核函數將注意力簡化為線性形式
Longformer局部+全局注意力局部窗口提升效率
Linformer投影降維減少注意力矩陣維度
BigBird稀疏注意力圖保留圖的可達性結構

🔟 更大的瓶頸:內存帶寬(Memory Bandwidth)

注意力不是最大瓶頸,真正的瓶頸是:內存帶寬!

為什么內存帶寬是瓶頸?

  • 模型越大,每次訓練所需數據吞吐越大。
  • 內存訪問比計算慢很多,導致等待內存成為主要時間消耗

🔄 FlashAttention:顯著提升訓練速度的突破

  • FlashAttention 是一種高效顯存優化注意力計算方式
  • 通過將計算重寫為CUDA核函數,利用寄存器和共享內存提升計算速度。

效果:

  • 訓練速度提升2-4倍
  • 減少顯存使用(支持更長序列)

🔁 Feedforward層主導計算(隨著模型增大)

在大模型中,前饋網絡(FFN)層的計算量遠超注意力層,因為:

  • 每層 FFN 通常為輸入維度的 4 倍 → 計算密集
  • 例如 GPT 模型中,前饋層占比超過 2/3

📚 總結:Transformer大模型發展路徑

  1. 初期用于生成上下文詞向量或端到端訓練(如翻譯)
  2. BERT 等模型引入大規模預訓練范式
  3. 模型尺寸、數據量不斷擴展(GPT-3等)
  4. 提出 Scaling Law 進行建模
  5. 面臨注意力復雜度挑戰 → 各類變體出現
  6. 真正瓶頸為內存帶寬 → FlashAttention 提升效率
  7. 模型中 FFN 成為主要計算耗點

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

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

相關文章

Spring Boot 集成 RocketMQ 全流程指南:從依賴引入到消息收發

前言 在分布式系統中,消息中間件是解耦服務、實現異步通信的核心組件。RocketMQ 作為阿里巴巴開源的高性能分布式消息中間件,憑借其高吞吐、低延遲、高可靠等特性,成為企業級應用的首選。而 Spring Boot 通過其“約定優于配置”的設計理念&a…

HTTPS實現安全的關鍵方法及技術細節

HTTPS(HyperText Transfer Protocol Secure)通過多種技術手段實現數據傳輸的安全性,其核心機制基于SSL/TLS協議,并結合數字證書、加密算法等技術。 SSL:Secure Sockets Layer,安全套接字層 TLS:…

Java【多線程】(8)CAS與JUC組件

目錄 1.前言 2.正文 2.1CAS概念 2.2CAS兩種用途 2.2.1實現原子類 2.2.2實現自旋鎖 2.3缺陷:ABA問題 2.4JUC組件 2.4.1Callable接口 2.4.2ReentrantLock(與synchronized對比) 2.4.3Semaphore信號量 2.4.4CountDownLatch 3.小結 1…

【Docker】離線安裝Docker

背景 離線安裝Docker的必要性,第一,在目前數據安全升級的情況下,很多外網已經基本不好訪問了。第二,如果公司有對外部署的需求,那么難免會存在對方只有內網的情況,那么我們就要做到學會離線安裝。 下載安…

MecAgent Copilot:機械設計師的AI助手,開啟“氛圍建模”新時代

MecAgent Copilot作為機械設計師的AI助手,正通過多項核心技術推動機械設計進入“氛圍建模”新時代。以下從功能特性、技術支撐和應用場景三方面解析其創新價值: 一、核心功能特性 ??智能草圖生成與參數化建模?? 支持自然語言輸入生成設計草圖和3D模型,如輸入“剖面透視…

MCU屏和RGB屏

一、MCU屏 MCU屏?:全稱為單片機控制屏(Microcontroller Unit Screen),在顯示屏背后集成了單片機控制器,因此,MCU屏里面有專用的驅動芯片。驅動芯片如:ILI9488、ILI9341、SSD1963等。驅動芯片里…

7.5 使用MobileNet v3進行圖像的區分

MobileNet v3是Google在2019年提出的輕量級卷積神經網絡結構,旨在提高在移動設備上的速度和準確性,廣泛的用于輕量級網絡。 MobileNet v3-Small的網絡結構如下,它的輸入是224x224的3通道彩色圖片。 使用過程如下: 1.創建模型、修改最終分類數量 #1.創建mobilenet_v3_small…

構建面向大模型訓練與部署的一體化架構:從文檔解析到智能調度

作者:汪玉珠|算法架構師 標簽:大模型訓練、數據集構建、GRPO、自監督聚類、指令調度系統、Qwen、LLaMA3 🧭 背景與挑戰 隨著 Qwen、LLaMA3 等開源大模型不斷進化,行業逐漸從“能跑通”邁向“如何高效訓練與部署”的階…

PostgreSQL技術大講堂 - 第86講:數據安全之--data_checksums天使與魔鬼

PostgreSQL技術大講堂 - 第86講,主題:數據安全之--data_checksums天使與魔鬼 1、data_checksums特性 2、避開DML規則,嫁接非法數據并合法化 3、避開約束規則,嫁接非法數據到表中 4、避開數據檢查,讀取壞塊中的數據…

【機器學習】機器學習筆記

1 機器學習定義 計算機程序從經驗E中學習,解決某一任務T,進行某一性能P,通過P測定在T上的表現因經驗E而提高。 eg:跳棋程序 E: 程序自身下的上萬盤棋局 T: 下跳棋 P: 與新對手下跳棋時贏的概率…

Ubuntu20.04 設置開機自啟

參考: Ubuntu20.04 設置開機自啟_ubuntu進bos系統-CSDN博客

數據庫中存儲過程的流程語句講解

一、流程語句講解 二、總結 一、流程語句講解 1.1 if語句講解 語法: IF condition THENstatements; ELSEIF condition THENstatements; ELSEstatements; END IF; 題目示例: # 判斷成績等級 # 輸入學生的編號,取出學生的第一門課,然后判斷…

kubernetes》》k8s》》ConfigMap 、Secret

configmap官網 ConfigMap是一種 API 對象,使用時, Pods 可以將其用作環境變量、命令行參數或者存儲卷中的配置文件。ConfigMap將配置和Pod解耦,更易于配置文件的更改和管理。ConfigMap 并不提供保密或者加密功能。 如果你想存儲的數據是機密的…

git在IDEA中使用技巧

git在IDEA中使用技巧 merge和rebase 參考:IDEA小技巧-Git的使用 git回滾、強推、代碼找回 參考:https://www.bilibili.com/video/BV1Wa411a7Ek?spm_id_from333.788.videopod.sections&vd_source2f73252e51731cad48853e9c70337d8e cherry pick …

Spring 事務失效的原因及解決方案全解析,來復習了

Spring 事務失效是指在使用 Spring 聲明式事務管理時,預期的事務行為(如事務的開啟、提交、回滾等)未按預期執行,導致數據操作未滿足 ACID 特性(原子性、一致性、隔離性、持久性),從而引發數據不…

「出海匠」借助CloudPilot AI實現AWS降本60%,支撐AI電商高速增長

🔎公司簡介 「出海匠」(chuhaijiang.com)是「數繪星云」公司打造的社交內容電商服務平臺,專注于為跨境生態參與者提供數據支持與智能化工作流。平臺基于大數據與 AI 技術,幫助商家精準分析市場趨勢、優化運營策略&…

python每日一練

題目一 輸入10個整數,輸出其中不同的數,即如果一個數出現了多次,只輸出一次(要求按照每一個不同的數第一次出現的順序輸出)。 解題 錯誤題解 a list(map(int,input().split())) b [] b.append(a[i]) for i in range(2,11):if a[i] not in b:b.append(a[i]) print(b)但是會…

Docker實戰:從零構建高可用的MySQL主從集群與Redis集群

在分布式系統架構中,數據庫集群是保障數據高可用和性能的關鍵組件。本文將通過Docker技術,手把手教你搭建MySQL主從集群和Redis Cluster,并分享獨創的優化技巧與運維實戰經驗。 一、為什么選擇Docker部署集群? 傳統數據庫集群搭…

STM32電機庫 電機控制特性

ST MC FW庫提供FOC和六步法兩種電機控制方式。這使得它能夠驅動永磁同步電機 (PMSM) 和無刷直流電機 (BLDC)。FOC 更適合 PMSM,而六步法更適合 BLDC 電機。該固件可以驅動內嵌式PMSM 和標貼式PMSM。 ST Motor Control 固件庫提供以下功能: FOC SVPWM 生成: 可配置的 PW…

Go:方法

方法聲明 type point struct { X, Y float64 }// 普通函數 func Distance(p, q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }// Point類型的方法 func (p Point) Distance(q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }方法聲明與普通函數聲…