ChatGPT的结构:Encoder-Decoder | 豆包MarsCode AI刷题

251 阅读2分钟

一、本堂课重点内容

1.Encoder-Decoder 编解码架构:介绍其作为 GPT 模型基础的概念来源和演化。

2.Transformer 在 GPT 中的应用:重点解释 GPT 的解码器结构如何嵌入 Transformer 模型。

3.解码方法:讲解包括贪婪搜索、束搜索、核搜索和温控搜索等生成策略的特点和应用。

4.Mask 掩码层的作用:在处理变长输入序列时,掩码层如何屏蔽无意义 token 并优化注意力计算。

二、详细知识点介绍

  1. Encoder-Decoder 架构 定义:最早用于机器翻译的 seq2seq 模型输入输出两段序列。 扩展性:在 NLP、图像处理等领域广泛应用。 GPT 的特点:丢弃了传统的编码器,仅使用解码器结构,体现为一个自回归语言模型。
  2. Transformer 模型在 GPT 中的作用 嵌入过程:文本通过 embedding 转换为 token 表示,逐层传递 Transformer 模块进行注意力计算。 最终输出:每一层的输出被整合后映射为词表概率分布,生成最终 token。
  3. 解码方法 贪婪搜索:选择概率最大的 token 输出,但可能遗漏次优解。 束搜索:选择前 k 个概率最大的 token,提高生成灵活性。 核搜索:通过设定 top_p,控制选取范围内的概率总和以生成灵活多样的结果。 温控搜索:通过调节参数 T,控制生成结果的随机性或确定性。
  4. Mask 掩码层 作用:屏蔽无意义 token(如 )或限制解码器仅关注上下文有效位置,优化注意力计算。 机制:掩码层通过设置 1/0 矩阵确定哪些 token 参与计算。

三、实践练习例子

练习 1:实现核搜索解码

目标:根据给定的概率分布和 top_p 值,抽取生成的 token。

实现步骤: 输入 token 概率分布(如 [0.3, 0.25, 0.15, 0.1, 0.2])。 设置 top_p=0.6,选取前几个概率值累加超过 0.6 的 token。 在选定范围内按比例采样生成 token。

练习 2:应用 Mask 层优化注意力

目标:屏蔽部分 token,不参与 Transformer 的注意力计算。

实现步骤: 设置输入序列长度(如 max_len=10),补齐 token。 设计掩码矩阵(如 [1, 1, 1, 0, 0] 表示前 3 个 token 参与计算)。 将掩码矩阵应用于注意力分数中,未被选中的 token 概率值设为 0。

四、课后个人总结

1.全局认知:GPT 模型作为 Transformer 的延伸,充分利用了注意力机制的特性,结构清晰、高效适配于大规模文本生成任务。

2.生成策略理解:解码方法各有优劣,实际使用需根据任务需求灵活选择。

3.实践收获:Mask 机制是 GPT 灵活处理变长输入的关键,为后续优化提供启发。