自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 如何计算大模型占用显存大小

4.那么最终占用的显存就需要看上下文长度有多少(缓存多少个kv),例如4096的上下文,那么显存=256KB*4096=1,048,576kb=1GB。3.1GB显存=1024MB=1024*1024Kb = 1024*1024*1024bytes。例如一个32B的大模型,在不考虑 kv cache的情况下,部署起来占用多少显存?2.即总共有2*128*8*2bytes=4096bytes=4KB。1.B即Billion,十亿,那么32B的模型总共是有。3.总共有64层:4*64KB=256KB。

2026-10-18 22:08:22 128

原创 fp32,fp16,bf16的区别

所以他们能表示的数值范围、精度不同,如果仅仅是知道这点,那就太表面了。

2026-10-17 11:21:13 81

原创 ROPE外推:从PI、NTK-Aware到YaRN一统江湖

假设我们训练模型的时候,最大的序列长度是4096,但是在推理的时候,来了一个8192的长度序列,这就是要求模型具备处理超出训练长度的能力,这就是长度外推。前文说过,RoPE通过在在源数据中添加绝对位置,使得内积后只和相对距离有关,理论上直接输入8192的长度,公式照样能算。但是实际上,如果直接这么做,模型的推理结果将会非常糟糕。为什么会这样?简单来说就是外推会导致没见过的角度出现。

2026-10-04 15:38:44 153

原创 一文讲透ROPE

是基于什么样的目的出发提出的ROPE呢?苏剑林提出的精妙设想:能不能在输入端q和k注入绝对位置信息,但是当它们进行内积时,结果就恰好只和它们的相对位置有关?即要找到一个函数,使得:其中m和n是绝对位置序号,而内积的结果最后只跟相对位置 m - n有关。

2026-09-12 19:53:01 121

原创 一次讲透MHA、GQA、MQA、MLA

确实是这样,我们可以让多个Q共享同一个 KV就可以,这就是分组注意力,例如原先是32个多头,现在把KV分成8组,也就是每4个Q共享同一个KV,此时KV Cache的显存消耗是MHA的 8/32=25%,降低了75%的显存占用,大大缓解了带宽瓶颈问题。kv cache在多头注意力中需要把每个头的k v都缓存下来,占用了大量的显存,并且在计算时,需要把k v从显存中搬运到计算单元中,首先于GPU 带宽问题,带来了吞吐量瓶颈的问题。因为Q承担着一个向外“探索”的角色,这个视角必须是丰富的多维度的。

2026-09-02 11:31:38 222

原创 Weight Tying共享权重

词嵌入的计算不是直接拿 [1,3,2,4]来和W做矩阵乘法,向量和W的维度也没法直接相乘,而是对input_ids做独热编码之后得到[sq_len, vobs]的矩阵,再进行相乘,实际上也不用做矩阵相乘,而是可以直接根据下标直接对W取值即可,不然要占用非常大的显存。其实就是对整个词表的一个表达,那么肯定存在一个向量是“苹果”的表达。这里我们要探究的是为什么可以做权重共享,从直观上看一个是关于输入的权重,一个是输出的权重,两者完全不搭边的东西,为什么可以是同一个?是对“我”的表达,w2是对“一个”的表达,

2026-08-31 14:50:43 250

原创 KV Cache和因果掩码

如今的大语言模型在推理的时候,基本上都是基于decoder架构的自回归生成,例如我们在跟豆包对话时,输入一个prompt,豆包回答的结果也是“一个字一个字”的往外输出,这就是一个自回归生成的一个过程。最终得到“我爱吃苹果”,可见,模型会把预测结果和输入拼接起来作为输入预测下一个结果,直到输出终止标志符或者达到最大token。到这里我们似乎抓到了kv cache的一点线索:新一轮的预测的输入只有最后一个token是新的,除此之外在上一次预测过程中已经见过了。

2026-08-09 17:38:32 211

