想象你是一座大型美食城的管理者,要引进一座“中央厨房”,为全城数万道订单出餐。候选厨房厨艺各异:有的爆炒一流,有的慢炖见长。可你只关心一件事——谁能稳定、快速、划算地满足每天的订单?光点一道菜试吃说明不了问题,你需要一份标准菜单,让每家厨房用同样的菜、同样的火候、同样的计时器比试。这正是 Hugging Face 推理基准在做的事:它从模型库中挑选最经典的“菜品”——BERT、GPT-2 等——制定统一评测流程,让不同 AI 芯片在公平赛道上比拼推理速度。而 MLPerf 就是这场大赛的“裁判委员会”,负责制定规则、组织比赛、公布排行榜。读完这篇文章,你将看懂这张“芯片厨艺榜”背后的每一个数字。

岗位关联

深入学习 Hugging Face 推理基准,能让你在芯片选型、模型部署和成本核算时拥有“看懂跑分、不被忽悠”的硬核能力,是 AI 工程化落地中不可或缺的功课。

目录
  1. 可视化演示
  2. 基准测试概念
  3. 核心评测指标
  4. 测试模型集合
  5. 硬件运行适配
  6. 优化加速策略
  7. 工程实践指南
  8. 行业应用价值
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

基准测试概念

美食城要引进厨房,最怕的是“听厨师自夸”。有的说自家出餐快,有的说自家菜品多,各说各话没法比较。于是裁判委员会端出一份标准菜单:同样的凉菜、同样的炖汤、同样的甜品,规定每道菜的份量和装盘方式,让所有厨房在同一条起跑线上比拼。这就是基准测试的初心——用统一的“尺子”丈量不同的对象。

Hugging Face 推理基准正是这把“尺子”。它从 Hugging Face 模型库中选定若干代表性模型作为固定考题,规定输入数据的形状、批处理大小和测试时长,然后测量芯片完成这些推理任务的速度。作为 MLPerf 推理基准的重要组成部分,它的成绩单会被云厂商、芯片公司甚至研究机构引用,成为“谁家芯片更快”的公共话语权来源。

一个完整评测流程包含三个环节:搭建固定软硬件环境、按脚本跑通所有模型任务、汇总多任务成绩。由于不同任务速度差异很大,成绩汇总不能简单求平均,而是采用几何平均的加速比——让每一项任务都有发言权,又不让某一项极端成绩绑架总分。

正如厨艺大赛的最终名次不是由一道招牌菜决定,而是看整桌菜的平均水准——基准测试用几何平均,正是为了奖励“样样都不慢”的均衡型芯片,而非只擅长某一个模型的偏科选手。

Score=(∏i=1NLbase,iLtarget,i)1N\displaystyle \text{Score} = \left( \prod_{i=1}^{N} \frac{L_{\text{base},i}}{L_{\text{target},i}} \right)^{\frac{1}{N}}
这条公式把“每个模型的相对加速比”连乘后再开方,得到一个不会偏科的总体分数。
  1. 单个任务加速比$L_{\text{base},i}$ 是参考硬件在第 $i$ 个模型上的延迟,$L_{\text{target},i}$ 是被测芯片同样任务上的延迟,两者相除得到相对加速比。
    Lbase,iLtarget,i\frac{L_{\text{base},i}}{L_{\text{target},i}}
  2. 连乘所有任务符号 $\prod_{i=1}^{N}$ 表示把 $N$ 个任务的加速比依次相乘,让每个任务都影响总分。
    ∏i=1Nai\prod_{i=1}^{N} a_i
  3. 几何平均开方对连乘结果开 $N$ 次方,把“偏科”任务的影响压制下来,突出全面表现。
    (∏i=1Nai)1N\left( \prod_{i=1}^{N} a_i \right)^{\frac{1}{N}}

核心评测指标

顾客点了一份套餐,最关心的两件事是:第一口菜多久能上桌?整桌菜能不能源源不断端出来?对应到 AI 推理服务,前者叫“首词时延”,后者叫“吞吐量”。

在 Hugging Face 推理基准中,首词时延(TTFT)记录从提交请求到模型吐出第一个 token 所花的时间,对应顾客“第一口”的等待感;端到端时延则覆盖从提交到完整回复的全部时间;而吞吐量衡量单位时间内系统能处理的 token 总数,决定这家“厨房”一天能接多少单。评测报告通常同时给出这几项,因为它们回答的是不同问题。

吞吐量的计算公式很直观:

