QAOA-GPT工作流
一、QAOA‑GPT 的工作全流程(从数据生成到推理)¶
可以按时间顺序分成四大阶段:
- 用 ADAPT‑QAOA 生成高质量电路数据集(离线、合成)
- 把“图 + 电路”标记化,构建训练样本
- 训练一个条件 GPT(decoder‑only Transformer)
- 用训练好的 QAOA‑GPT 对新图“一次前向”生成 QAOA 电路与参数
阶段 1:用 ADAPT‑QAOA 生成合成训练数据(离线)¶
目标:得到很多“某个 MaxCut 图 → 高质量 QAOA‑风格电路(含参数)”的样本,用来教 GPT。
- 随机生成问题图(MaxCut 场景)
- 图模型:Erdős–Rényi \(G(n,s)\)
- \(n\):结点数(如 10、12、14)
- \(s\):边出现概率(如 0.3–0.9 多个取值)
- 约束:只保留连通图,没有孤立点和多组件
-
每条边赋权:\(w_{ij} \sim U(0,1)\)
-
对每个图运行 ADAPT‑QAOA 生成电路
- 任务:构造一条**问题特定的 QAOA‑样式电路**,并优化其参数,使 MaxCut 近似比足够高。
-
大致步骤:
- 选一个初始 \(γ_0 \in \{0.01,0.1,0.5,1\}\),构造初始 cost 相关单元;
- 给定一个**算符池** \(P\):
- 例如标准 QAOA 池 \(P_{\text{QAOA}}\)(只含 cost/mixer 结构),
- 或更丰富的 \(P_{\text{dual}}=\{B_i C_j \mid B,C\in\{X,Y,Z\}\}\cup P_{\text{single}}\);
- 在每一轮 iteration:
- 对池中每个候选算符,计算其对 cost 函数的梯度大小;
- 选取梯度最大的算符 \(O^{(k)}\) 加入电路作为第 \(k\) 层;
- 重新优化所有已有参数 \(\{\gamma_1,\beta_1,\ldots,\gamma_k,\beta_k\}\);
- 当电路在该图上的**近似比** \(\alpha\) 达到目标阈值(如 \(\alpha\ge0.97\))或者深度达到上限,就停止。
-
记录“图 → 电路”的配对
- 对于每个图 \(G\),记录:
- 图本身(边列表和边权);
- 一条或多条满足 \(\alpha\ge0.97\) 的 ADAPT‑QAOA 电路: $$ \big{(o_k,\gamma_k,\beta_k)\big}_{k=1}^L $$ 其中:
- \(o_k\):第 \(k\) 层选用的算符在算符池中的索引;
- \(\gamma_k,\beta_k\):第 \(k\) 层的变分角。
这一阶段的直观理解:
用传统非常“贵”的自适应 QAOA,把很多问题图都“吃透”,抽取出高质量的电路和参数,作为后面教 GPT 的“标准答案”。
阶段 2:标记化与训练样本构造¶
目标:把“图 + 电路”都变成一维 token 序列,适配 GPT 的自回归训练。
- 图的标记化(Graph Tokens)
一个图 \(G\)(带权边)被编码为序列:
- \((i_\ell,j_\ell)\):第 \(\ell\) 条边连接的两个结点的索引(0 ~ \(n-1\))
-
\(w_{i_\ell j_\ell}\):对应的边权,实数截断到小数点后两位,并限制在 \([-10,10]\)
-
电路的标记化(Circuit Tokens)
一条 ADAPT‑QAOA 电路被编码为一串“层块”:
<new_layer_p>:新一层的起始标记(包含层号等信息)- \(o_k\):这一层使用的算符在池中的索引(离散 token)
-
\(\gamma_k,\beta_k\):该层的 cost / mixer 参数(连续值也离散化为标记,上界截断到 [-10,10],并四舍五入两位小数)
-
构造训练序列与样本
-
对“图标记 + 电路标记”组成的长序列,采取“滑动窗口”方式截取长度为 \(b_i\) 的子序列:
- 每个训练样本是一段 token 子序列 \(x_{1:T}\);
- 目标是预测下一个 token(标准 GPT 自回归目标)。
- 不把不同图的序列拼接在一起,保持“一个样本只属于一个问题实例”的语义边界,避免跨实例信息泄露。
阶段 3:训练 QAOA‑GPT 模型¶
-
模型架构:条件 GPT(decoder‑only Transformer)
-
模型结构:
- GPT‑2 风格 decoder‑only Transformer;
- 多层 masked self‑attention + 前馈网络;
- 约 1200 万参数,类似 nanoGPT 规模。
- 输入嵌入: $$ X = E_{\text{tok}}(x_{1:T}) + E_{\text{pos}} + e_G \otimes \mathbf{1}_{1\times T} $$ 其中:
- \(E_{\text{tok}}\):token embedding;
- \(E_{\text{pos}}\):位置编码;
-
\(e_G\):通过 FEATHER 计算出的**图嵌入向量**,在每个位置上都相同(相当于对整条序列进行条件化)。
-
训练目标(loss)
-
标准自回归损失:
给定前缀 token,预测下一个 token 的交叉熵损失: $$ \mathcal{L} = -\sum_t \log p_\theta(x_{t+1} \mid x_{\le t}, G) $$ - 训练时监控的指标:
- 在验证集图上的**平均近似比**(AR);
-
生成电路的**结构有效性**(例如参数是否越界、算符是否可用)。
-
训练策略
-
从零开始训练(而不是微调现有 GPT),完全针对这一任务;
- 使用大规模 CPU+GPU 集群先生成合成数据,再在 GPU 上训练 Transformer;
- 提前停止:若验证 AR 不再提升、或无效电路比例上升,则停止训练。
阶段 4:推理阶段——对新问题“一次生成” QAOA 电路¶
当模型训练好之后,用法非常简单:
- 输入一个新图实例
- 用户给出一个 MaxCut 图(或更一般的 QUBO 图):节点集 + 带权边集;
- 计算其 FEATHER 图嵌入 \(e_G\);
-
按前述规则标记化为 Graph Tokens。
-
自回归生成电路
- 将图标记和嵌入送入 GPT;
- 模型自回归地输出电路 token 序列:
$$
\texttt{
, } o_1, \gamma_1, \beta_1,\quad \texttt{ , } o_2, \gamma_2, \beta_2, \dots $$ -
直到生成结束标记或达到最大层数上限。
-
得到可直接执行的 QAOA 电路
- 把 token 序列翻译成实际电路:
- 算符 \(o_k\) → 对应的门(如某个 Z_i Z_j 交互或者 mixer 门);
- 参数 \(\gamma_k,\beta_k\) → 旋转角度;
- 可在模拟器或真实量子硬件上直接运行,无需再做梯度优化。
推理阶段关键特征:
一次前向传播 + 自回归采样就得到“结构+参数”齐全的 QAOA 电路,不需要任何梯度计算或参数优化循环。
二、QAOA‑GPT 的输入 / 输出总结¶
可以从“训练阶段”和“推理阶段”分别看。
1. 训练阶段¶
- 输入
- 序列形式:
- 图标记:
<bos>, (i,j), w_ij, ..., <end_of_graph> - 电路标记:
<new_layer_p>, o_k, γ_k, β_k, ...
- 图标记:
-
条件信息:
- FEATHER 图嵌入 \(e_G\),在所有时间步作为额外偏置加入。
-
输出(模型要学会生成的东西)
- 对于每个位置 \(t\),预测下一个 token 的分布;
- 实际上就是学会“给定图和已有电路前缀 → 下一个门/参数是什么”。
2. 推理阶段¶
- 输入(从用户角度)
- 一个组合优化问题实例的图:
- 节点集合;
- 带权边列表 \((i,j,w_{ij})\);
-
模型内部会:
- 计算图嵌入;
- 把图转为 Graph Tokens 作为 context。
-
输出(从用户角度)
- 一条完整的 QAOA‑风格电路:
- 一系列层: $$ {(o_k,\gamma_k,\beta_k)}_{k=1}^L $$
- 可转成实际量子门:某种顺序的 cost unitary 与 mixer unitary。
- 隐含输出:已参数化的 QAOA 程序
- 不仅给出电路结构(哪些门、几层),还给出了优化过的参数 \(\{\gamma_k,\beta_k\}\);
- 可以直接用来估计 MaxCut 近似或寻找最优 cut bitstring。
三、训练数据是什么?如何构造?¶
1. 数据来源与本质¶
- 全部是合成数据,不是人工标注:
- 图:随机生成的 MaxCut 图(ER 图为主,可混 BA/REG/WS 等);
- 电路:由 ADAPT‑QAOA 自动搜索和优化出来。
- 每条数据本质是一个三元组: $$ (\text{图 }G, \text{电路结构 }{o_k}, \text{电路参数 }{\gamma_k,\beta_k}) $$
- 只保留那些在该图上达到较高近似比(例如 \(\alpha\ge0.97\))的电路,保证数据质量。
2. 数据规模和覆盖范围(论文给出的典型设置)¶
- 图数量:> 50,000
- 图类型和参数:
- ER 图不同边密度 \(s\in\{0.3,\dots,0.9\}\);
- 也可以混合 BA、REG、WS 等图来提升泛化;
- 结点数:典型实验是 \(n=10,12,14\) 不同规模;
- ADAPT‑QAOA 生成:
- 对每个图运行多次,以不同初始参数/算符池生成多样化电路;
- 目标近似阈值越高,生成的数据越难、质量越高。
3. 数据的用途¶
- 对 GPT 来说,这就是一个**监督序列预测任务**的数据集:
- 学到“在某类图结构上,好的电路长什么样、参数大致落在哪个分布”;
- 把原本“求解问题 + 优化电路”的过程压缩成“条件生成电路”。
四、QAOA‑GPT 的作用与价值¶
可以从“算法层面”和“工程层面”分别看它的作用。
1. 替代 / 加速 QAOA 电路设计和参数优化¶
传统流程(ADAPT‑QAOA / 标准 QAOA):
- 对每个新图:
- 先选一个 ansatz 结构或逐层构造(ADAPT‑QAOA);
- 然后进行大量经典优化(梯度评估、迭代搜索 \(\gamma,\beta\))。
- 计算成本主要在:
- 多次量子线路仿真;
- 大量梯度计算和参数更新。
QAOA‑GPT 之后:
- 只需一次前向生成:
- 输入图 → GPT 直接给出一条“已经训练好风格”的 QAOA‑样式电路 + 参数;
- 后续可以选择“直接用”或者再做少量微调。
- 因而:
- **大幅减少**每个新实例的经典优化时间和量子仿真调用;
- 极大适合“有大量问题实例要解”的场景(比如图优化基准测试)。
2. “问题 → 电路”自动映射器(problem‑to‑circuit mapper)¶
- QAOA‑GPT 本质上学的是一个映射: $$ G \longmapsto \text{量身定制的 QAOA 电路(结构+参数)} $$
- 这和你之前看到的 GPT‑QE / GQCO 思路一脉相承,只是:
- GPT‑QE 针对分子电子结构(哈密顿量 → ansatz);
- GQCO 针对更一般的组合优化(问题图 → 通用量子 ansatz);
- QAOA‑GPT 专门针对 QAOA 这一类结构化变分算法,生成“更紧凑、更开箱即用”的 QAOA 电路。
3. 生成**紧凑、浅层**的高质量电路(对 NISQ 友好)¶
- 数据来源本身(ADAPT‑QAOA)已经偏向寻找**资源高效**的电路;
- GPT 学到的分布倾向重复这种模式,结果是:
- 电路深度通常比同样精度的标准 QAOA 更浅;
- 在噪声存在时表现更好,更利于在真实 NISQ 硬件上运行。
4. 提供“零/少调参”的 QAOA 方案(out‑of‑the‑box)¶
- 由于 QAOA‑GPT 同时输出电路结构和参数:
- 有些实例上可以**直接使用这些参数**就达到不错近似比;
- 某种意义上,相当于为 QAOA 提供了一个“从大规模历史问题中学来的初始化与结构搜索经验”。
- 若你愿意,还可以把 QAOA‑GPT 输出作为**warm‑start**,再做少量本地优化,进一步提升结果。
五、总结(对应你的四个问题)¶
- 工作全流程是什么?
- 离线:用 ADAPT‑QAOA 大量生成“图 → 高质量 QAOA 电路(含参数)”样本;
- 标记化:把图和电路统一编码成 token 序列;
- 训练:以图嵌入为条件,训练 decoder‑only Transformer 做自回归预测电路 token;
-
推理:给新图,模型一次前向就自回归输出电路层结构和参数,无需再做梯度优化。
-
输入输出是什么?
- 训练时:
- 输入:图标记 +(作为监督的)电路标记(以及内部使用的图嵌入);
- 输出:下一 token 概率分布(从而学会生成完整电路)。
-
推理时:
- 输入:一个新图(边列表 + 权重),内部转为图嵌入 + 图 token;
- 输出:一条完整 QAOA‑样式电路,即一串 \((o_k,\gamma_k,\beta_k)\) 层,可直接在模拟器或量子机上执行。
-
训练数据是什么?
- 完全由**自适应 QAOA(ADAPT‑QAOA)+ 随机图生成**自动构造的合成数据;
- 每个样本是“随机图 + 在该图上达到高近似比(\(\alpha\ge0.97\))的 QAOA‑式电路(结构+参数)”;
-
图类型覆盖 ER 等多种图族、不同边密度和规模(如 10–14 qubits)。
-
作用是什么?
- 算法层面:把原本昂贵的“为每个问题单独做人肉/迭代 QAOA 优化”的过程,压缩成“一个大模型 + 一次前向推理”;
- 工程层面:显著降低 QAOA 在大批量问题上的经典优化成本,生成更浅、更 NISQ 友好的电路;
- 方法论层面:证明“用 GPT 类大模型做问题 → 量子电路/参数 的映射”在组合优化场景下是可行且高效的,为更通用的 AI‑for‑QC 电路生成提供了模板。
如果你接下来想做实现层面的练习,我可以帮你把上面的流程进一步拆成“最小可行版本”,例如:只用小规模 ER 图 + 简化算符池,在 PennyLane/Qiskit 上复现一个 toy 版 QAOA‑GPT。
References
[1] Artificial intelligence for quantum computing. s41467-025-65836-3.pdf.
[2] QAOA-GPT: Efficient Generation of Adaptive and Regular Quantum Approximate Optimization Algorithm Circuits. https://arxiv.org/pdf/2504.16350.pdf.