What Is LLM Inference? How AI Models Generate Responses

IBM TechnologyYouTube07:45

原视频
学习与成果

概览

解释LLM推理如何把静态权重变成实时响应,并拆解推理引擎从分词、路由、批处理到prefill与decode的完整流程。

关键点

  1. 1推理成本随请求累积,是否超过训练成本取决于使用规模、模型和硬件
  2. 2推理引擎负责调度请求、管理GPU并决定批处理方式
  3. 3分词把文本映射为token ID;一些服务按输入和输出token计费
  4. 4连续批处理可减少空闲并提高吞吐,实际利用率取决于负载和配置
  5. 5常见情况下prefill偏计算受限,decode偏内存带宽受限,具体瓶颈取决于配置
  6. 6TTFT衡量首个输出的等待时间,ITL衡量相邻输出之间的时间

时间轴5 章 · 24 节

第 1 章

推理的定义与成本

介绍推理及其随请求累积的成本,并说明使用规模和配置会影响成本。

1.1

训练昂贵但模型只是静态权重

训练前沿模型可能花费数亿美元并耗时数月,但训练完成后模型只是一大堆闲置在内存中的数字,本身并不知道如何做任何事。

1.2

推理是模型对新输入产生输出

推理是让训练好的模型对新输入运行并产生输出的过程,每次请求都会产生推理计算。训练得到权重后,模型仍可继续微调或重新训练。

1.3

推理成本随请求累积

推理会随请求产生计算成本。累计推理成本是否超过训练成本,取决于模型、使用量、训练规模、硬件和运行方式。

1.4

本期主题:从提示到响应的全过程

本期聚焦提示到响应之间真正发生了什么,以及如何让服务过程尽可能快速、便宜。

第 2 章

推理引擎与请求入口

介绍推理引擎的职责与常见例子,并说明请求入口的OpenAI兼容端点与分词步骤。

2.1

推理引擎负责可靠快速服务请求

管理推理的软件叫推理引擎,职责是把一堆权重变成能可靠、快速、大规模服务请求的系统,包括调度请求、管理GPU资源和决定如何一起处理工作。

2.2

Ollama与llama.cpp都是推理引擎

Ollama和llama.cpp都是推理引擎的例子。

2.3

OpenAI兼容端点便于换模型不改代码

多数推理引擎提供标准的OpenAI兼容端点,同一请求格式可用于不同底层模型,便于应用换模型而不改代码;但请求进入数据中心前,还需转成模型能理解的格式。

2.4

分词把文本映射为token ID

分词把文本拆成token,可能是整词、词的一部分或标点,再把每个token映射为任意token ID;模型看不到单词,只看到ID流。

2.5

按token计费,词表大小影响效率

分词将文本拆成token并映射为token ID。一些模型服务按输入和输出token数量计费;实际价格、词表及分词效率因模型和服务而异。

第 3 章

硬件路由与批处理

介绍硬件路由、批处理与连续批处理,以及它们对利用率和吞吐的影响。

3.1

请求到达数据中心后先做认证

请求需要物理硬件处理,通常位于数据中心;到达后先通过API密钥或token认证,证明你有权使用这些GPU资源。

3.2

推理路由器按提示特征分配硬件

认证后请求被路由到特定硬件,推理路由器查看提示的长度和内容,把它分配到当时最适合该请求的可用硬件。

3.3

逐条处理会浪费GPU并拖垮吞吐

请求并非只有一条,逐条送入模型就像工业烤箱一次只烤一个点心,会浪费大量GPU资源并拖垮系统吞吐量,即系统一次能承载的请求数。

3.4

批处理把多个请求合并成工作单元

批处理把请求分组,让GPU把它们当作一个更大、更高效的工作单元来处理。

3.5

连续批处理提高利用率

连续批处理允许已完成的请求退出并让新请求加入,有助于减少空闲并提高吞吐;实际利用率取决于请求负载和配置。

3.6

调度器负责批处理与硬件路由

调度器负责批处理过程,并把请求路由到真正执行计算、生成响应的硬件。

第 4 章

Prefill与Decode两阶段

介绍prefill如何处理输入并建立KV缓存,以及decode如何生成输出;两阶段的瓶颈和延迟受具体配置影响。

4.1

推理分为prefill和decode两个阶段

LLM推理包含两个不同阶段:prefill和decode。

4.2

Prefill处理提示并建立KV缓存

Prefill处理输入提示并建立可复用的KV缓存;实现也可能分块处理长提示。KV缓存帮助后续解码复用已有计算,避免每次重新计算全部上下文。

4.3

Prefill的常见计算瓶颈

Prefill通常需要并行处理输入并建立缓存,常表现为计算密集;实际瓶颈也会受输入长度、缓存和硬件配置影响。

4.4

Decode逐token生成响应

KV缓存随后交给decode阶段,模型在这里逐token生成响应。

4.5

每步产生概率分布并追加token

decode每一步都做一次前向传播,对词表中每个token产生概率分布,即下一个token的候选排名;选中一个token后追加到序列,再从头重复。

4.6

Decode的常见内存带宽瓶颈

常见的逐token解码需要反复读取模型权重和缓存,常受内存带宽限制;批量大小、推测解码和硬件等因素可能改变瓶颈。

4.7

TTFT与ITL的测量口径

客户端TTFT通常指发送请求到收到首个输出的时间,可能包含网络、排队和prefill;ITL衡量相邻输出之间的时间,具体口径依测量方式而异。

第 5 章

总结与互动

总结推理是调度、路由与两阶段计算的组合,并邀请观众在评论区提出后续问题。

5.1

推理是调度、路由与两阶段计算的组合

推理利用训练好的模型生成响应,请求经过调度与批处理,再由prefill处理输入、decode生成输出。计算与内存带宽的具体约束取决于运行配置。

5.2

欢迎在评论区提出后续问题

欢迎在评论区提出后续问题,或说明你正在优化推理栈的哪一部分。

由知否生成 · 整理你自己的资料 · 登录后按账户权益阅读、整理与提问