
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这篇博客本应完成于24年9月,但是由于入职新公司之后上下班距离较远下班之后无力再动脑,遂拖到现在才完成,而且再看文章内容感觉不少部分都已过时,但还是可以当做一篇综述性文章来读,了解KV Cache压缩的历史。在之前的博客《》中我们简单提到了KV Cache在超长上下文下过大的问题。为了使得大模型推理能支持超长上下文,我们必须要对KV Cache进行压缩,本博客就介绍一下目前常用的压缩手段。我们还是

KV Cache是大模型推理中常用到的一个技巧,可以减少重复计算,加快推理速度。不少人只是从概念上知道它可以减少重复计算,详细的原理则知之甚少,此外为啥只有KV Cache而没有Q Cache呢,我们在本博客中给出详尽的解释。

过去的一周Qwen2.5-Omni产生了很高的热度,吸引了很多人的目光。它的多模态确实很吸引人,放出来的体验还算尚可(语音对话的延迟还是太大),所以就在A100 PCIe上实地部署了一下,初步对其速度进行了测试,以下是我的操作流程,供大家参考。

本来想写一篇KV Cache压缩的综述性博客,结果写到MLA部分的时候发现越写越多,完全值得单独拿出来写篇博客,遂从KV Cache压缩博客中单独揪出MLA进行介绍。MLA(Multi-query Latent Attention)是国内创业公司deepseek在24年5月份发布的大模型中用到的KV Cache压缩技术,正是在该技术的加持下DeepSeek-V2可以大幅压缩KV Cache的大小,

在上一篇博客《》中详细介绍了大模型推理的decoding阶段可以采用KV Cache来优化重复计算的原理。虽然KV Cache大幅提升了大模型token生成的速度,但是也引入了新的问题,主要有两个:1. KV Cache在长上下文的情况下占用量非常大,导致batch很小,进而影响吞吐量,甚至根本无法支持长上下文;2. 大模型推理的时候无法预知会产生多少token,所以无法给KV Cache预分配空

在学习huggingFace的Transformer库时,我们不可避免会遇到scaled_dot_product_attention(SDPA)这个函数,它被用来加速大模型的Attention计算,本文就详细介绍一下它的使用方法,核心内容主要参考了torch.nn.functional中该函数的注释。

LLM推理的最后一步是要从众多候选token中选择一个输出,一般可以选择softmax概率最大的token输出,这样相同的输入都会获得确定的输出。不过,在很多情况下,最优输出不见得是最好的输出,尤其在当下LLM还不完美的情况下。为此我们需要让LLM的输出在保证靠谱的前提下尽可能多样,temperature、top_k、top_p这三个变量就是出于此目的设计出来的。当然很多博客中已经介绍了这三个变量

自从大模型火了之后就一直想自己组装一台机器去深入研究一下大模型,奈何囊中羞涩,迟迟也没有行动。在下了很大的勇气之后,终于花了接近4万块钱组装了一台台式机,下面给大家详细介绍一下我的装机过程。

过去的一周Qwen2.5-Omni产生了很高的热度,吸引了很多人的目光。它的多模态确实很吸引人,放出来的体验还算尚可(语音对话的延迟还是太大),所以就在A100 PCIe上实地部署了一下,初步对其速度进行了测试,以下是我的操作流程,供大家参考。

这篇博客本应完成于24年9月,但是由于入职新公司之后上下班距离较远下班之后无力再动脑,遂拖到现在才完成,而且再看文章内容感觉不少部分都已过时,但还是可以当做一篇综述性文章来读,了解KV Cache压缩的历史。在之前的博客《》中我们简单提到了KV Cache在超长上下文下过大的问题。为了使得大模型推理能支持超长上下文,我们必须要对KV Cache进行压缩,本博客就介绍一下目前常用的压缩手段。我们还是








