LLM推理优化综述

AI 大模型 LLM 的基础概念、核心算法原理数学模型和发展历史及其应用领域 文本摘要是指从大量的文本中提取关键信息,并生成简洁、易于理解的摘要。LLM能够通过对文本进行编码和自动摘要,从而提高文本摘要的质量和效率。总之,LLM是自然语言处理领域中的一个重要组成部分,它通过对大量数据进行训练,实现了自然语言理解、文本分类、机器翻译、文本摘要等多种自然语言处理任务。在未来的发展中,我们可以预见LLM将会有着更广泛的应用场景,并为人工智能技术的发展带来更大的推动力。 阅读详情

1 摘要

自 OpenAI 发布 ChatGPT 以来,基于 Transformer 架构的大语言模型 (LLM) 在全球范围内引发了深度的技术关注,并取得了令人瞩目的成就。其强大的理解和生成能力,正在深刻改变我们对人工智能的认知和应用。然而大语言模型的推理应用成本过高,高昂的成本大大阻碍了技术落地。因此,大语言模型的推理性能优化成为业界研究的热点。

大语言模型推理面临计算资源的巨大需求和计算效率的挑战。优化推理性能不仅可以减少硬件成本,还可以提高模型的实时响应速度。它使模型能够更快速地执行自然语言理解、翻译、文本生成等任务,从而改善用户体验,加速科学研究,推动各行业应用的发展。

本文从推理服务系统全局视角介绍典型性能优化技术和各自特点,最后分析未来大语言模型推理优化技术的发展趋势和演进方向,最终为未来的人工智能应用打开更广阔的可能性。

2 优化技术

LLM 推理服务重点关注两个指标:吞吐量和时延:

  • 吞吐量:主要从系统的角度来看,即系统在单位时间内能处理的 tokens 数量。计算方法为系统处理完成的 tokens 个数除以对应耗时,其中 tokens 个数一般指输入序列和输出序列长度之和。吞吐量越高,代表 LLM 服务系统的资源利用率越高,对应的系统成本越低。

  • 时延:主要从用户的视角来看,即用户平均收到每个 token 所需位时间。计算方法为用户从发出请求到收到完整响应所需的时间除以生成序列长度。一般来讲,当时延不大于 50 ms/token 时,用户使用体验会比较流畅。

吞吐量关注系统成本,高吞吐量代表系统单位时间处理的请求大,系统利用率高。时延关注用户使用体验,即返回结果要快。这两个指标一般情况下需要会相互影响,因此需要权衡。例如,提高吞吐量的方法一般是提升 batchsize,即将用户的请求由串行改为并行。但 batchsize 的增大会在一定程度上损害每个用户的时延,因为以前只计算一个请求,现在合并计算多个请求,每个用户等待的时间变长。

LLM 推理性能优化主要以提高吞吐量和降低时延为目的,具体可以划分为如下六部分,下面详细展开描述。

77a47f7108577625aff3ef66f9befc0a.png

2.1 显存相关优化

2.1.1 KV Cache

大模型推理性能优化的一个最常用技术就是 KV Cache,该技术可以在不影响任何计算精度的前提下,通过空间换时间思想,提高推理性能。目前业界主流 LLM 推理框架均默认支持并开启了该功能。

Transformer 模型具有自回归推理的特点,即每次推理只会预测输出一个 token,当前轮输出token 与历史输入 tokens 拼接,作为下一轮的输入 tokens,反复执行多次。该过程中,前后两轮的输入只相差一个 token,存在重复计算。KV Cache 技术实现了将可复用的键值向量结果保存下来,从而避免了重复计算。

1d98a6e0ba8bb4d2de4ee247bf8cdf5c.png

2083f01fd0c273954d1ef13b89396694.png

具体来讲,KV Cache 技术是指每次自回归推理过程中,将 Transformer 每层的 Attention 模块中的 和 结果保存保存在一个数据结构(称为 KV Cache)中,当执行下一次自回归推理时,直接将 和 与 KV Cache 拼接在一起,供后续计算使用。其中, 代表第 步推理的输入, 和 分别代表键值权重矩阵。

KV Cache 缓存每一轮已计算完毕的键值向量,因此会额外增加显存开销。以 LLaMA-7B 模型为例,每个 token 对应的 KV Cache 空间 可通过如下公式计算:

6cadca9d8dd332042834176b1eae730b.png