原创 正余弦位置编码详解

公式:其中:m:序列下标i:维度下标d:维度输入融合:可以看出,正弦PE是直接对输入直接加上PE,再计算QKV假设有一个词嵌入:针对这个3*4的嵌入,根据公式可计算出其固定的近似PE:那么:X = E + PE正弦位置编码有一个致命缺陷:不能表征两个序列的相对位置关系,只和绝对位置相关,这样就会导致一个问题:当推理输入的序列长度比训练的要长,那么推理效果会急剧下降下面来做一个公式推到,就清晰了:设两个位置m,n:计算Q和K的点积(即注意力权重):矩阵转置性质:,那么:即:

2026-07-12 19:55:04 250

原创 目标检测分类部分损失函数:BCE → Focal Loss → VFL → MAL 的演进

每一项损失都是为修复前一代缺陷而生。

2026-07-01 22:33:22 324

原创 DETR(detection transformer)中的匈牙利匹配算法

而在detr框架中,DETR。

2026-06-30 11:42:31 268

原创 为什么交叉熵可以完美适配分类任务?

乍一看,它可能不像回归任务中常用的L1损失那样让人直观的理解,但是我们只需做一下变换就很容易理解了。接近于真实标签1时,损失很小,反之接近于0时,损失很大,从而完美契合分类任务。

2025-12-11 20:36:52 143

原创 softmax,交叉熵对logits的梯度计算

上述公式最后一个等式的第一部分为i=j的情况,第二部分为。softmax一般和交叉熵损失结合起来更新权重参数。梯度计算相当简洁,大幅降低计算量和数值误差。由于求和中仅当,m=j时,求和项包含。假设网络最后一层的输出logits为。上面只是计算了L对z的梯度,因为。我们的目的就是求损失函数对。和y逐渐靠近,达到训练目的。因此梯度 ​​​。

2025-12-11 10:22:41 940

原创 pythorch显卡利用率过低的问题

在docker中pytorch显卡利用率过低的问题​ 刚刚在用docker利用用pytorch训练模型的时候报了一个错:RuntimeError: DataLoader worker (pid 493) is killed by signal: Bus error. Details are lost due to multiprocessing. Rerunning with num_worke...

2020-01-14 17:58:45 880

原创 关于信息熵的解释

关于信息熵的解释最近在面试的时候被问到了信息熵,回答的不是很流利,很是汗颜,于是复习一下记录一下,也能加深一下对信息熵的理解为什么信息熵的形式是−∑p∗log⁡2p-\sum{p*\log_2p}−∑p∗log2​p ?这里有两点解释:第一。假设存在一个随机变量xxx,当我们观测到这个随机变量的一个样本时,我们接收到了多少的信息量呢,这里有一个基本的解释,越是不可能发生的事情的发生的时...

2019-09-19 13:34:53 399

原创 感知哈希算法(pHash算法+python代码实现)

感知哈希算法(pHash算法+python代码实现)pHash算法是计算图片相似度算法的一种,可以用在以图搜图上面,原理也很简单,下面简单罗列一下算法过程:缩放图片尺寸:缩放到8*8的大小,这里是为了去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异;简化色彩:将缩放后的图片转化为灰度图计算平均值,计算64个像素点的平均值比较灰度图的像素值:将64个像素点的值...

2019-08-06 10:51:19 3133 2

原创 GIOU:对IOU的优化

GIOU:对IOU的优化IOU优缺点目标检测中常常用iou来衡量proposal或anchor和gt之间的重合度,也就是他们之间的交并比,是目标检测中重要的评价尺度,鲜明的特点就是对尺度scale不敏感。然而没有方向信息,无法指导神经网络应该如何调整:如果两个框没有交集,则IOU=0,不能反映两者距离的大小,并且loss=0,没有梯度回传,神经网络无法学习;IoU无法精确的反映两者的重合...

2019-07-31 14:27:23 4007

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除