
PyTorch小知识点
文章平均质量分 90
有pytorch代码实现
frostmelody
这个作者很懒,什么都没留下…
展开
-
PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式
原生 PyTorch 直接通过 CUDA API 与 GPU 交互,而对 TPU 的支持则需要借助。一个简单的矩阵乘法例子来演示在 PyTorch 中如何针对 GPU 和 TPU 使用不同的处理方式。这个例子会展示核心的区别在于如何获取和指定计算设备,以及(对于 TPU)可能需要额外的库和同步操作。库作为中介,通过 XLA 编译器来生成和管理 TPU 上的执行。原创 2025-05-07 13:30:37 · 648 阅读 · 0 评论 -
多模态大模型MLLM基础训练范式 Pre-train + Instruction FineTuning
为了在图文嵌入空间中更好地对齐视觉和文本信息。为此,使用图像-文本对(image-caption style data),表示为 (X,Ya)(\mathbf{X}, Y_a)(X,Ya),其中:下面两个公式是图文对齐预训练中核心的 语言建模概率函数 和 损失函数定义。它们共同描述了:如何让模型学会根据一张图像生成对应的文字描述,以实现图文信息在嵌入空间的对齐。p(Ya∣X)=∏i=1NaFθ(yi∣Pϕ∘Vφ(X))(1)p(Y_a|\mathbf{X}) = \prod_{i=1}^{N_a} F_原创 2025-04-15 20:52:54 · 1713 阅读 · 0 评论 -
Transformer模型中的两种掩码
整个 Transformer 结构中涉及到的 “掩码” 类型一共有两种:① 用于区分同一个 batch 中不同长度序列是否被填充的 key padding mask;② 在训练时,Decoder 中用于模仿推理过程中在编码当前时禁止看到未来信息的 attention mask(也叫做 casual mask 或 future mask)原创 2025-04-13 20:13:06 · 698 阅读 · 0 评论 -
大模型是如何把向量解码成文字输出的
(1) 输入文本 → tokenizer → token IDs(2) token IDs → Embedding → hidden_states(中间层向量)(3) hidden_states × W.T → logits(词表得分)(5) token ID → token → decode → 文本(6) 拼接文本 → 重复生成(自回归)原创 2025-04-08 23:30:37 · 715 阅读 · 0 评论 -
Pytorch中的计算图(Computational Graph)是什么
计算图是一种“有向无环图(DAG)”,表示变量(张量)之间的运算关系。节点:张量或操作(如加法、乘法)边:数据流(即某个操作的输入/输出)PyTorch 利用计算图实现自动求导(Autograd):它在前向传播时记录每一步操作,然后反向传播时根据这些操作自动求导。原创 2025-04-06 18:10:59 · 799 阅读 · 0 评论 -
EM算法到底是什么东东
小学生占40%,平均身高148cm,标准差4cm。中学生占60%,平均身高172cm,标准差5cm。这意味着EM算法成功把混合的身高数据分成了两个群体,并估计了它们的特征。概念含义隐变量不知道但是存在的变量(比如样本的真实类别)E步计算每个数据点属于哪个分布的“概率”M步根据这个概率重新计算每个分布的参数收敛参数变化很小,不再更新,算法停止应用场景高斯混合聚类、缺失数据估计、协同过滤、HMM 等等。原创 2025-04-06 01:03:32 · 1139 阅读 · 0 评论 -
对比学习中的NCE(Noise-Contrastive Estimation)和InfoNCE(SimCLR)损失函数+案例(附SimSiam分析)
在对比学习(Contrastive Learning)中,NCE(Noise-Contrastive Estimation)和InfoNCE是两种常见的目标函数,它们都用于通过区分正样本和负样本来学习高质量的表示。NCE 是 word2vec 中用于高效训练词嵌入的关键技术,它通过将多分类问题转化为二分类问题来避免 softmax 计算中的归一化项,大幅提高训练效率。原创 2025-04-05 21:42:09 · 1071 阅读 · 0 评论 -
神经网络能不能完全拟合y=x² ???
先说结论:关键看激活函数的选择是的,ReLU神经网络对非线性函数(如yx2)的拟合只能是逼近,而无法实现数学意义上的完全重合。这一结论源于ReLU的分段线性本质与目标函数的非线性结构之间的根本性差异。原创 2025-04-04 01:35:06 · 1270 阅读 · 1 评论 -
如何理解神经网络中的“分段线性单元”,优雅解析前向和反向传播
虽然每一段都是线性的,但在不同段之间,斜率(或截距)的变化会导致整体函数在转折点处出现变化,这种变化就提供了非线性特性。原创 2025-04-03 21:28:00 · 1439 阅读 · 0 评论 -
生成对抗网络(GAN)详解(代码实现)
通过这个例子,可以看到 GANs 的具体实现其实是将生成器和判别器的对抗思想转化为代码。生成器从噪声生成图像,判别器判断真假,两者交替训练,最终生成器能生成逼真的手写数字。如果运行这段代码,经过足够多的轮次(比如 100 轮),会发现生成的图像越来越接近真实的 MNIST 数字。附:论文中提到了马尔可夫链(Markov Chain)和近似推理网络(Unrolled Approximate Inference Networks),它们是什么?马尔可夫链是一种随机过程,用来描述系统在不同状态之间转换的规律。原创 2025-04-03 20:15:41 · 1247 阅读 · 0 评论 -
结构化剪枝(Structured Pruning)与动态蒸馏(Dynamic Distillation)
结构化剪枝通过的方式去除冗余参数,保留关键子网络。:生成规则稀疏模式(如4×4权重块),便于GPU/TPU等加速器并行计算。:模块化操作更贴近人类对神经网络功能的理解。Sgradw∣∣∇wL∣∣2SacthVarhx))Stotalα⋅Sgrad1−α⋅SactW∈R16×16通过,使小模型(学生)逐步学习大模型(教师)的全局语义与局部特征,弥补参数量差距带来的性能损失。原创 2025-04-02 16:53:34 · 1150 阅读 · 0 评论 -
自动化网络架构搜索(Neural Architecture Search,NAS)
确定所有可能的网络架构组成部分,如卷积层、全连接层等。原创 2025-04-02 15:11:47 · 903 阅读 · 0 评论 -
相对位置嵌入和旋转位置编码(RoPE)
特性相对位置嵌入旋转位置编码位置信息存储方式可学习的偏置矩阵预设的旋转角度计算复杂度OL2O(L^2)OL2OLO(L)OL长度扩展性需插值或截断天然支持任意长度显式相对位置是通过旋转隐式包含参数量随窗口大小增长零参数(仅计算)典型应用。原创 2025-03-29 17:23:42 · 648 阅读 · 0 评论 -
多GPU使用与并行训练
环境变量控制 GPU 可见性:在命令行设置可以灵活选择使用哪几块 GPU。单 GPU 训练:通过将模型和数据移动到指定 GPU 上进行训练。多 GPU 训练:简单易用,但存在主 GPU 负载过高等问题,适合小规模场景。:更高效、扩展性更好(支持多机多卡),需要额外设置分布式环境(例如使用 torchrun 启动)。混合精度训练:使用可以减少显存使用并提高训练速度。数据采样:在 DDP 中使用确保各进程数据不重叠并且均衡。原创 2025-03-27 12:39:52 · 944 阅读 · 0 评论 -
Pytorch对tensor进行变换的函数
view与reshape都可用于改变 tensor 形状:view要求 tensor 连续,返回的是共享内存的 view。reshape更灵活,当 tensor 非连续时会自动复制数据,返回新 tensor,内存不共享。transpose和permute用于调整维度顺序:transpose只交换两个维度,适用于二维或简单交换。permute可一次性重新排列所有维度,适用于多维 tensor 的任意维度调整。如果只是调整形状且确保 tensor 连续,view速度快且节省内存。原创 2025-03-26 15:44:33 · 1107 阅读 · 0 评论