第 72 期·中文精读

斯科特·阿伦森:量子计算

Scott Aaronson: Quantum Computing

理论计算机科学家谈量子计算的原理与算力边界、量子优越性的意义及该领域的常见误解。

官方音频00:00 / --:--
中文精读由 AI 基于原始访谈改写,非官方翻译,可能存在偏差或错误;表述以原音频与官方文稿为准。说明

1950年,图灵在哲学期刊《心智》(Mind)上发表了一篇论文。开头两句话,他就把"机器能思考吗"这个问题扔掉了。

他说这个问题太模糊,没法讨论。然后换了一个:能不能编出程序,让人分不出它是机器还是人。这就是后来所谓的图灵测试。

Scott Aaronson 把这个动作称作 Q 变 Q'。面对一个无解的哲学谜题 Q,去找一个能用数学或实验推进的科学问题 Q',它只抓住 Q 的一部分,但它能往前走。图灵测试就是这么造出来的。

图灵和维特根斯坦在同一个教室里吵过架

1939年,图灵在剑桥听过维特根斯坦的一门课。课程记录留了下来,Aaronson 说那是他读过最迷人的文献之一。

维特根斯坦在课上反复说,形式系统这类东西完全不重要,跟现实生活有什么关系。图灵的回答是:如果你用一个不一致的形式系统去设计一座桥,桥可能会塌。

Aaronson 说,图灵当时已经在想几十年后的事。形式系统会进入计算机,会在真实世界里做事。维特根斯坦还在争论形式系统有没有意义,图灵已经看到它要被拿来干什么。

图灵没把这门课上完。半路退课,去了布莱切利园。从哲学思辨一步跨到真实工程,这个跨度大得离谱。

这解释了 Aaronson 对哲学的态度。他自己去哲学会议,喜欢和哲学家聊天,但不肯当职业哲学家。原因很实在:哲学处理的是你能问出的最大的问题,可这些问题往往几千年没有进展。数学和科学不一样,它们能拿出具体的东西。

有意思的是,计算机科学家并不比别的科学家更回避哲学。图灵两篇最著名的论文里就有一篇发在哲学期刊上。只是大部分科学家太忙了,手上堆着一大把看起来能回答的问题,没空去啃那些看起来永远答不出来的。

自由意志可以变成一道能算的题

Aaronson 写过一篇文章叫《量子图灵机里的幽灵》,他说这是自己写过最疯的东西。在里面他试着给自由意志做了同样的替换。

哲学上讨论自由意志,特别容易卡在词义里:什么叫自由,有没有和决定论相容的自由意志,这些定义能纠缠几百年。他建议换个问法:一个人的行为,在多大程度上可以被预测,前提是不破坏他的大脑、不在测量过程中把他拆掉?

问题一换,就掉进了一堆实打实的东西里。大脑的计算基质是什么?在神经元这个抽象层级上理解它就够了吗,还是要下沉到分子层面,甚至量子层面?

然后是一个思想实验。假设有一台脑扫描仪,你走进去,它就能写出你以后会写的每一篇论文、会有的每一个念头,包括你现在关于这台机器的这个念头。

拉普拉斯妖那样的东西不太让人焦虑,因为没人见过它。但这台机器如果真能演示出来,感觉完全不同。它会把"自由意志"从一个形而上学问题变成一个经验问题:这台机器可能吗?如果不可能,是物理定律或者大脑的什么性质挡住了它?

Aaronson 顺手把量子力学的老答案也摆了出来。1920年代爱丁顿那批人就已经注意到,大脑里钠离子通道的行为是混沌的,由带随机项的微分方程描述。这些随机项最终来自分子层面的量子事件,再被蝴蝶效应放大。哪怕你知道某人大脑的完整量子态,你顶多能算出他做这件事或那件事的概率。

但这还不够。如果你造出一台机器,能算出你所有可能行为的概率,然后发现你真做了其中有10%概率的那件事、而且比例正好是10%,那种被剥夺感一点都不比被确定性预测好多少。

真正微妙的地方在于测量本身。测量一个量子态是个破坏性操作,粒子在被测之前处在许多位置的叠加里,一测就被定死到某个位置。那么,为了把人预测得足够准,是不是必须做精确到会永久改变这个人脑的测量?还是说,只需要在神经元这种宏观层级上装一堆纳米机器人就够了?

