
大型模型
文章平均质量分 84
记录学习大模型的点点滴滴
梦星辰.
本科北航数学专业应用数学方向,硕士北航计算机专业人工智能方向
展开
-
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 评论 -
奖励模型 Reward Models介绍
通常可以使用与 LLM 相同的模型架构,例如,Transformer。传统的 LLM 训练方法,例如,最大似然估计 (MLE),通常是基于大量文本数据进行训练,目标是最大化模型生成训练数据的概率。Reward Model 的目标是解决这些问题,通过学习人类的偏好和价值观,为 LLM 的训练提供更有效的指导信号。使用收集到的数据和定义的训练目标,训练 Reward Model。可以使用标准的优化算法,例如,Adam。这个奖励分数可以用来指导 LLM 的训练,使其生成更符合人类偏好、更安全、更有帮助的文本。原创 2025-02-27 17:25:08 · 708 阅读 · 0 评论 -
深度学习与浮点数精度问题探究
符号位(Sign bit):1位,用来表示数的正负。0表示正数,1表示负数。指数部分(Exponent):11位,允许表示一个更宽范围的指数值。指数采用偏置(Bias)表示法,对于双精度浮点数,偏置值为1023。尾数部分(Mantissa 或 Fraction):52位,加上隐含的前导1,实际上可以提供53位的有效数字精度。−1sign×2×1mantissa−1sign×2×1mantissasign是符号位,0或1;exponent是指数部分的实际二进制值;原创 2025-01-14 14:34:04 · 908 阅读 · 0 评论 -
DeepSpeed多卡高性能训练框架
随着深度学习模型规模的日益增大,训练这些模型所需的计算资源和时间成本也随之增加,传统的单机训练方式已难以应对大规模模型的训练需求。分布式训练作为一种有效的解决方案,通过将模型和数据分布到多个计算节点上,实现了并行计算,从而显著提高了训练速度。DeepSpeed是由微软开源的深度学习训练优化库,专为分布式训练场景设计,旨在提高大规模模型训练的效率和可扩展性。DeepSpeed 的核心理念是通过提供一系列优化技术,让大规模深度学习模型的训练变得更高效、更易用。原创 2025-01-10 15:32:39 · 2143 阅读 · 0 评论 -
大型模型Transformer提示词类型
系统提示词定义了模型的整体行为和输出风格,是模型运行的基础。用户提示词是用户提出的具体问题或请求,直接决定了模型此次交互的主题。助理提示词则是模型依据前两者生成的回答,体现了模型的理解能力和表达能力。通过合理配置这三类提示词,可以有效地指导大型语言模型产生更加准确、有用且符合预期的结果。在实际应用中,系统提示词往往由开发团队精心设计,而用户提示词则来自终端用户的即时输入,助理提示词则是模型基于这些输入自动生成的输出。原创 2025-01-08 15:13:53 · 655 阅读 · 0 评论 -
transformers蒸馏版本对话小模型
【代码】transformers蒸馏版本对话小模型。原创 2025-01-07 20:56:03 · 787 阅读 · 0 评论 -
大型模型transformers加载与使用
可以看到,其实参数规模为1.3B的模型还是挺傻的,要正常进行对话估计参数规模得10B上下,此时常规消费级显卡的显存肯定不够用了。确保你已经从 Hugging Face 下载了必要的文件,并将它们放在本地的。变量设置为你下载模型文件的文件夹路径。基本配置:RTX 4060(8GB),推理过程最高显存占用为3GB。作为参数,从本地文件夹加载模型,并配置 FP16。作为参数,从本地文件夹加载 tokenizer。其他代码部分与之前的示例相同,用于推理和生成文本。文件夹中(或你指定的路径)。原创 2025-01-07 18:55:12 · 1504 阅读 · 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 评论 -
大型模型K V Cache机制详解
在生成每个 token 时,都需要对整个已生成的序列进行一次自注意力计算。这意味着,对于序列中的每个 token,我们都需要重复计算 Q、K 和 V 矩阵,而其中 K 和 V 矩阵是基于已经生成的 token 计算得到的,每次计算都是冗余的。KV Cache 通过缓存中间计算结果 K 和 V 矩阵,显著减少了重复计算,加速了 Transformer 模型在生成式任务中的推理速度。KV Cache 的实现方式很简单,主要思想就是将每次计算得到的 K 和 V 矩阵存储下来,在下一次计算时直接使用。原创 2025-01-02 16:04:11 · 1052 阅读 · 0 评论 -
大型模型Transformer掩码机制与计算细节
对于因果掩码,我们创建一个形状同样为[T, T]的下三角矩阵,其中主对角线及其以下的所有元素都为0(或者任何非负数,因为它们会被保留),而上三角部分则填充非常大的负数(如-1e9)。接下来就是应用掩码的地方。当我们在解码过程中处理序列时,例如生成一句话,我们希望模型在预测第t个词的时候,只能够考虑从第一个词到第(t-1)个词的信息,而不应该受到尚未生成的词的影响。因此,在计算查询(Q)、键(K)和值(V)之间的点积注意力时,我们需要对注意力分数施加限制,使得那些不应该被考虑到的词元不会影响当前的预测。原创 2025-01-02 15:29:28 · 521 阅读 · 0 评论 -
大模型推理加速的基础
启动阶段是大型语言模型推理过程的开端,它为解码阶段准备了必要的输入和内部状态。这个阶段涉及将用户提供的上下文或提示(prompt)转换成模型可以处理的形式,并初始化一些关键的数据结构和参数。下面是启动阶段更详细的计算细节和过程:首先,当用户向模型提供一个任务或问题时,这段文本需要被预处理。预处理包括分词(tokenization),即将文本分解为模型能够理解的最小单元——词元(tokens)。这些词元可以是单词、子词或者字符,具体取决于所使用的分词策略。原创 2025-01-02 15:13:16 · 523 阅读 · 0 评论 -
大型模型运行过程概述
和。这两个过程有着不同的目标、资源需求和技术挑战。大模型的训练是一个复杂且资源密集的过程,它首先需要收集和准备大量的高质量数据,这些数据经过清洗和预处理后将被用来指导模型学习。在模型设计阶段,工程师们会选择或开发适合任务需求的神经网络架构,对于大型语言模型来说,这通常意味着采用深度多层的解码器结构如Transformer。初始化之后,模型开始接受数据输入,在前向传播过程中生成预测输出,并通过损失函数对比预测与真实标签之间的差异来计算误差;原创 2025-01-02 14:31:02 · 613 阅读 · 0 评论 -
大模型入门基本概念,术语
多层感知机(Multilayer Perceptron, MLP)是一种前馈神经网络,它由多个层次的节点(或称为神经元)组成,每个节点都与相邻层的所有节点相连。MLP 至少包含三层:一个输入层、一个或多个隐藏层和一个输出层。它是由单层感知机改进而来(一种简单的线性分类器), MLP 通过添加更多层和非线性激活函数扩展了单层感知机的能力。:梯度反向传播算法(Backpropagation Algorithm)是训练神经网络的核心机制之一,它用于计算损失函数相对于每个权重的梯度。原创 2024-12-20 14:21:38 · 790 阅读 · 0 评论 -
深度学习模型压缩技术分析
模型压缩是指通过各种技术手段来减小机器学习模型的大小,以减少存储空间、加快推理速度和降低计算成本的过程。这种技术可以帮助在资源受限的设备上部署更大的模型,提高模型的效率和性能。模型压缩有多种方法,包括等。剪枝是去除冗余参数或结构;量化是减少模型参数的位数以减小内存占用;知识蒸馏是将一个复杂模型的知识传递给一个简化的模型。这些技术的意义在于,通过模型压缩可以使得大型深度学习模型更适合在移动设备、边缘设备上部署,提高模型的效率和速度。原创 2024-05-25 16:39:55 · 605 阅读 · 0 评论