4

量子计算机,如何吊打传统电脑?

 1 year ago
source link: https://www.eefocus.com/component/526009
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

量子计算机,如何吊打传统电脑?-基础器件-与非网

94340a863ea99dbee64e6ae62abd3bb3.jpg
ai.php?filename=970_90@4x-100-1_2.jpg&contenttype=jpeg

量子计算已经成为了世界各国未来科技发展的必争之地。美国提出「无尽前沿法案」,预计投入千亿美元布局量子计算等10个领域;欧盟也投入10亿欧元,推行量子旗舰计划。中国的十四五规划和2035年远景目标纲要,也明确要加快布局量子计算、量子信息等领域。

现在很多人都认为,量子计算会引领下一波技术变革的浪潮。世界技术变革已经经历了三波重要的浪潮,一个是互联网和个人计算机的兴起,一个是移动互联网和智能手机的兴起,第三个是万物互联与智能设备的兴起。而量子计算,大概率会是未来科技发展的新起点。

国内外巨头公司也纷纷跟进量子领域,谷歌IBM英特尔都在造自己的量子计算机,特别是2019年谷歌宣布实现量子霸权。中国在量子计算领域也有世界领先的技术,2021年中科大潘建伟院士团队研发了九章二号和祖冲之二号量子计算机,比超级计算机快了10的24次方倍。

似乎到了量子计算领域,数字要么特别特别小,只有几个电子大小,要么特别特别大,性能提升后面放多少个零都不够用。

不久前,百度召开了量子开发者大会,并且发布了名叫「乾始 」的超导量子计算机,以及名叫「量羲 」的全平台量子软硬一体解决方案。说明百度也已经开始布局量子计算领域了。

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F3MIibWf0mHHtpsCicXKzIibvNsKMibno15fTbicAkvxlgtqYYSd4T3L2icynHtkhHIHSe0ibryrNjQ1GekZrslIJL3QSg%2F640%3Fwx_fmt%3Dpng&s=1177bd

但可能很多人都和我一样,看到量子计算的时候都会有茫茫多的疑问。量子计算机究竟是什么?它有哪些好处?它到底能干什么事儿?为什么这些大公司都在拼命布局这个领域?作为一个量子物理的外行、计算机领域的半个内行,我也是刻苦学习了一下量子计算机的皮毛。今天我们来就看一看这个引领未来科技发展的量子计算,究竟是什么;以及造一个能用的量子计算机,到底有多难。

1.  什么是量子计算

和传统计算机相比,量子计算机到底有什么优势呢?它最大的优点,就是比传统计算机的运算速度快的多的多的多,以至于它速度提升的倍数,1后面的0数都数不清。

举个例子,在破解密码的时候需要用到的一个关键操作,就是对一个数进行质因式分解:这个我们在小学可能就学过,比如把15分解成3和5的乘积,把63分成3乘3乘7的乘积。

这个操作看起来很简单,但当一个数很大的时候,分解起来就非常难了。比如对300位的数字进行质因式分解,传统计算机开足马力可能也要算15万年!但是对于量子计算机来说,就可以算的非常快,1秒钟就可以完成。

那么为什么量子计算机能算的这么快呢?这是由它的工作原理决定的。不过在介绍量子计算机的工作原理之前,有必要先简单了解下传统计算机是如何工作的,只有这样才能直观知道量子计算机到底提升在什么地方。

传统计算机的最小组成单位是晶体管,它本质就是一个开关,所以计算机最本质的工作原理就是利用晶体管的开和关,去表示0和1。这也是计算机里表示数的最小单位:比特,也叫做1位。有了0和1,我们就可以用二进制表示所有的数了,比如前面的3就是011,5就是101。我们还可以用很多个晶体管组成各种电路来完成特定的运算,比如加减乘除。然后这些简单的电路可以再组合成更加复杂的电路,最终形成一个完整的计算机芯片。

现代计算机芯片里包含了成百上千亿个晶体管,比如苹果的M1 Ultra里就有1140亿个晶体管。也有统计数据说,到2025年,世界上所有芯片里晶体管的数量总和,会超过世界上所有人身体里的细胞数量总和。毫不夸张的说,现代文明就是建立在这一个个小小的晶体管上的。