一家好厨房既要让第一道菜上得快,又要在高峰期保持稳定出餐。评测时如果只盯着“首词快”而忽略“总量小”,就像只看头盘精致、不顾翻台率的小餐馆——热闹一时,撑不起全城订单。

Throughput=TokenstotalTimewindow\displaystyle \text{Throughput} = \frac{\text{Tokens}_{\text{total}}}{\text{Time}_{\text{window}}}
一段计时窗口内,系统一共生成的 token 数除以耗时,就是每秒钟的产出量。
  1. 分子含义$\text{Tokens}_{\text{total}}$ 是测试窗口内所有并发请求累计生成的 token 总数,token 可以理解为模型输出文本的最小单位。
    Tokenstotal\text{Tokens}_{\text{total}}
  2. 分母含义$\text{Time}_{\text{window}}$ 是从首批请求开始到全部请求结束的总计时时长。
    Timewindow\text{Time}_{\text{window}}
  3. 相除得速率两者相除得到系统每秒可产出的 token 数量,数值越大代表服务容量越高。
    TokenstotalTimewindow\frac{\text{Tokens}_{\text{total}}}{\text{Time}_{\text{window}}}

测试模型集合

标准菜单不能全是拍黄瓜,也不能全是佛跳墙。凉菜测刀工,热菜测火候,慢炖测耐心——只有覆盖不同难度,才能暴露厨房的真实水平。Hugging Face 推理基准的模型集合也遵循这个思路。

基准从 Hugging Face Hub 挑选了一批“家常菜”:BERT 类模型负责文本分类和语义理解,考察典型 Transformer 编码器的前向计算;GPT-2、LLaMA 等生成模型负责续写文本,考察自回归解码的逐 token 生成能力。理解类任务计算密集但输出短,生成类任务输出长且存在顺序依赖,两者恰好覆盖了推理服务的两大典型形态。

为什么参数量如此关键?因为它直接决定了一道“菜”的烹饪成本。推理时每生成一个 token,都要让数据流过全部参数层,计算量与参数量近似成正比:

就像菜单里既有快手凉菜也有慢工炖菜,基准测试用不同规模的模型,逼着芯片展示“全能身手”——既能轻松应对小模型的低延迟请求,也能扛住大模型的高强度计算。

FLOPsper_token≈2×Nparams\displaystyle \text{FLOPs}_{\text{per\_token}} \approx 2 \times N_{\text{params}}
参数越多,每个 token 的运算量越大,这就是大模型“费火候”的根本原因。
  1. 参数规模$N_{\text{params}}$ 是模型参数量,例如 7B 表示 70 亿个参数,越大代表模型越“重”。
    NparamsN_{\text{params}}
  2. 乘加配对矩阵乘法中每个参数约参与一次乘法和一次加法,折算约 2 次浮点运算。
    2×Nparams2 \times N_{\text{params}}
  3. 单token估算自回归生成时,每多生成一个 token 都要完成一次完整的前向传播,所以单 token 运算量约等于两倍参数量。
    FLOPsper_token≈2×Nparams\text{FLOPs}_{\text{per\_token}} \approx 2 \times N_{\text{params}}

硬件运行适配

同样的菜谱,在燃气灶和电磁炉上做出来火候完全不同。芯片是“灶台”,软件栈就是“灶具配件”:配件不匹配,再好的灶台也发挥不出火力。

Hugging Face 推理基准在执行时非常看重软件环境的适配。NVIDIA 芯片走 CUDA 生态,配合 TensorRT 加速引擎把模型编译成高度优化的推理图;AMD 芯片则走 ROCm 生态,近年对 PyTorch 的原生支持已大幅提升;而 ONNX Runtime 提供了一条跨硬件的中立通道,先把模型导出为 ONNX 格式,再交给各家的执行后端。基准报告之所以必须记录这些细节,是因为同一颗芯片在不同软件栈下的成绩可能相差数倍。

适配程度最终体现在硬件利用率上——实际算力占理论峰值的比例:

一位顶尖大厨配上不称手的锅铲,颠勺功夫也要打折扣。评测时只有把软件栈调到最佳状态,才能真正反映芯片的“手艺上限”;否则跑分低,未必是硬件不行,可能只是“灶具”没装好。

