如果把AI芯片比作餐厅,MLPerf就是一年一度的“AI厨艺奥林匹克”。NVIDIA、AMD、Intel这些参赛餐厅,要用自家灶台(芯片)做同一道指定大菜(一个标准模型,比如BERT或ResNet)。裁判把成绩登记成一本榜单,上面写满了各种数字:上菜时间、切菜速度、加厨师带来的加成、燃气电费开销……问题是,这本成绩册你真的会读吗?冠军一定最适合你吗?FP32和FP8这两档“菜谱”为什么不能放一起比?这篇内容,就是教你像资深食客一样,从榜单数字里挑出对你真正有用的信息。榜单上每一个指标都是一道“菜”的侧面,组合起来才是一桌完整的宴席。

岗位关联

学会解读MLPerf榜单,是AI硬件选型和性能评估的基本功——让你从“看热闹”到“看懂门道”,为团队做出真正划算的技术决策。

目录
  1. 可视化演示
  2. 1. 榜单速读:先分清比赛规则
  3. 2. 训练时间:从备料到装盘的墙钟时间
  4. 3. 吞吐量:每分钟切出多少配菜
  5. 4. 加速比:加人手不如加协调
  6. 5. 能效比:每一块钱电费买多少份菜
  7. 6. 精度差异:分子料理、家常菜与快餐
  8. 7. 实战选型:给自家餐厅配厨房
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示MLPerf结果怎么看的核心机制,通过开始/执行/监控/完成四种模式展示关键概念与交互流程。

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

MLPerf结果怎么看:训练时间 训练时间指标解读 吞吐量与加速比分析 核心机制可视化 MLPerf结果怎么看整体架构与关键组件

1. 榜单速读:先分清比赛规则

走进厨艺大赛现场,第一件事不是看谁家菜香,而是看清赛区:有的赛区规定所有人必须用同一张菜谱、同样的配料,比的纯粹是灶台火力;另一个赛区则允许你自创菜谱,比的是优化脑洞。MLPerf榜单也是这个逻辑——closed分区强制所有参赛者使用同一种模型结构和预设优化方案,本质是在“同一道菜”上公平PK硬件本身;open分区允许自由调整模型、框架和优化策略,展现极致性能的上限在哪。

看懂榜单还要分清“训练”和“推理”两大任务类型。训练好比“学会做这道菜”的过程,推理好比“已经会做了,现在每次上菜要多快”。榜单上每一条结果都标注了提交方是谁(芯片厂商、云厂商还是系统集成商)、用了多少张卡、什么精度格式,这些信息就像菜谱上的配料表,缺了任何一项,数字都可能失去意义。

横向比较不同平台时,可以算一个简单的相对性能比:以某个参考平台为基准,用它的训练时间除以被测平台的时间。这个比值直观地告诉你,被测平台比基准快了多少倍。

所以,读榜第一步永远是看“赛制”:closed还是open、训练还是推理、多少卡、什么精度。只有把这些配料表对齐了,后面谈时间、吞吐、能效才有意义。否则就像拿分子料理的评分去衡量快餐店,牛头不对马嘴。

P=TrefTsub\displaystyle P = \frac{T_{\text{ref}}}{T_{\text{sub}}}
相对性能比大于1,说明被测平台比参考平台快;小于1则更慢。它是“换算成同一把尺子”的常用技巧。
  1. P(相对性能得分)衡量被测平台相对参考平台的快慢,数值越大越快。
    PP
  2. T_ref(参考平台的训练时间)通常取榜单中某个公认基线平台的耗时。
    TrefT_{\text{ref}}
  3. T_sub(被测平台的训练时间)你关注的芯片或系统完成同一任务的耗时。
    TsubT_{\text{sub}}
  4. 比值的意义当 P > 1 时,被测平台比参考平台更快。
    P>1P > 1

2. 训练时间:从备料到装盘的墙钟时间