但是尽管有这么多晶体管,它们却有一个根本的问题,那就是每个晶体管在同一个时刻只有一个值。因为晶体管的状态要么是开要么是关,所以只能表示0或者1。也就是说,做一次计算,只能得到一个固定的结果。

所以如果要进行大量计算的时候,只有两种办法,一个是加快每次计算的速度,比如提高CPU的计算频率,另外一个就是多个计算同时进行,比如采用更多的CPU内核、或者买更多的计算机并行运行。但是对于前面说的特别复杂的问题,要算15万年才能解决的问题,买成千上万台服务器可能都解决不了。这个时候,量子计算机的优势就展现出来了。

量子计算机里没有晶体管了,它表示数的最小单位也不是比特了,而是叫量子比特Qubit。它也有0和1两个值,但它还可以表示0和1之间的任意状态,这个就是它的玄妙之处。这种特性有个专有名词,叫量子叠加 superposition。

打个比方大家应该就能理解了,上台阶的时候我们可以从一个台阶上到另外一个台阶,这两个台阶就是0和1.我们不能说上了半截台阶,或者上了73%的台阶。这个就是传统计算机的比特。但对于量子计算机,就没有台阶了,而是一个斜坡。我们可以从坡底一步走到坡顶,但也可以走一半,或者走73%,或者站在这个斜坡上的任意地方。

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F3MIibWf0mHHtpsCicXKzIibvNsKMibno15fTglFoaomibOS6vahXF5rOZSBU97jRuuWas2CCgtH05h2mNMe7OPCrJLg%2F640%3Fwx_fmt%3Dpng&s=9f33a9

量子叠加是单个量子比特的重要特点,当多个量子比特放在一起的时候,还有另外一个非常重要的特性:量子纠缠。用非常简单的话说,就是多个量子比特会相互作用,纠缠在一起,从而形成一个整体。

量子叠加和量子纠缠这两个特性是量子计算的关键,借助这些特性,就能做出很多有意思的东西。最重要的就是一次性完成多个计算,从而极大提升计算的速度。比如对于传统计算机来说,两个比特能表示四个数,也就是00、01、10、11,但某个具体的时刻只能有一个值。但对于两个量子比特,这四个值可以同时存在。随着量子比特数的增加,能同时表示的数也会指数级的增加,N个量子比特就可以同时有2的N次方个值,这就相当于在同一个时刻,可以进行2的N次方个运算。随着量子比特数N的增加,这个数会变的非常大,当N=300的时候,这个数会超过全宇宙包含的所有原子的总数。相比之下,传统计算机在同一个时刻只能进行一次运算,这就体现出性能的巨大差别了。

不过,虽然量子计算机能同时算很多次,但并不是所有的结果都是需要的。比如一加一等于二,而不是013。这时候就需要我们设计专门的量子电路,通过改变量子比特的状态,对结果进行筛选,得到想要的一种或者多种结果。这些量子电路组合在一起,就是量子计算机。

但是值得注意的是,量子计算机暂时并不是一个通用计算机,而是一个专用计算机,也就是说,你可以专门设计一个量子计算机来做质因数分解,而且他会做的非常非常快,但你没办法用它来刷视频打游戏。至少到目前为止,量子计算机并不能取代我们现在用的传统计算机,它们更多是相互补充、取长补短,各自在自己适合的领域里使用。

2. 造一个量子计算机有多难

对于所有计算机,它的核心都是芯片。只不过传统计算机的核心是CPU,而量子计算机的核心是量子芯片。传统CPU芯片更关注芯片制造的工艺,比如使用3纳米还是5纳米工艺,相比之下,量子芯片对制程工艺并没有那么严格的要求,而是对芯片的运行环境有着严格甚至是严苛的要求。为了实现对量子比特的精确控制,就需要精确控制量子芯片周围的温度、震动、噪声、电磁波等等环境因素。

就拿百度这次发布的超导量子计算机乾始为例,它里面的量子芯片工作在极低的温度,达到了零下273.14度,只比绝对零度只高一点点。所以对制造量子芯片的材料也有更高的要求,比如使用更高纯度的硅等等。