到这里,讨论已经变成一个有对错、有进展方向的问题了。

量子力学其实是一套推广了的概率论

物理学家花了几代人把量子力学讲得无比复杂。Aaronson 提供了一个偷懒的办法:把它当成概率规则的推广。

你会说今天有30%的概率下雪,不会说负30%的概率下雪,更不会说根号下负1的概率下雪。可量子力学的核心发现就是,世界是由振幅描述的,振幅像概率,但不是概率。它可以是正数、负数,甚至可以是复数。

所谓量子叠加,就是给测量时可能看到的每一种结果都分配一个振幅。看的时候,振幅按绝对值的平方变成概率。

双缝实验是这套规则最干净的演示。电子穿过两条缝打到后面的屏幕上,有些位置它永远到不了。可你把其中一条缝堵上,它反而能出现在那些位置。原因是到达某个点的振幅是所有可能路径的振幅之和,两条缝的振幅一个正一个负,正好抵消。少一条路,反而多一种可能。

Aaronson 说这就是量子力学的全部把戏:叠加、振幅、干涉。量子计算机就是想拿这套东西去解某些问题,比已知的任何经典算法都快。

量子比特的意思是一个比特同时有取0的振幅和取1的振幅。往下走一步,事情就变得离奇了:如果你有1000个量子比特,量子力学明明白白地告诉你,你需要为这1000个比特的每一种可能配置分配一个振幅,也就是2的1000次方个振幅。

把2的1000次方个复数写下来是什么概念?放不进整个可观测宇宙。

量子计算机并没有在并行尝试所有答案

几乎所有科普文章都在这里翻车。它们先讲上面那段,然后说:所以量子计算机就是同时尝试所有可能的答案。

听起来太好了,好到不像是真的。因为它确实不是真的。

你可以很容易地制造出一个覆盖所有可能答案的叠加态,哪怕有2的1000次方个答案。麻烦在于,计算机要输出结果,你终究得去看它。而你一去测量这个叠加态,量子力学告诉你,你只会看到一个随机的答案。

如果你只想要一个随机答案,自己随便挑一个就行了,何必费这么大劲。

量子算法的全部功夫,在于编排干涉的模式。你要让每一个错误答案对应的路径里,一部分振幅为正、一部分为负,整体上互相抵消;而通往正确答案的那些路径,振幅方向一致,互相加强。

所以设计量子算法,本质上就是在设计干涉。Aaronson 用的词是 choreograph,编排。

信息的定义在1948年就定好了

信息是这一切的核心。经典比特是0或1,这个基本单位来自香农1948年的论文。量子信息的单位是量子比特,也就是任何能被维持在0和1叠加态、并被操控的对象。

物理上怎么实现?路有很多条,正在并行推进。Google 那台机器用的是超导路线:小小的线圈,电流可以在两种能量状态之间流动,一种代表0,一种代表1。把线圈冷却到略高于绝对零度,大概百分之一度,它就超导了,电流能处在两种状态的叠加里。另一条路线是单个原子核,它的自旋可以顺时针、逆时针,或者两者的叠加。

就像当程序员不需要懂晶体管一样,写量子程序也不需要懂量子比特的物理实现。你关心的是逻辑。

不过今天有个例外。所有能造出来的量子计算机都很吵,量子比特远远不完美,底层确实会干扰到上层。我们希望去的地方叫纠错量子计算机,那里量子比特真的表现得像完美的抽象量子比特,想维持多久就维持多久。到那时候,逻辑才真正和硬件脱钩。

退相干才是真正的敌人

问题比"噪声"更具体。真正的麻烦叫退相干,1990年代人们刚开始想这件事的时候就意识到了。

退相干的含义是量子比特和外部环境之间发生了不想要的相互作用。为什么这要命?因为一旦关于"这个比特是0还是1"的信息泄漏出去,被记录到房间里的辐射、空气分子、连着设备的电线里,效果就等同于被测量了。状态坍缩了,或者说,它和环境纠缠在一起了。

从盯着这个比特的人的角度看,它的量子态消失了。