做一道佛跳墙,从泡发鲍鱼、炖煮高汤到最终端上桌,全程花费的时间就是“墙钟时间”。MLPerf训练任务衡量的是:给定一个标准模型和数据集,让模型训练到某个目标精度(例如图像分类达到指定Top-1正确率),一共需要多长时间。这个时长就是排行榜上最显眼的数字——短者胜出。

这段“上菜时间”可不止是计算的时间,它包含了三大部分:数据从硬盘加载并预处理的时间(备料)、模型前向和反向计算的时间(翻炒)、多卡之间同步梯度的通信时间(传菜)。任何一环拖慢,都会反映到总时间上。所以训练时间短,说明整套系统从数据管线到算力到通信配合得都很流畅。

对比训练时间时,最关键的前提是“目标精度一致”。一个模型训到80%精度需要10小时,另一个只训到70%需要2小时,两者根本没有可比性。就像一锅菜炖到软烂和随便焯水就出锅,说后者“快”是耍流氓。记住:训练时间的胜利,永远是“同菜谱、同熟度”前提下的胜利。

Ttotal=Tdata+Tcomp+Tcomm\displaystyle T_{\text{total}} = T_{\text{data}} + T_{\text{comp}} + T_{\text{comm}}
总训练时间由数据加载、计算和通信三部分拼接而成。看榜时如果只盯着“计算有多快”,往往会漏掉数据管线拖后腿的真相。
  1. T_total(总墙钟时间)从训练开始到达到目标精度的真实耗时,也是榜单排名的直接依据。
    TtotalT_{\text{total}}
  2. T_data(数据时间)数据读取、预处理、增强等“备料”环节的耗时。
    TdataT_{\text{data}}
  3. T_comp(计算时间)模型前向传播与反向传播的“翻炒”计算耗时。
    TcompT_{\text{comp}}
  4. T_comm(通信时间)多卡之间同步梯度、交换信息的“传菜”耗时。
    TcommT_{\text{comm}}

3. 吞吐量:每分钟切出多少配菜

如果一只烤鸭店说“我们每分钟能片出三只鸭子的肉”,你会立刻感受到厨房流水线的效率——这就是吞吐量的感觉。MLPerf榜单中,吞吐量通常写作 samples/s,即每秒钟能处理多少个训练样本。它反映的是数据在“切配”环节的流速:从硬盘到显存、从预处理到喂给模型的完整通道能跑多快。

吞吐量高,意味着数据管线更顺畅、硬件利用率更高。但要注意,吞吐量跟批次大小(batch size)密切相关:一次喂进去的样本越多,每秒处理的样本数通常也越高。所以跨平台比较时,最好关注相同batch size下的吞吐,或者看完整吞吐曲线,而不是被一个孤立的峰值数字迷惑。

切菜再快,如果灶头不够、炖锅不够,整桌菜未必能更早端上来。同理,吞吐量高是好事,但最终还要看它是否转化成了更短的训练时间。榜单上那些“吞吐惊人但收敛很慢”的提交,往往说明虽然样本喂得快,但优化不稳或有效信息利用率不高。所以读榜时把吞吐量当作“流水线健康度”指标,而不是唯一胜负手。

S=NΔt\displaystyle S = \frac{N}{\Delta t}
吞吐量是“单位时间处理的样本数”,数值越高代表流水线越能“灌”数据。但它只代表切菜速度,不代表菜一定能按时上桌。
  1. S(吞吐量)以 samples/s 为单位的流水线处理速率。
    SS
  2. N(样本数)在一个观测窗口内处理的训练样本总数。
    NN
  3. Δt(时间窗口)处理完这 N 个样本所花费的秒数。
    Δt\Delta t
  4. 窗口平均时间窗口越短,越能反映瞬时吞吐的抖动情况。
    S=NΔtS = \frac{N}{\Delta t}

4. 加速比:加人手不如加协调

