1. 量子机器学习Benchmark工程导论

量子机器学习(Quantum Machine Learning, QML)在过去十年里从理论构想迅速走向可运行的软硬件原型。当研究者开始宣称“某个量子模型在某个任务上优于经典模型”时,一个绕不开的问题随之出现:这个结论是否可复现、可比较、可信任?Benchmark工程正是为回答这个问题而生的工程学科。它不是简单地“跑个分数”,而是把任务定义、数据划分、模型实现、硬件执行、指标计算、统计判定、结果归档组织成一套可重复、可审计、可横向对比的流程体系。

本章界定QML基准测试的工程范畴、核心目标、关键挑战与全流程概览,为后续章节建立共同语言。

一、什么是QML Benchmark工程

Benchmark工程是把“性能评价”当作一个可被工程化管理的系统来对待。对QML而言,它至少包含四层含义:

  • 任务层:明确要测什么,例如二分类、回归、量子态分类、组合优化近似比、量子核方法等,并固定输入分布与评价目标。
  • 实现层:固定量子线路结构、编码方式、优化器、超参搜索空间与随机种子,使不同实现之间差异可归因。
  • 执行层:区分模拟器与真实量子硬件,记录噪声模型、拓扑约束、编译映射、shots数、采样次数等执行上下文。
  • 评价层:定义指标(准确率、损失、保真度、量子体积利用率、采样效率等),并给出置信区间与统计显著性判断。

因此,QML Benchmark工程的核心目标可以概括为三点:可复现(同一配置得到统计一致的结果)、可比较(不同模型/硬件在统一口径下对比)、可解释(性能差异能追溯到具体因素,而非黑箱数字)。

二、为什么QML基准测试比经典ML更难

经典机器学习已有成熟基准(如ImageNet、GLUE),其难点主要在数据与模型规模。QML则叠加了量子特有的复杂性:

  • 硬件噪声与退相干:同一线路在不同设备、不同时间运行结果可能显著不同,噪声不是可忽略的扰动,而是结果的一部分。
  • 测量与采样限制:量子测量本质是概率性的,只能通过有限shots估计期望值,指标本身带有统计误差。
  • 线路表达能力与可训练性:参数化量子线路存在贫瘠高原(barren plateau),梯度随量子比特数指数衰减,训练难度与规模强相关。
  • 数据编码瓶颈:将经典数据加载到量子态(如振幅编码)本身可能消耗大量资源,影响“量子优势”的公平性。
  • 模拟器与真机差异:理想模拟器结果不能直接代表硬件表现,必须显式标注执行后端。

这些因素决定了QML基准不能只报告一个“最好分数”,而必须报告分布、方差、执行上下文与资源开销。

三、全流程概览

一个完整的QML基准测试流程可以抽象为如下信号与数据链路:从任务与数据出发,经过编码、线路执行、测量采样,得到统计估计,再进入指标计算与判定,最终归档为可复现的实验记录。下图给出这一流程的核心结构与关键控制点。

QML Benchmark 全流程:任务 → 执行 → 评价 → 归档 任务定义 分类 / 回归 / 态分类 评价目标与成功阈值 数据与划分 训练/验证/测试固定 随机种子与分布记录 数据编码 角度 / 振幅 / 基编码 编码深度与资源开销 模型与线路 ansatz / 量子核 优化器与超参空间 执行后端 理想模拟器 / 噪声模拟器 / 真机 拓扑映射 · 编译 · shots 测量与采样 Pauli 基测量 · 期望值估计 统计误差 ∝ 1/√shots 训练与评估循环 参数更新 · 早停 · 多次重复 记录每轮指标与资源消耗 指标计算 准确率 · 损失 · 保真度 量子资源开销 · 采样效率 统计判定 均值 ± 置信区间 显著性检验 · 效应量 结果归档 配置快照 · 原始数据 版本号 · 可复现脚本 反馈:失败或方差过大 → 回到任务/编码/后端重新设计

图中虚线回路强调一个工程事实:基准测试不是单向流水线,而是一个带反馈的闭环。当结果方差过大、置信区间重叠或资源开销超出预算时,需要回到任务定义、编码方式或执行后端重新设计,而不是简单调参刷分。

四、关键挑战与工程应对

结合上述流程,QML基准工程面临的主要挑战及应对思路如下:

挑战 具体表现 工程应对
噪声不可忽略 真机结果随校准漂移,同一线路多次运行差异大 固定校准窗口、记录后端快照、报告多次运行分布
采样统计误差 shots不足导致期望值估计偏差,指标虚高或虚低 显式报告shots、给出误差棒、必要时增加重复次数
贫瘠高原 梯度指数衰减,训练停滞,误判为“模型不行” 记录梯度范数、限制线路深度、使用局部代价函数
编码开销不公平 数据加载消耗大量量子资源,优势被高估 单独计量编码资源,与经典预处理成本对齐比较
可复现性差 缺少种子、版本、超参记录,结果无法重跑 配置快照 + 原始数据 + 脚本版本三者绑定归档

五、一个最小可用的基准记录示例

为了让“可复现”落地,下面给出一个最小实验记录片段。它不追求完整,但覆盖了复现所需的关键字段:任务、数据、编码、线路、后端、shots、重复次数与指标分布。示例中的数值为教学假设,用于说明记录格式,并非实测结果。

benchmark_id: qml-bench-001
task: binary_classification
dataset: synthetic_circles_v1  (n_train=400, n_test=100, seed=42)
encoding: angle_encoding  (n_qubits=4, depth=1)
ansatz: hardware_efficient  (layers=3, params=24)
optimizer: COBYLA  (max_iter=200)
backend: noisy_simulator  (noise_model=depolarizing_p=0.01)
shots: 4096
repeats: 10
metrics:
  accuracy_mean: 0.82
  accuracy_std: 0.03
  ci95: [0.80, 0.84]
  gradient_norm_final: 0.004
resource:
  encoding_gates: 8
  ansatz_gates: 72
  total_shots: 40960
status: reproducible

这份记录的价值在于:任何人拿到它,都能重建数据划分、线路结构、后端噪声与统计口径,从而判断“0.82”这个数字是否可信、是否可比较。若缺少shots或重复次数,准确率就只是一个孤立的点估计,无法支撑任何结论。

六、本章在课程中的位置