IBM Cloud Docs
Qiskit Runtime 概述

Qiskit Runtime 概述

借助我们全球领先的 Qiskit Runtime,了解量子计算未来的发展趋势,这是一种新的架构,可为程序执行提供显着的性能增强功能。 通过使用我们的物理 QPU 和模拟器(QPU 的经典模拟器),您可以体验无摩擦量子计算。 即在经典计算机与量子计算机物理距离较近的环境中运行量子程序的能力。 测试程序和算法,并使用基于云的量子运行时开发新模型,以大幅提高容量和性能。

全新的 IBM 量子平台界面已发布,处于抢先体验模式。 建议您开始使用该界面来使用 IBM 量子服务。 因为它是建立在 IBM Cloud 上的,所以迁移非常简单。 详情请参阅 迁移指南

本文档基于当前版本的 Qiskit Runtime。

由于此服务处于 Beta 阶段,因此许多功能尚不可用,并且仍在开发中,包括下图中概述的一些功能。

顶部框表示由经典 + 量子过程组成的代码。 用户将代码发送到 Qiskit Runtime API,该 API 是 Qiskit Runtime 服务的一部分。 基本程序是 API 的一部分。 API 将 QASM 电路发送到量子硬件,这会将这些电路返回到 API。  所有这些处理都是 Qiskit Runtime 服务的一部分。 然后,API 会将返回值发送回用户。
Diagram of Qiskit Runtime's architecture

为何使用 Qiskit Runtime?

使用改进的体系结构运行实验: 对于 VQE 之类的变种算法,经典和量子计算之间的循环是通过与量子设备的低延迟连接进行的。

使用原语快速入门: 原语程序提供了用于构建和定制应用程序的简化界面。 您可以提交回路和返回快照计数,预快照读出或可观察的期望值。 (一些原语是未来函数。)

基本程序概述

Qiskit Runtime 引入了一组基本程序形式的接口,以扩展用户在量子计算机上运行作业的方式。

后端的现有 Qiskit 接口 (backend.run()) 旨在接受每个作业的回路和返回计数的列表。 随着时间的推移,显然用户对于量子计算有不同的目的,因此他们定义其计算作业的要求的方式也在不断扩大。 因此,他们的结果也看起来不同。

例如,算法研究人员和开发者关心计数以外的信息; 他们更专注于高效计算可观察值的准概率和期望值。

我们的原语提供了使构建模块化算法和其他高阶程序更容易的方法。 他们不会简单地返回计数,而是会立即返回更有意义的信息。 此外,它们还提供了一种无缝方式来访问 IBM Quantum 硬件和软件中的最新优化。

使用概率分布可以执行的基本操作是从它采样或估算它上的数量。 因此,这些运算构成了量子算法开发的基本构建块。 Qiskit Runtime基元(采样器和估算器)使用这些采样和估算操作作为 QPU 的核心接口。 了解有关如何使用 IBM Quantum 文档中的 Qiskit Runtime 原语程序的更多信息。

为确保更快、更高效的结果,自 2024 年 3 月 1 日起,电路和可观测数据在提交给Qiskit Runtime基元之前,需要转换为仅使用 QPU 支持的指令(称为*指令集架构 (ISA)*电路和可观测数据)。 请参阅 传输文档,以获取转换回路的指示信息。

此更改具有以下重要影响:

  • 由于转化是为了匹配特定后端上可用的电路,因此 必须 指定后端。 使用您可以访问的最不繁忙 QPU 的选项将不起作用。 如果未指定后端,那么将接收到错误。
  • 原语将不再执行布局或路由操作。 因此,提及这些任务的转化选项将不再具有任何效果。 缺省情况下,除采样器 V2 以外的所有原语仍会优化输入电路。 要绕过所有优化,请设置 optimization_level=0

可用原语

以下原语程序可用:

可用的原始计划
原语 描述 示例输出
采样器 允许用户输入电路,然后从每个拍摄 (V2) 或准概率 (V1) 返回输出 (位串)。 这一生成使用户能够在破坏性干扰的背景下更有效地评估多个相关数据点的可能性。 <img src="images/sampler.png" alt="显示了 "采样器" 输出的示例。">
估算器 允许用户指定电路和可观察内容的列表,并选择性地在这些列表之间分组以高效地评估参数输入的期望值和方差。 它旨在使用户能够高效地计算和解释许多算法所需的量子算子的期望值。 显示了 Estimator 输出的示例。

如何使用原语

基本程序接口根据要在量子计算机上运行的任务类型以及要作为结果返回的相应数据而有所不同。 在确定程序的相应原语后,可以使用 Qiskit 来准备输入,例如电路,可观察项 (针对 Estimator) 和可定制选项以优化作业。

V2 原语

本文档使用 V 2 原语 (随 qiskit-ibm-runtime 0.21.0提供)。 版本 2 是自引入 Qiskit Runtime 原语以来的第一个主要接口更改。 根据用户反馈,本版本引入了以下主要新功能:

针对采样器和估算器 (BaseSamplerV2BaseEstimatorV2) 以及它们的输入和输出的新类型引入了原语版本 2。

新接口允许您为该电路指定单个电路和多个可观察值 (如果使用 Estimator) 和参数值集,以便可以高效地指定对参数值集和可观察值的清理。 以前,您必须多次指定相同的电路以匹配要组合的数据的大小。 此外,虽然您仍可以使用 optimization_levelresilience_level (如果使用 Estimator) 作为简单的旋钮,但 V2 原语使您能够灵活地开启或关闭各个错误缓解/抑制方法,以根据您的需要对它们进行定制。

为了缩短作业的总执行时间,V2 基元只接受使用目标 QPU 支持的指令的电路和可观测变量(称为指令集架构 (ISA) 电路和可观测变量)。 V2 原语不执行布局,路由和转换操作,而是继续优化回路 (如果指定了 optimization_level>0)。 请参阅 传输文档,以获取转换回路的指示信息。

V2 简化了采样器,以专注于其从量子电路执行中采样输出寄存器的核心任务。 它返回没有权重的样本,其类型由程序定义。 输出数据也由程序定义的输出寄存器名称分隔。 此更改支持将来对具有经典控制流的电路的支持。

要了解更多信息,请参阅 V2 原语迁移指南。

后续步骤