Classiq首席技术官:量子软件开发仍处于起步阶段
本文作者是Yehuda Naveh博士,他是Classiq的联合创始人兼首席技术官 。
现在有这样一场比赛正在激烈进行,它的特点是既有科技巨头也有资金充裕的初创公司。IBM、英特尔、谷歌、霍尼韦尔、Xanadu、IonQ、Rigetti和阿里巴巴等公司都在竞相打造更强大的量子计算机。他们这样做似乎是有充分理由的,因为量子计算有望对众多领域——从网络安全到金融,从供应链到制药,从国防到天气预报等——产生巨大而深远的影响。
量子计算机包括量子比特和操作这些量子比特的门。这些公司在多个维度上展开竞争,包括量子位的数量、可用门的类型、量子比特的互连、错误率、工作温度等等。他们取得进展的速度相当令人眼花缭乱。例如,IBM研发了具有65个量子比特的高端量子机器,并预计明年将推出433个量子比特的量子计算机,并将于2023年量子比特数量将超过1000个。
与硬件一样重要的是,软件在推动量子革命方面也至关重要。在经典计算世界中,如果没有操作系统和用于开发应用程序的软件工具,那么现代CPU几乎毫无用处。我们可以假设量子计算机也是如此,如果没有强大的软件,那么量子计算将无法兑现其承诺。
然而,今天的量子软件开发还处于起步阶段。微软的Q#、IBM的Qiskit或谷歌的Cirq等量子编程语言主要在门或构建块级别上运行。如果尚未实现所需的构建块,用户则需要指定量子比特和量子门之间互连的确切顺序。这个过程类似于费力地摆放AND、OR和NOT逻辑门来创建数字电路。当只有几十个逻辑门时,它工作的会相当好,但实际上不可能用这样的方式扩展到数千或数百个门。
编写复杂的量子软件还有另一个不好的副作用,这会导致很难找到量子工程师。由于量子编程不同于经典编程,而且作为一种新兴前沿技术,这让量子软件工程师在目前是一个稀有工种。他们需要是量子信息理论方面的专家,对量子物理学有深入的了解,并精通线性代数。
目前,这些工程师通常是著名大学的博士级毕业生。拥有这种资格的人很少,大多数公司将发现很难为他们新创建的量子团队配备人员。此外,量子软件工程师缺乏期权定价、分子生物学、供应链优化或团队着手解决的任何问题方面的专业知识。在门级开发新算法的需求,使得将特定领域的专家整合到量子团队中变得非常困难。
如果你拍了一张漂亮的度假照片,但又想让日落的颜色更加生动,那么你可能不想逐个像素的去调整,尤其是当你的照片具有数百万个像素时。你宁愿使用Photoshop或其他图像编辑软件来处理,这种软件可以让你选择什么是你想处理的,然后只需找出如何实现这种调整的工具进行操作。
同样,如果你的团队成员开发了一种新的量子算法,他们不想逐个门的编码或调试和维护它。他们需要一种高级语言来将新概念转化为门级实现。
我们在早些时候对量子编程和数字电路设计进行了类比。发现数字电路设计的演变可以作为解决量子软件问题的灵感。
随着数字电路变得越来越复杂(英特尔早期的8086处理器只有大约20000个晶体管,而现在的i7处理器有超过40亿个晶体管),像VHDL(一种用于电路设计的高级语言)之类的设计语言就能派上用场了。通过使用VHDL、Verilog和类似的硬件描述语言,设计人员编写人类可读的代码来描述他们想要实现的目标,然后让计算机程序将这种高级描述转换为详细的门互连。
这些语言使得设计真正复杂的电路以及有效的调试和维护它们成为可能。高级语言还能促进代码重复利用,因此不需要每次都重新发明“轮子”。相信我们能在不久后看到类似VHDL的方法应用在量子计算。虽然量子的语言结构可能与电子设计的语言结构由很大区别,但这种“量子算法设计”的概念是相同的——专注于意图,让复杂的计算机程序将其翻译成量子比特和门。因为VHDL有太多好的历史,我们可以从中吸取到经验。预计量子计算在这些方面的相同事物会发展得更快,不确定性也更少。
为了为量子革命和这些新的软件平台做好准备,给公司的建议是:
• 向特定领域的专家介绍量子计算的概念,但不一定要求他们学习低级编程。
• 避免一头扎进量子比特和门中。应该先创建一个人类可读的高级描述,说明你的量子算法需要做什么。
• 继续寻找能够将高级建模语言转化为优化低级量子代码的平台。
如果软件方面没有重大进展,量子计算将停滞不前。量子算法设计软件不仅可以在更先进的机器上实现更复杂的算法,而且还将扩大可用的劳动力范围,并能允许特定领域的专家与博士级量子工程师一起工作。只有通过全面发展的软硬件技术和培养大量开发人员,我们才有可能兑现量子计算的巨大承诺。(编译:Qtech)