所以做量子计算,必须把量子比特隔离得极其夸张,同时又必须让它们彼此精确地相互作用,好告诉它们该干什么。怎么把一个东西和整个宇宙隔开,同时还对它下精确指令?这问题大得吓人。1990年代确实有重量级的物理学家和计算机科学家断言,物理定律根本不允许你把量子比特控制到这个精度。

改变这一切的是1990年代中后期的一个发现:量子纠错和量子容错理论。它的结论是,你不需要把量子比特隔离得完美,你只需要隔离得非常好。哪怕每个量子比特都以某个速率往环境里泄漏信息,只要这个速率足够低,你就能把真正关心的信息用很聪明的方式编码到多个量子比特的集体状态里。持续监控,发现泄漏,纠正它,从剩下的比特里把信息恢复出来。

用不可靠的零件,造出可靠的量子计算机。这句话从1990年代一直管到现在,成了整个领域的工程纲领。

但纠错有个代价,而且这个代价很大。它给量子比特的数量加了一层开销。现在已知的纠错码,想用肖尔算法分解大数、破解RSA,需要几千个逻辑量子比特,而每个逻辑量子比特自己又要用几千个物理量子比特来编码。这么一乘,就是几百万个物理量子比特。量子计算机到现在还没破解密码,原因就在这里。

眼下的阶段,物理学家 John Preskill 给它起了个名字,叫 NISQ,含噪中等规模量子时代。可以理解成量子计算机的真空管时代。相当于晶体管的那种东西还没发明出来,那会对应真正的纠错,或者某种达到同样效果的东西。但至少,靠着这些噪声设备,人类第一次做到了经典计算机难以模拟的事情。

量子霸权证明了什么,又没证明什么

量子霸权这个说法是 Preskill 在2012年提出来的,其实不太准确,也有人不喜欢,但目前没有更好的替代。它的意思很简单:人类第一次能用量子计算机,在一个定义明确的任务上,比任何已知的经典算法跑得都快。

这里说的"定义明确",跟"有用"是两码事。任务可以是完全人造的,但必须有对错,而且对错要能不依赖这台设备本身来判断。

"比经典算法快"这几个字也有讲究。任何量子计算机能做的事,经典计算机最终都能做,因为经典计算机可以把整个量子态的全部振幅存下来,然后做线性代数把它更新下去。区别只是指数级的慢。量子计算机并没有跑到图灵的定义之外,它改变的只是"高效可计算"的范围。

Google 那台机器有53个量子比特。2的53次方大约9千万亿。他们做的是采样问题,不是分解大数那种有唯一正确答案的问题。采样问题的目标是输出某个概率分布里的一个样本,输出有很多很多种合法可能,同一台机器跑两次大概率给出不同结果。而某些输出会明显比别人更可能被吐出来。

做法听起来几乎有点随意:让量子比特按一段随机选定、但精确记录下来的顺序相互作用。这段随机线路会让某些输出的振幅因为相消干涉变小,另一些因为相长干涉变大,于是概率分布出现了偏斜。所有输出都指数级地不可能,只是有些比别人更不可能。

怎么验证?Google 用的是线性交叉熵基准。你拿着量子计算机吐出来的样本,用经典计算机去算这些样本本该有的概率,看它们是不是高于平均值。

麻烦在于,这个验证本身要做2的53次方的计算,在经典计算机上极其昂贵。据说勉强能跑在全球最大的超级计算机、橡树岭国家实验室的 Summit 上。

这类实验里,人们反而不想要100个量子比特。因为到了100个,就算做成了,也验证不了。53这个数字,是让地球上最大的经典计算机出点汗、勉强还能跟上的位置。再往上走,这类采样实验就失去意义,得换别的玩法。

最后一个问题是,凭什么确定经典计算机做不到同样的事?答案是不知道,至少不能确定。这牵涉到复杂度理论里 P 对 NP 那个量级的问题。我们没法证明不存在快速的经典算法。但我们能给出一种证据,方式是"甩锅":我没法证明这个问题难,但如果它容易,那么一堆你以为更难的东西也就容易了。这就是归约,是理论计算机科学和密码学从1970年代用到现在的老套路。

