基于 Transformer 的大语言模型

news2024/10/6 1:34:42

语言建模作为语言模型(LMs)的基本功能,涉及对单词序列的建模以及预测后续单词的分布。

近年来,研究人员发现,扩大语言模型的规模不仅增强了它们的语言建模能力,而且还产生了处理传统NLP任务之外更复杂任务的新兴能力。

这些扩大规模的语言模型被称为大型语言模型(LLMs)。

主流的LLMs基于Transformer架构设计

具体来说,一个典型的Transformer架构由多个堆叠的Transformer块组成。

图片

通常,一个Transformer块由一个多头自注意力(MHSA)模块、一个前馈网络(FFN)和一个层归一化(LN)操作组成。

对于每个块,它接收前一个块的输出特征作为输入,并通过每个子模块传递特征以获得输出。

特别地,在第一个块之前,使用分词器将原始输入句子转换为一系列标记,随后的嵌入层用于将标记转换为输入特征。

然后,将额外的位置嵌入添加到输入特征中,以编码每个输入标记的顺序。

Transformer架构的核心概念是自注意力机制,它在MHSA模块中采用。具体来说,表示输入特征为X = [x1, x2, ..., xn],MHSA模块对它们进行线性投影并获得一组查询Q、键K和值V,如公式所示:

图片

其中WQi、WKi和WVi分别是第i个头的投影矩阵。

然后自注意力操作应用于每组(Qi, Ki, Vi)并得到第i个头的特征Zi,如公式所示:

图片

其中dk是查询(键)的维度。

注意,自注意力操作包含矩阵乘法操作,其计算复杂度是对输入长度的二次方。最后,MHSA模块将所有注意力头的特征连接起来,并通过线性投影形成其输出Z,如公式所示:

图片

其中WO是投影矩阵。

可以看到,自注意力机制允许模型识别不同输入部分的重要性,无论距离如何,并且可以捕捉输入句子中的长距离依赖和复杂关系。

Transformer块中的另一个重要模块是FFN。

通常,FFN位于MHSA模块之后,由两个带有非线性激活函数的线性变换层组成。它接收MHSA模块的输出特征X,如公式所示:

图片

其中W1和W2表示两个线性层的权重矩阵,σ(·)表示激活函数。

本文翻译自清华大学最新成果论文:《A Survey on Efficient Inference for Large Language Models 》,https://arxiv.org/pdf/2404.14294。


更多关于大语言模型的介绍,可以查看《Transformer最后一公里》专栏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1812177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[总线]AMBA总线架构的发展历程

目录 引言 发展历程 第一代AMBA(AMBA 1) 第二代AMBA(AMBA 2) 第三代AMBA(AMBA 3) 第四代AMBA(AMBA 4) 第五代AMBA(AMBA 5) AMBA协议简介 ASB&#x…

PCIe学习——重点提纲

