
推理加速
文章平均质量分 91
记录推理加速的学习
梦星辰.
本科北航数学专业应用数学方向,硕士北航计算机专业人工智能方向
展开
-
GPU存储计算体系,推理加速技术与传输瓶颈分析
当前主流大模型均使用KV Cache加速技术,这导致解码阶段的每次矩阵-矩阵乘法运算被简化矩阵-向量乘法,计算复杂度也由o(n^2)降低为o(n)。但是这个改进也带来了另一个问题:矩阵-向量乘法相对矩阵-矩阵乘法,计算访存比更低,传输的数据量只降为原来一半,但是计算的数据量却急剧降为几千分之一,整个运算过程的性能瓶颈卡在数据传输上面。每个层级都有其独特的存储特性以及典型的容量范围。GPU 强大的计算能力在这种情况下无法得到充分发挥,因为它受限于从相对较慢的显存中获取数据的速度。对于矩阵向量乘法这种典型的。原创 2025-04-10 11:25:46 · 722 阅读 · 0 评论 -
EAGLE-3投机采样论文阅读
EAGLE-1论文链接EAGLE-2论文链接EAGLE-3论文链接EAGLE-github链接Training-Time Test (训练时测试),顾名思义,指的是在模型训练过程中进行测试的技术。它与传统的训练后测试 (Post-Training Test) 相对应,后者是在模型训练完成后,使用独立的测试数据集评估模型的性能。通过在训练过程中引入测试,能够更早地发现问题,从而更好地指导训练过程,提高模型性能和效率。它试图将测试环节融入到模型的学习循环中,而不是仅仅作为最后验证的手段。原创 2025-04-02 19:02:31 · 1437 阅读 · 0 评论 -
模型的在线量化和离线量化
模型的离线量化 (Offline Quantization) 和在线动态量化 (Online Dynamic Quantization) 是两种不同的模型量化方法,它们在量化的时间和方式上存在显著差异。量化的目的是将模型中的浮点数参数 (例如,FP32) 转换为较低精度的整数 (例如,INT8),以减小模型大小、降低计算复杂度并加速推理。选择哪种量化方法取决于具体的应用场景和性能要求。原创 2025-02-28 19:24:34 · 909 阅读 · 0 评论 -
投机采样EAGLE-2深入研究
现代大型语言模型(LLMs)的推理计算成本高昂且耗时,而投机采样已被证明是一种有效的解决方案。大多数投机采样方法(如 EAGLE)使用静态草稿树,隐含地假设草稿 token 的接受率仅取决于它们的位置。有趣的是,作者发现草稿 token 的接受率也依赖于上下文。在论文中,作者基于 EAGLE 提出了 EAGLE-2,它在草稿建模中引入了一种新的上下文感知动态草稿树技术。这一改进利用了 EAGLE 的草稿模型具有良好校准性的事实:来自草稿模型的置信度分数能够以较小的误差近似接受率。原创 2025-01-07 11:55:34 · 1071 阅读 · 0 评论 -
投机采样EAGLE-1详解精读
自回归解码是指模型逐个生成词语(token),每个词语的生成都依赖于之前生成的所有词语。当使用KV Cache加速技术后,解码阶段的每次矩阵-矩阵乘法运算被简化矩阵-向量乘法。矩阵-向量乘法相对矩阵-矩阵乘法,计算访存比更低,这导致整个运算过程的性能瓶颈卡在数据传输上面。因此,自回归解码这种串行的生成方式是 LLM 推理速度慢的主要瓶颈。原创 2025-01-06 14:27:44 · 2039 阅读 · 0 评论 -
推理加速:投机采样经典方法
SpecInfer 投机采样利用多个小型模型(SSM)快速生成“草稿”(Draft),然后由大型模型(LLM)验证并选择,从而加速文本生成。SSM1matSSM1核心思路为:通过一系列小模型 SSM(Small Speculative Model)联合预测 LLM 输出,并将这些小模型的预测输出组织为 Token 树,树中每个分支表示一个候选 Token 序列。原创 2025-01-02 22:00:41 · 1084 阅读 · 0 评论 -
大型模型推理加速入门
除此之外,Transformer 模型中的另一个关键组件 FFN 中主要也包含两个矩阵乘法操作,但是 Token 之间不会交叉融合,也就是任何一个 Token 都可以独立计算,因此在 Decoding 阶段不用 Cache 之前的结果,但同样会出现矩阵乘矩阵操作降级为矩阵乘向量。推理加速技术是提升大型语言模型(LLM)和其他深度学习模型性能的关键,旨在减少生成预测所需的时间和计算资源,同时保持或尽量减少对输出质量的影响。这些技术覆盖了从硬件层面的优化到软件算法的改进,以及两者之间的协同工作。原创 2025-01-02 17:03:39 · 1038 阅读 · 0 评论 -
大模型推理加速的基础
启动阶段是大型语言模型推理过程的开端,它为解码阶段准备了必要的输入和内部状态。这个阶段涉及将用户提供的上下文或提示(prompt)转换成模型可以处理的形式,并初始化一些关键的数据结构和参数。下面是启动阶段更详细的计算细节和过程:首先,当用户向模型提供一个任务或问题时,这段文本需要被预处理。预处理包括分词(tokenization),即将文本分解为模型能够理解的最小单元——词元(tokens)。这些词元可以是单词、子词或者字符,具体取决于所使用的分词策略。原创 2025-01-02 15:13:16 · 523 阅读 · 0 评论 -
大型模型运行过程概述
和。这两个过程有着不同的目标、资源需求和技术挑战。大模型的训练是一个复杂且资源密集的过程,它首先需要收集和准备大量的高质量数据,这些数据经过清洗和预处理后将被用来指导模型学习。在模型设计阶段,工程师们会选择或开发适合任务需求的神经网络架构,对于大型语言模型来说,这通常意味着采用深度多层的解码器结构如Transformer。初始化之后,模型开始接受数据输入,在前向传播过程中生成预测输出,并通过损失函数对比预测与真实标签之间的差异来计算误差;原创 2025-01-02 14:31:02 · 613 阅读 · 0 评论 -
深度学习模型压缩技术分析
模型压缩是指通过各种技术手段来减小机器学习模型的大小,以减少存储空间、加快推理速度和降低计算成本的过程。这种技术可以帮助在资源受限的设备上部署更大的模型,提高模型的效率和性能。模型压缩有多种方法,包括等。剪枝是去除冗余参数或结构;量化是减少模型参数的位数以减小内存占用;知识蒸馏是将一个复杂模型的知识传递给一个简化的模型。这些技术的意义在于,通过模型压缩可以使得大型深度学习模型更适合在移动设备、边缘设备上部署,提高模型的效率和速度。原创 2024-05-25 16:39:55 · 605 阅读 · 0 评论