第 4 题:注意力掩码(Attention Mask)在训练与推理中的使用

题目

什么是注意力掩码(Attention Mask)?在训练和推理中分别如何使用?

一、什么是注意力掩码?为什么需要?

注意力掩码是在算注意力权重之前,对 logits(即 缩放后的 scores)做遮挡,让某些位置在 softmax 之后的权重变成 0,这样模型就不会从这些位置读取信息

两种最常见用法:

  • Padding mask:把 padding 位置遮掉。batch 里序列长度不一时会 pad 到同一长度,pad 本身没有语义,若参与注意力会干扰模型,所以要对 pad 位置 mask。
  • Causal mask(因果掩码):把未来位置遮掉。自回归语言模型在预测第 个 token 时,只能看到 1 到 ,不能看到 及以后,否则就“作弊”了。所以对 要 mask,保证位置 只能注意

面试常问:“训练时为什么也要 causal mask?”——因为训练时虽然一次能看到整句,但我们要模拟“逐 token 生成”的分布,每个位置只能基于之前的 token 预测下一个,这样训练和推理一致,否则推理时模型没见过“看到未来”的情况会崩。

二、实现方式(必须能说清)

在 softmax 之前,对要屏蔽的位置在 scores 上加一个很大的负数(如 ),softmax 后这些位置就接近 0:

  • :不遮挡,正常参与注意力。
  • (或 ):遮挡,softmax 后权重≈0。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Ai Agent:面试300问 文章被收录于专栏

《AI Agent 300 问》专为备战 AI Agent 相关岗位的求职者打造,适配校招、社招全场景,覆盖算法研发、产品、解决方案等全岗位。专栏汇总 300 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。

全部评论

相关推荐

不愿透露姓名的神秘牛友
04-15 09:06
中国汽研(重庆) 底盘调教工程师 8Kx13-14 本科海归
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务