视频连接:【2025最新】吴恩达手撕Transformer,详解架构与原理,完全从小白角度出发讲解!_哔哩哔哩_bilibili

  吴恩达老师的视频这次联合了两个大佬一起讲解Transformer基础,课程的名字叫做《How Transformer LLMs Work》。

这次的课总共是一个小时半的样子,感觉老师们讲的很详细,第一位老哥的咖喱味有点重哈哈哈。

比较适合有一定深度学习基础的,如果是比较小白一点的还是可以去看我之前的这个帖子:讲的最清楚的Transformer视频!-CSDN博客

以下就是我的学习笔记了:

———————————————————————————————————————————零碎的小记:

1、文字的表征用数值形式表示语言。

2、最大上下文长度:意味着模型单词最多处理多少个词元。

———————————————————————————————————————————

一、课程框架

1、当前语言模型的最新发展
2、学习分词技术——词元分解tokenization
3、transformer的工作原理

二、Transformer 结构简介

编码器Encoder提供输入文本的丰富上下文关联

     它处理完整的文本以提取语境信息; 

     仅基于Encoder的模型例如,BERT模型和RAG(检索增强生成)中多数嵌入模型

解码器Decoder执行文本生成任务

     输入提示生成内容

     是很多主流LLMs的基础架构,例如OpenAI,Cohere 和Meta.

   大语言模型的魔力来自于两个要素

   一是Transformer的架构本身,二是训练模型所使用的海量优质数据。

三、语言类AI的近发展史

非Transformer的模型架构:Bag-of-WordWord2Vec是当今技术的基础。缺点是缺乏上下文的表征能力。

Encoder-only 模型:擅长将语言转化为数值表征。

Decoder-only模型:本质上是生成式,主要用于文本生成。

Encoder-Decoder模型:融合两者的优势。

四、语言词袋(bag-of-words)

  Bag-of-words又称为向量表示(Vector Representation),将语法表示为大型稀疏向量,即数字阵列,

  Bag-of-words仅简单的记录单词的存在与否,只是将语言简化为字面上的词汇集合,而忽略了文本的语义本质或者深层含义。

     具体的,将文本拆分成小段词元token,token可以比完整的单词更小。

    然后创建词汇表,这个过程将输入句子中重复的词汇重叠,所以词汇表中的语言数量会少于生成的词元总量。

    词汇表中的词元或词语的数量称为词汇表的大小

     统计现有词汇表中各个token的出现频率,包括未出现的词汇也写为0,因为句子的意义不仅体现在包含的词语,也翻译在未包含的词语中。

      bag-of words的核心原理仅是统计词汇表中单个词语的出现次数。

五、词嵌入Vector Embeddings

      Vector Embeddings又被称为表征模型(Representation Model),能捕捉邻近词汇上下文中的语义。

      范围多在0-1或者-1~1之间。

      Word2Vec在海量文本数据上用神经网络进行训练来学习词语的语义表征。

      Word2Vec通过分析词语在句子中的共现关系来生成词嵌入。 

    首先为词汇表中的每个词语分配向量嵌入 ,例如,每个词用5个初始化的数值表示,该嵌入维度一般为固定值。

    接着在每次训练迭代中,从训练数据中抽取词语对,模型尝试预测这些词语在句子中相邻出现的可能性。

    在训练过程中,Word2Vec学习词语间的关联,并将这些信息编码到嵌入向量中。

      语义相近的词语,它们的嵌入向量在空间中会更接近。

  六、 RNN(Recurrent Neural Networks)


     Word2Vec生成的是生成静态嵌入表示,无论上下文如何变化,词语“bank”都会生成相同的嵌入向量。

     但是同一词汇他的语义对应的嵌入表示会根据上下文动态调整

    RNN是文本编码的重要技术突破,该类神经网络变体通过引入额外输入来建模序列关系

    RNN主要承担两项任务:编码(生成输入语句的表示)和解码(生成输出语句)。

    RNN的每个步骤都采用自回归方式,生成后续词语时,模型需要处理所有已生成的词语。

   如上图,把上一阶段生成的内容带入下一步中,持续迭代该过程,不断用已经生成标记更新输入序列。

    注(自回归):多数模型采用自回归方式,因此每次仅生成单个标记

              自回归生成的主要特点是逐位置生成,生成质量高且上下文连贯性强,但速度较                           慢,适用于对生成质量要求高的任务,如文本生成、对话系统和高精度语音合成。

        缺点:这种方法难以处理较长的语句,因为仅用单个嵌入表示整个输入,对于长而复杂的序列,单一嵌入可能无法完整捕捉上下文。

        注意:RNN本身不直接执行Embedding操作,而是需要先将文字转化为Embnedding向量,再输入RNN进行处理。如下图所示。

