锋哥原创的Transformer 大语言模型(LLM)基石视频教程:

https://www.bilibili.com/video/BV1X92pBqEhV

课程介绍

本课程主要讲解Transformer简介,Transformer架构介绍,Transformer架构详解,包括输入层,位置编码,多头注意力机制,前馈神经网络,编码器层,解码器层,输出层,以及Transformer Pytorch2内置实现,Transformer基于PyTorch2手写实现等知识。

Transformer 大语言模型(LLM)基石 - Transformer简介

Transformer是一种完全基于自注意力机制的神经网络架构,最初由 Vaswani 等人在 2017 年提出,并在论文《Attention is All You Need》中详细介绍。它摒弃了传统的循环和卷积结构,极大地提升了处理序列数据(如文本)的能力和效率,成为了当今自然语言处理领域乃至整个AI领域的基石。

1. 为什么需要Transformer?—— 诞生背景

在Transformer出现之前,处理序列数据(如机器翻译、文本生成)的主流模型是RNN(循环神经网络) 及其变体(如LSTM、GRU)。

RNN的固有缺陷:

  • 顺序计算:必须一个一个地处理序列中的词,无法并行计算,导致训练速度慢。

  • 长程依赖问题:当序列很长时,早期信息在传递过程中容易丢失或衰减,模型难以捕捉远距离词语之间的关系。

Transformer的提出,正是为了解决RNN的这些核心缺陷

2. 核心思想:自注意力机制

Transformer最革命性的创新就是自注意力机制。你可以把它理解成一种让序列中每个元素都能“直接看到”序列中所有其他元素的一种方式。

一个简单的比喻: 在翻译一个句子时,RNN像是一个逐字阅读的人,读到后面可能会忘记前面。而Transformer则像是把整个句子平铺在桌面上,同时查看所有单词,并分析每个单词与其他所有单词的关联强度(即“注意力”)。

自注意力的作用:

  • 它计算序列中每个元素与其他所有元素的“相关性分数”。

  • 对于句子中的每一个词,它都能动态地、有侧重地从其他词那里汇聚信息,从而生成一个包含全局上下文的新表示。

例如,在句子“The animal didn't cross the street because it was too tired”中,自注意力机制可以很好地学习到“it”这个词应该更多地关注“animal”,而不是“street”。

3. 模型架构:编码器-解码器结构

Transformer的整体结构也采用了经典的编码器-解码器框架,但其内部完全由自注意力模块和前馈神经网络模块构成。

编码器
  • 功能:负责理解和编码输入序列的信息。

  • 结构:由N个(原文中N=6)完全相同的层堆叠而成。

  • 每一层的核心组件

    1. 多头自注意力层:让输入序列的每个位置都能关注到序列的所有位置。

    2. 前馈神经网络层:一个简单的全连接网络,对每个位置的表示进行独立变换。

    3. 残差连接和层归一化:每个子层周围都有,用于稳定训练、加速收敛和构建更深的网络。

解码器
  • 功能:根据编码器的输出和之前已生成的输出,来生成目标序列。

  • 结构:同样由N个(原文中N=6)完全相同的层堆叠而成。

  • 每一层的核心组件

    1. 掩码多头自注意力层:为了防止在训练时“偷看”未来的信息,它被掩码处理,只能关注到当前已生成的位置。

    2. 交叉注意力层:这是连接编码器和解码器的关键。它让解码器中的每个位置都能关注到编码器输出的所有位置

    3. 前馈神经网络层:与编码器中的相同。

    4. 残差连接和层归一化

其他关键组件
  • 位置编码:由于Transformer本身没有循环和卷积,因此不具备感知词序的能力。位置编码将每个词的位置信息(一个特定的向量)注入到词嵌入中,让模型能够利用序列的顺序信息。

  • 线性层和Softmax:解码器最后的部分,将解码器的输出映射成一个概率分布,表示下一个词是词汇表中每个词的概率。

4. Transformer的主要优势

  1. 强大的并行能力:自注意力机制可以同时对整个序列进行计算,充分利用GPU并行计算资源,训练速度远超RNN。

  2. 卓越的长程依赖建模:无论序列中两个元素的距离有多远,自注意力都能直接建立连接,有效捕捉全局信息。

  3. 高性能:在各项NLP任务上,其性能都显著超过了之前的模型。

  4. 可扩展性强:其架构易于堆叠和扩展,为后续的超大型模型(如GPT、BERT)奠定了基础。

5. Transformer的发展

随着时间的推移,许多基于 Transformer 的变种被提出,并且在不同的应用场景中取得了成功。最著名的几种变种包括:

  • BERT (Bidirectional Encoder Representations from Transformers):一个仅使用编码器的 Transformer,用于预训练和生成深度的上下文表示,特别擅长处理文本理解任务。

  • GPT (Generative Pre-trained Transformer):一个只使用解码器的 Transformer,专注于生成文本,尤其在生成式任务中表现出色。

  • T5 (Text-to-Text Transfer Transformer):通过将所有任务转化为文本生成问题,T5 在多种 NLP 任务中表现优异。

  • Vision Transformer (ViT):将 Transformer 应用于计算机视觉任务,取得了与卷积神经网络(CNN)相当的效果。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