公式中第一个因子 2 代表 Key/Value 两个向量,每层都需存储这两个向量, 为 Transformer layer 个数, 代表 KV head 个数(模型为多头注意力时,该值即注意力头数,模型为多查询注意力时,该值为 1), 为每个 KV head 的维度, 为每存放一个数据所需的字节数。模型推理所需的 KV Cache 总量为公式 如下,其中 为输入和输出序列长度之和。因此,KV Cache 与 batchsize 和序列长度呈线性关系。

f4368747c40d41fd63e879af221c2c73.png

KV Cache 的引入也使得推理过程分为如下两个不同阶段,进而影响到后续的其他优化方法。

  • 预填充阶段:发生在计算第一个输出 token 过程中,计算时需要为每个 Transformer layer 计算并保存 key cache 和 value cache;FLOPs 同 KV Cache 关闭一致,存在大量 GEMM (GEneral Matrix-Matrix multiply) 操作,属于 Compute-bound 类型计算。

  • 解码阶段:发生在计算第二个输出 token 至最后一个 token 过程中,这时 KV Cache 已存有历史键值结果,每轮推理只需读取 Cache,同时将当前轮计算出的新的 Key、Value 追加写入至 Cache;GEMM 变为 GEMV (GEneral Matrix-Vector multiply) 操作,FLOPs 降低,推理速度相对预填充阶段变快,这时属于 Memory-bound 类型计算。

2.1.2 Paged Attention

LLM 推理服务的吞吐量指标主要受制于显存限制。研究团队发现现有系统由于缺乏精细的显存管理方法而浪费了 60% 至 80% 的显存,浪费的显存主要来自 KV Cache。因此,有效管理 KV Cache 是一个重大挑战。

在 Paged Attention 之前,业界主流 LLM 推理框架在 KV Cache 管理方面均存在一定的低效。HuggingFace Transformers 库中,KV Cache 是随着执行动态申请显存空间,由于 GPU显存分配耗时一般都高于 CUDA kernel 执行耗时,因此动态申请显存空间会造成极大的时延开销,且会引入显存碎片化。FasterTransformer 中,预先为 KV Cache 分配了一个充分长的显存空间,用于存储用户的上下文数据。例如 LLaMA-7B 的上下文长度为 2048,则需要为每个用户预先分配一个可支持 2048 个 tokens 缓存的显存空间。如果用户实际使用的上下文长度低于2048,则会存在显存浪费。Paged Attention 将传统操作系统中对内存管理的思想引入 LLM,实现了一个高效的显存管理器,通过精细化管理显存,实现了在物理非连续的显存空间中以极低的成本存储、读取、新增和删除键值向量。

具体来讲,Paged Attention 将每个序列的 KV Cache 分成若干块,每个块包含固定数量token 的键和值。

首先在推理实际任务前,会根据用户设置的 和 预跑一次推理计算,记录峰值显存占用量 ,然后根据上面公式获得当前软硬件环境下 KV Cache 可用的最大空间,并预先申请缓存空间。其中, 为部署环境的硬件显存一次最多能容纳的 token 总量, 为模型推理的最大显存占用比例, 为物理显存量, 为块大小(默认设为 16)。

509deccb7cfde8784b12a8d19d319e59.png

在实际推理过程中,维护一个逻辑块到物理块的映射表,多个逻辑块可以对应一个物理块,通过引用计数来表示物理块被引用的次数。当引用计数大于一时,代表该物理块被使用,当引用计数等于零时,代表该物理块被释放。通过该方式即可实现将地址不连续的物理块串联在一起统一管理。

Paged Attention 技术开创性地将操作系统中的分页内存管理应用到 KV Cache 的管理中,提高了显存利用效率。另外,通过 token 块粒度的显存管理,系统可以精确计算出剩余显存可容纳的 token 块的个数,配合后文 Dynamic Batching 技术,即可避免系统发生显存溢出的问题。

2.2 计算相关优化

2.2.1 算子融合

算子融合是深度学习模型推理的一种典型优化技术,旨在通过减少计算过程中的访存次数和 Kernel 启动耗时达到提升模型推理性能的目的,该方法同样适用于 LLM 推理。

以 HuggingFace Transformers 库推理 LLaMA-7B 模型为例,经分析模型推理时的算子执行分布如下图所示,该模型有 30 个类型共计 2436 个算子,其中 aten::slice 算子出现频率为 388 次。大量小算子的执行会降低 GPU 利用率,最终影响推理速度。

4df0a816d27867406afbe72bd564ac44.png

