LLM 中的自回归模型与非自回归模型:GPT 和 BERT 的区别

一、自回归模型

自回归模型(Autoregressive Model)
是一种"基于已经生成的内容,逐步预测下一个 token"的模型。

GPT、ChatGPT、LLM 聊天模型,全都是自回归模型


回归(Regression)

用已知信息,预测一个未知值

自回归(Auto + Regression)

用"自己已经生成的结果",继续预测后面的结果

也就是说:

  • 模型的输入
  • 会不断包含模型刚刚输出的内容

1. GPT 的工作方式

GPT 的本质是不断做这件事:

复制代码
给定前面的 token
→ 预测下一个 token
→ 把这个 token 接上
→ 再预测下一个
循环到结束

假设句子是: "我 喜欢 吃 苹果"

自回归生成过程是这样的:

1️⃣ 输入:

复制代码

预测:

复制代码
喜欢

2️⃣ 输入:

复制代码
我 喜欢

预测:

复制代码

3️⃣ 输入:

复制代码
我 喜欢 吃

预测:

复制代码
苹果

4️⃣ 输入:

复制代码
我 喜欢 吃 苹果

预测:

复制代码
<结束>

每一步都依赖之前生成的内容

2. 为什么"流式输出"只能用自回归模型?

因为:

  • 模型本身就是 一步一步生成
  • 每一步都能立刻返回一个 token

所以:

text 复制代码
token 1 → token 2 → token 3 → ...

前端才能:

  • 边收边渲染
  • 像 ChatGPT 一样"打字"

二、非自回归模型

Google 在 2018 年提出的非自回归模型 BERT ,是一个基于 Transformer Encoder 的预训练语言模型。它的核心目标是理解文本,而不是生成文本

1. 自回归 vs 非自回归

对比点 自回归模型(GPT) 非自回归模型(BERT)
是否逐 token 生成 ✅ 是 ❌ 否
是否依赖已生成内容 ✅ 是 ❌ 否
是否能流式输出
是否适合聊天
主要能力 生成 理解

**模型在预测时,一次性"看完整个句子",而不是一个字一个字

2.BERT 的核心结构:Transformer Encoder

Transformer Encoder 是 Google 在 2017 年发表的经典论文《Attention Is All You Need》中提出的 Transformer 模型的一半(前半部分)。

简单来说,它的作用是"理解"输入序列。它接收一串文本(Token 序列),通过复杂的注意力机制,输出这串文本中每个词的上下文相关的向量表示

比如 "我吃了一个苹果"和"苹果发布了新手机"中,两个"苹果"对应的输出向量是完全不同的(前者包含水果的语义,后者包含科技公司的语义)

BERT 只使用了 Transformer 的一半结构:

复制代码
Transformer
├── Encoder  ✅(BERT 使用)
└── Decoder  ❌(BERT 不用)

Encoder 的特点:

  • 可以 同时看到左右上下文
  • 使用 双向 Attention
  • 更适合做「理解型任务」

📌 GPT 用的是 Decoder(单向)

📌 BERT 用的是 Encoder(双向)

3. BERT 为什么是「双向理解」?

来看一个经典例子:

"我昨天去银行存钱"

这里的 "银行" 是:

  • 金融机构?
  • 河岸?

GPT(自回归)的问题

GPT 在生成到「银行」时:

  • 还没看到后面的"存钱"
  • 只能根据左侧上下文猜

BERT 在理解时:

  • 同时看到「我 / 昨天 / 去 / 银行 / 存钱」
  • 利用前后语义,准确判断

📌 这就是 Bidirectional(双向) 的意义

4. BERT 是如何训练的?

1. Masked Language Model(MLM)

BERT 的核心训练方式:

text 复制代码
原句:我 喜欢 吃 苹果
处理:我 喜欢 [MASK] 苹果
目标:预测 [MASK] 是 "吃"

特点:

  • 不是预测下一个词
  • 而是预测"被遮住的词"

2. Next Sentence Prediction(NSP)

让模型判断:

句子 B 是否是句子 A 的下一句?

用于提升:

  • 句间关系理解
  • 问答 / 推理能力

5. 为什么 BERT 不能用来聊天?

BERT 不是用来"生成文本"的,而是用来"理解文本"的

具体原因:

1️⃣ 非自回归

  • 无法逐 token 生成
  • 没有"下一步预测"机制

2️⃣ 没有 Decoder

  • 没有生成头
  • 无法自然续写文本

3️⃣ 训练目标不同

  • BERT 训练的是「填空」
  • GPT 训练的是「续写」
模型 定位
BERT 语言理解引擎
GPT 语言生成引擎
相关推荐
IT_陈寒2 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
吴佳浩3 小时前
Hermes Agent 连环 400 真凶找到了:一个 call_id 让人炸毛
人工智能·llm·agent
程序员cxuan4 小时前
幽默,一个 Github 名字叫“马尾辫”,但是他给你省了 80% 的 token
人工智能·后端·程序员
宋哥转AI4 小时前
Agent记忆模块系列:03存储与检索链路实测验证
人工智能·agent
老金带你玩AI4 小时前
老金开源GoalPro,别让AI把目标越写越烂
人工智能
Bigfish_coding5 小时前
前端转agent-【python】-08 用 LangGraph 把 Agent 做成状态机:像写 Vue 3 状态管理一样编排 AI 流程
人工智能
刺猬的温驯5 小时前
语音克隆模型的难点之一:音素对齐及交叉注意力早期失效问题 (兼论旋转位置编码)——F5-TTS、SupertonicTTS、VoxFlash-TTS 对比
人工智能·语音合成·tts
道友可好6 小时前
AI 是最好的混乱放大器:代码熵管理实战
前端·人工智能·后端
不加辣椒7 小时前
第7章 边界与约束技术:确保输出的准确性与安全性
人工智能
AI悦创Python辅导7 小时前
Claude Code 越用越乱?Sub-Agents 才是上下文污染的解法
人工智能