LLM生成文本每次是把之前所有的token都输入,还是只输入上一个token?

LLM生成文本时,是自回归地生成。那每次是把之前所有的token都输入,还是只输入上一个token?

答:在逻辑层面上,是输入"之前所有的token";但在物理运算层面,我们通过一种技术手段避免了重复计算。

1. 逻辑层面:为什么需要"全量输入"?

LLM(如 GPT 系列)基于 Transformer Decoder 架构。为了预测下一个词,模型必须理解上文的语境。

如果只输入"上一个 token",模型就像一个只有极短记忆的人,它知道当前的词,但不知道之前的逻辑。例如:

  • 上文: "巴黎是法国的..."
  • 当前输入: "的"
  • 逻辑: 模型需要看到"巴黎"、"是"、"法国"才能准确预测出"首都"。

因此,在自回归生成(Autoregressive Generation)的定义中,每一步生成的概率公式如下:

P(xt∣x1,x2,...,xt−1)P(x_t | x_1, x_2, ..., x_{t-1})P(xt∣x1,x2,...,xt−1)

这代表第 ttt 个词的产生,取决于前面 所有 词的序列。


2. 物理层面:KV Cache(键值缓存)技术

虽然逻辑上需要全量信息,但如果每次都把成千上万个词重新通过模型计算一遍,效率会极其低下(计算量呈平方级增长)。

为了解决这个问题,现代 LLM 使用了 KV Cache 技术:

  • 只"计算"最新 Token: 实际上,每一轮推理中,只有最新生成的那个 token 会经过完整的神经网络计算。
  • 缓存旧信息: 之前所有 token 的计算结果(具体为 Attention 机制中的 Key 和 Value 向量)已经存在显存里了。
  • 拼接与注意力: 模型通过将"新生成的 KV"与"缓存的旧 KV"进行拼接,让新 token 能够与历史信息产生"注意力(Attention)"连接,从而得出预测结果。
相关推荐
云道轩2 小时前
Planning Analytics Assistant (AI)简介
人工智能
bleuesprit2 小时前
Lora训练的safetensor模型合并成GGUF
人工智能·语言模型
沛沛老爹2 小时前
Web开发者转型AI安全实战:Agent Skills敏感数据脱敏架构设计
java·开发语言·人工智能·安全·rag·skills
bubiyoushang8882 小时前
基于传统材料力学势能法的健康齿轮时变啮合刚度数值分析
人工智能·算法
xixixi777772 小时前
RAG越权检索与变形指令/隐写规避常态化:攻击者通过Base64、TokenBreak、字符插入与多轮引导,诱导模型泄露知识库或训练集中的敏感信息
网络·安全·大模型·网络攻击模型·攻击·rag·越权检索
煤炭里de黑猫2 小时前
使用 PyTorch 实现标准 LSTM 神经网络
人工智能·pytorch·lstm
深度学习lover2 小时前
<项目代码>yolo毛毛虫识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·毛毛虫识别
丝斯20112 小时前
AI学习笔记整理(57)——大模型微调相关技术
人工智能·笔记·学习
沃达德软件2 小时前
人脸比对技术助力破案
人工智能·深度学习·神经网络·目标检测·机器学习·生成对抗网络·计算机视觉