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.mzph.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年度…