Efficiency=FLOPsactualFLOPspeak×100%\displaystyle \text{Efficiency} = \frac{\text{FLOPs}_{\text{actual}}}{\text{FLOPs}_{\text{peak}}} \times 100\%
硬件利用率衡量“灶台火力”真正用上了多少,是判断软件栈是否到位的核心指标。
  1. 实际算力$\text{FLOPs}_{\text{actual}}$ 是实测中芯片每秒真正完成的浮点运算量。
    FLOPsactual\text{FLOPs}_{\text{actual}}
  2. 理论峰值$\text{FLOPs}_{\text{peak}}$ 是芯片手册标称的每秒峰值运算次数。
    FLOPspeak\text{FLOPs}_{\text{peak}}
  3. 利用率换算两者相除再乘以 100%,得到硬件运算效率;利用率低说明大量算力在等待数据搬运而空转。
    FLOPsactualFLOPspeak×100%\frac{\text{FLOPs}_{\text{actual}}}{\text{FLOPs}_{\text{peak}}} \times 100\%

优化加速策略

面对高峰期海量订单,聪明的厨房不会一单一单炒,而是把同款菜凑成一锅出——这就是批处理。AI 推理领域还有更多“省火候”的招数,它们的核心思想如出一辙:把能合并的合并,把能精简的精简,把能记住的记住。

Hugging Face 推理基准的评测过程中,动态批处理把多个请求拼成一个 batch 送入 GPU,矩阵运算从“串行炒菜”变成“并行大锅饭”,吞吐量成倍提升;INT8 量化把模型权重从 32 位浮点压成 8 位整数,模型体积和计算量同步下降,如同把食材提前切好、调料提前配好;KV 缓存则在生成时复用历史 token 的注意力中间结果,避免每生成一个新字都把前面算过的内容重算一遍。

量化是“把菜做熟后抽掉水分做成浓缩汤料”,其数学操作如下:

这些优化就像把备菜、配菜、预制菜做到极致:单看每道菜可能有一点点“锅气”损失,但整体出餐效率大幅提升。评测中我们常看到,同样的芯片,启用优化后吞吐量翻几倍——这才是真实部署时的状态。

Wint8=round(Wfp32s),s=max⁡∣W∣127\displaystyle W_{\text{int8}} = \text{round}\left( \frac{W_{\text{fp32}}}{s} \right), \quad s = \frac{\max|W|}{127}
用权重绝对值的最大值做缩放,把浮点权重映射到整数区间,换取速度和体积的优化。
  1. 动态缩放$s$ 由权重绝对值的最大值除以 127 得到,作为浮点到整数的转换尺度。
    s=max⁡∣W∣127s = \frac{\max|W|}{127}
  2. 浮点归一原始浮点权重 $W_{\text{fp32}}$ 除以缩放因子 $s$,数值落入约 $[-127,127]$ 区间。
    Wfp32s\frac{W_{\text{fp32}}}{s}
  3. 取整量化$\text{round}(\cdot)$ 四舍五入得到 int8 整数权重,内存占用降为原来的四分之一。
    round(Wfp32s)\text{round}\left( \frac{W_{\text{fp32}}}{s} \right)

工程实践指南

要自己办一场“厨房大赛”,准备工作决定成败。先要布置场地、校准工具、固定菜谱,然后才能计时出分。跑 Hugging Face 推理基准同样是一套严谨的工程流程。

第一步是环境搭建:安装对应版本的 CUDA、PyTorch、Transformers,锁定依赖版本号,保证结果可复现;第二步是脚本编写:加载选定模型,构造固定长度和批大小的输入,先跑几轮预热让缓存和算子库就绪,再正式计时取平均值;第三步是结果分析:分别记录延迟、吞吐量、首词时延,画出批大小-吞吐量曲线,找出性能拐点。

动手前可用一个简单公式估算模型占用的显存大小,避免“菜太多锅装不下”:

竞赛要有校准过的秒表和公平的规则,跑分也要有干净的实验环境。记住:凡是报告成绩却不交代软件版本、批大小、预热流程的,都相当于没拿秒表就报成绩——不可信。

SizeGB=Nparams×Bytesper_param10243\displaystyle \text{Size}_{\text{GB}} = \frac{N_{\text{params}} \times \text{Bytes}_{\text{per\_param}}}{1024^3}
参数量乘以每个参数占用的字节数,再换算成 GB,就能预估部署所需显存。
  1. 参数量$N_{\text{params}}$ 是模型权重参数总数,例如 1B 表示 10 亿个参数。
    NparamsN_{\text{params}}
  2. 单参字节$\text{Bytes}_{\text{per\_param}}$ 是每个参数占用的内存字节数,FP32 为 4,FP16 为 2,INT8 为 1。
    Bytesper_param\text{Bytes}_{\text{per\_param}}
  3. 容量换算乘积除以 $1024^3$(1 GB 的字节数),得到模型权重占用的吉字节数。
    Nparams×Bytesper_param10243\frac{N_{\text{params}} \times \text{Bytes}_{\text{per\_param}}}{1024^3}