一道菜一位厨师做要8小时,老板说“那我雇8个厨师,1小时能做好吧?”结果发现,8个人在同一间厨房里互相撞胳膊、抢灶台、传菜混乱,实际花了两小时。这就是多卡加速比的尴尬现实。MLPerf榜单会给出同一平台在不同卡数(如8卡、64卡、128卡)下的训练结果,加速比就是单卡时间除以多卡时间。

理想情况下,N卡加速比就是N倍,这被称为“线性扩展”。但实际中,卡与卡之间的通信带宽有限,每次梯度同步都要等待最慢的那张卡,数据加载也可能成为瓶颈,所以加速比总是低于理想值。工程上,扩展效率(加速比除以卡数)能达到70%以上,已经算不错的分布式系统了。

读榜时,不要只看某平台“用了128卡”这个绝对值,要顺着加速比曲线找“拐点”:卡数加到一定程度,再往上加收益骤减,甚至因为通信拥塞而变慢。就像雇厨师的边际收益一样,总有一个最合适的团队规模,这正是选型时要精打细算的地方。

SN=T1TN,E=SNN×100%\displaystyle S_N = \frac{T_1}{T_N}, \quad E = \frac{S_N}{N} \times 100\%
加速比衡量“加卡”的收益,扩展效率衡量收益是否接近理想线性。8卡跑出5倍加速、效率62%,说明通信开销已经吃掉不少收益。
  1. S_N(N卡加速比)从1卡扩展到N卡,训练时间缩短的倍数。
    SNS_N
  2. T_1(单卡时间)只用1张卡训练到目标精度的耗时。
    T1T_1
  3. T_N(N卡时间)用N张卡协同训练到同等精度的耗时。
    TNT_N
  4. E(扩展效率)加速比除以卡数,100%就是完美线性,越小说明协作损耗越大。
    E=SNN×100%E = \frac{S_N}{N} \times 100\%

5. 能效比:每一块钱电费买多少份菜

同样一桌宴席,你家后厨燃气费花了800元,隔壁餐厅只花了500元——虽然菜都做出来了,但利润天差地别。能效比在MLPerf中就是这种“省钱能力”的量化:每消耗1瓦特功率,能换来多少吞吐量,单位是 samples/s/W。它决定了在长期运营中,这张芯片是“省电小能手”还是“电老虎”。

数据中心的账单不只包括电费,还有散热、空调、备用电源的摊销。一块芯片跑得快但功耗飙到700W,另一块速度稍慢但只有300W,在三年生命周期内,后者的总拥有成本可能反而更低。这也是为什么很多云厂商和超大规模算力中心,会特别看重榜单里的能效指标。

能效比也解释了为什么低精度模式越来越流行:FP8计算比FP32功耗低得多,在完成同等任务时燃气费更省。榜单上如果两个平台训练时间接近,不妨再看看能效比——也许那个看似慢一点的对手,长期运营成本反而低得多。精明的餐厅老板,从来不算一桌菜的账,而是一年的账。

Eff=SPpower\displaystyle \text{Eff} = \frac{S}{P_{\text{power}}}
能效比 = 吞吐量 ÷ 平均功耗。每瓦特能处理更多样本,说明这笔“燃气费”花得更值。
  1. Eff(能效比)单位功率能换来的吞吐量,越高越省电。
    Eff\text{Eff}
  2. S(训练吞吐量)同一任务下的 samples/s 数值。
    SS
  3. P_power(平均功耗)训练过程中系统的平均功耗,单位瓦特(W)。
    PpowerP_{\text{power}}
  4. 直观含义能效比越高,意味着每一瓦特“买菜钱”买到了更多“成品菜”。
    Eff↑\text{Eff} \uparrow

6. 精度差异:分子料理、家常菜与快餐

同样是做一道菜,分子料理要求每克食材精确到小数点后几位,耗时耗力;家常菜靠手感火候,快而管饱;快餐则标准化速成,极致追求翻台率。对应到AI训练,FP32就是“分子料理”——32位浮点,精度最高但最慢;BF16是“家常菜”——16位但保留了FP32的动态范围,大模型训练常用;FP8则是“快餐”——精度低但速度飞快,适合对误差容忍度高的场景。

