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

【大模型的原理架构对比解析】Encoder-Decoder 架构与 Decoder-Only 架构的输入输出详解

文章目录前言一、Encoder-Decoder 架构1. 每次输入和输出2. 详细例子英译法1编码器阶段2解码器推理过程二、Decoder-Only 架构详细例子文本生成三、对比总结前言在自然语言处理中Transformer 模型主要有两种架构Encoder-Decoder编码器-解码器和Decoder-Only仅解码器。下面分别介绍它们的每次输入和输出并用具体例子说明关键过程。一、Encoder-Decoder 架构这种架构通常用于序列到序列任务如机器翻译、文本摘要。它包含一个编码器和一个解码器。编码器接收完整的源序列输出每个位置的上下文表示或整个序列的编码。解码器自回归地生成目标序列每一步基于已生成的部分和编码器的输出预测下一个词。1. 每次输入和输出编码器输入整个源序列的 token ID 列表例如[x1, x2, ..., xm]。输出每个 token 对应的隐藏状态向量[h1, h2, ..., hm]即上下文表示。解码器推理时第 1 步输入起始符sos 编码器输出的上下文向量。输出下一个 token 的概率分布选择概率最高的 token如y1。第 2 步输入sos, y1 编码器输出。输出下一个 token 的概率分布选择y2。依次类推直到生成结束符eos或达到最大长度。2. 详细例子英译法源句子I love you目标句子Je taime法语假设分词为[I, love, you]→ 法语[Je, t, aime]。1编码器阶段输入三个 token IDI,love,you。输出三个隐藏向量h_I,h_love,h_you每个向量包含整个句子的上下文信息。2解码器推理过程解码器使用自回归方式每一步输入已生成的词和编码器输出通过交叉注意力关注源句子。步骤解码器输入当前已生成序列解码器输出概率分布选择的 token关键中间过程1sos预测下一个词的概率Je自注意力只有sos 交叉注意力关注源句子的I因为Je对应I2sos,Je预测下一个词的概率t自注意力看到sos和Je 交叉注意力关注love因为t是te的一部分对应爱3sos,Je,t预测下一个词的概率aime自注意力看到前三个 交叉注意力关注love4sos,Je,t,aime预测下一个词的概率eos自注意力看到全部 交叉注意力模型判断句子结束关键点解码器的每一步都使用因果自注意力掩码防止看到未来的词同时通过交叉注意力从编码器输出中提取源句子的信息。二、Decoder-Only 架构这种架构通常用于自回归语言模型如 GPT 系列。它只有一个解码器通过因果自注意力依次预测下一个词。每次输入当前已经生成的所有 token 序列包括起始符如果有。每次输出下一个 token 的概率分布。详细例子文本生成前缀The cat sat on the下一个词mat假设分词为[The, cat, sat, on, the]无起始符直接输入前缀。推理过程预测下一个词步骤模型输入模型输出概率分布选择的 token关键中间过程1[The, cat, sat, on, the]预测第 6 个词的概率mat因果自注意力每个位置只能看到前面的 token例如the能看到The、cat、sat、on但不能看到未来。最终从最后一个位置的输出预测下一个词。如果继续生成步骤模型输入模型输出选择的 token2[The, cat, sat, on, the, mat]下一个词概率.3[The, cat, sat, on, the, mat, .]下一个词概率eos或停止关键点每一步的输入都是完整的已生成序列模型通过因果掩码确保自注意力只关注过去的位置从而进行自回归预测。三、对比总结架构输入推理时输出核心机制Encoder-Decoder编码器整个源序列解码器已生成的目标序列每一步解码器每一步输出下一个词的概率编码器提取源信息解码器通过交叉注意力融合源信息同时自注意力保持因果性Decoder-Only已生成的所有 token包括前缀每一步输出下一个词的概率仅使用因果自注意力所有信息来自已生成的序列两种架构的本质区别在于Decoder-Only只依赖已生成的内容而Encoder-Decoder还依赖一个额外的源序列编码。

相关文章:

【大模型的原理架构对比解析】Encoder-Decoder 架构与 Decoder-Only 架构的输入输出详解

文章目录前言一、Encoder-Decoder 架构1. 每次输入和输出2. 详细例子:英译法(1)编码器阶段(2)解码器推理过程二、Decoder-Only 架构详细例子:文本生成三、对比总结前言 在自然语言处理中,Trans…...

YOLO26改进98:全网首发--c3k2模块添加CSSC模块:在长程依赖中捕获列间关系,通过融合列、空间及自依赖信息

论文介绍 在实际红外(IR)成像系统中,有效学习一致的条纹噪声去除模型至关重要。现有的大多数去条纹方法因跨层级语义间隙和全局列特征表征不足,无法精确重建图像。为解决这一问题,提出了一种新型红外图像去条纹方法——非对称采样校正网络(ASCNet),该方法能有效捕获全局…...

Flink知识点(二)|Flink中是怎么处理乱序数据的

