当前位置: 首页 > news >正文

爆肝整理!LLM推理VS传统ML:不只是参数规模不同,这5个技术点才是关键!

常规ML推理 vs. LLM推理

大型语言模型推理相比常规机器学习推理,面临着一系列独特挑战。因此,专门的高性能LLM推理引擎应运而生,例如vLLM、LMCache、SGLang和TensorRT LLM。

LLM(大型语言模型)是基于深度学习的模型,专门用于处理和生成人类语言,如GPT系列,其参数规模巨大,推理复杂度高,超出基础数学涵盖的范围。

今天,我们就来深入探索这些挑战及其解决方案!

连续批处理

传统模型,例如卷积神经网络,拥有固定大小的图像输入和固定长度的输出(如分类标签),这使得批处理变得轻而易举。

CNN(卷积神经网络)是一种常用于图像识别的深度学习模型,通过卷积操作提取特征;批处理(batching)是一种将多个输入样本组合成一个批次进行并行处理的技术,以提高计算效率,属于机器学习基础概念。

然而,大型语言模型(LLMs)处理可变长度的输入(提示)并生成可变长度的输出。

|

可变长度输入和输出意味着每个输入提示的长度(如单词数)和生成文本的长度都可能不同,这与传统机器学习模型固定维度的输入输出不同,增加了推理复杂性。

因此,如果批量处理一些请求,所有请求的完成时间都会不同,GPU必须等待最长的请求完成后才能处理新请求。这会导致GPU出现空闲时间:

|

连续批处理解决了这个问题。

系统不再等待整个批次完成,而是监控所有序列,并将完成(<EOS>标记)的序列与新查询进行交换:|

<EOS>标记是“End of Sequence”的缩写,表示序列结束,用于指示大语言模型停止生成,常见于文本生成任务中。

这使得GPU管道保持满载,从而最大化利用率。

预填充-解码分解

大型语言模型推理是一个两阶段过程,各阶段有根本不同的资源需求。

  • 预填充阶段一次性处理所有输入提示令牌,因此这是计算密集型的。
  • 解码阶段自回归地生成输出,这要求低延迟。

    自回归生成是指模型生成输出序列时,每一步都依赖于之前生成的令牌,类似于逐词预测过程,在语言模型生成任务中常见。

|

在GPU上同时运行这两个阶段意味着计算密集的预填充请求会干扰低延迟需求的解码请求。

预填充-解码分解通过为预填充阶段分配一个专用的GPU池,并为解码阶段分配另一个池来解决这个问题。

|

相比之下,标准机器学习模型通常只有一个统一的计算阶段。

GPU内存管理与KV缓存

生成一个新token会使用所有先前token的key和value向量。为了避免为所有token反复重新计算这些向量,我们缓存它们():

注:在大型语言模型中,"key"和"value"向量是注意力机制的核心组件,用于计算token之间的相关性;"KV缓存"是一种优化技术,通过存储这些向量来加速自回归解码过程,减少计算开销。

这个KV缓存会随着对话历史的总长度线性增长。

但在许多工作流中,像系统提示这样的输入在多个请求之间是共享的。因此,我们可以通过在所有聊天中复用这些KV向量来避免重新计算它们:

|

KV缓存是大型语言模型(如Transformer)中用于加速推理的技术,通过缓存自注意力机制中的键(Key)和值(Value)向量,避免对相同输入进行重复计算。

然而,KV缓存占用大量内存,因为它存储在连续块中。这不仅浪费GPU内存,还会导致内存碎片化:

内存碎片化:在计算机内存管理中,碎片化指的是内存被分割成不连续的小块,导致即使总空闲内存足够,也无法分配大块连续内存的现象。在GPU环境下,这可能降低内存使用效率并影响性能。

Paged Attention通过将KV缓存存储在非连续块中,并使用查找表来追踪这些块,从而解决了这个问题。大语言模型只需加载它所需的块,而不是一次性加载所有内容。

注:KV缓存指的是注意力机制中的键(Key)和值(Value)缓存,用于存储中间计算结果以加速推理。Paged Attention借鉴了操作系统中的分页思想,将缓存分割成小块,以灵活管理内存并减少碎片。

我们将在另一期中详细介绍Paged Attention。

前缀感知路由

为了扩展标准的机器学习模型,你可以简单地将模型复制到多个服务器或GPU上,并使用简单的负载均衡方案,如轮询(Round Robin)或路由到最不繁忙的服务器。

注:轮询(Round Robin)是一种基本的负载均衡算法,依次将请求分配给服务器列表中的每个服务器;路由到最不繁忙的服务器则根据服务器的当前负载动态分配请求。

由于每个请求都是独立的,这种方法效果很好。

但大语言模型严重依赖缓存(如前面讨论的共享KV前缀),因此请求不再独立。