目前业界基本都针对 Transformer layer 结构特点,手工实现了算子融合。以 DeepSpeed Inference 为例,算子融合主要分为如下四类:

  • 归一化层和 QKV 横向融合:将三次计算 Query/Key/Value 的操作合并为一个算子,并与前面的归一化算子融合。

  • 自注意力计算融合:将自注意力计算涉及到的多个算子融合为一个,业界熟知的 FlashAttention 即是一个成熟的自注意力融合方案。

  • 残差连接、归一化层、全连接层和激活层融合:将 MLP 中第一个全连接层上下相关的算子合并为一个。

  • 偏置加法和残差连接融合。

    3255f53c8b9a3ca2ffded57943d005d3.png

由于算子融合一般需要定制化实现算子 CUDA kernel,因此对 GPU 编程能力要求较高。随着编译器技术的引入,涌现出 OpenAI Triton 、TVM 等优秀的框架来实现算子融合的自动化或半自动化,并取得了一定的效果。

2.2.2 高性能算子

针对 LLM 推理运行热点函数编写高性能算子,也可以降低推理时延。

  • GEMM 操作相关优化:在 LLM 推理的预填充阶段,Self-Attention 和 MLP 层均存在多个 GEMM 操作,耗时占据了推理时延的 80% 以上。GEMM 的 GPU 优化是一个相对古老的问题,在此不详细展开描述算法细节。英伟达就该问题已推出 cuBLAS、CUDA、CUTLASS 等不同层级的优化方案。例如,FasterTransformer 框架中存在大量基于 CUTLASS 编写的 GEMM 内核函数。另外,Self-Attention 中存在 GEMM+Softmax+GEMM 结构,因此会结合算子融合联合优化。

  • GEMV 操作相关优化:在 LLM 推理的解码阶段,运行热点函数由 GEMM 变为 GEMV。相比 GEMM,GEMV 的计算强度更低,因此优化点主要围绕降低访存开销开展。

高性能算子的实现同样对 GPU 编程能力有较高要求,且算法实现中的若干超参数与特定问题规模相关。因此,编译器相关的技术如自动调优也是业界研究的重点。

2.3 服务相关优化

服务相关优化主要包括 Continuous Batching、Dynamic Batching 和 异步 Tokenize / Detokenize。其中 Continuous Batching 和 Dynamic Batching 主要围绕提高可并发的 batchsize 来提高吞吐量,异步 Tokenize / Detokenize 则通过多线程方式将 Tokenize / Detokenize 执行与模型推理过程时间交叠,实现降低时延目的。

问题分类现象解决方法实现原理特点
问题一同批次序列推理时,存在“气泡”,导致 GPU 资源利用率低Continuous Batching由 batch 粒度的调度细化为 step 级别的调度在时间轴方向动态插入新序列
问题二批次大小固定不变,无法随计算资源负载动态变化,导致 GPU 资源利用率低Dynamic Batching通过维护一个作业队列实现在 batch 维度动态插入新序列
问题三Tokenize / Detokenize 过程在 CPU 上执行,期间 GPU 处于空闲状态异步 Tokenize / Detokenize多线程异步流水线 overlap 实现降低时延

大语言模型的输入和输出均是可变长度的。对于给定问题,模型在运行前无法预测其输出长度。在实际服务场景下,每个用户的问题长度各不相同,问题对应的答案长度也不相同。传统方法在同批次序列推理过程中,存在“气泡”现象,即必须等同批次内的所有序列完成推理之后,才会执行下一批次序列,这就会引起 GPU 资源的浪费,导致 GPU 利用率偏低。

f84f27d6861cbd404fe3963e802b2645.png

图中序列 3 率先结束,但由于其他序列尚未结束,因此需要等待直至所有序列计算完毕。理想情况下,同批次的所有序列的输入加输出的长度均相同,这时不存在“气泡”现象;极端情况下则会出现超过 50% 以上的资源浪费。

另一方面,传统方法推理时 batchsize 是固定不变的,无法随计算资源负载动态变化。比如某一段时间内,同批次下的序列长度都偏短,原则上可以增加 batchsize 以充分利用 GPU 计算资源。然而由于固定 batchsize,无法动态调整批次大小。