行业应用价值

美食城的最终决定不是看哪家厨房厨艺最炫,而是算清楚:同样一笔预算,哪家能喂饱最多市民?基准测试的分数,最终要落到真金白银的账本上。

对云厂商而言,Hugging Face 推理基准帮助他们在 A100、H100、MI300 之间做出采购决策;对创业公司来说,它让“每百万 token 多少钱”的报价有了测算依据;对芯片厂商,跑分成绩是进入客户采购清单的敲门砖。三方的共同语言,就是那份标准菜单。

把基准的吞吐量指标和价格结合,就能得到服务的单位成本:

跑分榜上的名次,本质上是一个“性价比坐标系”:延迟、吞吐、价格三者共同决定谁是真正的“城市厨房”。看懂这张榜单,你就能把技术参数翻译成商业决策,在采购会上不再被花哨的宣传词绕晕。

Costper_1M=Priceper_hour×106Tokensper_hour\displaystyle \text{Cost}_{\text{per\_1M}} = \frac{\text{Price}_{\text{per\_hour}} \times 10^6}{\text{Tokens}_{\text{per\_hour}}}
每小时租金除以每小时能服务的 token 数,再乘一百万,就是每百万 token 的边际成本。
  1. 小时租金$\text{Price}_{\text{per\_hour}}$ 是云服务器或芯片每小时的使用价格。
    Priceper_hour\text{Price}_{\text{per\_hour}}
  2. 小时产量$\text{Tokens}_{\text{per\_hour}}$ 是系统在基准负载下一小时能处理的 token 总数。
    Tokensper_hour\text{Tokens}_{\text{per\_hour}}
  3. 折算每百万分子乘以 $10^6$ 后整体相除,得到服务每百万 token 的单价,用于定价和比价。
    Priceper_hour×106Tokensper_hour\frac{\text{Price}_{\text{per\_hour}} \times 10^6}{\text{Tokens}_{\text{per\_hour}}}

AI 应用场景

云厂商GPU选型决策

阶段:硬件评测与采购

解决的问题:过去云厂商采购 GPU 主要看纸面参数,导致部署后发现实际推理性能与预期差距巨大。借助 Hugging Face 推理基准,可以直接使用将要上线的 BERT 分类和 LLaMA 生成任务进行实测,把“理论算力”翻译成“真实吞吐”。

具体案例:某云厂商在扩容其文本生成 API 时,用 Hugging Face 推理基准对比 A100 与自研芯片在批大小 8、序列长度 2048 下的吞吐量曲线,发现自研芯片在低延迟场景优势明显,最终将其用于中小模型服务,A100 集中承载大模型请求。

大模型创业公司成本核算

阶段:成本评估与产品定价

解决的问题:创业公司对推理成本没有量化手段,只能按经验报价,要么亏本要么失去客户。利用基准测出的吞吐量数据,配合每小时租金,就能算出每百万 token 的真实成本,为 API 定价提供依据。

具体案例:一家做法律文档摘要的创业公司,用量化后的 7B 模型跑出自己的 tokens/s,再结合云主机价格,计算出每百万 token 成本约 1.2 元,据此定出对外报价并保证 30% 毛利。

芯片厂商发布性能白皮书

阶段:产品宣传与生态建设

解决的问题:新芯片没有生态积累,客户不敢轻易采用。通过提交 MLPerf 下的 Hugging Face 推理基准成绩,并公开完整软硬件配置,厂商可以把“自卖自夸”变成“第三方规则下的硬成绩”。

具体案例:某国产芯片厂商在适配 ROCm 生态后,提交了包含 BERT、GPT-2 两项任务的推理基准成绩,报告中同时给出电源功耗和吞吐量,成功进入两家互联网公司的边缘推理设备短名单。

Python 演示