除了芯片本身,设计芯片用的EDA软件也要重新设计和开发,比如需要重新采集低温环境下电路数据,并且对电路的行为进行建模仿真。为了达到接近绝对零度的低温,传统的冰箱肯定不能用,还要用特殊的制冷机。量子芯片的数据输入和输出,也要通过专门的路径和控制芯片来完成。所有的这些,其实都是量子计算机的硬件部分。

事实上除了硬件之外,软件也是同样重要甚至是更重要的部分。和传统计算机类似,量子计算机也需要通过编程才能使用,这就需要编程环境和编程工具,他们统称为量子计算平台。比如百度的量易伏,这次发布了3.0版本,它就结合了量子软件开发工具集SDK、云上的集成开发环境IDE,支持混合语言编程,还能从云端进行接入,并且可以连接多种不同的超导计算机硬件。

在接口的部分,由于量子计算机的结构和传统计算机差别太大,也需要专门的测试、优化与调度的测控平台,来对接量子计算机的制冷机、微波电子学设备、量子芯片等等核心硬件。就像百度的量脉平台,就可以将软件程序高效编译成量子硬件设备可以识别的脉冲信号,起到量子软件和硬件的桥梁和纽带作用。

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F3MIibWf0mHHtpsCicXKzIibvNsKMibno15fTPx5rsNQXQbDE3OBdPODROXVsTUOQ1ltqq5sX3pia28neMKO86c8ajJA%2F640%3Fwx_fmt%3Dpng&s=5eb9b0

虽然已经很复杂了,但这个时候这个量子计算机还不算是能用。为了真正让量子计算机从实验室里走出来,实现商业化应用,还要解决的另外一个关键问题就是应用和落地。就像人工智能里下棋的阿尔法狗、新能源汽车里的无人驾驶一样,量子计算也必须找到自己的杀手级应用。

除了一开始说的质因数分解这些特别基础性的应用之外,其实人们更关心什么时候能把量子计算机用在更广泛的领域,比如机器学习、互联网、生物医药这些地方,并且让普通开发者也能用量子计算机进行开发。

在这次百度的发布里我们可以看到,他们把百度飞桨和量子计算结合在了一起,做了一个量子机器学习平台量桨,在里面提供了量子神经网络、量子核方法、含噪量子电路模拟等模块,能帮助开发者快速进行量子机器学习的研发。

我觉得这对于广大机器学习从业者来说是个好事情,是否能够根据自己应用的特点,并且很好的利用前面说的量子计算机的特点,从而达到N个数量级的性能提升,这个说不定会产生非常有意思的工作,而且这比日复一日的调参要有趣多了。

除了机器学习之外,其他不同产业的开发者也可以利用这个量子软件平台里的应用软件、操作系统、硬件驱动来构建自己的应用。单靠一个量子计算机是远远不够的,只有通过软件和编程框架,让普通开发者能把量子计算机用起来,让各行各业都参与进来,一起把蛋糕做大,才能帮助量子计算真正实现产业化落地,这应该也是百度为什么花大力气去搞量子软件的主要原因。

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F3MIibWf0mHHtpsCicXKzIibvNsKMibno15fTfX2Ko8UibIbO1U6L8xjneWQklp6U8F5FW4HxuPgZbnWibz01SFdENNLg%2F640%3Fwx_fmt%3Dpng&s=431dce

对于任何新兴技术来说,开放合作、兼容并包,一起构建健康的生态,是最重要的。有个很有趣的例子,就是量子计算刚兴起的时候,如果它的性能远超传统计算机,我们就说它取得了量子霸权。但后来,人们就不说霸权了,而是把这个词改成了量子优越性。从这个细节其实能看到,其实量子计算并没有什么霸权,前面说了它甚至并不能取代传统计算机,二者更多的是相互补充和促进的关系。

事实上,比霸权更重要的,是通过量子计算给人类社会带来的共同进步。量子计算对传统计算机的超越,并不是结束,而是刚刚开始。

(本文不代表老石任职单位之观点)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK