You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gemma模型MLP模块因果推理中输出张量形状变化解析

关于Gemma模型MLP输出张量形状变化的解释
  • 首次推理(前缀处理阶段):
    当输入完整初始序列(比如长度为5的输入)时,Gemma的Decoder块需要对序列中每个token逐一编码处理。作为Decoder核心组件的MLP,要为每个输入token输出对应的隐层表示,因此输出形状为(batch_size, input_seq_length, hidden_size)。同时模型会将所有token的键值对(KV)存入缓存,为后续生成步骤做准备。

  • 后续自回归生成阶段:
    因果语言模型采用自回归方式生成token,每一步仅基于上一个生成的token预测下一个。此时模型不会重复处理整个历史序列,而是直接调用缓存中存储的历史KV信息,仅对当前单个新token(形状为(batch_size,1))进行处理。MLP只需输出这个单个token对应的隐层表示,所以形状变为(batch_size, 1, hidden_size)。每生成一个token后,模型会将该token的KV信息追加到缓存中,供下一轮生成使用。

你的初步理解方向正确,补充两个核心细节:

  1. 这种设计是计算效率优化:若每次生成都重新处理全量历史序列,计算量会随生成长度线性增长,KV缓存机制避免了重复计算,大幅提升生成速度。
  2. Gemma的Decoder采用因果注意力机制,首次处理完整序列时,每个token仅能关注到自身之前的token;自回归阶段,单个token可通过缓存获取所有历史注意力信息,保证生成逻辑的一致性。

内容的提问来源于stack exchange,提问作者Falcon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 11:09:54