QSpark: Towards Reliable Qiskit Code Generation

本文提出了名为 QSpark 的框架,通过利用富含标注的合成数据集对 Qwen2.5-Coder-32B 模型进行 GRPO 和 ORPO 强化学习微调,显著提升了其在 Qiskit 代码生成任务(特别是 Qiskit HumanEval 基准)上的可靠性与性能,尽管在高级任务上仍存在改进空间。

Kiana Kheiri, Aamna Aamir, Andriy Miranskyy, Chen Ding

发布于 2026-03-11
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇文章介绍了一个名为 QSpark 的新项目,它的目标是让编写“量子计算机代码”这件事变得像写普通代码一样简单、可靠。

为了让你轻松理解,我们可以把这篇论文的内容想象成**“教一个天才但有点迷糊的机器人学徒,如何成为一位严谨的量子电路大师”**。

以下是用通俗语言和生动比喻对这篇论文的解读:

1. 背景:为什么我们需要 QSpark?

现状:
想象一下,量子计算机就像是一台极其精密、甚至有点“脾气古怪”的超级乐器。要演奏出美妙的音乐(解决复杂问题),你需要懂乐理(量子力学)、懂乐器构造(量子算法),还得非常小心,因为稍微按错一个键(代码错误),整个乐章就毁了。
目前,IBM 有一个叫 Qiskit 的工具包,就像乐谱和乐器说明书。但是,让现有的 AI(比如那些写普通代码很厉害的“大语言模型”)来写量子代码,就像让一个只会写流行歌的作曲家去写复杂的交响乐。它们经常写出“跑调”的代码,或者根本跑不通。

QSpark 的诞生:
多伦多城市大学的研究团队决定训练一个专门的 AI 助手(基于 Qwen2.5-Coder-32B 模型),让它专门学习如何写 Qiskit 代码。他们的目标不是取代人类,而是给人类程序员配一个“超级副驾驶”,能听懂你的指令(比如“帮我造一个贝尔态”),然后写出正确、高效的代码。

2. 核心方法:如何训练这个“机器人学徒”?

研究人员没有只是简单地给 AI 看很多代码书(传统的监督学习),而是用了两种更高级的“特训”方法,就像给学徒找了两位不同的教练:

教练 A:ORPO(“好老师”教练)

  • 比喻: 这位教练手里有两份作业,一份是**“优秀作业”(人类专家写的,清晰、规范),另一份是“糟糕作业”**(故意写错的,或者写得乱七八糟的)。
  • 训练方式: 教练会问 AI:“你觉得哪份更好?”然后告诉它:“选那个好的,把那个坏的忘掉。”
  • 目的: 让 AI 学会**“品味”**。它不仅要代码能跑,还要写得漂亮、符合人类习惯、容易阅读和维护。这就好比教学生不仅要算对题,还要字迹工整、步骤清晰。

教练 B:GRPO(“比赛”教练)

  • 比喻: 这位教练会让 AI 针对同一个题目,一次性写出5 个不同的答案
  • 训练方式: 教练把这 5 个答案都拿去“模拟考场”(量子模拟器)跑一遍。
    • 有的答案直接报错(淘汰)。
    • 有的答案跑通了,但用了太多资源(扣分)。
    • 有的答案既跑通了又很省资源(加分)。
  • 目的: 让 AI 学会**“优胜劣汰”**。它不需要知道哪个是绝对完美的,只要知道在当前的这组答案里,哪个比其他的更好,就强化那个更好的。这就像在体育比赛中,只要跑得比队友快,就能获得奖励。

3. 训练数据:从“垃圾堆”里淘金

研究人员从网上收集了大约 10,819 个量子代码片段。

  • 筛选过程: 就像在沙滩上淘金。大部分代码要么注释不全(看不懂),要么测试不全(不知道对不对),要么是太简单的“玩具代码”。
  • 最终成果: 经过层层筛选,只留下了 522 个高质量的“真金”任务。这些任务被分成了三个难度等级:
    • 初级(Basic): 简单的电路,像搭积木。
    • 中级(Intermediate): 需要测量和一定深度的电路,像组装复杂的模型。
    • 高级(Advanced): 涉及纠缠和混合算法,像设计一座摩天大楼。

4. 比赛成绩:QSpark 表现如何?

研究人员用了一个叫 Qiskit HumanEval 的“期末考试”来测试 AI。

  • 对手们: 包括一些通用的编程 AI(如 CodeLLaMA, StarCoder)和一个专门针对量子代码微调过的旧模型(Granite-8B-QK)。

  • QSpark 的成绩:

    • ORPO 版本: 拿到了 56.29% 的通过率(满分是 100%)。这比那个专门微调过的旧模型高了整整 10 分!
    • GRPO 版本: 拿到了 49% 的通过率,也打败了所有通用的 AI。
    • 意外惊喜: 这两个模型在普通的编程考试(HumanEval)上也考得很好,说明它们不仅学会了量子代码,普通代码也写得更好了。
  • 按难度看:

    • 初级和中级: QSpark 表现非常棒,大部分都能做对。
    • 高级: 很遗憾,无论是 QSpark 还是其他所有模型,5 道高级题一道都没做对(0/5)。这说明目前的 AI 在处理极其复杂的量子逻辑时,还是像个“新手”,还需要更多磨练。

5. 结论与反思:我们离完美还有多远?

成功的方面:
这篇论文证明了,用“偏好优化”(教 AI 分辨好坏)的方法,确实能让 AI 写出更靠谱、更符合人类习惯的量子代码。QSpark 让量子编程的门槛降低了,让初学者和专家都能受益。

面临的挑战(就像“成长的烦恼”):

  1. 高级题太难了: 现在的 AI 还搞不定最复杂的量子算法,这需要更聪明的训练方法。
  2. 考试标准不统一: 就像考试题目版本太多,有的版本答案对不上。研究人员不得不自己写脚本去验证答案,这有点累且容易出错。
  3. 数据太少: 相比普通代码,量子代码的“题库”太小了,限制了 AI 的想象力。

总结

QSpark 就像是给量子编程领域派来了一位**“懂规矩、会思考的超级实习生”**。它虽然还不能独立解决所有最难的量子难题,但它已经能帮人类程序员解决大部分基础和中级的代码工作,并且写出的代码更规范、更可靠。

未来的目标是:让这个实习生变得更聪明,能搞定那些最难的“摩天大楼”设计,并且让全行业的“考试标准”统一起来,这样大家才能一起把量子计算机推向新的高度。