第 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 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。

查看25道真题和解析