CN109891438A - 数值量子实验 - Google Patents
数值量子实验 Download PDFInfo
- Publication number
- CN109891438A CN109891438A CN201680090526.0A CN201680090526A CN109891438A CN 109891438 A CN109891438 A CN 109891438A CN 201680090526 A CN201680090526 A CN 201680090526A CN 109891438 A CN109891438 A CN 109891438A
- Authority
- CN
- China
- Prior art keywords
- numerical
- quantum
- candidate
- task
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
用于数值量子实验的方法、系统和装置。一方面,一种方法包括:识别(i)作为量子计算候选的计算问题,和(ii)用于解决候选计算问题的一个或多个数值算法;向数值量子实验系统提供识别(i)候选计算问题和(ii)一个或多个数值算法的输入任务数据,其中数值量子实验系统包括多个通用数值工作器,多个通用数值工作器中的通用数值工作器被配置为使用一个或多个数值算法来解决候选计算问题;从数值量子实验系统接收表示一个或多个数值算法解决候选计算问题的结果的数据;以及确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
Description
背景技术
本说明书涉及量子计算。
量子计算机器(Quantum computing machinery)有潜力比任何使用目前已知最佳算法的传统计算机更快地解决某些计算问题。此外,量子计算机器有望有效解决一些在传统计算机上太难或实际上不可行的计算问题。
发明内容
本说明书描述了用于确定量子计算机器是否可以用于更有效地解决被认为对传统计算机来说太难或实际上不可行的计算问题的技术。
一般而言,本说明书中描述的主题的一个创新方面可以在方法中被实施,其包括:识别(i)作为量子计算候选的计算问题,和(ii)用于解决候选计算问题的一个或多个数值算法;向数值量子实验系统提供识别(i)候选计算问题和(ii)一个或多个数值算法的输入任务数据,其中该数值量子实验系统包括多个通用数值工作器(universal numericsworker),该多个通用数值工作器中的通用数值工作器被配置为:使用该一个或多个数值算法来解决候选计算问题;从数值量子实验系统接收表示一个或多个数值算法解决候选计算问题的结果的数据;以及确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
该方面的其他实施方式包括相应计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,每个被配置为执行这些方法的动作。一个或多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或其组合来执行特定的操作或动作,这些软件、固件、硬件或其组合在操作中导致系统执行这些动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定的操作或动作,该指令在被数据处理装置执行时使得该装置执行这些动作。
前述和其他实施方式中的每一个都可以可选地单独或组合地包括一个或多个以下特征。在一些实施方式中,多个通用数值工作器包括相同的二进制,该二进制包括编译形式的预定的数值算法集合。
在一些实施方式中,通用数值工作器被配置为从数值量子实验系统任务管理器(taskmaster)接收动态指令,以通过作为由数值量子实验系统客户端经由任务管理器提供的输入任务的一部分而接收的配置来执行预定的数值算法集合中的特定算法。
在一些实施方式中,通用数值工作器包括保护通用数值工作器免受特定于任何特定数值算法的知识的影响的数值接口。
在一些实施方式中,二进制包括被配置为应用机器学习算法来基于完成的输入任务确定当前输入任务的学习的参数的实验设计逻辑层。
在一些实施方式中,通用数值工作器包括来自先前输入任务的构造的数值数据对象的相应缓存,并且其中该方法还包括,响应于接收到新的输入任务:由通用数值工作器确定缓存是否包括新的输入任务所需的数据;并且响应于确定缓存包括新的输入任务所需的数据,检索并使用新的输入任务所需的数据。
在一些实施方式中,该方法还包括,响应于确定应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率,执行量子计算以解决候选计算问题。
在一些实施方式中,确定应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率包括确定当使用量子计算解决候选计算问题时候选计算问题经历量子加速。
在一些实施方式中,候选计算问题包括(i)传统地模拟量子系统或(ii)抽象计算问题中的一个或多个。
在一些实施方式中,一个或多个数值算法包括(i)量子系统的传统模拟,(ii)物理驱动的传统算法,或(iii)抽象传统算法中的一个或多个。
在一些实施方式中,识别用于解决候选计算问题的一个或多个数值算法还包括,对于识别的数值算法,识别该算法的相应参数值集合。
在一些实施方式中,接收表示一个或多个数值算法解决候选计算问题的结果的数据包括当相应结果可用时接收表示结果的数据。
在一些实施方式中,表示相应数值算法解决候选计算问题的结果的数据包括表示相应计算时间的数据。
在一些实施方式中,确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率包括:为用于解决候选计算问题的每个数值算法确定算法运行时间;分析所确定的运行时间,以确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
在一些实施方式中,一个或多个数值算法包括(i)量子系统的传统模拟,和(ii)一个或多个传统算法,并且其中分析所确定的运行时间以确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算对于获得解决方案方面具有更大的效率,包括将量子系统的传统模拟的运行时间与一个或多个传统算法中的每一个的运行时间进行比较,以确定量子系统的传统模拟的运行时间是否比一个或多个传统算法中的每一个的运行时间短。
在一些实施方式中,确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率包括:分析接收到的数据,以推断作为问题大小的函数的计算运行时间的定标律(scaling law);并且基于定标律,确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
在一些实施方式中,确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率包括:使用接收到的数据来确定量子计算和传统计算的近似性度量;并且基于所确定的近似性度量,确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
在一些实施方式中,通用数值工作器被配置为基于由等待完成的多个任务测量的当前负载发布资源调整命令。
在一些实施方式中,数值量子实验系统包括多个任务管理器,其中多个任务管理器中的任务管理器被配置为管理位于到任务管理器预定距离内的通用数值工作器。
在一些实施方式中,数值量子实验系统被配置为从数值量子实验系统的多个用户接收输入任务。
本说明书中描述的主题可以以特定方式实施,以便实施一个或多个以下优点。
如本说明书中所描述的,数值量子实验系统可以促进量子计算设施内的数值实验过程。所描述的数值量子实验系统有效地解决了经由任意的潜在的非常繁重的数值研究的集合来定标用户的能力以便容易和快速地探索量子计算的新思想和应用的问题。
如本说明书中所描述的,数值量子实验系统可以使研究科学家能够经由用户友好的前端运行数值实验,该前端不要求专家编码技能以便获得新的、以前看不到的、已完成的潜在非常大的数值研究的集合。用户可以写描述需要运行的算法的简单的文本文件,以及问题实例和每个算法可能的一些参数猜测。然后,简单的脚本,例如Python中的脚本,生成所有要求的输入任务,将它们提交给系统的适当组件,并在结果可用时将其传回。
如本说明书中所描述的,数值量子实验系统可以简化和自动化实验流水线,从而大大缩短完成大批次的数值任务所需的时间总量。数值量子实验系统可以使得有效利用大型跨数据中心资源,同时以最低优先级运行,并且避免干扰生产任务。此外,数值量子实验系统可以根据用户时间限制动态调整部署的资源,并且在完成构成完整实验套件的数值任务方面取得进展。
与分布式计算的替代方法相比,本说明书中描述的数值量子实验系统在总的CPU使用和人类实验人员的工时方面都在显著更短的时间内完成了所有必需的任务。例如,数值量子实验系统可以将总实验周转时间从几周或几个月减少到几个小时或几天。此外,与分布式计算的替代方法相比,本说明书中描述的数值量子实验系统不要求在超参数空间上手动执行多轮多维网格搜索。
如本说明书中所描述的,数值量子实验系统可以实施自动资源调整。自动资源调整可能有几个好处。例如,自动资源调整消除了持续监控系统负载和重复手动调整的需要。此外,与其他数值实验系统相比,可以实现能量和整体计算资源的节省。此外,自动资源调整可能比任何人工干预或其他数值实验系统更准确和及时。
如本说明书中所描述的,数值量子实验系统可以实施相应缓存策略。对于单独数值算法的大的超参数空间和要评估的大量数值算法,这种缓存策略可能会潜在地导致显著的效率提高,并避免实例数据存储的位置的不必要争用。
如本说明书中所描述的,数值量子实验系统包括多个通用数值工作器。数值工作器的特定设计,例如它们的普遍性,使得数值工作器能够仅基于由数值量子实验系统的用户指定并由用户经由客户端提交给任务管理器的配置来执行任何实施的数值算法。如本说明书中所描述的,通用数值工作器允许将许多不同的数值算法一起打包在数值工作器执行的相同二进制中。由于客户端组件可以使用任何不同的可用数值算法提交请求运行完成的任务,因此工作器在其组合中选择适当算法并适当执行该算法的能力对于获得整个实验流水线的效率和易用性至关重要。与本说明书中描述的数值量子实验系统不同,其他数值实验系统通常对于每个潜在需要的数值算法都具有单独的二进制,并且每当给定任务请求不同的数值算法时,都让工作器关闭并交换二进制。这是极其低效的,并且退化为可以通过替代技术来实现的不令人满意的性能水平。
如本说明书中所描述的,数值量子实验系统可以包括实验设计逻辑层。实验设计逻辑层将人类科学家的输入减少到最低水平。例如,人类科学家可能只需要通过指定问题实例、感兴趣的数值算法,以及在一些实施方式中可以用于引导实验设计算法的初始参数范围的粗略猜测来初始化数值量子实验系统。在实验设计算法检测到满意的终止标准后,它停止新任务的生成,等待任何剩余任务的完成(或者仅仅终止它们),并且最后人类科学家接收表示显著结果的摘要的数据。
本说明书主题的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书、附图和权利要求书中,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1描绘了示例数值量子实验系统。
图2示出了示例通用数值工作器类图。
图3示出了通用数值工作器的示例缓存策略。
图4是用于确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率的示例过程的流程图。
不同附图中相同的附图标记和名称表示相同的元件。
具体实施方式
量子计算机器有潜力比任何使用目前已知最佳算法的传统计算机更快地解决某些计算问题。此外,量子计算机器有望有效解决一些在传统计算机上太难或实际上不可行的计算问题。然而,识别哪些计算问题可以从量子计算中受益是一项复杂的任务,需要任意的潜在非常繁重的数值研究的集合。
本说明书描述了用于执行数值量子实验的装置和方法。所描述的装置和方法提供了用于执行数值实验的计算框架,以确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
当应用于候选计算问题时,可能有助于量子计算比传统计算具有更大的效率的因素包括以下中的一个或多个:计算运行时间,例如,固定大小的问题实例的运行时间,运行时间相对于计算问题输入大小的定标行为,例如,大小不断增加的问题实例的定标行为,计算问题的重要性,量子计算的传统开销或量子硬件设计复杂性,或者运行时间定标的比较,以获得特定期望质量水平的近似(相对于精确)解决方案。附加因素可以包括特定硬件提议的经济可行性,例如研究和开发成本、上市时间、以及解决所开发的硬件可以解决的问题与传统地解决该问题的经济价值。此外,近似性可能是一个因素,例如,当目标是找到某个质量Q或更好的解决方案时,量子方法和非量子方法如何比较,其中,Q表示问题的近似解决方案,而不是精确的最优解决方案。
例如,如果量子计算的运行时间比传统计算的运行时间短,则当应用于相同的候选计算问题时,量子计算可以被确定为比传统计算具有更大的效率。作为另一个示例,如果候选计算问题输入大小超过传统可行阈值,则当应用于相同的候选计算问题时,量子计算可以被确定为比传统计算具有更大的效率。
此外,如果量子计算提供了计算运行时间的微小减少,但是候选计算问题并不足够显著以证明执行量子计算是合理的,则当应用于相同的候选计算问题时,可以确定传统计算比量子计算具有更大的效率。作为另一个示例,如果量子提供了计算运行时间的减少,但是与量子计算相关联的传统开销超过了在计算运行时间中获得的增益,则当应用于相同的候选计算问题时,可以确定传统计算比量子计算具有更大的效率。
操作环境示例
图1描绘了示例数值量子实验系统100。示例系统100是在一个或多个位置的一个或多个传统计算机或量子计算设备上实施为传统或量子计算机程序的系统的示例,其中可以实施下面描述的系统、组件和技术。
数值量子实验系统100可以包括客户端108、任务管理器110和多个通用数值工作器112a-c。为了方便起见,在图1中示出了三个通用数值工作器112a-c,然而数值量子实验系统100可以包括更多或更少的通用数值工作器。
任务管理器110可以被配置为存储接收到的任务,例如从客户端108接收到的任务,这些任务被组织成组,每个任务恰好属于一个组。在一些实施方式中,任务管理器110可以是轻量级数据库或其他数据存储结构。任务可以包含客户端指定的有效载荷,例如以序列化协议缓冲消息或一些其他任意字符串的形式。单独任务可用于表示需要作为沿着不同可能维度(诸如算法、问题实例或输入参数)枚举的更大的数值任务集合的一部分完成的一个数值工作单元。
数值量子实验系统100中的通用数值工作器112a-c可以包括例如在C++中编译的二进制,该二进制可以在单独的机器上执行,甚至可能在不同的数据中心上执行其中任务管理器110被周期性地查询可用的输入任务的无限循环。如果提供了输入任务,通用数值工作器获得该任务的所有权,并根据从任务管理器110接收的任务规范来执行工作。结果以类似于输入任务构建的输出任务的形式被提交回任务管理器110,例如由序列化协议缓冲消息或客户端108最终可以解析的一些其他类型的任意字符串组成的有效载荷。数值量子实验系统100的配置可以保证输入任务的原子消耗和相应输出任务的产生。在用户侧,客户端二进制108可以最初向任务管理器110提交输入任务,并且周期性地向任务管理器110查询输出任务。客户端二进制108可以在输出任务变得可用时消耗它们。
通用数值工作器112a-c每个都包括数值接口。数值接口简化并自动化了数值量子实验系统100用户侧的数字实验流水线。数值接口202还有效利用服务器侧的跨数据中心计算资源。数值接口可以是用于数值算法的应用编程接口,该数值算法被一起编译成单个库,其中通用数值工作器二进制的大小仅受到单独数值算法的轻微影响。单个库可以被通用数值工作器112a-c中的每一个链接。可以通过作为由客户端经由任务管理器提供的输入任务(例如,输入任务120和122)的一部分而接收的配置,动态地指示作为结果的单独通用数值工作器执行特定的数值算法。以这种方式,人类实验者或用户可以在单个步骤中提交不同量子模拟的整个实验套件以及各种传统基准算法。下面参考图2描述数值接口。
数值量子实验系统100可以被配置为接收识别作为量子计算候选的计算问题以及用于解决候选计算问题的一个或多个数值算法的数据作为输入,例如识别候选计算问题和算法的数据102。例如,候选计算问题可以包括传统地模拟量子系统或抽象计算问题。一个或多个数值算法可以包括以下各项中一个或多个:(i)量子系统的传统模拟,(ii)物理驱动的传统算法,或者(iii)抽象传统算法。在一些实施方式中,数值量子实验系统100可以进一步被配置为接收识别一个或多个数值算法中的每一个的相应参数值集合的数据作为输入。
数值量子实验系统100的用户定义了需要完成的全套数值任务。如上所述,这套数值任务可以包括具有不同的参数的并且对于不同问题实例甚至不同问题类别的集合上的模拟退火、量子蒙特卡罗、自旋向量蒙特卡罗等运行的集合。在一些实施方式中,该套数值任务可以是用户为了实现某些其他高级目标而导出的一系列数值任务,例如被分解成小块的大量子电路的模拟。
客户端108可以被配置为接收输入数据,例如识别候选计算问题和算法的数据102,并构建对应于用户定义的全套数值任务的配置字符串。客户端108可以将数字工作流输入任务(例如输入任务120)形式的配置字符串,例如经由一个或多个远程过程调用,提交给任务管理器110。
任务管理器110可以被配置为存储接收到的输入任务,例如输入任务120。例如,任务管理器110可以包括用于存储接收到的输入任务的输入任务数据库114。任务管理器110可以被配置为将单独输入任务分配给相应通用数值工作器,例如,通用数值工作器112a-c。在一些实施方式中,当相应通用数值工作器向任务管理器110查询可用工作(例如查询124)时,任务管理器110可以将单独输入任务(例如输入任务122)分配给通用数值工作器(例如通用数值工作器112a)。相应通用数值工作器可以被配置为执行以下步骤中的一个或多个:
●读取接收到的任务配置
●提取输入参数
●从文件中读取问题数据
●确定用户已经请求哪个数值算法来处理当前任务
●构造适当类型的数值对象
●调用数值对象的Run()方法
●用Run()返回的字符串构造输出任务
●将输出任务提交回任务管理器
下面参考图2和图3更详细地描述通用数值工作器。
任务管理器110可以被配置为确保没有任务被多于一个通用数值工作器同时处理,在数值工作器操作失灵的情况下,任务管理器110可以被配置为将未完成的任务分配给另一个通用数值工作器。如果任务必须被重新分配给不同的通用数值工作器,该数值工作器可以开始从最开始对任务进行处理,例如,来自先前数值工作器的部分计算可能不用于帮助当前数值工作器。
通常,提交给数值量子实验系统100的数值任务,例如识别候选计算问题和算法的数据102,可以被分解成多个独立的(或至多松散耦合的)较小任务。单独较小的任务可以比主任务执行得更快,并且解决较小任务的结果可以交托给任务管理器110。因此,绝不会有任何大量工作的损失,从而消除了向系统100添加容错措施(例如检查点)的需要。避免实现容错措施的需要可以使快速部署新的数值算法到通用数值工作器112a-c变得容易,因为对于可能非常不同地设计和实施的软件的单独容错措施(例如检查点)不是问题。此外,文件I/O的开销使得容错(例如检查点)对于足够小的任务来说效率低下。
当从通用数值工作器接收到输出任务(例如,输出任务126)时,任务管理器110可以被配置为从未完成工作池中移除相应的输入任务,从而确保每个输入任务的原子消耗和相应输出任务的产生。原子性来自于任务管理器110,确保(i)永远不会有多个通用数值工作器同时处理相同的输入任务;(ii)如果分配的数值工作器消亡(die),另一个数值工作器将被分配在来处理该任务;以及(iii)将为每个输入任务产生单个唯一的输出任务。
当任务管理器100与通用数值工作器112a-c就输入任务(例如输入任务122)的消耗和输出任务(例如输出任务126)的产生进行协调时,客户端108可以被配置为周期性地向任务管理器110查询可用的输出任务(例如查询128)。如果存在可用的输出任务,例如存储在任务管理器110的输出任务数据库116中,则任务管理器110可以被配置为将它们提供给客户端108,例如输出任务130。客户端108可以被配置为然后解析接收到的输出任务有效载荷,并以用户定义的方式处理结果。
数值量子实验系统100可以提供处理后的结果(例如表示使用算法解决候选计算问题的结果的数据104)作为输出。输出结果可用于确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。下面参考图4更详细地描述确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
在一些实施方式中,数值量子实验系统可以包括多个任务管理器,其中每个任务管理器被配置为管理位于到相应任务管理器的预定距离内的通用数值工作器。在这些实施方式中,将主任务划分成单独的较小任务仍然在客户端108执行。对于多个交互的任务管理器,客户端108可以被配置为向任何一个可用的任务管理器提交任务。然后,作为资源调整和负载平衡的一部分,任务管理器可以在任务之间进行交换和置乱(shuffle)。
当需要同时考虑的多个数值任务超过单个任务管理器机器的处理能力和网络带宽时,可能需要更高级别的工作协调。多个任务管理器的自动控制和协调也可以通过使用通用数值工作器二进制中的附加逻辑来实现,通用数值工作器二进制由在全局系统中传递的特殊任务激活。整个系统的全局/局部资源调整和负载平衡可以通过永久性和不可消除的任务控制(mission control,MC)来实现。
典型地,MC任务可以驻留在一个或多个任务管理器中,并且可以周期性地发布给工作器进行评估。当工作器接收到MC任务时,该工作器可以被配置为执行内置于通用数值工作器二进制中的全局资源调整和负载平衡逻辑。该逻辑可以涉及查询本地任务管理器和任意数量的远程任务管理器中存在的当前计算负载;它可以查询当前部署的工作器资源的量;它可以评估当前可用工作器的性能和当前排队的数值任务的计算需求;最后,它可以发出命令,用于校正部署的资源和在可用任务管理器之间重新分配数值任务,用于全局负载平衡。然后,工作器可以将相关的状态信息记录在MC任务中,并将其返回给其任务管理器,在其任务管理器处它保持休眠状态,直到下一个计划的维护周期。
在一些实施方式中,数值量子实验系统100可以被配置为从数值量子实验系统的多个用户接收输入任务。例如,在一些情况下,可能有处理不同的项目的多个用户,每个用户同时完成自己的数值作业。在这种情况下,不同的用户能够向连续运行的数值量子实验系统提交任务可能是有用的,例如,与每个用户启动和管理他们自己的数值量子实验系统相反。
由于数值工作器是通用数值工作器,并且使用将所有可用的数值算法打包在一起的相同工作器二进制,不同的用户必须使用相同的工作器二进制。然而,当新的数值算法被添加到二进制中或者存在对现有的二进制的更新时,就会建立新的工作二进制。然后,系统可以将更新推送到服务,例如,通过滚动工作器二进制的更新,使得新提交的任务可以被处理,留下一些具有旧版本工作器,直到不再需要它们,或者在数值任务中建立一些它们打算用的二进制版本的知识。具有错误二进制版本的数值工作器将被配置为没有资格处理这些任务。
此外,每当来自所有并发用户的总工作量导致接近或超过资源限制时,系统可以使用分配给单独任务的优先级,以便选择之后给予通用数值工作器的任务。数值量子实验系统100还可以被配置为维护实时仪表板,该仪表板基于通用数值工作器到目前为止从单独输入任务传递结果花费了多长时间来列出具有近似ETA的所有当前作业/用户。然后,如果一些用户将他们的作业设置为高优先级,并且从而不处理其他作业,管理员会自动地被警报,并且会采用一些手动动作。这种用法也可能是合法的。
在一些实施方式中,通用数值工作器112a-c中的每一个可以被配置为基于由等待完成的多个任务测量的当前负载来发布资源调整命令。例如,通用数值工作器112a-c可以被配置为基于由在任务管理器处等待完成的多个数值任务测量的当前负载来发布资源调整命令。这可以通过周期性地在任务管理器110和任何自由通用数值工作器之间来回往返的不可删除的任务来实施。例如,当不需要资源调整时,不可删除的任务可能会在任务管理器处休眠,并被周期地释放给将其视为需要评估当前负载情况并在必要时发布资源调整的标志的通用数值工作器。自动资源调整可能有几个好处。例如,自动资源调整消除了持续监控系统负载和进行重复的手动调整的需要。此外,可以实现能量和整体计算资源的节省。此外,自动资源调整可能比任何人工干预都更准确和及时。
在一些实施方式中,通用数值工作器二进制可以包括实验设计逻辑层,该实验设计逻辑层被配置为应用机器学习算法来基于完成的输入任务确定当前输入任务的学习的参数。全面指定需要完成的整个数值任务集合涉及对要评估的适当参数集合进行大量有根据的猜测。该过程可能导致操作客户端机器(即数值量子实验系统100)的人类科学家的部分在工程时间方面的高成本。此外,有时客户端机器后面的人类科学家可能会倾向于需要基于从先前完成的任务集合中看到的结果,返回并定义越来越多的数值任务集合。这种人类密集的迭代过程可以通过机器学习算法,例如高斯过程,在数值量子实验系统100中自动化。这种算法可用于基于已完成的数值任务在超参数空间(其中超参数不同于数值算法的参数)中递增地构建模型,并自动构造被认为有助于完善超参数优化设计(landscape)的当前模型的后续批次的数值任务。
实验设计逻辑层可以被包括在通用数值工作器二进制中,并且任何工作器可以被配置为在给定接收到的任务的情况下执行逻辑层中的逻辑,该接收到的任务请求在存在可能已经在实验设计算法的先前迭代期间指定的新完成的数值任务的情况下进一步完善超参数模型。
数值量子实验系统100可以被配置为一旦实验设计层达到其超参数模型的停止标准就自动关闭,因为这是模型不能被进一步完善并且最佳参数集合已经被看到和评估的点。
通过包括实验设计逻辑层,来自人类科学家的输入可以减少到最低水平。例如,人类科学家可能只需要通过指定问题实例、感兴趣的数值算法以及在一些实施方式中可以用于引导实验设计算法的初始参数范围的粗略猜测来初始化数值量子实验系统100。在实验设计算法检测到满意的终止标准后,它停止新任务的生成,等待任何剩余任务的完成(或者仅仅终止它们),并且最后人类科学家接收表示显著结果摘要的数据。
图2描绘了示例通用数值工作器类图200。例如,示例通用数值工作器类图200可以描绘如上参考图1所述的数值量子实验系统100的通用数值工作器112a-c的类图。
如上参考图1所述,数值量子实验系统100中的每个通用数值工作器包括数值接口,例如数值接口202。数值接口202保护每个通用数值工作器免受特定于任何特定数值算法(例如,算法204a-e)的知识的影响。例如,在接收到识别候选计算问题和一个或多个算法的数据102时,客户端108可以被配置为填充通用数值工作器输入protobuf消息中的“算法_名称”字段,该消息可以随后被包装到工作流输入任务中。客户端108然后可以被配置为将输入任务提交给任务管理器110。
继续这个示例,在数值工作器侧,从输入任务中提取的“算法_名称”字符串可以被传递给工厂,该工厂知道数值接口的不同实施方式,并且能够构造所请求类型的对象。除了由工厂构造的合适的数值对象之外,通用数值工作器还可以维护特定基本类型的多态数据包装对象。实例数据可以根据任务配置,例如通过构造数值对象的工厂,最初被写入数值数据对象。实例数据随后可以在调用数值对象的Run()函数之后,通过数值算法从数值数据对象中读出。
图3示出了通用数值工作器的示例缓存策略300。如上参考图1和图2所述,通用数值工作器包括数值接口,该数值接口保护通用数值工作器免受特定于任何特定算法的知识的影响。实例数据可以根据任务配置被最初写入数值数据对象,并且随后在调用数值数据对象的run()函数之后,通过数值算法从数值数据对象中读出。以这种方式将数字数据从数值算法中分离出来,为通用数值工作器提供了宝贵的缓存机会。
由于可能存在有大量的输入任务需要在相同问题实例上使用不同的参数集合执行不同的数值算法,所以通用数值工作器不应该每次新的输入任务到达时都读取实例数据。相反,通用数值工作器被配置为保存先前输入任务所需要的构造的数值数据对象的缓存。当接收到新的输入任务时,通用数值工作器可以首先检查该任务所需的实例数据是否已经存在于缓存中。只有当缓存还没有实例数据时,通用数值工作器才可以从输入任务配置指向的缓存名称服务器位置读取实例数据。对于单独数值算法的大的超参数空间和要评估的大量数值算法,这种缓存策略可以潜在地导致显著的效率提高,并避免实例数据存储位置的不必要争用。
如图1-图3中所述的数值工作器的设计,即将数值工作器与数字库相链接,意味着数值工作器是通用的,并且使得数值工作器能够仅基于由数值量子实验系统100的用户指定并由用户经由客户端提交给任务管理器的配置来执行任何实施的数值算法。如本说明书中所述,通用数值工作器允许将许多不同的数值算法一起打包在数值工作器执行的相同二进制中。由于客户端可以提交任务,要求使用任何不同的可用数值算法来完成运行,因此工作器在其产品组合中选择适当算法并适当执行该算法的能力对于使用整个实验流水线的所达到的效率和易用性至关重要。
硬件编程
图4是用于确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率的示例过程400的流程图。为了方便,过程400将被描述为由位于一个或多个位置的一个或多个传统或量子计算设备的系统执行。例如,根据本说明书适当编程的包括数值量子实验系统的系统(例如包括图1的系统100)可以执行过程400。
识别作为量子计算候选的计算问题和用于解决候选计算问题的一个或多个数值算法(步骤402)。
在一些实施方式中,所识别的候选计算问题可以包括传统地模拟量子系统的问题,例如传统地模拟自旋链系统或高温传导系统的问题。在一些实施方式中,候选计算问题可以包括抽象计算问题,例如旅行推销员问题或3-SAT问题。
在一些实施方式中,所识别的一个或多个数值算法包括以下各项中的一个或多个:(i)量子系统的传统模拟,例如薛定谔方程的积分或精确对角化,(ii)物理驱动的传统算法,例如模拟退火、自旋向量蒙特卡罗、路径积分蒙特卡罗,或者(iii)抽象传统算法,例如禁忌搜索、分支和定界方法、随机局部搜索、大邻域搜索算法。
在一些实施方式中,识别用于解决候选计算问题的一个或多个数值算法包括为每个识别的数值算法识别算法的相应参数值集合。例如,在一些实施方式中,所识别的候选计算问题可以是优化问题,并且所识别的一个或多个算法可以包括模拟退火。在这种情况下,算法的相应参数值集合可以包括模拟退火的多个温度降低计划(schedule)。
将识别(i)候选计算问题和(ii)一个或多个数值算法的输入任务数据提供给数值量子实验系统(步骤404)。例如,输入任务数据可以被提供给数值量子实验系统的客户端组件,例如上面参考图1描述的系统100的客户端108。
数值量子实验系统包括多个通用数值工作器,其中多个数值工作器中的至少一个数值工作器被配置为使用一个或多个算法来解决候选计算问题。在一些实施方式中,每个数值工作器被配置为使用一个或多个算法来解决候选计算问题。如上参考图1所述,每个通用数值工作器包括相同的二进制,其中二进制包括编译形式的预定的数值算法集合。例如,每个通用数值工作器可以被配置为从数值量子实验系统任务管理器(例如任务管理器110)接收动态指令,以通过作为数值量子实验系统客户端经由任务管理器提供的输入任务的一部分而接收的配置来执行预定的数值算法集合中的特定算法。
如上参考图1所述,在一些实施方式中,二进制可以包括被配置为应用机器学习算法来基于完成的输入任务确定当前输入任务的学习的参数的实验设计逻辑层。例如,系统可以应用回归技术来预测好的或最佳的超参数设置在哪里,例如高斯过程。应用高斯过程可以包括确定用于从待优化的未知函数的域中获取的成批次点的特定算法的迭代生成。一旦生成了一个批次,该批次中的点可以被并行评估。高斯过程可用于在评估连续批次后对当前模型中的不确定性建模,并基于该模型生成下一批次的点以用于评估。整个算法的目标可能是最小化“批次累积遗憾(batch cumulative regret)”,这可以定义为生成的批次与最优批次的总距离。
如上参考图1所述,在一些实施方式中,每个通用数值工作器可以包括来自先前输入任务的构造的数值数据对象的相应缓存。在这些情况下,响应于接收到新的输入任务,系统可以由通用数值工作器确定缓存是否包括新的输入任务所需的数据。响应于确定缓存包括新的输入任务所需的数据,系统可以检索和使用新的输入任务所需的数据。
该系统从数值量子实验系统接收表示一个或多个算法解决候选计算问题的结果的数据(步骤406)。在一些实施方式中,表示使用相应数值算法来解决候选计算问题的结果的数据可以包括表示相应计算运行时间的数据。在一些实施方式中,表示使用相应数值算法来解决候选计算问题的结果的数据可以包括表示来自数值算法的度量的数据,例如,实现找到基态的99%概率所需要的量子蒙特卡罗中的扫描总数。这种度量可以被投影到量子计算硬件上的估计的运行时间,例如量子退火器,其可以在将来被构建或使用。表示使用一个或多个算法中的每一个来解决候选计算问题的结果的数据可以包括不同问题大小的数据,并且可以用于执行曲线拟合,以推断作为问题大小的函数的计算运行时间的定标律。
如上参考图1所述,在一些实施方式中,当相应结果可用时,系统可以接收表示使用一个或多个数值算法中的每一个来解决候选计算问题的结果的数据,即,系统可以不接收表示使用一个或多个数值算法中的每一个来解决一个数据包中的候选计算问题的结果的数据。
系统确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率(步骤408)。
在一些实施方式中,通过确定当使用量子计算解决候选计算问题时候选计算问题经历量子加速,系统确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
在一些实施方式中,系统通过为用于解决候选计算问题的每个数值算法确定算法运行时间,来确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。然后,系统可以分析所确定的运行时间,以确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
如上参考步骤402所述,在一些实施方式中,一个或多个数值算法可以包括量子系统的传统模拟和一个或多个传统算法。在这些实施方式中,系统可以分析所确定的运行时间,以通过将量子系统的传统模拟的运行时间与一个或多个传统算法中的每一个的运行时间进行比较来确定量子系统的传统模拟的运行时间是否短于一个或多个传统算法中的每一个的运行时间,从而确定接收到的数据是否指示应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率。
在一些情况下,所确定的运行时间可以包括不是由传统机器(例如,数值工作器)上的实际物理运行时间直接测量的运行时间,因为传统机器可以在例如,在CPU架构、存储器缓存、存储器总线速度或带宽方面有很大变化,并且可能遭受可能影响直接测量尝试的定时结果的各种I/O或系统开销。例如,通过分析与用于获得计算问题的解决方案的数值算法相关的一个或多个度量,系统可以分析接收到的数据,以确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面有更大的效率。例如,系统可以从数值算法中选择一个度量,例如实现找到基态的高概率所需要的量子蒙特卡罗中的扫描总数,并将该度量投影到量子硬件(例如量子退火器)上的估计的运行时间。然后,量子硬件上的估计的运行时间可用于确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面有更大的效率。
作为另一个示例,系统可以使用接收到的数据来确定定标律。例如,系统可以使用接收到的不同问题大小的数据来执行曲线拟合,并推断作为问题大小的函数的运行时间的定标律。基于所确定的定标律,系统可以确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面有更大的效率。
作为进一步的示例,系统可以使用接收到的数据来确定量子计算和传统计算的近似性度量。例如,当目标是找到某个质量Q或更好的解决方案时,系统可以考虑量子和非量子计算方法如何比较,其中,Q对应于问题的近似解决方案,而不是问题的精确解决方案。系统可以使用所确定的近似性来确定应用于候选计算问题的量子计算是否比应用于候选计算问题的传统计算在获得解决方案方面有更大的效率。
在一些实施方式中,响应于确定应用于候选计算问题的量子计算比应用于候选计算问题的传统计算在获得解决方案方面具有更大的效率,可以执行量子计算来解决候选计算问题。例如,如上所述,在一些实施方式中,候选计算问题可以包括优化问题,并且用于解决优化问题的一个或多个算法可以包括模拟退火。响应于确定应用于优化问题的量子计算在获得优化问题的解决方案方面具有更大的效率,可以执行量子退火以在未来应用中解决优化问题。
本说明书中描述的数字和/或量子主题以及数字功能操作和量子操作的实施方式可以在数字电子电路、合适的量子电路或者更一般地,量子计算系统、有形体现的数字和/或量子计算机软件或固件、数字和/或量子计算机硬件中实施,包括本说明书中公开的结构和它们的结构等同物,或者它们中的一个或多个的组合。术语“量子计算系统”可以包括但不限于量子计算机、量子信息处理系统、量子密码系统或量子模拟器。
本说明书中描述的数字和/或量子主题的实施方式可以实施为一个或多个数字和/或量子计算机程序,即编码在有形的非暂时性存储介质上的数字和/或量子计算机程序指令的一个或多个模块,该数字和/或量子计算机程序指令用于由数据处理装置执行或控制数据处理装置的操作。数字和/或量子计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储设备、一个或多个量子比特、或者它们中的一个或多个的组合。可替换地或附加地,程序指令可以被编码在能够编码数字和/或量子信息的人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以编码数字和/或量子信息,用于传输到合适的接收器装置,以由数据处理装置执行。
术语量子信息和量子数据是指由量子系统承载、保持或存储的信息或数据,其中最小的非平凡系统是量子比特,即定义量子信息单位的系统。应当理解,术语“量子比特”包括在相应上下文中可以适当近似为两级系统的所有量子系统。这种量子系统可以包括多级系统,例如具有两级或更多级的系统。举例来说,这样的系统可以包括原子、电子、光子、离子或超导量子比特。在许多实施方式中,计算基础状态用基态和第一激发态来标识,然而应当理解,计算状态用更高级激发态来标识的其他设置也是可能的。术语“数据处理装置”指的是数字和/或量子数据处理硬件,包括用于处理数字和/或量子数据的所有类型的装置、设备和机器,例如包括可编程数字处理器、可编程量子处理器、数字计算机、量子计算机、多个数字和量子处理器或计算机及其组合。该装置还可以是或进一步包括专用逻辑电路,例如,FPGA(field programmable gate arra,现场可编程门阵列)、ASIC(application-specific integrated circuit,专用集成电路)或量子模拟器,即,被设计成模拟或产生关于特定量子系统的信息的量子数据处理装置。特别是,量子模拟器是不具备执行通用量子计算的能力的一种特殊用途的量子计算机。除了硬件之外,该装置可以可选地包括为数字和/或量子计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码的数字计算机程序,可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在数字计算环境中使用的其他单元。也可以被称为或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码的量子计算机程序,可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并被翻译成合适的量子编程语言,或者可以用量子编程语言编写,例如QCL或Quipper。
数字和/或量子计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,例如存储一个或多个模块、子程序或部分代码的文件中。数字和/或量子计算机程序可以被部署为在一个数字或一个量子计算机上执行,或者在位于一个站点或分布在多个站点上并通过数字和/或量子数据通信网络互连的多个数字和/或量子计算机上执行。量子数据通信网络被理解为可以使用量子系统(例如量子比特)传输量子数据的网络。通常,数字数据通信网络不能传输量子数据,然而量子数据通信网络可以传输量子数据和数字数据。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程数字和/或量子计算机执行,适当时与一个或多个数字和/或量子处理器一起操作,执行一个或多个数字和/或量子计算机程序以通过对输入数字和量子数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA或ASIC,或者量子模拟器,或者由专用逻辑电路或量子模拟器以及一个或多个编程的数字和/或量子计算机的组合来执行。
对于被“配置为”执行特定的操作或动作的一个或多个数字和/或量子计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中导致系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个数字和/或量子计算机程序,意味着该一个或多个程序包括指令,当由数字和/或量子数据处理装置执行时,该指令使得该装置执行操作或动作。量子计算机可以从数字计算机接收指令,当由量子计算装置执行时,该指令使得该装置执行操作或动作。
适于执行数字和/或量子计算机程序的数字和/或量子计算机可以基于通用或专用数字和/或量子处理器或两者,或者任何其他类型的中央数字和/或量子处理单元。通常,中央数字和/或量子处理单元将从只读存储器、随机存取存储器或适合传输量子数据(例如光子)的量子系统或其组合接收指令和数字和/或量子数据。
数字和/或量子计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数字和/或量子数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路或量子模拟器来补充或并入其中。通常,数字和/或量子计算机还将包括或可操作地耦合以从用于存储数字和/或量子数据的一个或多个大容量存储设备(例如磁、磁光盘、光盘或适于存储量子信息的量子系统)接收数字和/或量子数据,或将数字和/或量子数据传输到用于存储数字和/或量子数据的一个或多个大容量存储设备,或两者。然而,数字和/或量子计算机不需要这样的设备。
适于存储数字和/或量子计算机程序指令以及数字和/或量子数据的数字和/或量子计算机可读介质包括所有形式的非易失性数字和/或量子存储器、介质和存储设备,例如包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;CD-ROM和DVD光盘;和量子系统,例如捕获的原子或电子。应当理解,量子存储器是能够以高保真度和高效率长时间存储量子数据的设备,例如其中光用于传输的光-物质界面,以及用于存储和保存量子数据的量子特征(诸如叠加或量子相干)的物质。
本说明书中描述的各种系统或其部分的控制可以在数字和/或量子计算机程序产品中实施,该产品包括存储在一个或多个非暂时性机器可读存储介质上的指令,并且这些指令可以在一个或多个数字和/或量子处理设备上执行。本说明书中描述的系统或它们的一部分可以各自实施为装置、方法或系统,该系统可以包括一个或多个数字和/或量子处理设备和存储执行本说明书中描述的操作的可执行指令的存储器。
虽然本说明书包含许多具体的实施方式细节,但是这些细节不应被解释为对要求保护的范围的限制,而是对特定于特定实施方式的特征的描述。本说明书中在单独实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中单独实施或以任何合适的子组合实施。此外,尽管特征可以如上被描述为在某些组合中起作用,并且甚至最初是这样要求保护的,但是在一些情况下,可以从该组合中删除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序执行这些操作,或者要求执行所有所示的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施方式中的各种系统模块和组件的分离不应理解为在所有实施方式中都要求这种分离,并且应理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者打包到多个软件产品中。
已经描述了主题的特定实施方式。其他实施方式也在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中描述的过程不一定要求所示的特定顺序或顺序以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (32)
1.一种用于数值量子实验的方法,包括:
识别(i)作为量子计算候选的计算问题,以及(ii)用于解决候选计算问题的一个或多个数值算法;
向数值量子实验系统提供识别(i)所述候选计算问题和(ii)所述一个或多个数值算法的输入任务数据,其中所述数值量子实验系统包括多个通用数值工作器,所述多个通用数值工作器中的通用数值工作器被配置为使用所述一个或多个数值算法来解决所述候选计算问题;
从所述数值量子实验系统接收表示所述一个或多个数值算法解决所述候选计算问题的结果的数据;和
确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率。
2.根据权利要求1所述的方法,其中多个通用数值工作器包括相同的二进制,所述二进制包括编译形式的预定的数值算法集合。
3.根据权利要求2所述的方法,其中所述通用数值工作器被配置为从数值量子实验系统任务管理器接收动态指令,以通过作为由数值量子实验系统客户端经由任务管理器提供的输入任务的一部分而接收的配置来执行所述预定的数值算法集合中的特定算法。
4.根据权利要求2所述的方法,其中所述通用数值工作器包括保护所述通用数值工作器免受特定于任何特定数值算法的知识的影响的数值接口。
5.根据权利要求2所述的方法,其中所述二进制包括被配置为应用机器学习算法来基于完成的输入任务确定当前输入任务的学习的参数的实验设计逻辑层。
6.根据权利要求1所述的方法,其中所述通用数值工作器包括来自先前输入任务的构造的数值数据对象的相应缓存,并且其中所述方法还包括,响应于接收到新的输入任务:
由所述通用数值工作器确定所述缓存是否包括所述新的输入任务所需的数据;和
响应于确定所述缓存包括所述新的输入任务所需的数据,检索并使用所述新的输入任务所需的数据。
7.根据权利要求1所述的方法,还包括,响应于确定应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率,执行量子计算以解决所述候选计算问题。
8.根据权利要求1所述的方法,其中确定应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率包括确定当使用量子计算解决所述候选计算问题时,所述候选计算问题经历量子加速。
9.根据权利要求1所述的方法,其中所述候选计算问题包括(i)传统地模拟量子系统或(ii)抽象计算问题中的一个或多个。
10.根据权利要求9所述的方法,其中所述一个或多个数值算法包括以下各项中的一个或多个:(i)量子系统的传统模拟,(ii)物理驱动的传统算法,或(iii)抽象传统算法。
11.根据权利要求1所述的方法,其中识别用于解决所述候选计算问题的一个或多个数值算法还包括,对于识别的数值算法,识别所述算法的相应参数值集合。
12.根据权利要求1所述的方法,其中接收表示一个或多个数值算法解决所述候选计算问题的结果的数据包括当相应结果可用时接收表示结果的数据。
13.根据权利要求1所述的方法,其中表示相应数值算法解决所述候选计算问题的结果的数据包括表示相应计算时间的数据。
14.根据权利要求1所述的方法,其中确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率包括:
为用于解决所述候选计算问题的每个数值算法确定算法运行时间;
分析所确定的运行时间,以确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率。
15.根据权利要求14所述的方法,其中所述一个或多个数值算法包括(i)量子系统的传统模拟,和(ii)一个或多个传统算法,以及
其中分析所确定的运行时间以确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率包括将所述量子系统的传统模拟的运行时间与一个或多个传统算法中的每一个的运行时间进行比较,以确定所述量子系统的传统模拟的运行时间是否比所述一个或多个传统算法中的每一个的运行时间短。
16.根据权利要求1所述的方法,其中确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率包括:
分析接收到的数据,以推断作为问题大小的函数的计算运行时间的定标律;和
基于所述定标律,确定应用于所述候选计算问题的量子计算是否比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率。
17.根据权利要求1所述的方法,其中确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率包括:
使用接收到的数据来确定量子计算和传统计算的近似性度量;和
基于所确定的近似性度量,确定接收到的数据是否指示应用于所述候选计算问题的量子计算比应用于所述候选计算问题的传统计算在获得解决方案方面具有更大的效率。
18.根据权利要求1所述的方法,其中所述通用数值工作器被配置为基于由等待完成的多个任务测量的当前负载来发布资源调整命令。
19.根据权利要求1所述的方法,其中所述数值量子实验系统包括多个任务管理器,其中所述多个任务管理器中的任务管理器被配置为管理位于距所述任务管理器预定距离内的通用数值工作器。
20.根据权利要求1所述的方法,其中所述数值量子实验系统被配置为从所述数值量子实验系统的多个用户接收输入任务。
21.一种数值量子实验系统,包括:
客户端;
一个或多个任务管理器;
多个通用数值工作器;
其中所述数值量子实验系统被配置为执行包括以下的操作:
接收识别(i)候选计算问题和(ii)一个或多个数值算法的输入任务数据,其中所述多个通用数值工作器中的通用数值工作器被配置为使用所述一个或多个算法来解决所述候选计算问题;
使用所述一个或多个算法解决所述候选计算问题;
提供表示所述一个或多个算法解决所述候选计算问题的结果的数据作为输出。
22.根据权利要求21所述的系统,其中多个通用数值工作器包括相同的二进制,所述二进制包括编译形式的预定的数值算法集合。
23.根据权利要求22所述的系统,其中所述通用数值工作器被配置为从数值量子实验系统任务管理器接收动态指令,以通过作为由数值量子实验系统客户端经由所述任务管理器提供的输入任务的一部分而接收的配置来执行所述预定的数值算法集合中的特定算法。
24.根据权利要求22所述的系统,其中所述通用数值工作器包括保护所述通用数值工作器免受特定于任何特定数值算法的知识的影响的数值接口。
25.根据权利要求22所述的系统,其中所述二进制包括被配置为应用机器学习算法来基于完成的输入任务确定当前输入任务的学习的参数的实验设计逻辑层。
26.根据权利要求21所述的系统,其中所述通用数值工作器包括来自先前输入任务的构造的数值数据对象的相应缓存,并且其中使用所述一个或多个算法解决所述候选计算问题包括:
由所述通用数值工作器确定所述缓存是否包括新的输入任务所需的数据;和
响应于确定所述缓存包括所述新的输入任务所需的数据,检索并使用所述新的输入任务所需的数据。
27.根据权利要求21所述的系统,其中所述通用数值工作器被配置为基于由等待完成的多个任务测量的当前负载来发布资源调整命令。
28.根据权利要求21所述的系统,其中所述一个或多个任务管理器被配置为管理位于到相应任务管理器的预定距离内的通用数值工作器。
29.根据权利要求21所述的系统,其中所述数值量子实验系统被配置为从所述数值量子实验系统的多个用户接收输入任务。
30.根据权利要求21所述的系统,其中所述候选计算问题包括(i)传统地模拟量子系统或(ii)抽象计算问题中的一个或多个。
31.根据权利要求30所述的系统,其中所述一个或多个数值算法包括以下各项中一个或多个:(i)量子系统的传统模拟,(ii)物理驱动的传统算法,或(iii)抽象传统算法。
32.根据权利要求21所述的系统,其中,所述数值量子实验系统还被配置为接收为所述一个或多个数值算法识别所述算法的相应参数值集合的输入任务数据。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2016/059873 WO2018084829A1 (en) | 2016-11-01 | 2016-11-01 | Numerical quantum experimentation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109891438A true CN109891438A (zh) | 2019-06-14 |
| CN109891438B CN109891438B (zh) | 2023-11-03 |
Family
ID=57256494
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201680090526.0A Active CN109891438B (zh) | 2016-11-01 | 2016-11-01 | 数值量子实验方法和系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US11205134B2 (zh) |
| CN (1) | CN109891438B (zh) |
| CA (1) | CA3042183C (zh) |
| WO (1) | WO2018084829A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114814837A (zh) * | 2021-01-20 | 2022-07-29 | 通用汽车环球科技运作有限责任公司 | 基于多检测对象和多步规划的雷达系统中的天线选择 |
| CN115907016A (zh) * | 2021-09-30 | 2023-04-04 | 合肥本源量子计算科技有限责任公司 | 一种基于量子计算搜索目标范围值的方法及相关装置 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10817796B2 (en) | 2016-03-07 | 2020-10-27 | D-Wave Systems Inc. | Systems and methods for machine learning |
| CN109716360B (zh) | 2016-06-08 | 2023-08-15 | D-波系统公司 | 用于量子计算的系统和方法 |
| US11263547B2 (en) | 2017-01-30 | 2022-03-01 | D-Wave Systems Inc. | Quantum annealing debugging systems and methods |
| US11586915B2 (en) | 2017-12-14 | 2023-02-21 | D-Wave Systems Inc. | Systems and methods for collaborative filtering with variational autoencoders |
| US11100418B2 (en) | 2018-02-28 | 2021-08-24 | D-Wave Systems Inc. | Error reduction and, or, correction in analog computing including quantum processor-based computing |
| US11087232B2 (en) | 2018-07-18 | 2021-08-10 | IonQ, Inc. | Quantum hybrid computation |
| US11568293B2 (en) * | 2018-07-18 | 2023-01-31 | Accenture Global Solutions Limited | Quantum formulation independent solver |
| US11900264B2 (en) * | 2019-02-08 | 2024-02-13 | D-Wave Systems Inc. | Systems and methods for hybrid quantum-classical computing |
| US11625612B2 (en) | 2019-02-12 | 2023-04-11 | D-Wave Systems Inc. | Systems and methods for domain adaptation |
| US12346825B2 (en) * | 2020-01-22 | 2025-07-01 | Accenture Global Solutions Limited | Utilizing natural language processing similarity matching to determine whether a problem requires quantum computing or classical computing |
| US11188317B2 (en) | 2020-03-10 | 2021-11-30 | International Business Machines Corporation | Classical artificial intelligence (AI) and probability based code infusion |
| US11194554B2 (en) | 2020-04-28 | 2021-12-07 | International Business Machines Corporation | Efficient quantum adaptive execution method for quantum circuits |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100082142A1 (en) * | 2005-11-22 | 2010-04-01 | Usadi Adam K | Simulation System and Method |
| WO2016029172A1 (en) * | 2014-08-22 | 2016-02-25 | D-Wave Systems Inc. | Systems and methods for problem solving, useful for example in quantum computing |
| US20160110657A1 (en) * | 2014-10-14 | 2016-04-21 | Skytree, Inc. | Configurable Machine Learning Method Selection and Parameter Optimization System and Method |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8612980B2 (en) | 2003-12-04 | 2013-12-17 | The Mathworks, Inc. | Distribution of job in a portable format in distributed computing environments |
| US20150160968A1 (en) | 2013-12-11 | 2015-06-11 | Metratech Corp. | Freezing a call stack |
-
2016
- 2016-11-01 CA CA3042183A patent/CA3042183C/en active Active
- 2016-11-01 CN CN201680090526.0A patent/CN109891438B/zh active Active
- 2016-11-01 US US16/344,833 patent/US11205134B2/en active Active
- 2016-11-01 WO PCT/US2016/059873 patent/WO2018084829A1/en not_active Ceased
-
2021
- 2021-11-12 US US17/525,581 patent/US11915101B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100082142A1 (en) * | 2005-11-22 | 2010-04-01 | Usadi Adam K | Simulation System and Method |
| WO2016029172A1 (en) * | 2014-08-22 | 2016-02-25 | D-Wave Systems Inc. | Systems and methods for problem solving, useful for example in quantum computing |
| US20160110657A1 (en) * | 2014-10-14 | 2016-04-21 | Skytree, Inc. | Configurable Machine Learning Method Selection and Parameter Optimization System and Method |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114814837A (zh) * | 2021-01-20 | 2022-07-29 | 通用汽车环球科技运作有限责任公司 | 基于多检测对象和多步规划的雷达系统中的天线选择 |
| CN115907016A (zh) * | 2021-09-30 | 2023-04-04 | 合肥本源量子计算科技有限责任公司 | 一种基于量子计算搜索目标范围值的方法及相关装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CA3042183A1 (en) | 2018-05-11 |
| US11205134B2 (en) | 2021-12-21 |
| US11915101B2 (en) | 2024-02-27 |
| US20220101170A1 (en) | 2022-03-31 |
| WO2018084829A1 (en) | 2018-05-11 |
| CN109891438B (zh) | 2023-11-03 |
| CA3042183C (en) | 2023-02-28 |
| US20190258952A1 (en) | 2019-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109891438A (zh) | 数值量子实验 | |
| US10824478B2 (en) | Methods and systems for quantum ready and quantum enabled computations | |
| US11880347B2 (en) | Tuning large data infrastructures | |
| US20180053134A1 (en) | System, method and computer product for management of proof-of-concept software pilots, including neural network-based kpi prediction | |
| US10409699B1 (en) | Live data center test framework | |
| CN109726811A (zh) | 使用优先级队列训练神经网络 | |
| US9396160B1 (en) | Automated test generation service | |
| US20160178801A1 (en) | Scalable Scheduling of Parallel Iterative Seismic Jobs | |
| Sharma et al. | High performance computing for energy system optimization models: Enhancing the energy policy tool kit | |
| Singh et al. | A SIMULATION MODEL FOR INCREMENTAL SOFTWARE DEVELOPMENT LIFE CYCLE MODEL. | |
| Yang et al. | Optimal computing budget allocation for ordinal optimization in solving stochastic job shop scheduling problems | |
| Ancveire et al. | Application of Genetic Algorithms for Decision-Making in Project Management: A Literature Review. | |
| US10679162B2 (en) | Self-organizing workflow | |
| Zaborovsky et al. | Improving Efficiency of Hybrid HPC Systems Using a Multi-agent Scheduler and Machine Learning Methods | |
| US12169737B1 (en) | Task orchestration system in a trustless computing environment | |
| Dehghanimohammadabadi et al. | Tradeoffs between objective measures and execution speed in Iterative Optimization-based Simulation (IOS) | |
| Xiao et al. | Search-based resource scheduling for bug fixing tasks | |
| Wu et al. | Research on slurm scheduling optimization based on multiqueue scenario | |
| Pihir et al. | BUSINESS PROCESS MODELING AND PROCESS ORIENTED APLICATION IN IMPLEMENTATION OR DEVELOPMENT OF NEW INFORMATION SYSTEM | |
| Brown et al. | Web-based volunteer distributed computing for handling time-critical urgent workloads | |
| Houston | A generalized duration forecasting model of test‐and‐fix cycles | |
| CN111708818B (zh) | 一种智能计算方法 | |
| Gadikota | Orchestrating Contextual Bandits Algorithm for Resource Scheduling in Kubernetes on Multiple Cloud Environments using Linear regression model | |
| Stubbs et al. | Sustainability in the Tapis Framework | |
| Sanjay et al. | Performance Modeling Based Scheduling and Rescheduling of Parallel Applications on Computational Grids |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |