3. AI推理工作负载特征分析

在Intel Xeon平台上建设AI推理服务器,第一步不是选CPU型号,而是把要跑的推理负载“画像”画清楚。同一台Xeon服务器,跑ResNet-50图像分类和跑LLaMA-2 7B文本生成,对计算单元、内存带宽、缓存、批处理策略的要求完全不同。本节从模型类型、计算模式、内存访问、批处理、延迟与吞吐量五个维度,建立一套可落地的负载特征分析方法。

一、模型类型决定资源倾斜方向

推理负载按模型结构大致分为四类,它们对Xeon资源的偏好差异显著:

  • 卷积神经网络(CNN):如ResNet-50、YOLOv8。计算以卷积为主,权重可复用,适合AMX(Advanced Matrix Extensions)的BF16/INT8矩阵运算,对缓存局部性要求高。
  • Transformer编码器:如BERT-base。以自注意力+前馈网络为主,序列长度直接影响计算量,对内存带宽和批处理敏感。
  • Transformer解码器/大语言模型:如LLaMA-2 7B、Qwen-7B。自回归逐token生成,是典型的内存带宽受限负载,权重读取量远大于计算量。
  • 推荐/嵌入类模型:如DLRM。包含大量稀疏嵌入查表,对内存容量和随机访问延迟敏感,计算密度低。

判断方法很直接:看模型参数量和每token/每样本的浮点运算量。若参数量大而单次计算量小(如7B模型每token约14 GFLOP),基本可判定为内存带宽瓶颈;若计算量大且权重可复用(如CNN),则偏向计算瓶颈。

二、计算模式:从计算密集到带宽密集

计算模式的核心指标是算术强度(Arithmetic Intensity,AI),即每字节内存访问所对应的浮点运算次数。以LLaMA-2 7B为例,FP16权重约14 GB,生成一个token需读取全部权重,计算量约14 GFLOP,算术强度约为1 FLOP/Byte,远低于Xeon的算力/带宽比,因此性能由内存带宽决定。而ResNet-50的算术强度可达数十甚至上百FLOP/Byte,属于计算密集。

在Xeon上,计算密集负载应优先利用AMX和AVX-512提升吞吐;带宽密集负载则应关注内存通道数、DDR5频率以及是否使用HBM或CXL内存扩展。实际分析时,可用likwid-perfctr或perf stat观察FP_ARITH_INST_RETIRED与MEM_LOAD_RETIRED的比值,快速判断瓶颈类型。

三、内存访问:容量、带宽与局部性

内存访问特征可从三个层面观察:

  • 容量:模型权重+KV Cache+激活值。7B模型FP16权重14 GB,若并发32路、上下文2048 token,KV Cache约需数GB,单机内存建议≥128 GB。
  • 带宽:解码阶段每token读取全部权重,带宽直接决定token/s。8通道DDR5-4800理论带宽约307 GB/s,实际有效带宽约200 GB/s,对应7B模型理论上限约14 token/s(单路)。
  • 局部性:CNN的卷积核可驻留L2/L3;Transformer的注意力矩阵随序列长度平方增长,容易溢出缓存,需关注分块(tiling)和KV Cache布局。
分析内存访问时,先区分“权重读取”和“激活/KV读取”。前者是流式、可预测的;后者是随序列增长的,往往才是长上下文场景的真正瓶颈。

四、批处理:吞吐与延迟的调节旋钮

批处理(Batch Size)是推理服务中最重要的调节参数。增大batch可提升计算单元利用率和吞吐,但会增加单请求延迟和内存占用。对CNN,batch从1增到32,吞吐可提升数倍;对LLM解码,batch增大主要提升权重复用率,但KV Cache线性增长,需在显存/内存容量内权衡。

实际调优时,建议先固定延迟SLA(如P99<200 ms),再逐步增大batch直到延迟触线,记录此时的吞吐作为该SLA下的最优工作点。连续批处理(Continuous Batching)可让不同请求动态拼批,是LLM服务提升吞吐的关键手段。

五、延迟与吞吐量需求:定义与测量

延迟通常关注首token延迟(TTFT)和每token延迟(TPOT);吞吐关注每秒请求数(RPS)或每秒token数(TPS)。二者往往此消彼长。分析时应明确业务优先级:实时对话重延迟,离线批处理重吞吐。

下面这张图把五类特征串成一条分析链,帮助你在拿到一个模型后,按顺序判断它到底“吃”什么资源。

AI推理负载特征分析链 模型类型 CNN / Transformer LLM / 推荐嵌入 计算模式 算术强度 AI 计算密集 vs 带宽密集 内存访问 容量 / 带宽 / 局部性 权重流式 + KV增长 批处理 Batch Size 连续批处理 延迟与吞吐量需求 TTFT / TPOT / RPS / TPS 判断:计算密集? AI > 10 FLOP/Byte → 优先 AMX / AVX-512 → 增大 batch 提吞吐 判断:带宽密集? AI < 5 FLOP/Byte → 关注内存通道/频率 → 量化 INT8/FP8 降带宽 Xeon 平台落地要点 计算密集:AMX BF16/INT8 + 大 batch + 缓存分块 带宽密集:8通道 DDR5 + KV Cache 优化 + 权重量化 延迟敏感:小 batch + 连续批处理 + P99 监控

六、把特征落到Xeon配置上

完成上述分析后,可形成一张负载特征卡,用于指导服务器选型与调优。以下是一个示例(参数为合理假设,非实测):

维度ResNet-50 图像分类LLaMA-2 7B 文本生成
模型类型CNNTransformer 解码器
算术强度约 80 FLOP/Byte约 1 FLOP/Byte
瓶颈计算内存带宽
内存需求权重约 100 MB权重 14 GB + KV Cache
推荐 batch32~648~32(受KV限制)
Xeon 优化重点AMX INT8、L2/L3 分块DDR5 8通道、INT8 量化、连续批处理
关键指标images/sTTFT、TPOT、tokens/s

需要强调的是,同一模型在不同序列长度、不同量化精度下,特征会漂移。例如7B模型在INT8量化后权重降至约7 GB,带宽压力减半,token/s 可接近翻倍,但精度需评估。因此负载特征分析不是一次性工作,而应随模型版本、量化方案和业务SLA持续更新。

不要用“跑得动”作为选型依据。一个7B模型在单路Xeon上能加载,不代表能满足P99延迟;必须用目标batch和上下文长度实测TTFT与TPOT,再反推内存带宽和并发上限。

总结来看,模型类型决定资源方向,计算模式决定瓶颈归属,内存访问决定容量与带宽底线,批处理是吞吐与延迟的调节旋钮,延迟与吞吐量需求则是最终验收标准。把这五条串起来,才能在Xeon平台上做出有依据的推理服务器配置决策。