一、GQCO 的整体思路概览¶
一句话概括:
GQCO 用一个图编码器 + Transformer 解码器,在“问题实例作为条件”的前提下,直接生成用于求解该组合优化问题的量子电路(ansatz),并通过偏好优化(DPO/CPO)让模型更偏向生成能量更低的电路。
工作流可以分成 5 个阶段:
- 问题表示与图编码:把组合优化问题变成 Ising / QUBO 哈密顿量,再转为带特征的图。
- 图编码器(Graph Encoder):用图 Transformer 把这个问题图编码成上下文向量。
- Transformer 解码器生成电路:条件在该上下文上,自回归生成量子门序列(电路)。
- 量子评估与偏好构造:用生成的电路跑量子模拟/硬件,计算能量,构造“好 vs 坏”电路的偏好对。
- 偏好优化训练(DPO/CPO):用偏好优化损失更新模型,使其更倾向于生成优质电路;训练好后,用来对新问题“一键出电路和解”。
下面按时间顺序详细展开。
二、GQCO 的工作全流程(细节版)¶
阶段 1:从组合优化问题到图表示¶
- 问题形式化为 Ising / QUBO
- 对于 Max-Cut 等组合优化问题,先写成 Ising 哈密顿量: $$ H(x) = \sum_{i<j} J_{ij} Z_i Z_j + \sum_i h_i Z_i $$
-
其中 \(J_{ij}\)、\(h_i\) 是问题实例的系数。
-
构造带特征的图
- 节点集合 \(V\):每个节点 \(v_i\) 对应一个自旋/变量 \(x_i\)。
- 边集合 \(E\):每条边 \(e_{ij}\) 对应一个相互作用项 \(J_{ij} Z_i Z_j\)。
- 节点特征 \(v_i\):由 \(h_i\) 构造(包括符号、相对大小等)。
- 边特征 \(e_{ij}\):由 \(J_{ij}\) 构造(包括正负号、归一化权重等)。
- 得到一个“带有物理语义特征的图”,是 GQCO 的核心输入表示。
这一阶段的意义:
把“问题实例”编码成一个结构化图数据,方便用图神经网络/图 Transformer 提取“问题结构”。
阶段 2:图编码器提取“问题上下文”¶
- 图 Transformer 编码
- 使用图 Transformer 卷积层(Graph Transformer Convolution):
- 多层消息传递 + 自注意力(一般 12 层迭代),每层后接前馈网络(FFN)和激活(GELU)。
- 中间表示维度约为 256,注意力头数约为 8。
- 输出:
- 节点级嵌入(每个节点一个向量)。
- 通过图级读出(如全局池化/特殊虚拟节点),得到一个**问题上下文向量 \(c\)**,表示整个实例。
这一阶段的意义:
学到一个“问题实例 → 向量表示”的映射,使得后续解码器可以**条件在不同问题上生成不同的电路**。
阶段 3:Transformer 解码器生成量子电路¶
- 定义门池(Operator Pool)与 token
- 预先定义一组可用的量子门 \(\{U_\ell\}_{\ell=1}^L\),例如:
- 单比特门:Hadamard \(H\)、旋转门 \(R_x(\pi/2)\)、\(R_z(\theta)\) 等;
- 双比特门:CNOT、RZZ(QAOA 风格的 ZZ 交互门)等;
- 加上 identity 门和“结束 token”。
- 每个门(含其目标/控制比特索引)对应一个离散 token ID。
-
对不同 qubit 数 \(n\),不适用的门通过掩码(mask)屏蔽。
-
解码器结构
- 使用标准 decoder-only Transformer:
- 12 层,自注意力 + FFN,8 个注意力头,隐藏维度 256;
- 输入是“前缀 token 序列 + 问题上下文 \(c\)(通过某种方式注入,如 cross-attention 或拼接)”;
- 输出每个位置的 logits 向量 \(w^{(k)} \in \mathbb{R}^{|V|}\)(候选门池大小)。
-
使用**Mixture-of-Experts (MoE)** 机制:
- 以 qubit 数为条件,为不同规模问题启用不同专家子网络,提高可扩展性;
- 训练时,通过 curriculum learning 逐步增加 qubit 数(从 3 到 10 等)。
-
自回归采样生成电路
- 对于给定问题实例 \(x\):
- 输入起始 token(例如
<BOS>)+ 上下文 \(c\),得到位置 1 的 logits \(w^{(1)}\),softmax 后采样得到第一个门 token \(j_1\)。 - 再输入 \(\{j_1\} + c\),得到 \(w^{(2)}\),采样 \(j_2\)。
- 如此迭代,直到采到“结束 token”或达到最大长度 \(2n^2\)。
- 输入起始 token(例如
- 得到完整的 token 序列 \(\vec{j} = (j_1, \dots, j_N)\),代表一条电路: $$ U(\vec{j}) = U_{j_N} \cdots U_{j_1} $$
这一阶段的意义:
把“问题上下文向量”直接翻译成“量子门序列”,实现 问题实例 → 量子电路 ansatz 的条件生成。
阶段 4:量子电路评估与偏好构造¶
- 量子评估:计算期望值/能量
- 固定初态 \(|\phi_{\text{ini}}\rangle = |0\rangle^{\otimes n}\)。
- 对每条生成电路 \(U(\vec{j})\),执行: $$ |\psi\rangle = U(\vec{j})|\phi_{\text{ini}}\rangle $$
-
计算可观测量期望值(即问题的 cost / 能量): $$ E(x,\vec{j}) = \langle\psi| O(x) |\psi\rangle $$ 其中 \(O(x)\) 是由问题实例 \(x\)(Ising 系数)定义的可观测量。
-
构造偏好对(“谁更好”)
- 对每个问题实例 \(x\),从当前模型中采样 \(M\) 条电路: \(\{U_1,\dots,U_M\}\),计算各自能量 \(\{E_1,\dots,E_M\}\)。
- 针对这些结果构建**偏好样本**:
- 例如:选择能量最小的电路 \(U^+\),再随机选取若干其他电路 \(U^-\),组成对 \((U^+, U^-)\),认为 \(U^+\) “更优”。
这一阶段的意义:
不需要真实“标签电路”,只需要比较“哪个生成电路更好”,即通过能量值自动产生训练信号,实现无数据集(dataset-free)训练。
阶段 5:偏好优化训练(DPO / CPO)¶
- DPO(Direct Preference Optimization)损失
- 用类似 DPO 的公式,让模型在给定问题实例 \(x\) 时,更倾向生成优电路 \(U^+\) 而非次优电路 \(U^-\):
- 形式上会用到:
- 当前模型分布 \(\pi_\theta(U|x)\):通过解码器得到的 token 序列概率;
- 一个参考分布 \(\pi_{\text{ref}}(U|x) \propto \exp(-E(x,U))\);
- 目标是最大化: $$ \log \sigma\left(\beta \log \frac{\pi_\theta(U+|x)}{\pi_{\text{ref}}(U+|x)} - \beta \log \frac{\pi_\theta(U-|x)}{\pi_{\text{ref}}(U-|x)}\right) $$
-
直观含义:在考虑能量信息的基础上,让模型概率分布 \(\pi_\theta\) 更接近“低能量优先”的行为。
-
CPO / BvO 等辅助损失
- 当采样出的电路过于相似、区分度低时,引入**对比偏好优化(CPO)**:
- 加入负对数似然项,直接最大化最佳电路的生成概率;
- BvO(Best-vs-Others)策略:用“最佳电路 vs 若干其他电路”的多对比学习。
- 这些损失共同作用,既利用能量评估,又保持训练稳定性。
-
参数更新与训练策略
- 优化器:通常使用 Adam。
- 训练策略:
- curriculum learning:先在 3 qubit 训练,再逐步加入 4、5、…、10 qubit 问题;
- 每增加一个规模,就为 MoE 添加新的专家模块;
- 维持一部分小规模样本,避免遗忘。
- 训练资源:
- 多张 NVIDIA V100 GPU,数据并行;
- 哈密顿量生成与梯度汇总分布式执行;
- 训练耗时约几十 GPU 天量级。
这一阶段的意义:
通过偏好优化,把“量子评估给出的好坏排序”转化为“模型生成分布的偏好”,最终学会:对不同问题,直接给出接近最优的电路结构。
阶段 6:推理与使用方式¶
- 对新问题实例的使用流程
- 输入:一个新的组合优化问题(给出 \(J_{ij}, h_i\))。
- 步骤:
- 把问题转换为图 + 节点/边特征;
- 用图编码器得到上下文向量 \(c\);
- 用解码器在条件 \(c\) 下多次采样电路(例如 100 条);
- 对这批电路分别评估能量,选出能量最低的一条;
- 该电路既是本问题的量子求解器(可在真实量子机上运行),内部测量得到最可能的 bitstring,即问题解。
- 也可以:只用一次采样 + 少量采样就能得到高质量解(在实际实验中,10-qubit Max-Cut 在 IonQ Aria 上很多情况下**一次测量就能命中最优解**)。
这一阶段的意义:
训练结束后,求解新问题只需做一次“前向生成 + 少量量子评估”,不再需要对每个问题做长时间变分优化。
三、GQCO 的输入 / 输出 总结¶
1. 训练/推理时的“输入”是什么?¶
- 主要输入(问题实例):
- Ising / QUBO 哈密顿量的系数集合 \(\{J_{ij}, h_i\}\)。
- 经处理后形成的图:
- 节点特征 \(v_i\)(由 \(h_i\) 构造);
- 边特征 \(e_{ij}\)(由 \(J_{ij}\) 构造)。
- 隐含条件信息:
- 问题规模(qubit 数 n)→ 决定使用哪些门、MoE 中启用哪些专家、最大序列长度 \(2n^2\)。
2. 训练/推理的“输出”是什么?¶
对给定实例 \(x\),GQCO 可以输出多层次结果:
- 主输出:量子电路
- 形式:token 序列 \(\vec{j} = (j_1,\dots,j_N)\);
-
对应的门序列 \(U(\vec{j}) = U_{j_N}\cdots U_{j_1}\)。
-
物理量输出:能量/期望值
-
通过模拟/测量得到的 \(\langle O(x)\rangle_{U(\vec{j})}\)。
-
问题解(比特串)
- 在电路作用于 \(|0\rangle^{\otimes n}\) 后测量:
- 统计测量结果的分布;
- 取概率最大的 bitstring 作为该实例的最优/近似最优解。
概括成一句话:
输入:组合优化问题(Ising/QUBO 系数 → 图),
输出:一条(或多条)适配该问题的量子电路,以及由此得到的能量和最优解 bitstring。
四、GQCO 的训练数据是什么?¶
1. 数据来源:无预制数据集(dataset-free)¶
- 训练过程中,问题实例(哈密顿量)是**在线随机生成**的:
- 对每个 qubit 数 \(n\),随机生成 \(J_{ij}, h_i\);
- 不需要预先存储庞大数据集;
- 实际训练时也不保存这些样本,只依靠随机种子保证可复现。
2. 数据形式:偏好对而非“真标签”电路¶
- 对每个问题实例:
- 从当前模型中采样 M 条电路;
- 计算每条电路的能量;
- 选出“更好”的电路 \(U^+\) 和“较差”的电路 \(U^-\),形成偏好对 (x, U^+, U^-)。
- 训练使用的“数据”实质上是:
- \(\{(x, U^+, U^-)\}\) 加上对应的能量差;
- 不需要任何“人工标注的最优电路”。
3. 训练信号:基于能量的偏好优化¶
- 损失函数依赖于:
- 模型生成概率 \(\pi_\theta(U|x)\);
- 能量 \(E(x,U)\);
- 基于能量构造的参考分布 \(\pi_{\text{ref}}(U|x) \propto \exp(-E)\)。
所以可以总结为:
训练数据 = 随机生成的问题哈密顿量 + 模型自己生成的电路 + 这些电路的能量评估结果。
模型通过“比较自己生成的不同电路谁好谁坏”来学习,而不需要人工提供“标准答案电路”。
五、GQCO 的作用与优势¶
1. 作为 “问题到电路” 自动映射器¶
- 对每个组合优化问题实例 \(x\),GQCO给出一个**专属量子电路 ansatz**:
- 不再需要人手设计 QAOA 层数和结构;
- 电路是“问题条件化”的(context-aware)。
2. 替代/增强 QAOA 等变分算法¶
- 和标准 QAOA 对比:
- 对 3–10 qubit 的随机问题,GQCO 在准确率上接近 99%,而 QAOA 随规模上升表现明显下降;
- 在 IonQ Aria 上的实验表明:GQCO 生成的电路往往在**极少 shot**(甚至单 shot)下就高概率给出正确解,而 QAOA 需要大量 shot 才能把最优解从噪声中“挖出来”。
3. 电路更紧凑、更硬件友好¶
- 相比一层或多层 QAOA:
- 门数更少,尤其是 CNOT 等双比特门数量减少明显;
- 电路深度更浅,更适合 NISQ 器件,噪声影响减轻。
- 部分电路剔除某些门后甚至可归类为 Clifford 电路,经典可模拟性更好,有利于调试和分析。
4. 训练一次,多问题通用¶
- 模型是 条件生成器:
- 一次训练好后,可以对同分布下的大量新问题直接使用;
- 不需要像传统 VQE/QAOA 那样对每个新实例重新做漫长的参数优化。
- 这使 GQCO 非常适合作为**“量子求解服务的前端”**:用户给问题,后端直接生成电路和解。
5. 可迁移到其他任务的通用框架¶
- 尽管论文重点在组合优化,但框架本质上是:
- 输入:任务上下文 \(x\)(可以是图、分子结构、PDE 参数等);
- 输出:使 \(\langle O(x)\rangle_U\) 最小的电路 \(U\)。
- 因此原则上可以扩展到:
- 分子基态能量求解(即 GPT-QE 的条件化版本);
- 量子机器学习模型 ansatz 生成;
- PDE 相关的量子求解器等。
六、小结:用一句话回答你的 4 个问题¶
-
GQCO 的工作全流程:
将组合优化问题转成带特征的图 → 用图 Transformer 编码为上下文 → 用条件 Transformer 解码器自回归生成量子门序列 → 用量子模拟/硬件评估能量 → 通过 DPO/CPO 偏好优化训练模型,使其越来越倾向于为不同问题生成低能量电路 → 训练好后,对新问题“一键”生成高质量电路和解。 -
输入 / 输出是什么:
- 输入:问题哈密顿量系数(或其图表示 + 节点/边特征)和问题规模 n。
-
输出:一条(或多条)针对该问题定制的量子电路(门序列),以及对应的能量和求得的最优 bitstring 解。
-
训练数据是什么:
- 随机生成的 Ising/QUBO 问题实例(在线生成,不存数据集);
- 模型当前生成的多条电路及其能量评价;
-
通过能量排序自动形成的“优劣电路偏好对”,作为 DPO/CPO 的训练信号。
-
作用是什么:
- 作为 “组合优化问题 → 量子电路 ansatz” 的自动映射器;
- 在给定分布上,替代/增强 QAOA 等变分算法,提供更高成功率、更浅电路、对新问题零/少调参的“开箱即用”量子电路;
- 为 NISQ 时代的实际量子求解提供一个高效、通用、可扩展的 AI-驱动电路生成框架。
References
[1] Generative quantum combinatorial optimization by means of a novel conditional generative quantum eigensolver. https://arxiv.org/html/2501.16986v1
[2] Artificial intelligence for quantum computing (包含 GPT-QE 与 GQCO 概述). s41467-025-65836-3.pdf.