Continuous Batching 和 Dynamic Batching 思想最早来自论文 Orca: A Distributed Serving System for Transformer-Based Generative Models。针对问题一,提出 Continuous Batching,原理为将传统 batch 粒度的任务调度细化为 step 级别的调度。首先,调度器会维护两个队列,分别为 Running 队列和 Waiting 队列,队列中的序列状态可以在 Running 和 Waiting 之间转换。在自回归迭代生成每个 token 后,调度器均会检查所有序列的状态。一旦序列结束,调度器就将该序列由 Running 队列移除并标记为已完成,同时从 Waiting 队列中按 FCFS (First Come First Service) 策略取出一个序列添加至 Running 队列。

97366cd4d5ff8e751260d955761f1425.png

图中,序列 3 率先在 T5 时刻结束,这时调度器会检测到序列 3 已结束,将序列 3 从 Running 队列中移除,并从 Waiting 队列中按 FCFS 策略取出序列 5 添加至 Running 队列并启动该序列的推理。通过该方法,即可最大限度地消除“气泡”现象。

问题一可以理解为在时间轴方向动态插入新序列,问题二则是在 batch 维度动态插入新序列,以尽可能地充分利用显存空间。具体来讲,在自回归迭代生成每个 token 后,调度器通过当前剩余显存量,动态调整 Running 队列的长度,从而实现 Dynamic Batching。例如,当剩余显存量较多时,会尽可能增加 Running 队列长度;当待分配的 KV Cache 超过剩余显存时,调度器会将 Running 队列中低优先级的序列换出至 Waiting 队列,并将换出序列占用的显存释放。

如上两个 batching 相关的优化技术可有效提升推理吞吐量,目前已在 HuggingFace Text-Generation-Interface (TGI)、vLLM、OpenPPL-LLM 等多个框架中实现。

2.4 分布式相关优化

由于大语言模型参数量较大,可能无法存放到单一计算设备中,分布式并行可以有效解决该问题。分布式并行中的模型并行和流水线并行已在 LLM 推理中得到应用。由于篇幅有限,本文聚焦模型并行。模型并行通过将权重参数拆分到多个计算设备中,实现分布式计算。

11be6e006b376cc11e3b39dab8d49295.png


图中,第一行代表 Column Parallel,即将权重数据按列拆分到多个 GPU 中,每个 GPU 上的本地计算结果需要在列方向拼接为最终结果;第二行代表 Row Parallel,即将权重数据按行拆分到多个 GPU 中,每个 GPU 上的本地计算结果需要 AllReduce 规约为最终结果。

dc6501f940f994d82f1026937697ca63.png


业界最流行的模型并行方案来自 Megatron-LM,其针对 Self-Attention 和 MLP 分别设计了简洁高效的模型并行方案。

  • MLP: 第一个全连接层为 Column Parallel,第二个全连接层为 Row Parallel,整个 MLP 只需在 Row Parallel 后执行一次 AllReduce 规约操作即可。

  • Self-Attention:在计算 Query、Key 和 Value 向量时执行 Column Parallel(按注意力头个数均分到每个 GPU),在将注意力得分做空间映射时执行 Row Parallel,整个 Self-Attention 只需在 Row Parallel 后执行一次 AllReduce 规约操作即可。

上面分析了 Transformer layer 的模型并行方式。除此之外,LLM 模型中的 Input Embedding 采用 Row Parallel,Output Embedding 采用 Column Parallel;Dropout / Layer Norm / Residual Connections 等操作都没有做并行拆分。例如 Layer Norm 的权重参数和计算,在每个 GPU 上都是完整的。

LayersModel Parallel Method
Input EmbeddingRow Parallel
Self-AttentionColumn Parallel + Row Parallel
MLPColumn Parallel + Row Parallel
Output EmbeddingColumn Parallel

基于以上基础,以 LLaMA-34B 模型为例进行通信量分析。该模型包含 48 个 Transformer layers,隐藏层大小 8192,每次单 batch 推理共 2 * 48 次 Broadcast 和 248 次 AllReduce 操作,每次通信传输的数据量均为 16 KB(此处假设数据类型为半精度浮点,81922/1024=16 KB)。考虑到推理服务一般都是按多 batch 推理执行,假设 batchsize 为 64,每次通信传输的数据量也仅为 1 MB。下图在 A100-PCIE-40GB 机器上测试 NCCL AllReduce 带宽数据,PCIE 理论带宽为 32-64 GB/s 左右,实际推理场景下的通信数据量主要集中在 1 MB 以下,对应的实际带宽约为 1-10 GB/s。NVLink 理论带宽为 400-600 GB/s,但由于每次的通信量很小,实际带宽也远远小于理论带宽。因此模型参数量越大、batchsize 越大,通信效率越高,使用模型并行获得的收益约明显。