python40 行
import timeimport torchimport torch.nn as nn  class DummyLM(nn.Module):    # 极简语言模型:把token向量映射为词表得分    def __init__(self, vocab_size=1024, hidden=128):        super().__init__()        self.embed = nn.Linear(hidden, vocab_size)        self.hidden = hidden     def forward(self, x):        return self.embed(x)  def benchmark_batch(model, batch_size, seq_len=32, repeat=20):    model.eval()    x = torch.randn(batch_size, seq_len, model.hidden)    with torch.no_grad():        for _ in range(3):            model(x)        start = time.perf_counter()        for _ in range(repeat):            model(x)    elapsed = (time.perf_counter() - start) / repeat    tokens = batch_size * seq_len    return elapsed * 1000, tokens / elapsed  def main():    model = DummyLM()    print("batch_size  latency(ms)  throughput(tok/s)")    for batch in [1, 2, 4, 8, 16]:        latency, throughput = benchmark_batch(model, batch)        print(f"{batch:6d}  {latency:12.2f}  {throughput:16.1f}")  if __name__ == "__main__":    main()
目的:用极简模拟模型演示推理基准的核心逻辑——测量不同批大小下的延迟与吞吐量,让你直观感受批处理带来的吞吐提升与延迟代价。
  1. self.embed = nn.Linear(hidden, vocab_size)定义一个线性层模拟模型的输出投影,把隐藏向量变成词表得分
  2. x = torch.randn(batch_size, seq_len, model.hidden)构造一批随机输入,模拟多个并发请求的 token 序列
  3. for _ in range(3): model(x)预热循环,让 CUDA 算子库和内存分配进入稳定状态
  4. elapsed = (time.perf_counter() - start) / repeat多次计时的平均值,得到单次推理的稳定延迟
  5. tokens = batch_size * seq_len这批输入包含的总 token 数,相当于“出餐总量”
  6. for batch in [1, 2, 4, 8, 16]扫描不同批大小,观察吞吐量先升后趋缓的变化趋势

常见误区

误区看到某芯片在 Hugging Face 推理基准榜上排名第一,就认为它一定最适合自己的业务,直接下单采购。

正解基准分数是特定模型、特定批大小、特定软件栈条件下的结果。就像“最快厨师”可能只会做招牌菜,你的业务如果是小批量低延迟场景,榜首芯片未必合适。正确做法是拿自己将要部署的模型和请求分布复测一遍,再结合价格做决策。

为何常见:跑分数字直观震撼,人脑容易把“场景化的排名”误当成“绝对的优劣”,忽略了测试条件与生产环境的差异。

误区认为芯片延迟低,吞吐量就必然高,两个指标永远是“你好我也好”的同向关系。

正解延迟与吞吐常常是跷跷板。降低延迟常用小批大小,但小批降低了芯片的矩阵并行度,吞吐上不去;增大批大小能提高吞吐,但单个请求要排队等资源,延迟反而升高。评测报告必须同时看两个指标,在曲线中寻找“甜点批大小”。

为何常见:日常生活直觉是“快=什么都快”,人们容易忽略并发系统中排队效应与资源争夺的物理规律。

误区动态批处理没有缺点,把批大小调到硬件上限就能让吞吐最大化。

正解批大小增大时吞吐先升后平甚至下降:显存占用逼近上限、注意力计算量平方增长、队列尾部请求等待过久。就像一口锅最多同时煎十个蛋,硬塞二十个反而半生不熟。实践中应画吞吐-批大小曲线,找到边际收益趋零的拐点。

为何常见:只看到批处理“合并省时”的优点,忽视了显存容量上限和边际收益递减的规律。

误区芯片的 TFLOPS 越高推理就一定越快,CUDA、TensorRT 这些“软件细节”不值得关注。

正解同一颗芯片在不同软件栈下的性能可能相差数倍。Hugging Face 推理基准要求公开软硬件配置,正是因为“硬件是身、软件是功”,功夫不到位,好身板也白搭。评测时务必记录框架版本、精度设置、编译选项,否则结果无法复现。

为何常见:硬件参数白纸黑字看得见,软件栈版本琐碎又抽象,容易被归类为“细枝末节”而忽略。

面试题

Q1. Hugging Face 推理基准主要评测 AI 芯片的哪类能力?

单选题 · easy

  • A.模型训练速度
  • B.模型推理性能← 正确答案
  • C.数据处理能力
  • D.网络通信带宽

答案:B。Hugging Face 推理基准属于 MLPerf 推理方向的评测,关注模型部署后的推理延迟与吞吐量,而不是训练环节。训练速度是 MLPerf Training 考察的内容,数据与带宽也不是该基准的核心指标。

Q2. 下列哪个指标衡量“从提交请求到收到第一个输出 token”的耗时?

单选题 · easy

  • A.首词响应时延← 正确答案
  • B.端到端总时延
  • C.平均生成速率
  • D.系统峰值吞吐