Aaronson 说,这种归约证据还不够令人满意,怎么把它做得更好是这个领域最大的开放问题之一。

破解RSA需要数百万个物理量子比特

总统候选人 Andrew Yang 发过一条推,说因为量子计算,没有代码是破不了的。Aaronson 的评价是:太早了。换个说法就是,错了。

情况是这样。二十六年前肖尔(Peter Shor)的发现,是量子计算成为一个独立领域的起点。如果有一台全尺寸量子计算机,你可以高效地找出大数的质因数、计算离散对数,还有另外几个非常特殊的问题。这些问题不是 NP 完全问题,我们比较确定它们不是。但不巧的是,互联网上大部分的公开密钥加密,就是建立在这些问题很难的假设上。

肖尔证明的是,一旦有了可扩展的量子计算机,这个假设就不成立了。

但先别慌,两件事要说清楚。

第一,量子霸权离威胁公钥密码学还差得极远。Google 那台53个物理量子比特的机器,和破解密码需要的数百万个物理量子比特、而且是质量高得多的量子比特,根本不是一个量级。不过手里有秘密需要保密二十年的人已经在担心了,理由也说得过去:情报机构很可能现在就在大量抓取数据,指望着等量子计算机可用了再回头解密。

第二,已经有别的公钥密码体制,即使有了量子计算机也不知道怎么破。这个领域叫后量子密码学。目前最有希望的是格基密码。美国正在办一场竞赛,要制定后量子密码的标准,这是让每个浏览器、每台路由器都升级的第一步。过程会很长,但已经开始了。

Aaronson 的结论是,肖尔算法确实戏剧性,但等互联网迁移到后量子密码,我们基本又回到原点。这个应用不太可能持续地改变世界。

真正可能改变世界的,是模拟化学

那什么才是?Aaronson 说,目前已知的、最大的实际应用,就是模拟量子力学本身。用它去了解化学反应、设计新的化学过程、新材料、新药、新太阳能电池、新超导体。

规模需要多大?这是个非常当下的问题。未来十年,人们会抢着去找那些用100到200个量子比特就能做出来的有用模拟。那可能是量子计算第一个真正落地的应用,也可能证明它太难,非要容错不可。

但十年内最有希望的,肯定不是拿肖尔算法去破密码,那需要的纠错太多。最有希望的,是做一个能让材料学家、化学家、核物理学家知道点他们原本不知道的东西的量子模拟。这种事可能只要成功一两次,就能改变价值数十亿美元的产业。

举一个具体的例子:今天制造化肥的方式,还是基于一个世纪前的哈伯-博施法,它背后是一个没人真正搞懂的多体量子力学问题。如果能设计出更好的造化肥方法,那就是几十亿美元。

至于规模,Aaronson 说他更愿意引用别人的研究而不是自己的直觉。微软有个小组几年前做过估算,说哪怕只有一百个量子比特,也能对造化肥那个化学反应学到一点新东西。但麻烦在于,他们说的是一百个量子比特加上大约一百万层量子门。也就是一百个近乎完美的逻辑量子比特。而未来十年真正难的地方在于:用100到200个吵吵闹闹的物理量子比特,能做什么?

突破可能从三个方向同时来。把量子比特本身做得更好,这方面的保真度过去一二十年已经提升了好几个数量级。设计开销更低的纠错码,甚至在完整递归纠错之前,先用各种误差缓解策略榨出一点加速。还有就是让模拟量子化学和材料的量子算法本身更高效,这些算法比起五年前已经高效太多了。Aaronson 说他希望,因为人们足够在乎,那些吓人的数字会降下来。

量子机器学习里有多少泡沫

量子计算有点像加密货币或者深度学习:核心是真东西,真到革命性的程度,正因为这个核心,它外围裹了一大圈胡说八道。

Aaronson 认为,人们最常走偏的地方,是不去盯着那个躲不开的问题:你到底有没有比经典计算机快?

有人因为量子霸权不实用就否定它。讽刺的是,同一批人又会说,我们关心的是有用的应用,比如交通路径优化、金融优化。听着挺好,但整套说辞都押在没人追问一句话上:经典计算机做同样的事能有多快?