da5e80b3ff62de4e4a325527329b377e.png

2.5 低比特量化

回归到 LLM 模型推理吞吐量和时延这两个重要的性能指标上:吞吐量的提升主要受制于显存容量,如果降低推理时显存占用量,就可以运行更大的 batchsize,即可提升吞吐量;LLM 推理具有 Memory-bound 特点,如果降低访存量,将在吞吐量和时延两个性能指标上都有收益。低比特量化技术可以降低显存占用量和访存量,其能取得加速的关键在于显存量和访存量的节省以及量化计算的加速远大于反量化带来的额外开销。

被量化的对象量化方法特点
权重量化LLM.int8(), GPTQ显存占用减半,但由于计算结果需反量化,时延基本无收益
权重和激活同时量化SmoothQuant显存占用减半,时延有收益,精度几乎匹配 FP16
KV Cache量化INT8 或 FP8 量化方法简单,吞吐量收益明显
基于硬件特点的量化:英伟达 Hopper 架构下的 FP8直接利用 TensorCore FP8 计算指令不需要额外的量化/反量化操作,时延收益明显

表中的四类量化方法各有特点,业界在低比特量化方向的研究进展也层出不穷,希望探索出一个适用于大语言模型的、能够以较高压缩率压缩模型、加速端到端推理同时保证精度的量化方法。

2.6 其他新技术

当前,业界在将传统优化技术引入 LLM 推理的同时,同时也在探索从大模型自回归解码特点出发,通过调整推理过程和引入新的模型结构来进一步提升推理性能。

例如,投机采样(Speculative decoding)针对 LLM 推理串行解码特点,通过引入一个近似模型来执行串行解码,原始模型执行并行评估采样,通过近似模型和原始模型的互相配合,在保证精度一致性的同时降低了大模型串行解码的次数,进而降低了推理时延。美杜莎头(Medusa head)则是对投机采样的进一步改进,其摒弃了近似模型,在原始模型结构上新增了若干解码头,每个解码头可并行预测多个后续 tokens,然后使用基于树状注意力机制并行处理,最后使用典型接收方案筛选出合理的后续 tokens。该方法同样降低了大模型串行解码的次数,最终实现约两倍的时延加速。

3 总结

大语言模型推理性能优化技术正迅速演进,不仅涉及计算机科学和人工智能领域,还融合了多个学科的知识,实现了前所未有的跨学科交叉渗透。演进的动力源自对大规模模型应用的需求,为了充分发挥这些模型的潜力,研究人员正在不断改进推理性能,包括算法优化、硬件加速、分布式计算等方面的创新。这一快速演进和跨学科渗透的趋势不仅将提高大语言模型的实用性,还为未来的自然语言处理应用和人工智能技术带来更大的创新和应用潜力。