MLPerf榜单上,同一个芯片在不同精度下的成绩差异巨大:FP8训练可能比FP32快2~3倍。这就意味着,FP32和FP8的成绩绝对不能直接对比,就像不能拿分子料理的时长和快餐的时长比“谁更快”。浮点格式的误差可以用舍入误差界来刻画:

实际训练中,业界普遍采用混合精度训练:用FP32保存主权重保证稳定,用BF16或FP8做前向和反向计算来提速。这样既保住“菜的口味”,又提升“出菜速度”。解读榜单时,务必先看结果的精度标注:FP8的2小时和FP32的6小时,根本是在做两道不同要求的菜,不能简单说“快了3倍”。

fl(x)=x(1+δ),∣δ∣≤μ=2−p\displaystyle \text{fl}(x) = x(1 + \delta), \quad |\delta| \le \mu = 2^{-p}
浮点数只能近似表示真实值,相对误差被限制在 2 的负 p 次方以内。p 越大,数字表示越“精细”,计算也越慢。
  1. fl(x)(浮点近似值)真实数值 x 在计算机中的实际存储表示。
    fl(x)\text{fl}(x)
  2. δ(相对误差)浮点表示与真实值之间的相对偏差,随机且存在上界。
    δ\delta
  3. μ(误差上界)误差的极限,由有效尾数位数 p 决定。
    μ=2−p\mu = 2^{-p}
  4. p(有效尾数位)FP32约为24、BF16约为8、FP8约为3~4,p越大误差越小但计算越慢。
    pp

7. 实战选型:给自家餐厅配厨房

路边小面馆不需要买分子料理设备,米其林三星也不会用快餐炸锅。读榜的最终目的,是给自己的餐厅配厨房。第一步是搞清楚业务负载:你是要训练千亿参数大模型,还是部署千万级用户在线推理?前者更看重BF16/FP8下的多卡扩展能力,后者更看重单卡吞吐、延迟和能效比。负载不同,榜单上的“冠军”可能完全不同。

第二步是算总账。NVIDIA凭借CUDA生态和库支持,在多数榜单上表现强势,但采购价格也不菲;AMD的MI300X在性价比上屡有亮眼表现,ROCm生态也在快速追赶;Intel Gaudi系列则在训练成本和推理能效上打出了差异化。怎么选?把硬件采购成本、寿命期电费、软件迁移成本和你能获得的实际吞吐放在同一个公式里算:

所以,别只盯着榜单第一名的Logo,要拿着自己的业务负载去“点菜”。榜单给你的是可复用的参考基准,而最终决策一定要结合预算、电费、软件生态和团队熟悉度。不选最响亮的招牌,只选最对口的锅灶——这才是MLPerf榜单对技术决策者真正的价值。

Value=PerfeffCproc+Cpower×tlife\displaystyle \text{Value} = \frac{\text{Perf}_{\text{eff}}}{C_{\text{proc}} + C_{\text{power}} \times t_{\text{life}}}
性价比 = 实际业务有效吞吐 ÷ 总拥有成本。分母包含采购成本和电费,分子则是你真实业务负载下能跑出的性能。
  1. Value(性价比)每花一块钱能换来的有效性能产出。
    Value\text{Value}
  2. Perf_eff(有效吞吐)在你自己的模型、数据规模和精度设置下测得的吞吐。
    Perfeff\text{Perf}_{\text{eff}}
  3. C_proc(采购成本)硬件购买费用,包括服务器、网络设备等一次性投入。
    CprocC_{\text{proc}}
  4. C_power × t_life(寿命期电费)平均功耗乘以运行时长与电价,是长期运营的主要成本。
    Cpower×tlifeC_{\text{power}} \times t_{\text{life}}

AI 应用场景

场景一:数据中心硬件选型

阶段:硬件选型与成本预算

