attn_scores注意力分计算-记录
querys 是2*6*2keys也是2*6*2attn_scoresquerys keys.transpose(1,2)attn_scores 最终维度是 2×6×6数值上是两个矩阵的批量矩阵乘法结果每个样本对应一个 6×6 的注意力分数矩阵transpose(1,2) 交换 keys 的第 1 维和第 2 维keys 原始维度[2, 6, 2] → 交换后[2, 2, 6]第一个位置批维度不变PyTorch 中是批量矩阵乘法规则对于维度为 [B, M, N] 的张量 A 和 [B, N, P] 的张量 BAB 的结果维度是 [B, M, P]B 是批次保持不变M×N 乘 N×P 得到 M×Pimporttorch# 1. 构造querys和keys维度2×6×2用简单数值方便计算querystorch.tensor([# 第0个样本6个token每个token2维[[1,0],[2,1],[0,1],[3,2],[1,1],[0,0]],# 第1个样本6个token每个token2维[[0,1],[1,0],[2,2],[1,2],[0,2],[2,1]]],dtypetorch.float32)# shape(2,6,2)keystorch.tensor([# 第0个样本的keys和querys结构一致[[1,2],[0,1],[1,0],[2,1],[0,2],[1,1]],# 第1个样本的keys[[2,0],[1,1],[0,2],[2,1],[1,0],[0,2]]],dtypetorch.float32)# shape(2,6,2)# 2. 执行transpose和矩阵乘法keys_Tkeys.transpose(1,2)# shape(2,2,6)attn_scoresquerys keys_T# shape(2,6,6)# 3. 输出结果print(attn_scores维度,attn_scores.shape)# 输出torch.Size([2, 6, 6])print(\n第0个样本的注意力分数矩阵6×6)print(attn_scores[0].numpy())# 每个值是query token和key token的点积输出结果解读attn_scores维度 torch.Size([2, 6, 6])第0个样本的注意力分数矩阵6×6[[ 1. 0. 1. 2. 0. 1.] # 第0个query token对6个key token的分数 [ 4. 1. 2. 5. 2. 3.] # 第1个query token对6个key token的分数 [ 2. 1. 0. 1. 2. 1.] [ 7. 2. 3. 8. 4. 5.] [ 3. 1. 1. 3. 2. 2.] [ 0. 0. 0. 0. 0. 0.]]数值计算验证以第 0 个样本的第 0 个 query token 为例querys[0,0] [1, 0]keys [0,:, :] 6 个 key token 的 2 维向量和第 0 个 key token [1,2] 的点积1×1 0×2 1 → 对应矩阵 [0,0] 位置的 1和第 1 个 key token [0,1] 的点积1×0 0×1 0 → 对应矩阵 [0,1] 位置的 0… …最终得到 6×6 矩阵每个位置的值是「query 的第 i 个 token」和「key 的第 j 个 token」的点积即注意力分数核心意义大模型注意力机制中的关注程度6×6 的矩阵就是注意力分数矩阵含义是每个样本有 6 个 token矩阵中 attn_scores[b, i, j] 代表「第 b 个样本中第 i 个 token 对第 j 个 token 的关注程度」后续会对这个矩阵做dropout、softmax归一化得到和为 1 的注意力权重再和 values 相乘实现 “每个 token 融合其他 token 的信息”维度结论attn_scores 2×6×6batch2每个样本对应 6×6 的注意力分数矩阵计算逻辑批量矩阵乘法[2,6,2][2,2,6] → [2,6,6]数值意义每个元素是 query token 和 key token 的点积代表二者的相似度注意力分数dropout训练过程中随机忽略一些隐藏层单元来有效“丢弃”它们减少模型对特定隐藏层单元的依赖避免过拟合同时dropout仅在训练期间使用nn.Dropout对输入张量的每个元素以概率p默认0.5随机设置为0同时将未被设置0的元素乘以 1/(1-p) 进行缩放保证输入的期望均值不变importtorchimporttorch.nnasnn# 1. 定义Dropout层p0.5dropoutnn.Dropout(p0.5)# 2. 构造输入张量值全为10方便计算均值xtorch.ones(10000)*10# 1万个元素每个都是10print(原始输入均值,x.mean().item())# 输出10.0# 3. 训练模式下执行Dropout默认trainTruetorch.manual_seed(42)# 固定随机种子结果可复现x_dropdropout(x)# 4. 计算Dropout后的均值print(Dropout后均值,x_drop.mean().item())# 输出≈10.0因随机采样略有浮动print(Dropout后非零元素值,x_drop[x_drop!0][0].item())# 输出20.010×2# 5. 验证模式下evalDropout不生效dropout.eval()x_drop_evaldropout(x)print(验证模式下均值,x_drop_eval.mean().item())# 输出10.0无任何变化Dropout 是大模型GPT/BERT/LLaMA中防止过拟合的核心手段主要用在这些位置全连接层FeedForward大模型的 FFN 层如 GPT 的 MLP会在激活函数后加 Dropoutp0.1~0.3注意力层Attention部分模型会在注意力权重计算后加 Dropout防止对个别 token 过度关注嵌入层Embedding少量模型会在词嵌入后加 Dropout降低高频词的过拟合风险大模型中的FFN 层是Feed-Forward Network前馈网络的缩写也常被称作Position-wise Feed-Forward Network逐位置前馈网络是 Transformer 架构GPT/BERT/LLaMA 等大模型的核心骨架中编码器 / 解码器层的核心组件之一和多头注意力层Multi-Head Attention并列成为 Transformer 的两大核心模块