如果一个新查询带有已在Replica A上缓存的共享前缀,但路由器将其发送到Replica B(后者较不繁忙),那么Replica B就需要重新计算整个前缀的KV缓存。

注:在分布式系统中,副本(Replica)指的是同一模型的多个实例,部署在不同服务器或GPU上以并行处理请求。

前缀感知路由解决了这个问题。|

不同的开源框架各自拥有针对前缀感知路由的实现。

通常,前缀感知路由要求路由器维护一个映射或表(或使用预测算法),以追踪哪些KV前缀当前缓存在哪个GPU副本上。当新查询到达时,路由器将查询发送到已经缓存了相关前缀的副本。

KV前缀是指大语言模型中注意力机制中Key-Value缓存的起始部分,常用于共享上下文。GPU副本指在分布式训练或推理中,模型被复制到多个GPU上以并行处理请求。

模型分片策略

有几种策略可以扩展密集ML模型():|

大型语言模型(LLMs),例如混合专家模型(MoE),相当复杂。

|

混合专家模型(MoE)是一种机器学习架构,它使用多个专门化的子网络(专家)来处理不同数据模式,并通过路由机制动态分配输入,以增强模型性能和可扩展性,这超出了基础数学的范畴。

MoE模型采用一种称为专家并行的专用并行策略,该策略将专家本身分布到不同的设备上,而注意力层则在所有GPU上进行复制:|

专家并行是混合专家模型中的一种并行化技术,旨在通过将模型的不同部分(专家)分配到多个计算设备(如GPU)上,以提高训练效率。注意力层是Transformer架构的核心组件,用于计算输入序列中不同位置之间的相关性,从而处理自然语言等序列数据。

因此,每个GPU只存储部分专家的完整权重,而不是全部。这就意味着,每个GPU只处理分配给存储在该GPU上的专家的令牌。

现在,当查询到来时,MoE层中的门控网络会根据哪些专家被激活,动态决定查询应该去哪个GPU。

这是一个复杂的内部路由问题,不能像简单的复制模型那样处理。你需要一个先进的推理引擎来管理分片专家池中的计算动态流。

那么,如何系统的去学习大模型LLM?

作为一名深耕行业的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

http://www.cnnetsun.cn/news/166756.html

相关文章:

  • 基于python文化旅游信息公开管理平台的设计与实现_5257y2x6
  • 【保姆级教程】Attention机制全解析!用PyTorch手写Transformer,大模型开发入门到精通!
  • 前端table表格,零基础入门到精通,收藏这篇就够了
  • 如何将Open-AutoGLM操作延迟降低85%?资深架构师亲授调优心法
  • 从入门到精通:掌握Open-AutoGLM推理优化的7个关键步骤
  • 【Open-AutoGLM macOS适配终极指南】:手把手教你完成全流程配置与优化
  • 【Open-AutoGLM语义解析突破】:准确率提升35%背后的核心技术揭秘
  • 为什么顶尖团队都在用Open-AutoGLM做高效特征提取?真相曝光
  • 【AI模型预处理新纪元】:Open-AutoGLM如何实现毫秒级特征输出
  • 9 个降AI率工具,专科生必备避坑指南
  • 基于数学模型的疫苗接种策略分析
  • 基于时空图神经网络的交通流量预测方法研究
  • 【Open-AutoGLM GPU加速适配全攻略】:手把手教你7步完成高性能推理优化
  • Open-AutoGLM特征提取提速5倍:背后你不知道的3大关键技术
  • [特殊字符]工业标准文档“消化不良“?LLM+知识图谱三步翻倍表格任务F1,钢铁直男秒变逻辑大师!
  • RAG技术揭秘:如何通过检索增强生成解决大模型知识过时与幻觉问题?
  • 【国产大模型端侧落地新突破】:Open-AutoGLM推理效率提升实战
  • Open-AutoGLM端侧部署性能调优,手把手教你榨干NPU算力
  • 网络安全5大子方向!哪个才是最优选择?
  • macOS m芯片配置python低版本失败解决方案
  • 为什么顶尖工程师都在用Open-AutoGLM做任务提醒?真相曝光
  • 【Open-AutoGLM高分通过率背后的真相】:顶尖学员不愿公开的6个刷题技巧
  • 白话大模型与知识库的基础原理(不费脑版)
  • leetcode 764. Largest Plus Sign 最大加号标志
  • 对于pdf、excel、word、ppt文档如何进行有限的最有效的标注
  • Open-AutoGLM考试进入倒计时:如何用1天时间高效突击拿证?
  • RAG效果大飞跃!详解Rerank核心原理与实战,一文搞定排序优化。
  • 网络安全:是什么?新趋势?为什么值得学?一篇讲透行业红利
  • 零学AI Agent:大模型应用设计与实现全流程,附代码案例,建议收藏!
  • 春节宠物出行方案对比分析