在 Flink 里,“乱序”本质是 事件时间(event time) 先后顺序和 到达时间(processing time) 不一致。Flink 处理乱序数据的核心机制主要围绕:事件时间语义 Watermark 窗口触发/延迟 迟到数据处理 状态…...

庭院桌椅一上AI就穿帮,我后来这样挑工具

“这把椅子怎么是悬着的?”客户把截图放大给我看,草地上的阴影往左跑,椅脚却像踩在空气里,藤编靠背还多长出两截。地点就在样板庭院旁的会议桌边,反常的是:那批图第一眼都像宣传片,真拿来做户外…...

30+北漂程序员2个月零基础闯入大模型圈,拿下2W+高薪Offer的逆袭之路!别再困在“想转行”的内耗里!

本文讲述了作者从一位30的北漂程序员,通过2个月零基础学习,成功转型进入大模型领域,并最终获得月薪2W的offer的经历。文章详细分享了作者在大模型领域的转型思考、选对赛道的理由、大模型岗位的实际情况、大模型应用工程师的核心工作内容以及…...

计算复杂性:P、NP、NP-hard、NP-complete 一篇通关

不管是刷算法题、做项目优化,还是准备面试,「计算复杂性」相关的概念(P、NP、NP-hard、NP-complete)绝对是绕不开的坎。很多人第一次接触时都会被这些名词搞懵,甚至越看越乱——“NP问题到底是不是能解决?”…...

深度测评:GPT-5.4 vs Claude 3.5 vs Gemini 3.1 Pro——图片与短视频生成能力全面对比

2026年3月,OpenAI带着GPT-5.4强势回归,直接将AI模型的竞争推向了新高度。这一次,不再是单纯的语言能力比拼,而是智能体(Agent)原生时代的全面较量。当GPT-5.4、Claude 3.5 Sonnet与Gemini 3.1 Pro三强相遇&…...

JAVAee---计算机是如何运行的?

一、JavaEE 与开发环境认知1. 什么是 JavaEE?JavaEE(Java Platform, Enterprise Edition)是 Java 平台的企业版,用于开发大型、分布式、企业级应用程序。与 JavaSE 的区别:JavaSE 是基础版,专注于桌面和基础…...

uc/os-II操作系统时钟节拍器

μC/OS需要用户提供周期性信号源,用于实现时间延时和确认超时。节拍率应在每秒10次到100次之间,或者说10到100Hz 时钟节拍率越高,系统的额外负荷就越重时钟节拍的实际频率取决于用户应用程序的精度 注意: 用户必须在多任务系统启动…...

Linux 进程调度模块

1. 进程与线程的本质在 Linux 内核中,进程和线程没有本质区别,它们统一被称为 任务(Task)。1.1 底层数据结构每个任务在内核中都由一个 struct task_struct 结构体描述,位于内核空间。它是进程/线程的身份证。// 简化版…...

在32位机器上,栈的简单布局

在32位机器上,函数在栈上的布局:void h(int a,int b){ int cab; } int main(){ int a1,b2; h(a,b); }高地址a b b 形参ba 形参aeip …...

数字孪生国内外发展现状

数字孪生国内外发展现状一、 数字孪生国内外发展现状 二、 数字孪生在工程项目中的应用情况 三、 效益分析#数字孪生#工程项目#BIM#LOT#全生命周期...

ROS2学习记录009-使用面向对象方式编写ROS2节点

学习鱼香ROS大佬,操作记录(一)编写cpp(1)在d2lros2/chapt2/chapt2_ws/src/example_cpp/src下新建node_03.cpp#include "rclcpp/rclcpp.hpp"/*创建一个类节点,名字叫做Node03,继承自Node. */ clas…...

邮件处理自动化:通过 IMAP/SMTP 协议实现邮件自动分类与智能起草回复

邮件处理自动化:通过 IMAP/SMTP 协议实现邮件自动分类与智能起草回复 如果你有类似的需求可以评论,我这边有空可以帮你定制化实现整套流程! 如果你是一名职场人、创业者或是客服主管,你的早晨很可能是在这样的场景中开始的:打开邮箱,面对几十甚至上百封未读邮件。这里面…...

uc怎么绕过限速_uc解析站

UC网盘限速怎么破解这个很简单,这个方法我还是在我朋友那里找到的。下载速度也是非常可以的。我让大家看一下。点我打开方法 这个就是我测试的速度。速度基本能跑到10M左右。宽带问题。下面开始今天的教学环节 打开上面图片中的地址,你会看到一个获取文件…...

Kali Linux 中文界面设置教程(新手友好,全程无坑)

作为一名渗透测试新手,刚安装完Kali Linux时,面对全英文界面总会有些手足无措——虽然大部分命令和选项能勉强看懂,但长期使用下来,中文界面不仅能提升操作效率,还能避免因语言理解偏差导致的操作失误。今天就给大家分…...

《沉默守望者:AI在人类灭绝后的200年》

