MTP多Token预测:主要新增k1,k2,k3 依赖前面语句而不是k1,k2
MTP多Token预测目录MTP多Token预测先搞懂:普通AI为什么一次只能出1个词?普通自回归生成举例(翻译"我爱中国")MTP的核心突破:一次前向传播,预测K个连续词最关键的设计:用位置编码区分不同预测位置,参数100%共享输出线性层共享的本质 + MTP准确率深度解析一、先彻底搞懂:"输出线性层永远只有1个"到底是什么意思?1. 先明确:输出线性层到底是干什么的?2. 普通模型:一个输出层,只干一件事3. MTP:同一个输出层,干K件事4. 最关键的类比:为什么同一个W能预测不同位置的词?5. 如果不共享输出层会怎么样?二、核心疑问:预测多个token,会不会不准?1. 为什么理论上是可行的?2. 数值模拟:同一个W,为什么能输出不同的正确结果?普通模型(只预测t+1):MTP(同时预测t+1和t+2):3. 什么时候会不准?MTP的边界在哪里?反例1:生成完全随机的内容反例2:生成强依赖前序token的逻辑内容反例3:生成非常见的专有名词4. GLM-5是怎么解决准确率问题的?动态K值调整5. 为什么MTP的准确率损失比其他加速方案小?三、总结:MTP的核心优势和边界一句话总结MTP生成过程举例(还是翻译"我爱中国",K=2)训练阶段(悄悄学会"一眼看两个")推理阶段(一次出两个,速度翻倍)再举一个更直观的日常例子MTP和其他加速方案的核心区别先搞懂:普通AI为什么一次只能出1个词?所有主流大模型(GPT、旧版GLM等)都是自回归模型,核心逻辑是"用前面所有的词,预测下一个词",生成过程是纯串行的。普通自回归生成举例(翻译"我爱中国")假设我们要把中文"我爱中国"翻译成英文"I love China",普通模型的生成步骤是:输入完整中文"我爱中国",模型计算出最后一个字"国"对应的隐藏状态h4给h4加上第5个位置的位置编码(告诉模型:现在要预测第5个词)经过唯一的输出线性层,得到词表概率分布,采样出第一个英文词I把I拼回输入末尾,变成"我爱中国I",重新计算整个序列的隐藏状态h5给h5加上第6个位置的位置编码,预测出第二个词love再把love拼回去,计算h6,预测出第三个词China生成3个词,需要3次完整的模型前向传播这就是为什么普通大模型出词慢:生成N个词,就要跑N次模型。MTP的核心突破:一次前向传播