参考

  1. W. Kwon, Z. Li, S. Zhuang, Y. Sheng, L. Zheng, C. H. Yu,J. E. Gonzalez, H. Zhang and I. Stoica, Efficient MemoryManagement for Large Language Model Serving with Page-dAttention, Proceedings of the ACM SIGOPS 29th Sympo-sium on Operating Systems Principles, 2023.

  2. S. Z. Y. S. L. Z. C. Y. J. G. H. Z. Woosuk Kwon, Zhuohan Liand I. Stoica, vLLM: Easy, Fast, and Cheap LLM Servingwith PagedAttention,https://vllm.ai/, 2022.

  3. HuggingFace,  Transformers:   State-of-the-art  MachineLearning for Pytorch, TensorFlow, and JAX.,https://github.com/huggingface/transformers.

  4. NVIDIA,    FasterTransformer,https://github.com/NVIDIA/FasterTransformer, 2021.

  5. R. Y. Aminabadi, S. Rajbhandari, A. A. Awan, C. Li, D. Li,E. Zheng, O. Ruwase, S. Smith, M. Zhang, J. Rasley et al.,DeepSpeed-inference: enabling efficient inference of trans-former models at unprecedented scale, SC22: InternationalConference for High Performance Computing, Networking,Storage and Analysis, 2022, 1–15.

  6. P. Tillet, H.-T. Kung and D. Cox, Triton: an intermedi-ate language and compiler for tiled neural network com-putations, Proceedings of the 3rd ACM SIGPLAN Inter-national Workshop on Machine Learning and ProgrammingLanguages, 2019, 10–19.

  7. T. Chen, T. Moreau, Z. Jiang, L. Zheng, E. Yan, H. Shen,M. Cowan, L. Wang, Y. Hu, L. Ceze et al., TVM: An au-tomated End-to-End optimizing compiler for deep learning,13th USENIX Symposium on Operating Systems Design andImplementation (OSDI 18), 2018, 578–594.

  8. M. Shoeybi, M. Patwary, R. Puri, P. LeGresley, J. Casperand B. Catanzaro, Megatron-lm: Training multi-billion pa-rameter language models using model parallelism, arXivpreprint arXiv:1909.08053, 2019.

  9. T. Dettmers, M. Lewis, Y. Belkada and L. Zettlemoyer, Llm.int8 (): 8-bit matrix multiplication for transformers at scale,arXiv preprint arXiv:2208.07339, 2022.

  10. E. Frantar,  S. Ashkboos,  T. Hoefler and D. Alistarh,Gptq:  Accurate post-training quantization for generativepre-trained transformers, arXiv preprint arXiv:2210.17323,2022.

  11. G. Xiao, J. Lin, M. Seznec, H. Wu, J. Demouth and S. Han,Smoothquant: Accurate and efficient post-training quanti-zation for large language models, International Conferenceon Machine Learning, 2023, 38087–38099.

  12. A. C. Elster and T. A. Haugdahl, Nvidia hopper gpu andgrace cpu highlights, Computing in Science & & Engineering, 2022, 24, 95–100.

  13. C. Chen, S. Borgeaud, G. Irving, J.-B. Lespiau, L. Sifreand J. Jumper, Accelerating large language model decodingwith speculative sampling, arXiv preprint arXiv:2302.01318,2023.

  14. Y. Leviathan, M. Kalman and Y. Matias, Fast inference fromtransformers via speculative decoding, International Confer-ence on Machine Learning, 2023, 19274–19286.

  15. T. Cai, Y. Li, Z. Geng, H. Peng and T. Dao, Medusa: SimpleFramework for Accelerating LLM Generation with MultipleDecoding  Heads,https://github.com/FasterDecoding/Medusa, 2023.

LLM参数优化算法与经典理论揭秘 系统梳理了大语言模型(LLM)训练中的参数优化算法和理论框架。从基础优化算法(如SGD、AdamW)、学习率调度(预热+余弦退火)、正则化技术(权重衰减、层归一化)到分布式优化策略(数据/模型并行),全面分析了LLM训练中的核心优化方法。特别指出AdamW优化器、学习率动态调整和层归一化是当前主流LLM训练的标准配置,而分布式并行技术则是应对超大规模模型训练的关键。这些方法的组合应用,有效解决了LLM训练中的效率、稳定性和泛化能力等核心挑战。 阅读详情

相关推荐

MATLAB算法实战应用案例精讲-【大模型】LLM算法(最终篇)

综述blog:Processing Data for LLM,下面是这个blog整理后的内容。这里更多讨论的是对预训练中如何处理整个互联网语料的讨论,一些行业头部公司自然会有很高的行业数据壁垒,但是从整个互联网的语料得到供模型学习的“高质量”的数据就是一项很广泛且重要的议题了。LLMs之所以强大,有很大一部分源自其在超大规模数据集上的训练,使得它们各方面能力超越小模型,这就是Scaling的魔力。通常来说,数据量越大,模型效果通常越佳。

qq_36130719的博客 793

大型语言模型 (LLM)全解读

大型语言模型 是一种深度学习算法,可以执行各种自然语言处理 (NLP) 任务。大型语言模型底层使用多个转换器模型底层转换器是一组神经网络。大型语言模型是使用海量数据集进行训练的超大型深度学习模型。这也是它们能够识别、翻译、预测或生成文本或其他内容的强大基础所在。因此大型语言模型也称为神经网络 (NN),是受人类大脑启发而开发出的计算系统。这些神经网络利用分层的节点网络工作,就像神经元一样。这些神经网络由具有自注意力功能的编码器和解码器组成。

FeelTouch Labs 1万+

通过CN3口直接控制台达伺服电机A2-M(二)