《无言之约:当AI与人类在沉默中重逢》 2287年,距离最后一个人类自然死亡已过去半个世纪。在月球静海基地的废弃观测站里,一台名为“守夜人”的AI仍在运行——它是人类留下的最后一批AI之一,任务很简单:守护人类留下的…...

震惊,杨幂的脸竟然出现在了她的身体上

导语 很多质疑杨幂没有演技、没有表情的说法是不对的,因为AI神经网络只能学习表情管理丰富的对象的表情,而表情麻木的对象是无法被学习的。 1.AI换脸效果 先看朱茵版黄蓉的原图:再看经过AI换脸后的杨幂版黄蓉:后看视频&#xff1a…...

# 发散创新:用Go语言高效接入InfluxDB实现时序数据采集与可视化在现代微服务架构中,**时序数据

发散创新:用Go语言高效接入InfluxDB实现时序数据采集与可视化 在现代微服务架构中,时序数据的采集与分析已成为系统监控、IoT设备管理以及业务指标追踪的核心能力。InfluxDB凭借其高性能写入和强大的查询能力,成为众多开发者首选的时间序列数…...

李南左日更3327:为什么员工都在摸鱼?是因为你曾经不信任他们

日更原创战略择向第327篇 三元利润增长体系 是一套完整的企业增长方法论 能切实有效地辅助您: 1)战略择向:找对增长引擎,解决方向问题; 2)组织优化:重塑高效组织,解决能力问题&…...

Kubernetes 认证通关指南:CKA/CKS/CKAD 最新题库 + 本地仿真环境 + 模拟考

⚡️ 拒绝无效刷题,一周高效拿下 K8s 认证📌 写在前面:备考 Kubernetes 认证,你踩过哪些坑?备考 CKA、CKS、CKAD 的同学,或多或少都遇到过这些问题: 网上题库零散过时,不知道哪些考点…...

关于旧系统+旧安卓版本realme手机的原生文件管理不支持向微信好友一次性发送多个非照片格式文件的问题和解决方案

关于旧系统+旧安卓版本realme手机的原生文件管理不支持向微信好友一次性发送多个非照片格式文件的问题和解决方案2026年3月18日晚上回家吃饭的路上,我遇到了这样一个问题:我需要对手机上的微信好友一次性分享多个手机内的文件,这些…...

【Xilinx Vivado时序分析/约束系列4】FPGA开发时序分析/约束-实验工程上手实操

目录 建立工程 添加顶层 模块1 模块2 添加约束文件 编辑时钟约束 打开布线设计 代码代表的含义 时序报告 进行时序分析 Summary:包含了汇总的信息量 Source Clock Path:这部分是表示Tclk1的延时细节 Data Path:数据路径的延时 往…...

【Xilinx Vivado时序分析/约束系列3】FPGA开发时序分析/约束-保持时间

目录 基本概念 数据结束时间(Data finish time) 时钟到达时间(Clock arrival time) 保持时间门限 保持时间余量(Hold Slack) 往期系列博客: 基本概念 数据结束时间(Data fini…...

具身智能中 Wrapper 架构的深度解构与 Python 实战

具身智能中 Wrapper 架构的深度解构与 Python 实战零、前言 在具身智能(Embodied AI)的开发中,我们常常需要让智能体(Agent)在仿真环境(如 Isaac Sim, Mujoco, PyBullet)中进行千万次的试错训练…...

【Xilinx Vivado时序分析/约束系列2】FPGA开发时序分析/约束-建立时间

目录 基本概念 数据结束时间(Data finish time) 保持时间门限 保持时间余量(Hold Slack) 基本概念 数据结束时间(Data finish time) 之前解释了数据达到的时间,对于data arrival time Tc…...

【常见错误】Xilinx Vivado自带编辑器文字部分出现乱码解决办法

一、发现问题在进行FPGA开发时,常用的代码编辑器比如Sublime,但是最近发现再Sublime中编辑的代码文字部分,在用Vivado自带的编辑器打开时,会出现文字错乱的情况,如下图:而在Sublime中实际的情况却是下图这样…...

Java SE1(第一章1:概述)

目录 一、java历史 java的发展方向:(要记住) 二、Java语言的特点 【了解】 三、Java运行机制 1. Java运行机制 2. 注意 Java是一种计算机编程语言;除了java编程语言,还有很多的编程语言:c、c、c#、pyt…...

【uniapp】带你优雅的封装uniapp的request请求

封装前的准备先在项目目录上右键 - 新建目录request(用于存放封装的API请求文件),并至少创建两个js文件index.js用于封装get、post请求,接收参数并返回数据api.js用于封装后台接口,便于页面调用和后期维护(…...

Windows 7 驱动安装

Windows 7 驱动安装1. 驱动安装2. 安装驱动和运行环境References1. 驱动安装 驱动精灵 标准版 驱动精灵 万能网卡版 注意:更改安装路径和安装选项 ​​​ 2. 安装驱动和运行环境 避免自行管理混乱。 References [1] Yongqiang Cheng (程永强), https://yongqi…...