解决的问题:以往采购训练服务器只能看厂商宣传单页,无法知道真实训练速度。通过MLPerf榜单,在同精度、同目标精度条件下对比不同厂商芯片的训练时间、吞吐量和能效比,估算自家典型模型的训练耗电和全生命周期成本。

具体案例:某AI公司计划训练70亿参数大模型,参考MLPerf训练榜单中H100与MI300X在BF16下的训练时间和能效比,结合当地电价计算出单次训练电费差近20%,最终选择了总拥有成本更低的方案。

场景二:云厂商算力定价与竞争力分析

阶段:产品定价与商业分析

解决的问题:云厂商推出GPU实例时不能拍脑袋定价,需要用榜单数据换算“单位算力成本”,找到既有竞争力又有利润的价格区间。

具体案例:某云厂商对比MLPerf推理榜单中A100和H100的吞吐量差异约40%,再结合采购与电费成本,将H100实例定价定为A100的1.55倍,既体现性能溢价又维持了客户吸引力。

场景三:自研训练系统性能对标与优化

阶段:模型训练调优与性能工程

解决的问题:自有训练系统的速度明显低于MLPerf榜单中同芯片的参考成绩,需要找出瓶颈环节。参照训练时间构成公式(数据+计算+通信),定向profiling定位短板。

具体案例:某团队使用8卡训练BERT,总时长是MLPerf closed分区同芯片参考值的1.8倍;通过拆分T_data、T_comp、T_comm,发现数据加载占35%,优化存储后总时长压缩到1.2倍。

Python 演示

python59 行
"""MLPerf 榜单结果解读示例:读取结果 CSV,计算相对性能与能效比。"""import csvfrom dataclasses import dataclass  @dataclassclass BenchResult:    vendor: str    chip: str    precision: str    train_minutes: float    samples_per_sec: float    power_watts: float  def load_results(path):    results = []    with open(path, encoding="utf-8") as f:        for row in csv.DictReader(f):            results.append(BenchResult(                vendor=row["vendor"],                chip=row["chip"],                precision=row["precision"],                train_minutes=float(row["train_minutes"]),                samples_per_sec=float(row["samples_per_sec"]),                power_watts=float(row["power_watts"]),            ))    return results  def analyze(results):    fastest = min(r.train_minutes for r in results)    analyzed = []    for r in results:        relative = fastest / r.train_minutes        efficiency = r.samples_per_sec / r.power_watts        analyzed.append((r, relative, efficiency))    analyzed.sort(key=lambda t: t[1], reverse=True)    return analyzed  def main():    try:        results = load_results("mlperf_sample.csv")    except FileNotFoundError:        results = [            BenchResult("NVIDIA", "H100", "BF16", 120.0, 4500.0, 700.0),            BenchResult("NVIDIA", "A100", "BF16", 165.0, 3100.0, 400.0),            BenchResult("AMD", "MI300X", "BF16", 150.0, 3600.0, 750.0),            BenchResult("Intel", "Gaudi2", "BF16", 190.0, 2700.0, 600.0),        ]    print("===== MLPerf 结果解读与对比 =====")    print(f"{'厂商':<8}{'芯片':<10}{'精度':<6}{'时间(min)':<10}{'相对性能':<8}{'能效(s/W)':<10}")    for r, rel, eff in analyze(results):        print(f"{r.vendor:<8}{r.chip:<10}{r.precision:<6}{r.train_minutes:<10.1f}{rel:<8.2f}{eff:<10.3f}")  if __name__ == "__main__":    main()
目的:演示如何将MLPerf结果CSV转化为“相对性能排名”和“能效比排名”,辅助硬件选型决策。
  1. fastest = min(r.train_minutes for r in results)找出所有提交中训练时间最短的记录,作为相对性能的基准。
  2. relative = fastest / r.train_minutes计算每个平台相对基准的“倍数”,数值越大代表越快。
  3. efficiency = r.samples_per_sec / r.power_watts用吞吐量除以平均功耗,得到每瓦特能处理的样本数,即能效比。
  4. analyzed.sort(key=lambda t: t[1], reverse=True)按相对性能降序排列,让榜单最强者排在最前。
  5. try: results = load_results(...)优先读取外部CSV文件,文件不存在时用内置示例数据兜底,保证脚本开箱即跑。

