Skip to content

大模型-attention mask 篇

来源:AiGC面试宝典 整理:宁静致远 日期:2024年03月31日


目录


1、prefix-tuning的prefix tokens是双向注意力吗?

结论:是的,prefix-tuning的prefix tokens训练时使用双向注意力机制。

📝通俗解释:prefix-tuning是一种模型微调技术,类似于给模型提供一些"提示词"来引导它生成特定类型的回答。这些提示词在训练时可以看到完整的信息(双向注意力),就像人写提纲时可以看到所有相关资料一样。


2、chatglm1和chatglm2的attention mask是怎么样的?

chatglm1

  1. 无论是训练还是推理,prompt部分都使用双向注意力机制

    📝通俗解释:prompt(提示词)部分可以看到上下文的所有内容,就像我们在阅读文章时可以看到整段文字一样。

  2. 如果采用prefix-tuning方式训练,prefix tokens和prompt都使用双向注意力机制,并且prefix tokens能看到prompt。

    📝通俗解释:在prefix-tuning中,prefix tokens(可学习的前缀)和原始prompt之间没有信息隔离,它们可以相互"看到"彼此,这样模型能更好地学习如何利用这些提示。

  3. 在生成时,prefix tokens + prompt通过双向注意力机制存入KV Cache,在单轮生成过程中不会再重新计算注意力。

    📝通俗解释:生成第一轮回答时,模型会把prompt部分的信息"记住"(存入KV Cache),后续生成时直接复用,不需要每次都重新计算,省时省力。

  4. 多轮对话中,会重新计算注意力,因为每一轮都会新增prompt。

    📝通俗解释:就像人和人聊天,每一轮对话都是新的上下文,模型需要重新"看"一下之前的对话内容。

chatglm2

  • 无论是训练还是推理,ChatGLM2使用causal mask(因果掩码)

    📝通俗解释:causal mask是一种"单向注意力"机制,模型在生成每个词时只能看到它之前的词,不能看到之后的词。这就像人写文章时,只能根据前面写的内容来续写,而不能提前知道后面要写什么。


3、llama的attention mask是怎么样的?

  • 无论是训练还是推理,Llama使用causal mask(因果掩码)

📝通俗解释:Llama系列模型采用了标准的自回归生成方式,即生成每个token时只能依赖之前生成的内容,这也是为什么Llama等模型输出时是一个字一个字蹦出来的原因。


总结对比

模型prompt部分注意力生成时注意力机制
ChatGLM1双向注意力双向注意力 + KV Cache
ChatGLM2因果掩码因果掩码
Llama因果掩码因果掩码

附录:相关概念解释

  • Attention Mask(注意力掩码):控制模型在计算注意力时能看到哪些位置的token
  • Causal Mask(因果掩码):确保模型只能看到当前token之前的内容,用于自回归生成
  • Bidirectional Attention(双向注意力):模型可以看到上下文所有位置的内容,常用于理解任务
  • Prefix-Tuning:一种轻量级的微调方法,在输入前添加可学习的前缀向量
  • KV Cache:缓存键值对,避免重复计算,提高推理效率

整理于 2024/8/11

基于 MIT 许可发布