那些公司和投资人最兴奋、科普媒体最热炒的应用领域,是机器学习、人工智能、优化。问题在于,从最开始我们就知道,哪怕你有一台完美的容错可扩展量子计算机,这些问题上能拿到的加速也很有限。

有个著名的量子算法叫 Grover,它能解决机器学习优化里很多问题,包括 NP 完全问题。但代价是,它需要的步骤大约只是经典计算机的平方根。平方根加速很重要,很了不起,可它算不上指数级加速,跟肖尔算法那种游戏规则改变者的量级也差得远。粗略地说,它在理论上大约能把你能处理的优化问题的规模翻倍。

因为平方根听起来太无聊,很多人就开始发明各种启发式算法,因为没人真正理解它们,你就可以把自己的期待投射上去,说不定它能指数加速呢,你又证明不了它不能。这套东西做了非常多,而支持造量子计算机的理由,有相当一部分已经压在了这些地基极不牢靠的东西上。

会不会有一天,机器学习上真的出现指数级加速?Aaronson 说可能会。

2016年,Kerenidis 和 Prakash 提出了一个推荐采样算法,比任何已知的经典算法都快指数级。这基本就是 Netflix 那个问题:根据用户偏好的稀疏数据,给他们推荐产品。当时很多人兴奋,他也兴奋。

他手下有个18岁的本科生叫 Ewin Tang,非常聪明,正找题目做。他给了她一个题目:能不能证明这个加速是真的,能不能证明任何经典算法都需要指数级更多的数据访问?

这不是 P 对 NP 那种量级的问题,很可能证明得出来。她做了一年,没做出来,然后搞清楚了为什么没做出来:那个命题是假的。存在一个经典算法,性能和这个量子算法差不多。她把那个量子机器学习算法给"去量子化"了。随后几年,一批别的量子机器学习算法也陆续被去量子化。

这是科学上的一个反向的进步,而且很漂亮。有人会说这是好事,因为研究量子计算顺带发现了新的经典算法,有溢出效应。但如果你想的是量子加速,就得非常小心。这个领域现在是开放的:去找那个真正能给机器学习带来大幅加速的例子。Aaronson 自己在想,也让学生和博士后在想,但不能假装这些加速已经成立了。问题恰恰出在太多公司和记者在假装。

关于意义的三个答案

Lex 最后问了一个很俗的问题:生命的意义是什么,什么给你的生活带来充实、目的和幸福。

Aaronson 给了三个答案。

一是试着发现世界的新东西,把它们分享出去,也去了解别人发现了什么。二是我的朋友、家人、孩子、学生,我身边的人。三是在我能做到的时候,试着让世界变好一点点。(斯科特·阿伦森)

他说让他沮丧的是自己做不到更多,世界正在面对气候危机、重新抬头的威权主义,还有一堆别的问题。但他会努力去抵抗那些他厌恶的东西,能抵抗多少算多少。

Lex 追问什么让他微笑。他先笑了一下,说"你这个问题本身"。

给读者的行动建议

这场对话里,比量子比特的各种数字更耐用的,是一套判断信息的方法。

  • 看到任何量子计算的新闻,先问一句:它比经典计算机快吗?如果通篇不提这个对比,多半是在讲一个听起来很美但没被验证的故事。
  • 警惕"量子计算机能同时尝试所有答案"这类表述。它是最常见、也最彻底的误读。真正的机制是编排干涉,让错误答案互相抵消。
  • 区分三个完全不同的里程碑:量子霸权(已经做到,用的还是噪声设备)、有用的量子模拟(未来十年最有希望)、破解公钥密码(需要数百万物理量子比特,还早得很)。别把三者混为一谈。
  • 如果你所在的组织有需要保密二十年以上的数据,现在就该了解后量子密码,别等到量子计算机成熟那天再动手。美国已经在制定相关标准。
  • 对量子机器学习的宣传保持默认怀疑。先看有没有平方根以上的加速证据,再看有没有人试着把那个算法"去量子化"过一次。
  • 碰到那些纠缠了几千年、怎么问都问不出答案的大问题,试着学图灵,把它改写成一道能算、能测、能证伪的题。哪怕只抓住原问题的一角,也比在词义里打转强。

本集资源与出处