llama源码学习·model.py[3]ROPE旋转位置编码(3)源码中的广播机制

devtools/2025/3/29 3:35:50/

一.源码注释

def reshape_for_broadcast(freqs_cis: torch.Tensor, x: torch.Tensor):'''这个函数的目的是为了确保freqs_cis可以根据广播规则与x进行元素级别的运算,特别是在x的维度数量大于2时。'''# 获取x的维度数量ndim = x.ndim# 确保x至少有两个维度assert ndim > 1# freqs_cis的形状与x的第二和最后一个维度相匹配assert freqs_cis.shape == (x.shape[1], x.shape[-1])# 遍历x的每个维度,并为第二和最后一个维度保留其原始大小,而为所有其他维度赋值1。# 这是为了确保广播时,除了这两个特定维度外,其他所有维度都能自动扩展。shape = [d if i == 1 or i == ndim - 1 else 1 for i, d in enumerate(x.shape)]# 使用view函数来重塑freqs_cis的形状以匹配新的形状return freqs_cis.view(*shape)

二、举例说明

freqs_cis = torch.randn(3,4)
print(freqs_cis.shape)

out: torch.Size([3, 4])

x = torch.randn(2, 3, 4)
print(x.shape)

out: torch.Size([2, 3, 4])

# 调用广播函数
reshaped_freqs_cis = reshape_for_broadcast(freqs_cis, x)
print(reshaped_freqs_cis.shape)

out: torch.Size([1, 3, 4])

# 求和
s = reshaped_freqs_cis + x
print(s.shape)

out: torch.Size([2, 3, 4])


http://www.ppmy.cn/devtools/170967.html

相关文章

前端小食堂 | Day18 - 身份认证の八卦阵

🔐 今日秘术:JWT/OAuth2 攻防奥义 1. JWT 安全の六合阵法 // 🚫 危险操作:未验证签名 const decodeUnsafe (token) > JSON.parse(atob(token.split(.)[1])); // ✅ 安全姿势一:严格签名验证 import jwt fro…

《mysql篇》--JDBC编程

JDBC是什么 JDBC就是Java DataBase Connectivity的缩写,翻译过来就很好理解了,就是java连接数据库。所以顾名思义,JDBC就是一种用于执行SQL语句的JavaApl,是Java中的数据库连接规范。为了可以方便的用Java连接各种数据库&#xff…

考研课程安排(自用)

文章目录 408数据结构(王道)计算机组成原理(王道)操作系统(王道)计算机网络(湖科大版) 数学一高等数学(微积分)线性代数和概率论 408 数据结构(王…

唯品会商品详情页架构设计与实现:高并发场景下的技术实践‌

引言 唯品会作为国内领先的电商平台,其商品详情页需要应对海量用户的高并发访问,同时保证低延迟和高可用性。本文将从架构设计、数据库优化、缓存策略、前端渲染等方面,结合代码示例,深入解析唯品会商品详情页的技术实现。 一、…

数据结构的基本概念

数据结构与算法是计算机科学的核心领域之一,它们在软件开发、系统设计和优化中起着至关重要的作用。以下是对数据结构与算法的全面介绍,包括基本概念、分类、应用场景以及学习建议。 一、数据结构的基本概念 数据结构是指组织和存储数据的方式&#xff…

Powershell WSL导出导入ubuntu22.04.5子系统

导出Linux子系统 导出位置在C盘下,根据自己的实际情况更改即可Write-Host "export ubuntu22.04.5" -ForegroundColor Green wsl --export Ubuntu-22.04 c:\Ubuntu-22.04.tar 导入Linux子系统 好处是目录可用在任意磁盘路径,便于迁移不同的设备之间Write-Host &quo…

GPT-5 将免费向所有用户开放?

GPT-5 将免费向所有用户开放? 硅谷知名分析师 Ben Thompson 最近与 OpenAI CEO Sam Altman 进行了一场深度对谈,其中Sam Altman透漏GPT-5将免费向大家发放。 OpenAI 这波操作可不是一时冲动,而是被逼出来的。DeepSeek 这个新秀横空出世&am…

大数据学习(76)-Impala计算引擎

🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一…