相关新闻

第二周作业wp

第二周作业wp

2026/7/6 8:59:31 阅读更多 →
软件测试—即时通讯测试方法

软件测试—即时通讯测试方法

2026/7/7 20:28:44 阅读更多 →
为什么标准化要用均值0和方差1?

为什么标准化要用均值0和方差1?

2026/7/8 23:01:30 阅读更多 →

最新新闻

3分钟开启Unity游戏自动翻译:XUnity Auto Translator完整指南

3分钟开启Unity游戏自动翻译:XUnity Auto Translator完整指南

3分钟开启Unity游戏自动翻译:XUnity Auto Translator完整指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而放弃了一款优秀的Unity游戏?面对日语、韩语…

2026/7/9 7:49:55 阅读更多 →
IACheck 搭载 AI 报告审核通审 Agent 版:拆解检测报告智能审核两大核心技术,适配 2026 行业强监管合规要求

IACheck 搭载 AI 报告审核通审 Agent 版:拆解检测报告智能审核两大核心技术,适配 2026 行业强监管合规要求

一、行业监管收紧,人工审核模式彻底迎来能力天花板2026 年检验检测行业监管体系迎来系统性升级,市场监管总局 “一单一库” 资质管理落地、《检验检测从业人员监督管理工作指引》正式施行,明确谁签字、谁担责终身追责机制,CNAS 开…

2026/7/9 7:49:55 阅读更多 →
为什么 I2C 必须用 OD 开漏?

为什么 I2C 必须用 OD 开漏?

OD 详细解析(结合你这张 I2C 引脚表) 1. OD 全称:Open Drain,开漏输出 不是单纯 “数字输出”,是特殊的 IO 电路结构,和普通推挽输出(Push-Pull)完全区分开。 核心电路原理 模组内部引脚只做下拉通路:内部 MOS 导通时,引脚拉到 GND(低电平); 内部 MOS 关断时,…

2026/7/9 7:49:55 阅读更多 →
Okbiye|毕业文稿专属创作通道,一站式毕业论文功能全维度拆解

Okbiye|毕业文稿专属创作通道,一站式毕业论文功能全维度拆解

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 一、独立毕业论文专属分区,打造定向学术创作入口 平台左侧导航栏划分多条学术创作赛道,毕业论文板块标注热门标识…

2026/7/9 7:47:55 阅读更多 →
专业级QMC音频解密实战指南:高效转换QQ音乐加密文件

专业级QMC音频解密实战指南:高效转换QQ音乐加密文件

专业级QMC音频解密实战指南:高效转换QQ音乐加密文件 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder qmc-decoder是一个专业的开源工具,专门用于快速…

2026/7/9 7:47:55 阅读更多 →
H2database 2.1.210 以下版本漏洞剖析:从JNDI注入到CVE-2022-23221的完整攻击链

H2database 2.1.210 以下版本漏洞剖析:从JNDI注入到CVE-2022-23221的完整攻击链

H2database 2.1.210以下版本漏洞深度解析:从JNDI注入到远程代码执行的攻防全景H2database作为一款轻量级Java嵌入式数据库,因其高性能和易用性被广泛应用于开发测试场景。然而在2.1.210版本之前存在的安全漏洞,使得攻击者能够通过Web控制台实…

2026/7/9 7:47:55 阅读更多 →

日新闻

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 还在为Foobar2000找不到高质…

2026/7/9 0:01:04 阅读更多 →
ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook 你是否曾经为学术书籍的封面设计而烦恼?想要一个既专业又美观的封…

2026/7/9 0:03:06 阅读更多 →
如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 在当今数据驱动的商业环境中,企业级数据库连接已成为现代应用开发的核心需求。pyodbc作为一款强大…

2026/7/9 0:07:11 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