答案:A。首词响应时延(TTFT)专门度量预填充阶段耗时,对应“第一口菜上桌”的快慢。端到端总时延包含全部生成时间,生成速率和吞吐衡量的是单位时间产出量,与“首词”不是一个概念。

Q3. 某模型参数量为 70 亿,按“每生成一个 token 约需两倍参数量运算”估算,其单 token 浮点运算量约为多少?

单选题 · mid

  • A.约35亿次运算
  • B.约70亿次运算
  • C.约140亿次运算← 正确答案
  • D.约7万亿次运算

答案:C。根据公式 FLOPs ≈ 2 × N_params,70 亿参数对应约 140 亿次浮点运算。35 亿是把系数算反,70 亿是忽略系数,7 万亿则是把“亿”误算成“万亿”的数量级错误。

Q4. 在推理基准中,吞吐量(tokens/s)的正确计算方式是?

单选题 · mid

  • A.生成总token数除以总耗时← 正确答案
  • B.参数量乘以批次大小
  • C.显存大小除以模型体积
  • D.模型层数乘以并发数量

答案:A。吞吐量=总 token 数÷总耗时,衡量系统每秒产出 token 的能力。参数量、显存、层数只是影响性能的因素,本身并不构成吞吐量的定义,把它们相乘或相除都不是标准指标。

Q5. 关于推理延迟与吞吐量的关系,下列说法正确的是?

单选题 · mid

  • A.延迟越低则吞吐一定越高
  • B.两者完全无关互不影响
  • C.增大批大小通常延迟上升但吞吐提升← 正确答案
  • D.减小批大小能同时提升两者

答案:C。增大批大小提高了矩阵并行度,吞吐量上升;但请求排队和计算变长使单个请求延迟上升,二者形成权衡。A 和 D 违背了这一物理规律,B 忽略了共享同一硬件的必然耦合。

Q6. 为什么 Hugging Face 推理基准要同时测试多种不同规模的模型?

单选题 · mid

  • A.为了占用更多的磁盘空间
  • B.为了覆盖不同计算强度的场景← 正确答案
  • C.为了方便对比各框架的版本
  • D.为了检验模型的微调效果

答案:B。小模型测低延迟场景、大模型测高计算强度场景,组合起来才能全面反映芯片能力。占用磁盘是荒谬选项,框架对比和微调效果不是基准的设计目标。

Q7. 某芯片在某个模型上的推理延迟为 200ms,参考硬件同为 200ms,按几何平均加速比公式单项来看,其加速比为多少?

单选题 · hard

  • A.0.5
  • B.1.0← 正确答案
  • C.2.0
  • D.4.0

答案:B。加速比=参考延迟÷被测延迟=200÷200=1.0,表示二者持平。0.5 表示被测芯片慢一倍,2.0 表示快一倍,4.0 表示快三倍。理解单项比值是读懂几何平均总分的起点。

Q8. 下列哪些属于 Hugging Face 推理基准报告中的核心指标?

多选题 · mid

  • A.端到端推理时延← 正确答案
  • B.每秒生成token数← 正确答案
  • C.模型训练迭代轮数
  • D.首token响应时间← 正确答案

答案:ABD。端到端时延、每秒 token 数、首 token 响应时间分别对应“总等待、总产出、首口体验”,是基准报告的三大核心指标。训练迭代轮数是训练阶段的概念,与推理评测无关。

Q9. 以下哪些优化策略能有效提升推理吞吐量?

多选题 · hard

  • A.引入动态批处理← 正确答案
  • B.使用INT8量化压缩← 正确答案
  • C.增加模型网络层数
  • D.复用KV缓存加速解码← 正确答案

答案:ABD。动态批处理提升并行度、INT8 量化降低计算量、KV 缓存避免重复计算,三者都能直接提升吞吐。增加网络层数会放大参数量和计算量,属于让推理变慢的反向操作。

Q10. 某芯片每小时租金 80 元,基准实测每小时可处理 4000 万个 token,请结合成本公式判断,关于该芯片的说法正确的有?

多选题 · extreme

  • A.每百万token成本为2.0元← 正确答案
  • B.每百万token成本为20元
  • C.若吞吐翻倍则单位成本减半← 正确答案
  • D.若租金翻倍则单位成本翻倍← 正确答案

答案:ACD。成本=80×10⁶÷4000×10⁶=2.0 元/百万 token,A 正确、B 错误。公式中吞吐量在分母、租金在分子,因此吞吐翻倍成本减半,租金翻倍成本翻倍,C、D 正确。这道题检验能否把公式灵活应用到实际核算场景。