常见误区

误区很多人只看训练时间最短的那个芯片,觉得“排名第一就是最好”,直接按冠军下单采购。

正解榜单冠军往往是在特定精度、特定卡数、特定软件栈下胜出的。你的业务负载、预算、电费、团队熟悉的生态可能完全不同。就像米其林冠军餐厅的顶级后厨,未必适合做小区门口的平价食堂——要看菜谱、客流和成本结构是否匹配。

为何常见:榜单天然以时间排名呈现,人脑倾向于把“第一名”等同于“最优解”,忽略了它们各自的上榜条件。

误区看到同一块芯片FP8成绩2小时、FP32成绩6小时,就兴奋地宣布“FP8比FP32快3倍”,写进各种汇报PPT。

正解不同精度下的成绩对应的是“不同要求的两道菜”。FP8对数值误差的容忍度更高,不是所有模型都能无损切换到FP8。只有在你的模型能容忍FP8误差、且目标精度对齐的前提下,这个“3倍”才成立。榜单对比必须“同精度、同目标、同模型”。

为何常见:榜单上精度标注往往写在不起眼的角落,小白容易把不同精度的数字直接抓来比较。

误区看到某芯片samples/s很高,就直接判断“它训练一定最快”。

正解吞吐量是流水线的瞬时流速,训练时间是从零到收敛的端到端总时长。吞吐高但可能需要更多轮数才能收敛,或者通信同步不顺,总时长不一定短。就像切菜飞快但灶头不够用,出菜速度照样上不去。

为何常见:两个指标都贴着“性能好”的标签,直觉上容易画等号,实际上一个是“流速”,一个是“总耗时”。

误区8卡训练要2小时,就理所当然认为16卡只要1小时,32卡只要半小时。

正解多卡扩展受通信带宽、同步等待、数据加载瓶颈限制,效率必然随卡数下降。MLPerf榜单的价值恰恰在于展示不同卡数下的真实加速曲线,帮你找到“再加卡就不划算”的拐点。现实中扩展效率能到70%就已经值得庆祝了。

为何常见:“人多力量大”的生活直觉在并行计算里容易翻车,因为协作本身是有成本的。

面试题

Q1. MLPerf的closed分区对参赛者的核心要求是什么?

单选题 · easy

  • A.统一模型结构并限定优化方案← 正确答案
  • B.允许任意改变网络结构
  • C.只能使用英伟达的显卡
  • D.不需要报告最终精度

答案:A。closed分区要求所有参赛者使用相同的模型结构和预设优化方法,目的是公平PK硬件本身的性能,就像厨艺大赛规定所有人用同一张菜谱。open分区才允许自由发挥,因此选A。

Q2. “到目标精度的训练时间”指的是什么?

单选题 · easy

  • A.模型达到指定精度消耗的墙钟时间← 正确答案
  • B.单个训练样本的前后推断耗时
  • C.数据从磁盘拷贝到显存的时间
  • D.一次参数更新的等价计算时间

答案:A。MLPerf训练时间是指从训练开始到模型达到规定目标精度(如指定Top-1正确率)的完整墙钟时间,包含了数据加载、计算和通信全过程。它对应“从备料到装盘”的总时长。

Q3. MLPerf训练榜中,吞吐量常用的单位是什么?

单选题 · mid

  • A.samples/s 每秒处理的样本数← 正确答案
  • B.tokens/s 每秒处理的词元数
  • C.images/h 每小时处理的图片数
  • D.epochs/day 每天训练的轮次数

答案:A。MLPerf训练任务以样本为单位,吞吐量标准表示是 samples/s,即每秒处理多少训练样本。它衡量的是数据管线和算力的配合效率,类似“每分钟切出多少配菜”。