PCIe学习-重点提纲 基础知识 计算机架构基础总线系统概述PCI vs PCI-X vs PCIe PCIe 概述 PCIe 的发展历史PCIe 与其他总线的对比PCIe 的优势和应用场景 PCIe 体系结构 PCIe 分层模型 物理层(Physical Layer)数据链路层(Data Link Layer&…

.NET 全局过滤器

过滤器流程图: 过滤器描述: 1、Authorization Filter : 是五种Filter中优先级最高的,通常用于验证Request合不合法、用户身份是否被认证(然后授权等)、复杂的权限角色认证、登录授权等操作。 2、Resource Filter: 会在Authorization之后,Model Binding之…

网络数据库后端相关面试题(其三)

18, 传输控制协议tcp和用户数据报协议udp有哪些区别 第一,tcp是面向字节流的,基本的传输单位是tcp报文段;而udp是面向报文的,基本传输单位是用户数据报。 第二, tcp注重安全可靠性,连接双方在…

C++学习日记 | LAB 7 shared library 共享库

资料来源:南科大 于仕琪 C/C Program Design LINK:CPP/week07 at main ShiqiYu/CPP GitHub 一、本节内容 本节主要介绍建立共享库的内容。习题主要内容为 共享库将开发人员希望与其他开发人员共享的功能的编译代码打包在一起。共享库通常具有以下特点…

33 _ 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?

通过上篇文章的介绍,我们知道了同源策略可以隔离各个站点之间的DOM交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了Web。这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三…

颠覆传统,重塑未来:物业服务新篇章,从售后服务管理系统开始!

数字化时代再不断发展,面向了各行各业。因此,物业行业也面临着前所未有的挑战与机遇。你是否曾经遇到过这样的困扰:报修流程繁琐、响应速度慢、服务质量参差不齐?这些问题严重影响了日常生活,同时,物业公司…

Android Jetpack Compose 实现一个电视剧选集界面

文章目录 需求概述效果展示实现思路代码实现总结 需求概述 我们经常能看到爱奇艺或者腾讯视频这类的视频APP在看电视剧的时候都会有一个选集的功能。如下图所示 这个功能其实很简单,就是绘制一些方块,在上面绘制上数字,还有标签啥的。当用户…

AI Pin 仅获1万订单,公司或10亿美元卖给惠普

Humane投入了五年时间研发一款旨在颠覆智能手机市场的设备,最终却可能以失败收场,该公司曾获OpenAI Sam Altman和Salesforce Marc Benioff的投资。 内容提要 1、Humane推出的AI Pin设备,近来遭到广泛批评,销量低迷。公司因此开始…

Navicat for MySQL 11软件下载及安装教程

软件简介: Navicat for SQL Server 是一套专为 SQL Server设计的全面的图形化数据库管理及开发工具,可进行创建、编辑和删除全部数据库对象,例如表、视图、函数、索引和触发器,或运行 SQL查询和脚本,查看或编辑 BLOBs…

双重循环、多重循环程序设计

双重循环格式: for(循环条件1){ 语句1; for(循环条件2){ 语句2; } } 例题1:输入一个整数n,输出一个n层的*三角形塔(完成例1)。 输入样例:6 输出样例: * ** *** **…

5G随身wifi上千元太贵了!高性价比5G随身wifi推荐,随身WiFi哪个牌子的最好用?

说到随身Wi-Fi,大家应该都不陌生。平时手机信号差网络卡顿,流量不够用,全靠随身wifi解决。现在,我们已经全面进入了5G时代,随身Wi-Fi也升级迭代,出现了支持5G的产品型号,网速更快体验感更好。但…

人工智能在【多模态:多组学+复发转移+肿瘤起源】的最新研究进展|顶刊速递·2024-06-11

小罗碎碎念 本期文献速递的主题是——人工智能多模态/多组学肿瘤的复发转移肿瘤起源。 今天的六篇文章比较特殊,大家要好好留心一下,因为选题是老板亲自下场定的,机会难得。 最近状态不太好,这周还要在北京待几天处理些事情&#…

C++入门 string常用接口(下)

目录 string类的常用接口说明 string类对象的修改操作(修饰符) operator & append & push_back assign & insert erase & replace swap & pop_back string类对象的非成员函数 operator relational operators(关系…

02 DHCP原理与配置

目录 2.1 DHCP工作原理 1. 了解DHCP服务 2. 使用DHCP的好处 3. DHCP的分配方式 4. DHCP的租约过程 1. 客户机请求IP地址 2. 服务器响应 3. 客户机选择IP地址 4. 服务器确定租约 5. 重新登录 6. 更新租约 2.2 使用DHCP动态配置主机地址 2.2.1 配置DHCP服务器 1. 安装DHCP服务器…

java版UWB高精度实时定位系统源码springboot+vue

UWB人员定位系统,实现人员的自动识别、位置定位、区域报警等功能。该系统能高效记录人员信息,出入信息及位置信息,并能灵活的查询及管理历史轨迹,可极大提高信息安全度,有效弥补了视频监控的不足。使人员管理实现信息化…

万界星空科技SMT行业MES系统功能

在现代制造业中,SMT智能车间MES系统是一种全自动化的生产管理系统,用于监控和控制整个SMT生产流程。它通过监控SMT设备的运行状态、实时追踪生产数据,并与其他系统进行实时数据交换,以提高生产效率、降低生产成本。MES系统采用先进…

超详解——Python 序列详解——基础篇

目录 1. 序列的概念 字符串(String) 列表(List) 元组(Tuple) 2. 标准类型操作符 连接操作符() 重复操作符(*) 索引操作符([]) …

MySQL 8.0 安装、配置、启动、登录、连接、卸载教程

目录 前言1. 安装 MySQL 8.01.1 下载 MySQL 8.01.2 安装 MySQL 8.0 2. 配置 MySQL 8.02.1打开环境变量2.2新建变量 MYSQL_HOME2.3编辑 Path 变量 3. 启动MySQL 8.03.1验证安装与配置是否成功3.2初始化并注册MYSQL3.3 启动MYSQL服务 4.登录MySQL4.1修改账户默认密码4.2登录MYSQL…

6月11日 C++day6

#include <iostream>using namespace std; class Animal //讲解员 { public:Animal(){}virtual void perform(){cout << "" << endl;} }; class Lion:public Animal //狮子 { public:Lion(){}void perform(){Animal::perform();cout <<…