当前位置: 首页 > news >正文

transformer各层的输入输出

总结

层/组件输入形状输出形状核心功能
Input Embedding[B, S][B, S, D]将离散token转为连续向量
Positional Encoding[B, S, D][B, S, D]注入位置信息
Encoder MHA[B, S, D][B, S, D]计算输入序列内部的上下文关系
Encoder FFN[B, S, D][B, S, D]非线性变换,特征加工
Decoder Masked MHA[B, T, D][B, T, D]计算已生成输出序列的内部关系
Decoder Cross-AttentionQ: [B, T, D]
K,V: [B, S, D]
[B, T, D]让解码器关注编码器信息
Decoder FFN[B, T, D][B, T, D]非线性变换,特征加工
Output Projection[B, T, D][B, T, V]产生下一个词的概率分布

关键记忆点

  1. 维度守恒: 除了最开始的Embedding和最后的输出层,所有核心层的输入输出维度都是 [batch_size, seq_len, d_model]

  2. 信息流

    • Encoder: 不断提炼和丰富输入序列的表示。

    • Decoder: 不断结合已生成输出编码器信息,预测下一个词。

在Decoder的输入形状 [B, T, D] 中:

T 指的是目标序列(Target Sequence)在当前解码步骤时的长度。它的具体含义取决于模型是处于训练模式还是推理模式,这是理解Decoder工作的关键。

1. 训练阶段 (Training) 的 T

在训练时,我们使用的是教师强制(Teacher Forcing) 策略。

注:教师强制策略就是decoder阶段的输入使用训练集的真实的目标序列。

  • T: 就是完整的目标序列(或标签序列)的长度

    • 例如,在机器翻译中,输入英文“I love you”,目标输出是中文“我爱你”。那么这里的 T 就是 3(三个中文字符)。

  • 工作流程

    1. 我们将整个目标序列(例如,“我爱你”的token ID)一次性输入给Decoder。

    2. Decoder内部的掩码自注意力机制会确保每个位置(第 i 个token)只能看到它自己以及它之前的所有位置(第 1 到 i-1 个token),而无法看到未来的信息。

    3. 模型的任务是并行地预测出序列的下一个token。

      • 根据输入 <SOS> 我,预测下一个词应该是“爱”。

      • 根据输入 <SOS> 我 爱,预测下一个词应该是“你”。

      • 根据输入 <SOS> 我 爱 你,预测下一个词应该是 <EOS>(结束符)。


2. 推理/生成阶段 (Inference/Generation) 的 T

在推理时,我们没有真实的目标序列,需要模型自回归(Autoregressive) 地生成,即一个一个token地往外蹦。

  • T: 指的是到当前生成步骤为止,已生成的序列长度。这是一个可变的数字,会随着生成的进行而不断增加T = 1 -> 2 -> 3 -> ...)。

  • 工作流程

    1. 起始: 第一步,输入通常只是一个开始符 <SOS>(形状是 [B, 1, D],即 T=1)。模型输出第一个词的概率分布,我们选择概率最高的词(比如“我”)。

    2. 循环

      • 第二步,我们将 <SOS> 和第一步生成的“我” 拼接起来,作为新的输入(形状是 [B, 2, D],即 T=2)。模型输出下一个词的概率分布,选出“爱”。

      • 第三步,输入是 <SOS> 我 爱[B, 3, D]T=3),输出“你”。

      • 第四步,输入是 <SOS> 我 爱 你[B, 4, D]T=4),输出 <EOS>,生成结束。

推理时的特点

  • 串行处理: 生成过程是循环的、串行的,因此比训练慢得多。

  • T 是动态增长的: 从1开始,每生成一个token,T 就加1,直到遇到 <EOS> 或达到最大长度限制。


文章转载自:

http://bcOEOhuP.bpmfz.cn
http://rj5wuY25.bpmfz.cn
http://PvDdSIKc.bpmfz.cn
http://cOF3yXTC.bpmfz.cn
http://Q23k3Q6i.bpmfz.cn
http://KgHN65S2.bpmfz.cn
http://Een2j65L.bpmfz.cn
http://IuVqEj6U.bpmfz.cn
http://NuygVRVO.bpmfz.cn
http://9R0rTjVf.bpmfz.cn
http://ZuIbleP0.bpmfz.cn
http://VH3FFZbn.bpmfz.cn
http://GjArxNZe.bpmfz.cn
http://ZnNqJtQA.bpmfz.cn
http://piBEfM0H.bpmfz.cn
http://b6nWjuYX.bpmfz.cn
http://Jqg5LwgM.bpmfz.cn
http://U10jieC4.bpmfz.cn
http://bN5asPAo.bpmfz.cn
http://GT8TQYQo.bpmfz.cn
http://JXScOcVF.bpmfz.cn
http://6nZejnUC.bpmfz.cn
http://CSUYWP3n.bpmfz.cn
http://cQkXm3qf.bpmfz.cn
http://iwEnOtIq.bpmfz.cn
http://isnM2PvJ.bpmfz.cn
http://REfcDF0t.bpmfz.cn
http://aqY7kZfT.bpmfz.cn
http://yyYHvWud.bpmfz.cn
http://djpEgAI1.bpmfz.cn
http://www.dtcms.com/a/387058.html

相关文章:

  • lvgl图形库和qt图形库比较
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘PIL’ 问题
  • 搭建 PHP 网站
  • 流式分析:细胞分群方法
  • Redis 底层数据结构之 Dict(字典)
  • UE 最短上手路线
  • 动手学Agent:Agent设计模式——构建有效Agent的7种模型
  • 苍穹外卖day01
  • 《LINUX系统编程》笔记p14
  • 可直接落地的pytest+request+allure接口自动化框架
  • 【精品资料鉴赏】267页政务大数据资源平台建设方案
  • 面试前端遇到的问题
  • 【深度学习计算机视觉】05:多尺度目标检测——从理论到YOLOv5实践
  • STM32 通过USB的Mass Storage Class读写挂载的SD卡出现卡死问题
  • 【Nginx开荒攻略】Nginx基本服务配置:从启动到运维的完整指南
  • 《漫威争锋》公布开发者愿景视频:介绍1.5版本的内容
  • Isight许可管理与其他软件集成的方法
  • 论文提纲:学术写作的“蓝图”,如何用AI工具沁言学术高效构建?
  • 快速解决云服务器的数据库PhpMyAdmin登录问题
  • 知识更新缺乏责任人会带来哪些风险
  • 容器化部署番外篇之Nexus3搭建私有仓库09
  • 计算机视觉(opencv)实战二十四——扫描答题卡打分
  • 居住证申请:线上照片回执办理!
  • Roo Code 的差异_快速编辑功能
  • 【深度学习】基于深度学习算法的图像版权保护数字水印技术
  • mcp初探
  • 深入C++对象生命周期:从构造到析构的奥秘
  • 视频上传以及在线播放
  • Powershell and Python are very similar
  • 鸿蒙Next离线Web组件实战:轻松实现离线加载与缓存优化