Q4. NVIDIA H100在BF16模式下比FP32训练更快,主要原因是?

单选题 · mid

  • A.BF16动态范围接近FP32且计算更快← 正确答案
  • B.BF16尾数更多因而精度更高
  • C.FP32在训练时完全不兼容标准库
  • D.FP32的寄存器数量比BF16少两倍

答案:A。BF16用了16位存储,但指数位与FP32相同,动态范围接近FP32,同时计算吞吐更高、显存占用更小,因此训练更快。它是“家常菜做法”,速度快且口味依然达标。

Q5. FP8格式包含的两种常见子格式是什么?

单选题 · mid

  • A.E4M3 和 E5M2 两种子格式← 正确答案
  • B.FP16 和 BF16 两种半精度
  • C.INT8 与 UINT8 两种整数
  • D.TF32 与 FP32 两种单精度

答案:A。FP8的两种常见编码是E4M3(4位指数、3位尾数)和E5M2(5位指数、2位尾数),分别侧重精度和动态范围。它们是“快餐档”精度,速度极快但误差更大。

Q6. 影响多卡训练加速比的主要因素有哪些?

多选题 · mid

  • A.卡间通信带宽限制明显← 正确答案
  • B.同步梯度引入额外等待← 正确答案
  • C.数据加载与预处理瓶颈← 正确答案
  • D.模型训练参数总量大小

答案:ABC。通信带宽、同步等待和数据加载瓶颈都会拖累加速比;模型参数量虽然影响通信量,但它属于任务本身的特性,而非“协作损耗”的来源。就像厨房打架,锅碗瓢盆太多是任务需求,人手配合差才是效率问题。

Q7. 芯片A吞吐100 samples/s、功耗200W,芯片B吞吐80 samples/s、功耗100W,谁的能效比更高?

单选题 · hard

  • A.A芯片能效比更高
  • B.B芯片能效比更高← 正确答案
  • C.两者能效比相同
  • D.缺失训练时间无法判断

答案:B。能效比=吞吐量÷功耗。A为100/200=0.5 samples/s/W,B为80/100=0.8 samples/s/W,B更高。这就像两家餐厅,B用更少的燃气费做出了接近A的菜品量,长期运营更省钱。

Q8. 解读MLPerf榜单时,为什么不能只看训练时长排名就做决策?

多选题 · hard

  • A.不同精度下结果差异悬殊← 正确答案
  • B.数据集与目标精度可能不同← 正确答案
  • C.硬件成本与能耗需要权衡← 正确答案
  • D.榜单时长时间随机波动

答案:ABC。FP32和FP8不可直接比,目标精度不对齐也不可比,采购成本和电费更要综合权衡。榜单成绩本身有一套规范流程,并非随机波动。就像不能只看一道菜上菜快就评它全店最好,还得看菜价、口味和环境。

Q9. 设FP32的有效尾数位数p=24,BF16的有效尾数位数p=8,则BF16的舍入误差上界是FP32的多少倍?

单选题 · extreme

  • A.BF16误差约为FP32的2^8倍
  • B.BF16误差约为FP32的2^16倍← 正确答案
  • C.BF16误差与FP32完全相同
  • D.BF16误差比FP32低2^8倍

答案:B。舍入误差上界μ=2^-p。FP32的μ=2^-24,BF16的μ=2^-8,两者相除得2^(24-8)=2^16。BF16的误差上界是FP32的65536倍,这就是为什么高精度场景不能盲目降精度。

Q10. MLPerf的open分区相比closed分区,最主要的特点是什么?

单选题 · easy

  • A.允许提交方自定义优化方法← 正确答案
  • B.强制要求全部使用FP32精度
  • C.只允许推理任务参加测试
  • D.不需要报告模型最终精度

答案:A。open分区允许自由修改模型结构、框架和优化策略,目标是探索性能上限,类似“自由创意菜”赛区。closed分区则要求统一菜谱,公平PK硬件本身,两者互补但不混用。