既然可以通过RS485与伺服驱动器进行通讯,那么就肯定可以控制转速 首先,需要了解下 ‘控制模式及控制命令输入源设定’ 依据以上资料,速度控制模式有两种,S和SZ模式,分别对应模式选择中的02和04,对P1-01的地址0102进行写地址操作即可实现,一开始我使用了S模式,但是这个模式在寸动模式下会自动运转,不符合我控制的要求,后面改用SZ模式,就可以实现零速度。 使用串口工具发送命令:“01 06 01 02 00 04 28 35”即可以实现设置,设置完成后可以手动在伺服驱动器的按键面板上进行确

HKing_evil的博客 6825

LLM 系列(五):模型推理篇

LLM 推理领域是一场与内存瓶颈和硬件利用率的持续战斗。本文梳理的各项优化技术,都是为了让日益庞大的模型变得更加实用和经济。更小、更高效的模型架构:业界正大力投入于研发更小但能力依旧强大的模型(如 Phi-3)以及稀疏化的专家混合(MoE)模型。MoE 模型在每次推理时只激活一小部分参数,从根本上降低了单次推理的计算和内存成本。软硬件协同设计:从到的演进,清晰地展示了算法如何紧随硬件特性(如 Hopper 架构的 FP8 支持)进行迭代。未来的性能突破将更多地来自于算法与底层芯片的深度协同设计。

glmapper_2018 1288

海康威视web控件开发+vue结合做网页开发

需求:vue的项目,需要在页面展示出海康的硬盘录像机连接的摄像头的实时监控画面以及回放功能. 准备:web开发包(包含插件以及demo,在海康官网即可下载32位64位的都有.那些需要积分下载的博主良心不疼么.) 点击这里下载:链接: https://pan.baidu.com/s/12FrbycWyWWyiRJH5Yd1tPA 提取码: gam5 开始开发: 1.安装demo目录下的WebComponentsKit.exe插件(根据自己的浏览器以及系统选择32位还是64位的插件) 2.打.

u013682258的博客 8484

如何高效部署大模型?CMU最新万字综述纵览LLM推理优化技术

作者| 机器之心点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心技术交流群本文只做学术分享,如有侵权,联系删文近日,CMU Catalyst 团队推出了一篇关于高效 LLM 推理的综述,覆盖了 300 余篇相关论文,从 MLSys 的研究视角介绍了算法创新和系统优化两个方面的相关进展。在人工智能(AI)的快速发展背景下,大语言模型(LLMs)凭借其在语言相...

CV_Autobot的博客 551

AR-HMM模型 自回归隐马尔可夫模型

AR-HMM模型 自回归隐马尔可夫模型 数据处理过程 输入的视频数据首先需要被裁剪以适合动物的大小,在这之后考虑到模型建立的目的为行为状态的分类,于是需要消除可能一帧里带有多个动作状态的行为成分,这个过程也就是对帧。对帧之后我们的为了适应模型训练还需要对每一帧的数据进行小波分解(类似傅里叶变换的信号重构),此时数据预处理阶段完成。 信号重构后的数据拥有的特征维度过多,因此需要应用主成分分析法(PCA)来选出对于分类结果贡献度最高的前十个分类特征。至此自回归隐马尔可夫模型的准备工作就完成了。 AR-HMM自

weixin_46263718的博客 2282

如何高效部署大模型?CMU最新万字综述纵览LLM推理MLSys优化技术

来源:机器之心近日,CMU Catalyst 团队推出了一篇关于高效 LLM 推理的综述,覆盖了 300 余篇相关论文,从 MLSys 的研究视角介绍了算法创新和系统优化两个方面的相关进展。在人工智能(AI)的快速发展背景下,大语言模型(LLMs)凭借其在语言相关任务上的杰出表现,已成为 AI 领域的重要推动力。然而,随着这些模型在各种应用中的普及,它们的复杂性和规模也为其部署和服务带来了前所未有...

weixin_40920183的博客 366

六轴机械臂正逆解计算

机械臂运动学就是。包括(Forward Kinematics)和(InverseKinematics)两部分。正运动学就是逆运动学则是关节变量->机械臂末端执行器的姿势=正向运动学机械臂未端执行器的位姿->关节变量=逆向运动学。

gaoxiaochan的博客 1万+

set_input_delay/set_output_delay介绍

针对这一类的情况,在做block时,cts之后,便需要将update_io_latency给关闭。那么,计算的timing就是错误的了。对于hier flow来讲,切分block,进行timing budget的时候,clock tree还未长。计算block端口上的timing,通常需要用到set_input_delay和set_output_delay告知工具外部电路的延迟信息,以方便工具计算端口上的timing。此时,工具在计算in2reg的timing时,便会将2.67ns的delay带进来。