七、注意力机制

      2014年注意力机制提出,注意力机制使得模型能动态关注输入系列中相关联的部分,并且放大它们的信号

      注意力机制会选择性确定句子中最重要的词语。

       如下图中I和lk是同义词,因为他们具有更强的关联性,所以会获得更高的注意力值。

 

        与自回归不同,所有输入的隐藏状态都会被传送至解码器。

        RNN的架构的顺序特性阻碍了模型训练时的并行化。


八、Transformer

     Transformer的稠密向量可以捕捉邻近词汇上下文中的语义,即句子级上下文中的语义,甚至段落级别的上下文。

    且支持并行计算

      Transformer 由堆叠的编码器和解码器模块组成,所有模块采用注意力机制。通过堆叠,编码器和解码器的处理能力被逐级增强

(1)Encoder——编码器专为文本表征设计

     跟Word2Vec不同,嵌入向量这里使用随机初始化值。

    自注意力机制是仅关注输入序列的注意力机制,处理并更新嵌入向量。

自注意力机制与其他处理两个独立序列不同,它仅处理单一序列。)

    更新后的嵌入向量通过注意力机制获得更丰富的上下文信息。

     然后输入前馈神经网络,生成包含上下文信息的词嵌入。

 (2)Decoder

     解码器接收已生成的词语,输入至掩码自注意力层,生成中间嵌入向量之后,传递给另一个注意力网络。

     同时结合编码器的输出向量,这样既处理已生成内容,又整合自己已有的信息。

     最终输出传递至语言模型头部,生成序列中的下一个词语。

     掩码自注意力层与自注意力机制相似,但会剔除上三角矩阵的所有数值,因此会屏蔽未来位置,使得每个词元只能关注其前方的词元。  这样可以避免生成输出信息时信息泄露。

(3)基于Encoder的模型——表征模型(Representation Models)

 例如嵌入模型。 

   2018年BERT出现, 全名双向编码器表征模型。

    BERT是一种纯编码器框架,专注于语言表征,并生成上下文语境化的词嵌入。

    输入包含一个特殊标记,CLS分类标记,该标记作为整个输入的全局表征。在特定任务微调模型时,会使用这个CLS标记作为输入嵌入。

    训练BERT模型时,可以采用掩码语言建模技术,首先随机遮蔽输入序列中的部分词元,然后让模型预测这些被遮蔽的词汇。通过这种方式,模型在预测过程中学习语言表征。

       训练常用两阶段方法:

     1、预训练:在海量数据上进行掩码语言建模

2、微调:在下有任务上对预训练模型进行微调

(4)基于Decoder的模型——生成类模型(Generative Models)

      生成式模型通常只堆叠解码器,最早的模型是GPT。

    解码器模块采用掩码自注意力机制,然后连接神经网络,最终生成下一个词汇。

九、大模型发展史

(1)参数大小图:

(2)模型发展历史:

十、tokenization

     词元token可以是词汇、子词汇、特征或者字节

对比训练LLM Tokenizers

选择tokenizer分词器Bert-base-cased

利用分词器自带的decoder函数进行解码

CLS标记用于表征整体输入内容。 SEP为分隔符标记表示语句的结束。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