news 2026/6/9 20:10:53

大模型面试题30:Padding 的 mask 操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型面试题30:Padding 的 mask 操作

一、Padding 的 mask 操作是什么?

1.为什么需要 Padding?

想象你在学校交作业,老师要求每个人都交 5 页纸

  • 有的同学写了 3 页,剩下 2 页是空白的(Padding)。
  • 有的同学写了 5 页,刚好交满。

在深度学习里:

  • 每个句子(或序列)长度可能不一样。
  • 为了让模型一次处理多个句子,我们会把它们补齐到相同长度
  • 补齐的部分就叫Padding(用一个特殊的符号表示,比如<PAD>)。

2.为什么需要 mask?

回到交作业的例子:

  • 老师批改作业时,会跳过空白页,只看你写了内容的部分。
  • 如果老师把空白页也算进去,可能会给你打零分,因为空白页没有信息。

在模型里:

  • Padding 部分是没有意义的,只是为了对齐长度。
  • 如果模型把 Padding 也当成正常信息计算,会影响结果。
  • mask 操作就是告诉模型:“这些位置是 Padding,你计算时忽略它们!”

3.mask 操作的“魔法”

mask 操作就像给老师一个**“忽略清单”**:

  • 清单上打1的位置 → 有效内容(需要处理)。
  • 清单上打0的位置 → Padding(忽略)。

模型在计算时,会根据这个清单:

  • 只对1的位置进行计算。
  • 0的位置直接跳过或设为无效值。

二、稍微深入一点:mask 在代码里是怎么实现的?

我们用一个简单的例子来说明。

1.原始数据

假设我们有 3 个句子,长度分别是 3、4、2:

句子1:我 爱 你 → 长度 3 句子2:我 喜 欢 吃 苹果 → 长度 4 句子3:你 好 → 长度 2

2.Padding 补齐

我们把它们补齐到最长长度(这里是 4):

句子1:我 爱 你 <PAD> → [1, 1, 1, 0] 句子2:我 喜 欢 吃 苹果 → [1, 1, 1, 1] 句子3:你 好 <PAD> <PAD> → [1, 1, 0, 0]

这里的[1, 1, 1, 0]就是一个mask 矩阵

  • 1表示有效 token。
  • 0表示 Padding。

3.mask 在注意力计算中的作用

在 Transformer 的注意力机制里:

  • 每个 token 会和其他所有 token 计算相似度(注意力分数)。
  • 如果某个 token 是 Padding(mask=0),我们会把它的注意力分数设为-∞(负无穷)。
  • 在 softmax 计算时,-∞会变成0,相当于这个位置的权重被完全忽略。

例子
假设注意力分数是:

[ 2, 3, 1, -∞]

经过 softmax 后:

[0.245, 0.731, 0.024, 0]

Padding 部分的权重变成了 0,模型就不会关注它了。


三、常见的 mask 类型

1.Padding Mask

  • 作用:忽略 Padding 部分。
  • 形状:[batch_size, seq_len]
  • 例子:
[1, 1, 1, 0] [1, 1, 1, 1] [1, 1, 0, 0]

2.Sequence Mask(未来信息屏蔽)

  • 作用:在语言模型中,防止模型看到未来的 token(比如翻译时,不能提前知道后面的词)。
  • 形状:[seq_len, seq_len]
  • 例子(上三角为 0):
[1, 0, 0, 0] [1, 1, 0, 0] [1, 1, 1, 0] [1, 1, 1, 1]

四、总结

小白一句话总结:

Padding mask 就是给模型一个“忽略清单”,告诉它哪些位置是补齐的无效内容,计算时不要理它们!

技术一句话总结:

Padding mask 是一个 0/1 矩阵,0 表示 Padding 位置,在注意力计算时会被设为 -∞,从而被 softmax 置零,实现忽略效果。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:54:07

【飞算JavaAI配置核心解密】:掌握5大关键参数,生成效率提升200%

第一章&#xff1a;飞算JavaAI配置核心概述飞算JavaAI是一款面向Java开发者的智能编程辅助工具&#xff0c;深度融合代码生成、静态分析与自动化配置能力&#xff0c;显著提升开发效率与代码质量。其核心在于通过模型驱动的方式解析开发意图&#xff0c;并自动生成符合规范的Ja…

作者头像 李华
网站建设 2026/6/10 1:10:02

vue+uniapp+springboot基于安卓的旅游景点推荐系统_bo小程序

文章目录摘要主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 该系统采用Vue.js、UniApp和Spring Boot技术栈&#xff0c;开发了一款基于安卓平台的旅…

作者头像 李华
网站建设 2026/6/9 18:43:37

错过将落后一年:Java Serverless异步调用2024最新技术趋势与落地路径

第一章&#xff1a;Java Serverless异步调用的核心价值与2024技术图景在2024年&#xff0c;Java作为企业级后端开发的主流语言&#xff0c;正深度融入Serverless架构生态。异步调用机制成为提升系统响应能力与资源利用率的关键手段&#xff0c;尤其适用于高并发、事件驱动的业务…

作者头像 李华
网站建设 2026/6/10 10:44:31

从明文到密文:Java实现PCI-DSS合规加密的完整路径解析

第一章&#xff1a;从明文到密文&#xff1a;Java实现PCI-DSS合规加密的完整路径解析在处理支付卡行业数据安全标准&#xff08;PCI-DSS&#xff09;合规性时&#xff0c;敏感数据如持卡人信息必须通过强加密机制进行保护。Java 提供了成熟的加密框架&#xff08;JCA&#xff0…

作者头像 李华
网站建设 2026/6/10 10:46:21

汇编语言全接触-65.Win32汇编教程九

在这儿下载本节的所有源程序(74k)。概述在前面八篇的 Win32asm 教程中&#xff0c;已经初步讲述了消息框、对话框、菜单、资源、GDI 等内容&#xff0c;基本上已经设计到了 Windows 界面的大部分内容&#xff0c;在继续新的 Windows 其他部分的内容如多线程、文件操作、内存操作…

作者头像 李华