清华大学综述:基于 Transformer 的大语言模型

语言建模作为语言模型(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 》,arxiv.org/pdf/2404.14...


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

相关推荐
Yzzz-F9 分钟前
2018-2019 ACM-ICPC, Asia Dhaka Regional ContestC[数论]
算法
Frostnova丶16 分钟前
LeetCode 3474. 字典序最小的生成字符串
算法·leetcode·职场和发展
REDcker16 分钟前
Nagle 算法与 TCP_NODELAY、TCP_CORK 详解
网络·tcp/ip·算法
β添砖java32 分钟前
深度优先搜索DFS
算法·深度优先
小糯米60134 分钟前
C++ 并查集
java·c++·算法
IronMurphy34 分钟前
【算法三十四】39. 组合总和
算法·深度优先
重庆小透明34 分钟前
力扣刷题【3】相交链表
算法·leetcode·链表
算法鑫探35 分钟前
C语言实战:学生成绩统计与分析
c语言·数据结构·算法·新人首发
IAUTOMOBILE37 分钟前
Code Marathon 项目源码解析与技术实践
java·前端·算法
Lyyaoo.37 分钟前
【JAVA基础面经】深拷贝与浅拷贝
java·开发语言·算法