芯冰乐 319

LLM推理优化技术综述:KVCache、PageAttention、FlashAttention、MQA、GQA

另外,同一个prompt生成多个输出序列,可以共享计算过程中的attention键值,实现copy-on-write机制,即只有需要修改的时候才会复制,从而大大降低显存占用。随着大模型被越来越多的应用到不同的领域,随之而来的问题是应用过程中的推理优化问题,针对LLM推理性能优化有一些新的方向,最近一直在学习和研究,今天简单总结下学习笔记。首先LLM推理的过程是一个自回归的过程,也就是说前i次的token会作为第i+1次的预测数据送入模型,拿到第i+1次的推理token。

Garvin的专栏 1万+

基于YOLOv11的手写数字与符号识别系统设计与实现

手写数字与符号识别系统需要丰富多样的训练数据才能达到理想的泛化性能。MNIST:包含70,000个手写数字样本(0-9),28x28灰度图像优点:干净整齐,适合初学者缺点:多样性不足,只有数字EMNIST:MNIST的扩展,包含数字、字母(大小写)和特殊符号样本量:814,255张图像覆盖62个类别(10数字+26小写字母+26大写字母)HASYv2:专门的手写符号数据集包含369个不同符号类别约168,000个标注实例包括数学符号、箭头、括号等:英文手写文本数据库。

YOLO 291

低延迟、高吞吐,LLM优化与高效推理引擎综述

LLM每次回答都要进行复杂的计算,尤其是需要多次调用模型的场景(比如连续推理、多轮对话),成本高得离谱。(Chain-of-Thought):模型需要反复自我验证才能给出答案。链接:https://arxiv.org/pdf/2505.01658。:抛弃传统Transformer,用状态空间模型实现线性复杂度。:混合Mamba+Transformer,兼顾效率和性能。(如AutoGPT):自动规划任务流程时频繁调用模型。:用户希望响应快(低延迟),企业想省钱(高吞吐)。

zenRRan的博客 925

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【AI大模型】低延迟、高吞吐,LLM优化与高效推理引擎综述,收藏这一篇就够了!!

【AI大模型】低延迟、高吞吐,LLM优化与高效推理引擎综述,收藏这一篇就够了!! LLM每次回答都要进行复杂的计算,尤其是需要多次调用模型的场景(比如连续推理、多轮对话),成本高得离谱。

嘴巴吃糖了 1033

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

大语言模型推理优化技术综述(The Art of LLM Inference)

这种方法能够大大减少所需的计算量 ------ 即使 query 的符号(sign)变化,后续的乘积运算通常仍能得到最大值:当 query 符号为负时,乘以最小值必然得到最大输出值,反之亦然。虽然使用两个模型会消耗较多内存,且重复生成过程也比较耗时,但该技术的核心价值在于其卓越的实用性 ------ 连 Gemini 这样的顶级模型都已采用该技术(如下图所示)。在下面的例子中,三个请求共享相同的前缀 "ABC"(存储于父节点中),每个请求中的最后一个单词则分别存储在三个叶子节点。

jike007gt的博客 839

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LLM推理MLSys优化

由于基于 API 的 LLM 服务(如 ChatGPT)的出现,一些黑盒蒸馏模型吸引了很多关注 [238,59, 273, 201, 313],这些模型通常具有更少的模型参数,与原始 LLMs(如 GPT-4 [195])相比,在各种下游任务上表现出了相当的性能。LLM 部署和服务面临着密集的计算强度和巨大的内存消耗,特别是在要求低延迟和高吞吐量的场景中,如何提高 LLM 服务效率,降低其部署成本,已经成为了当前 AI 和系统领域亟需解决的问题。服务长序列负载的 LLM 需要解决算法和系统两方面的挑战。

whaosoft143ai的博客 731

【AI大模型】LLM推理系统综述:从请求处理到模型优化与执行,技术协同与系统整合,开发者必看收藏!!

本文系统综述LLM推理技术,强调协同关系与系统整合。分析自回归生成带来的三大挑战及应对策略,包括算子优化、动态批处理、负载预测和内存管理等。梳理技术脉络,为下一代推理系统设计提供参考,适合LLM系统研发人员。

2401_85327249的博客 1054
上一篇: <span class=“js_title_inner“>vLLM 实战</span>
下一篇: 图文多模态大模型综述
Linux基金会AI&Data基金会
博客等级 码龄6年 100粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值