4. 基准测试的基本概念与流程
在硅光计算芯片的研发与选型中,“跑得快不快”从来不是一个可以直接回答的问题。同一颗芯片,在矩阵乘法微基准下可能达到很高的算力密度,但在完整的神经网络推理任务中,受限于光电转换、数据搬运和调度开销,端到端性能可能大幅缩水。基准测试(Benchmarking)正是为了解决这类问题而建立的一套方法学:它用可重复、可比较、可解释的测量手段,把芯片在特定条件下的真实表现量化出来。
基准测试的定义与目的
基准测试是指针对明确定义的工作负载,在受控条件下对系统进行测量,并依据约定指标给出可比较结论的过程。它包含三个不可分割的要素:工作负载(测什么)、测量条件(怎么测)、评价指标(用什么衡量)。缺少任何一项,结果都无法被他人复现或采信。
对硅光计算芯片而言,基准测试的目的通常包括:验证设计指标是否达成,例如目标算力、目标能效;横向对比不同架构或不同工艺节点的芯片;定位性能瓶颈,判断限制来自光域器件、电域接口还是调度软件;以及为下游用户提供选型依据。需要强调的是,基准测试不是“跑一个分数”,而是通过受控实验回答具体工程问题。
三类基准测试:微基准、应用基准与系统基准
按工作负载的抽象层次,基准测试可分为三类,它们回答的问题、可控性和代表性各不相同。
微基准(Micro-benchmark)针对单一操作或最小功能单元,例如单个马赫-曾德尔调制器的调制速率、单个光电探测器的响应度、一次 8×8 光矩阵乘的延迟与能耗。微基准的优点是变量少、可精确控制、便于定位瓶颈;缺点是脱离真实负载,不能直接外推到应用性能。它回答的是“这个部件本身有多快”。
应用基准(Application benchmark)使用真实或代表性的算法负载,例如 ResNet-50 推理、BERT 编码器前向计算、特定规模的矩阵分解。它关注端到端任务指标,如单张图像推理延迟、每秒查询数、任务级能效。应用基准最贴近用户实际体验,但受软件栈、批大小、数据布局影响大,复现门槛较高。它回答的是“跑这个任务有多快”。
系统基准(System benchmark)把芯片置于完整系统中考察,包括主机接口、驱动、内存、散热、供电以及多芯片互连。典型指标有系统级吞吐、长时间稳定性、功耗墙下的持续性能、多卡扩展效率。系统基准最接近部署现实,但变量最多,需要严格控制环境。它回答的是“装进整机后整体表现如何”。
三者的关系可以理解为从局部到整体、从可控到真实、从部件到部署的递进。合理的评估策略通常是:先用微基准确认器件与基本算子达标,再用应用基准验证算法级性能,最后用系统基准确认工程可用性。
从测试设计到结果分析的完整流程
一个可复现的基准测试流程通常包含五个阶段,它们构成闭环而非单向链条。
第一阶段:测试设计。首先要明确“要回答什么问题”。如果目标是验证光矩阵乘单元的峰值算力,就应选择微基准,固定矩阵规模(例如 64×64)、数据位宽(例如 INT8)和批大小,并定义指标为“每秒完成的乘加次数”。同时必须指定基线:是与同工艺的电学加速器对比,还是与上一版芯片对比。基线不明确,结果就没有参照意义。此外要约定精度判据,例如输出与浮点参考的余弦相似度不低于 0.99,否则性能数字没有意义。
第二阶段:环境搭建。硅光芯片对温度、光功率和供电极为敏感。需要固定激光器输出功率(例如 10 dBm)、芯片工作温度(例如 25±0.5 ℃)、驱动电压摆幅,并锁定固件与驱动版本。任何一项漂移都会污染结果。建议在测量前用光功率计和示波器确认输入光功率与调制信号眼图正常。
第三阶段:执行测量。先预热使芯片达到热平衡,通常需要数分钟;然后以固定次数重复同一负载,例如连续运行 100 次,记录每次的延迟与能耗。重复的目的是获得统计分布,而不是单次最好成绩。原始数据必须完整保存,包括时间戳、温度、光功率和每次迭代结果。
第四阶段:结果分析。计算均值、标准差和变异系数(CV)。若 CV 超过 5%,说明系统不稳定,应先排查热漂移或光耦合抖动,而不是直接报告均值。随后将结果与设计目标、基线对比,并做瓶颈分解:例如端到端延迟中,光计算占 30%、电接口占 45%、数据搬运占 25%,则优化重点应放在电接口与数据路径,而非继续提升光算力。
第五阶段:报告与复现。报告必须包含工作负载定义、环境条件、测量脚本、原始数据和统计方法。缺少这些信息,第三方无法复现,结论就不可信。一个合格的报告应让另一位工程师仅凭文档就能重建实验并得到相近结果。
需要特别注意的是,三类基准测试的结果不能互相替代。微基准的高算力不代表应用基准的高吞吐,应用基准的良好表现也不保证系统基准下的持续稳定。只有按层次逐步验证,并在每一层都保留可复现的条件记录,基准测试才能真正成为硅光计算芯片性能评估的可信依据。