LLM(3): Transformer 架構

Transformer 架構是當前大語言模型的主力架構和基礎技術,本文以通俗易懂的方式,對此作簡要介紹。

1.4 介紹 Transformer 架構

大多數現代的大規模語言模型(LLMs)依賴于 Transformer 架構,這是一種在 2017 年的論文《注意力就是你所需要的》(https://arxiv.org/abs/1706.03762)中提出的深度神經網絡架構。為了理解 LLMs,必須要先了解最初的 Transformer,它是為機器翻譯任務而開發的,用于將英文文本翻譯成德文和法文。簡化版的 Transformer 架構如圖 1.4 所示。

在這里插入圖片描述

圖 1.4 簡化版的原始 Transformer 架構圖示,它是一個用于語言翻譯的深度學習模型。Transformer 由兩部分組成:(a) 編碼器,處理輸入文本并生成文本的嵌入表示(一種在不同維度中捕捉許多不同因素的數值表示),以及 (b) 解碼器,可以使用這些嵌入表示逐詞生成翻譯后的文本。此圖展示了翻譯過程的最后階段,其中解碼器需要在給定原始輸入文本(“This is an example”)和部分翻譯的句子(“Das ist ein”)的情況下,僅生成最終單詞(“Beispiel”),以完成整個翻譯。

Transformer 架構由兩個子模塊組成:編碼器和解碼器。編碼器模塊處理輸入文本,并將其編碼成一系列捕捉輸入上下文信息的數值表示或向量。然后,解碼器模塊接收這些編碼后的向量并生成輸出文本。例如,在翻譯任務中,編碼器會將源語言的文本編碼成向量,而解碼器則會解碼這些向量以生成目標語言的文本。編碼器和解碼器都包含許多層,它們通過所謂的自注意力機制相連。對于輸入是如何預處理和編碼的,您可能會有許多疑問。這些問題將在后續章節的逐步實現中得到解答。

Transformer 和 LLMs 的一個關鍵組件是自注意力機制(the self-attention mechanism,圖 1.4 中未展示),它允許模型對序列中的不同單詞或標記的重要性進行相對權衡。這種機制使模型能夠捕捉輸入數據中的長程依賴性和上下文關系,增強其生成連貫且上下文相關的輸出的能力。然而,由于其復雜性,我們將在后續內容中進一步討論并逐步實施。

Transformer 架構的后期變種,如 BERT(來自 Transformers 的雙向編碼表示的簡稱)和各種 GPT 模型(生成預訓練變換器的簡稱),都是基于這一概念構建的,旨在適應不同的任務。

基于原始 Transformer 的編碼器子模塊構建的 BERT 在其訓練方法上與 GPT 有所不同。雖然 GPT 被設計用于生成任務,但 BERT 及其變體專注于掩碼詞預測,即模型預測給定句子中的掩碼或隱藏單詞,如圖 1.5 所示。這種獨特的訓練策略使 BERT 在文本分類任務中表現出色,包括情感預測和文檔分類。作為其實力的應用實例,截至此時,X(前身為Twitter)使用 BERT 來檢測有害內容。

在這里插入圖片描述

圖 1.5 transformer 編碼器和解碼器子模塊的可視化表示。左側是編碼器部分,它例證了類似于 BERT 的大型語言模型(LLM),這些模型專注于被遮蔽單詞預測,主要用于文本分類等任務。右側是解碼器部分,展示了類似于 GPT 的大型語言模型,這些模型設計用于生成性任務并生成連貫的文本序列。

另一方面,GPT專注于原始 transformer 架構的解碼器部分,且設計用于需要生成文本的任務。這包括機器翻譯、文本摘要、小說寫作、編寫計算機代碼等。

主要設計和訓練用于執行文本補全任務的 GPT 模型,在其能力上也顯示出了顯著的多功能性。這些模型擅長執行零樣本學習和少量樣本學習任務。零樣本學習指的是在沒有任何先前具體示例的情況下,能夠推廣到完全未見過的任務。而少量樣本學習則涉及從用戶作為輸入提供的最少數目的示例中學習,如圖 1.6 所示。

在這里插入圖片描述

圖 1.6 除了文本補全之外,類似于 GPT 的大型語言模型可以根據其輸入解決各種任務,而無需重新訓練、微調或更改特定于任務的模型架構。有時,在輸入中提供目標示例是有幫助的,這被稱為少量樣本設置。然而,類似于 GPT 的大型語言模型也能夠在沒有具體示例的情況下執行任務,這種情況被稱為零樣本設置。

比較:Transformers 與 LLMs

當今的大型語言模型(LLMs)基于 transformer 架構。因此,在文獻中,transformers 和 LLMs 這兩個術語經常被互換使用。然而,請注意,并非所有 transformers 都是 LLMs,因為 transformers 也可用于計算機視覺領域。同樣,并非所有 LLMs 都是基于 transformer 的,因為存在基于遞歸和卷積架構的 LLMs。這些替代方法的主要動機是為了提高 LLMs 的計算效率。至于這些替代的 LLM 架構是否能夠與基于 transformer 的 LLM 能力相競爭,以及它們是否會在實踐中得到采用,仍有待觀察。為簡單起見,本文使用“LLM”一詞來指代類似于 GPT 的基于 transformer 的 LLM。


原文:Sebastian Raschka. Build a Large Language Model(From Scratch),此處為原文的中文翻譯,為了閱讀方便,有適當修改。

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

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

相關文章

11.【.NET 8 實戰--孢子記賬--從單體到微服務--轉向微服務】--微服務基礎工具與技術--Ocelot 網關--整合日志

網關作為微服務架構的入口,承載著各服務間的請求轉發與安全校驗,其日志信息尤為關鍵。通過整合網關日志,可以將分散在不同系統中的訪問記錄、錯誤提示和異常信息集中管理,為問題排查提供全景視角。在排查故障時,統一日…

88.HarmonyOS NEXT 性能監控與調試指南:構建高性能應用

溫馨提示:本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦! HarmonyOS NEXT 性能監控與調試指南:構建高性能應用 文章目錄 HarmonyOS NEXT 性能監控與調試指南:構建高性能應用1. 性能監…

012---狀態機的基本知識

1. 摘要 文章為學習記錄。主要介紹狀態機概述、狀態轉移圖、狀態編碼、狀態機寫法、狀態機代碼示例。 2. 狀態機概述 狀態機 (Finite State Machine),也稱為同步有限狀態機,用于描述有先后順序或時序規律的事情。 “同步”&…

deepseek+kimi做ppt教程記錄

1.首先注冊deepseek和kimi deepseek官網:https://chat.deepseek.com/ kimi官網:https://kimi.moonshot.cn/ 以下以一篇工作總結報告為例 2.使用deepseek生成ppt大綱 讓deepseek生成kimi生成ppt所需要的內容時,需要注意提示詞內容,…

Java Module介紹

Java模塊系統自Java 9開始引入,旨在提供更強大的封裝機制、清晰的依賴關系定義以及可靠的配置。Java平臺本身也被模塊化了,提供了多個核心模塊以及其他用于支持不同功能的模塊。以下是一些重要的Java標準模塊: java.base - 這是最基礎的模塊…

SOME/IP:用Python實現協議訂閱、Offer、訂閱ACK與報文接收

文章目錄 前言一、代碼層次二、詳細代碼1. eth_scapy_sd.py2、eth_scapy_someip.py3、network_define.py4、packet_define.py5、unpack_define.py6、someip_controller.py 前言 1、需要pip安裝scapy庫 2、需要修改根據實際情況配置network_define.py 3、執行someip_controller…

【Linux內核系列】:文件系統收尾以及軟硬鏈接詳解

🔥 本文專欄:Linux 🌸作者主頁:努力努力再努力wz 💪 今日博客勵志語錄: 世界上只有一種個人英雄主義,那么就是面對生活的種種失敗卻依然熱愛著生活 內容回顧 那么在之前的學習中,我們…

最新版Chrome瀏覽器加載ActiveX控件技術--allWebPlugin中間件一鍵部署瀏覽器擴展

allWebPlugin簡介 allWebPlugin中間件是一款為用戶提供安全、可靠、便捷的瀏覽器插件服務的中間件產品,致力于將瀏覽器插件重新應用到所有瀏覽器。它將現有ActiveX控件直接嵌入瀏覽器,實現插件加載、界面顯示、接口調用、事件回調等。支持Chrome、Firefo…

基于SpringBoot和MybatisPlus實現通用Controller

基于SpringBoot和MybatisPlus實現通用Controller,只需要創建實體類和mapper接口,單表增刪改查接口就已經實現,提升開發效率 1.定義通用controller package com.xian.controller;import cn.hutool.core.map.MapUtil; import com.baomidou.my…

Axure大屏可視化原型模板及素材:數據可視化的高效解決方案

數據可視化已成為企業決策、運營分析、市場洞察的重要工具。數據可視化大屏,作為數據展示和交互的直觀平臺,能夠實時呈現關鍵數據,幫助企業快速做出決策。Axure作為原型設計領域的領先工具,以其豐富的組件庫、強大的交互設計能力和…

YOLOE:實時查看任何事物

摘要 https://arxiv.org/pdf/2503.07465v1 目標檢測和分割在計算機視覺應用中得到了廣泛應用,然而,盡管YOLO系列等傳統模型高效且準確,但它們受限于預定義的類別,阻礙了在開放場景中的適應性。最近的開放集方法利用文本提示、視覺…

【品鉑科技工業生產應用案例解析】

品鉑科技(Pinpoint)在工業領域的高精度定位解決方案已廣泛應用于電力、鋼鐵、倉儲、化工、地鐵等場景,以下為典型應用案例及技術方案: 一、?電力行業:上海閔行電廠人員定位? 白鶴灘水力發電站 ?項目需求?&#x…

7-Zip 功能介紹

7-Zip 是一款開源、高效的文件壓縮與解壓縮工具,支持多種格式,以高壓縮率和靈活性著稱。以下是其核心功能: 多格式支持 壓縮 / 解壓:支持 7z(默認格式,壓縮率極高)、ZIP、RAR、GZIP、BZIP2、TAR…

這是我第一次寫關於aapenal服務器管理控制面板的文章

首先我們來認識一下服務器管理面板的所有功能 ? 網站管理功能: 支持創建和管理多個網站。配置虛擬主機(Vhost)和域名綁定。自動安裝常用應用(如WordPress、Joomla等)。 ? 文件管理功能: 文件上傳、…

小語言模型(SLM)技術解析:如何在有限資源下實現高效AI推理

引言:為什么小語言模型(SLM)是2025年的技術焦點? 2025年,人工智能領域正經歷一場“由大變小”的革命。盡管大語言模型(LLM)如GPT-4、Gemini Ultra等在復雜任務中表現驚艷,但其高昂的…

jmeter:登錄接口的token用于下一個接口

問題: 僅僅登錄接口可以使用,其他接口進行測試的時候都是報錯:賬號已經失效 原因: 應該是登錄接口的token并沒有用到下一個接口上來 解決方法 1、目錄建設如下: 2、先添加一個后置處理器:查看結果數&…

1、操作系統引論

一、操作系統 會使用linux系統 建議大家先學會linux的基礎指令,可以看菜鳥教程網站進行學習。 1、各種定義 操作系統定義 管理計算機的 硬件 和軟件資源, 能對各類作業進行調度,方便用戶使用計算機的程序集合。操作系統運行在內核態&#xf…

KVM安全模塊生產環境配置與優化指南

KVM安全模塊生產環境配置與優化指南 一、引言 在當今復雜多變的網絡安全環境下,生產環境中KVM(Kernel-based Virtual Machine)的安全配置顯得尤為重要。本指南旨在詳細闡述KVM安全模塊的配置方法,結合強制訪問控制(M…

深入解析工廠模式及其C#實現

工廠模式(Factory Pattern)是設計模式中的一種創建型模式,它通過工廠方法來創建對象,而不是讓客戶端代碼直接實例化對象。這樣可以避免客戶端與具體類的緊密耦合,從而提高代碼的靈活性、可維護性和擴展性。工廠模式能夠…

【愚公系列】《高效使用DeepSeek》009-PPT大綱自動生成

標題詳情作者簡介愚公搬代碼頭銜華為云特約編輯,華為云云享專家,華為開發者專家,華為產品云測專家,CSDN博客專家,CSDN商業化專家,阿里云專家博主,阿里云簽約作者,騰訊云優秀博主,騰訊云內容共創官,掘金優秀博主,亞馬遜技領云博主,51CTO博客專家等。近期榮譽2022年度…