「我们非常重视技术能力建设,在技术上的持续探索,利用技术手段来解决用户的痛点。」腾讯集团高级执行副总裁、社交网络事业群(SNG)总裁汤道生说。
SNG 这个事业部覆盖了腾讯不少产品线,包括 QQ、QQ 空间等经典产品,也孵化了腾讯云、全民 K 歌、天天 P 图等 to C 和 to B 产品。在这些产品背后,优图实验室、音视频实验室就是汤道生口中重要的技术支撑。
在腾讯社交网络事业群(SNG)主办 TSAIC 学术&工业交流会上,SNG 公布了筹建第三支技术力量的消息——量子实验室,同时也迎来其首位杰出科学家张胜誉。
「SNG 目前在大力投入技术的布局,希望在未来,我们三大实验室能够整合技术力量,在丰富应用场景的同时,用科技的力量来提升人类的生活品质。」汤道生说。
除了针对量子计算的主题演讲安排之外,这场技术味浓厚的活动还集中讨论了 CV、音视频、智慧安全、推荐和 NLP 五个方向,吸引到海内外各大高校与研究所的学者、研究员和工程师。
图:全体参会人员合影
筹建量子实验室,腾讯 SNG 大力投入技术布局
虽然量子计算与绝大多数人工智能领域学者的研究方向并不直接相关,且量子计算机的实现还是一个长期的愿景,但几乎行业里每个人都会保持对量子计算的关注,这是因为量子计算一旦实现,人工智能领域内,尤其是深度学习领域内,将产生从底至顶的颠覆性变革。
图说:张胜誉目前在香港中文大学任教,清华计算机系人工智能实验室攻读硕士期间,师从应明生教授;博士毕业于普林斯顿大学计算机系,师从姚期智教授。
在现场,张胜誉做了一次深入浅出的量子计算科普,同时扮演了「活动的答疑器和辟谣机」角色,把大众对子计算的疑惑、误解,一次性讲了个透彻。
他解答了一个大多数人的疑惑:量子位越多意味着计算机越强大吗?如果答案是肯定的,为什么英特尔、IBM 等芯片巨头仍然在研究数十位的量子计算机,而一些相对年轻的创业公司已经造出数千多位的成品了?
他提出这是通用机和专用机的差别。除了量子位之外,影响量子计算机能力的还有实现的电路深度、可以进行的操作类型、电路的连接程度、产生出的状态的保存时间等诸多因素。现有的「数千位的量子计算机」多为只能处理某一类特定优化问题的专用机,而通用量子计算机的位数规模仍然在几十位水平,对差错的控制有待进一步提高。
图:目前通用机与专用机的量子位数实现水平
除此之外,张胜誉也谈到了大众对量子计算的一些不是十分精确的认识,例如:
量子计算机一旦实现会全面取代经典计算机吗?至少目前看来,一二十年都不会,因为它的制备条件和维持条件都太苛刻而且昂贵。
量子的叠加态能够让计算机进行大规模并行搜索吗?答案是叠加态本身带来了自然并行的能力,但这并不是说量子计算机可以在整个搜索空间内进行并行搜索,然后把正确解分支拿出来。在利用量子并行的能力之前,首先要克服酉变换、不确定性和破坏性的影响。
纠缠态可以实现瞬间的信息传输吗?答案是不能。虽然两个纠缠中的粒子,无论距离多远,对其中的一个进行测量就会影响另外一个的状态,但是测量结果的随机性是不可控的,因此也无法利用其进行瞬间信息传输。
量子计算机可以快速解决 NP 问题吗?虽然尚未有绝对确定性的答案,但是绝大部分学者认为是做不到的。
他介绍了业界的现状,各大公司对此的布局、投入,以及最重要的,他眼中的量子计算的趋势。
他认为量子计算机一定会实现,因为「截止到目前,看不到任何本质上的跨不过的坎,所有问题都在工程工艺上」,而人类历史上重要科学结果的发展,没有制约于工艺的先例。现在各国政府、各公司都在持续投入(例如我国最近要投入建设一个十亿元的实验室),「相信这些力量一定会推动量子计算机最终实现」。
而对于何时会实现的问题,张胜誉认为要避免两个极端,一方面短期不要过于乐观,我们无法做出「六个月/两三年就能造出一个多么大能量的计算机」的预测,一方面长期不要过于悲观,「十年/五十年也做不出来什么」的论调也不可取。科技的发展突破难以预料,而且关键环节一旦突破,发展会非常迅速。
不过,在眼下,量子实验室的重要目标仍然在于招人。「腾讯准备启动量子实验室,我们希望招聘到跟量子相关的算法、复杂性、通讯、模拟、量子物理、量子化学等各方面的人才。」张胜誉在现场打出招聘广告。
除此之外,他也表示非常欢迎对 AI 以及量子计算对 AI 的影响感兴趣的学者加入实验室。「我们也很看重量子力学和人工智能的结合。有一些从量子物理中过来的想法是完全可以实现在经典量子计算机上的,如果有人喜欢做 AI、喜欢做机器学习中的基础问题,但是又想多一些理解和多一些本质性的突破,也希望加入我们,大家一起来研究探讨这个问题。」
社交网络事业群的技术与产业联动
对于像 SNG 这样的产品事业部而言,针对这些前沿技术进行整合与应用是最为重要的。在此之前,优图、音视频两个实验室已经有过长时间探索。
图像处理和音视频编解码都是 SNG 的「核心需求」,他们诞生自内部丰富的产品线中的用户外部需求以及提供服务时控制成本与效率的内部需求,优图实验室和音视频实验室也由此诞生。
优图实验室成立已有五年,是一个专注于视觉相关算法研发的部门。「优图是一个在 SNG 或者在整个腾讯里面核心的视觉研发部门,也是腾讯最大的视觉研发的核心部门」,IEEE Fellow,香港中文大学终身教授,优图实验室杰出科学家贾佳亚在演讲中介绍到。
贾佳亚把优图的 AI 技术分成了「前端 AI」和「后端 AI」,「前端 AI 是通过实现 AI 的能力和技术,我们就能立刻去实现和看到效果并回馈的。做好一个产品后可以直接呈现到所有用户和客户面前。而后端 AI 是我做的很多操作大家不知道,但是当我把结果呈现到你面前,你会意识到这个结果一定是被某一些算法给处理了。」
前一类变成了许多产品和功能,后一类则以技术输出的形式进入到了内部的应用中,输出之后,产品端界面没有改变,但是在算法端可以用更少的人手可以达到更好的效果。
而音视频实验室,致力于视频编解码和标准化工作,为公司内外数百个产品提供了音视频技术支持。演讲的一开始,艾美工程奖得主、腾讯音视频实验室杰出科学家刘杉就借用一个简单的数学计算说明了一个道理:「编解码不是重要的,而是必要的。」
图:如果没有编解码,一部 120 分钟的高清电影就要高达 2.7T 的硬盘空间
SNG 的这种「利用技术手段解决用户的痛点」的传统,不仅体现在事业群内部,也体现在与众多第三方的合作上,例如在与顺丰的合作中,用 OCR 技术进行快运单手写体的识别,识别度达到 99% 以上。而优图实验室也在布局腾讯的智能医疗,希望能通过简单的视觉手段来诊断重大疾病、是否需要进一步的检查,帮助很多偏远和贫穷的地方的病人和医生。
相比之下,量子计算则是一个与腾讯现有产业、业务都没有直接联系的基础科学研究领域。腾讯的这个决定想必更多来自社会责任,企业从快速发展期进入稳健成长期之后,会开始在基础研究、文化科技等行业进行投入,也为公司的生存和发展创造一个更有利的环境。
张胜誉演讲全文
今天在这里简单介绍一下量子计算的一些近期发展。
在最近一、两个月的新闻里,第一个是英特尔和 Qutech 结合,做了一个 17 个量子位的芯片,第二个是 IBM 公布 20 位的量子计算机,也宣布了下一步:一个 50 位的计划。另外一家在加拿大的公司 D-Wave 最近升级了他们的 2000 量子位的量子计算机。这很奇怪:为什么像 IBM 和英特尔这样很传统的大公司只有 10 数位、20 位的量子计算机,但是一个相对年轻的公司却可以做到 2000 多位。还有一些比 D-Wave 更年轻的公司,比如初创公司 QCI 最近刚刚融了 A 轮,$18M,1QBit 刚刚融了 B 轮,$45M。此外,甲骨文宣布自己要做量子神经网络。而在中国,一个 $10B 的国家实验室即将开展。
这仅仅是发生在过去 1-2 个月的新闻,整个量子计算在过去 1-2 年集中出现了很多新闻。看到各种各样的新闻,也许你会有一些疑问,比如,什么是量子计算?什么时候我们才能买到一台量子计算机?如果真有这样的计算机,是不是要把我们手里的经典计算机扔掉?腾讯在开展量子计算学术研究和量子计算机的研制上有什么计划?
如果大概一百年前,去从历史的角度看整个量子力学的发展。其中有一个很有名的思想试验,叫做薛定谔的猫。
假设空间里有一只猫,有一个小锤子,锤子可以砸碎下面的毒药。砸碎毒药瓶,毒药释放出来,猫就死了;没有砸碎毒药瓶,猫会活着。但是量子物理说,锤子可以处于落下来和不落下来的「叠加状态」,也就是说,这个锤子可以同时落下和没有落下,这导致的结果是这只猫同时处于生和死的状态。这对经典物理来说是非常难以理解的事情。
这个现象就是叠加态(Superposition),是说一个系统可以同时处于两种不同的状态的叠加中。
现在我们再换一个角度看这只猫。因为我不知道它是生还是死,我想去看一眼。我们平时所谓的看到、听到,都是物理上的观测过程。微观量子世界的「观测」与宏观世界的观测非常不一样,有两个很奇怪的性质。
第一,如果你对同一个确定的量子状态进行多次观测,可能会得到不确定的答案,也就是说,即使制备了完全一样的量子态,这一次观测,可能猫是死的,下一次观测,可能猫又是活的。对于同样一个东西,如果我观测两次,会得到完全不一样的结果。
还有一个很奇怪的性质,如果你观测到它是死的,你改变了原来这个猫即生又死的状态,它就真的变死了,反之亦然。在宏观世界,很少出现观测会改变物体本来状态的情况。
如果宏观世界也是这样,那将是件很麻烦的事情。比如你想量一下自己的身高,发现每一次量完都不一样,本来你以为你是一米八,量完发现结果是一米七,而且量完以后真的变成一米七了,这时候你就会很头疼。
大家还会经常听到一个概念叫纠缠(entanglement),是说存在两个在很强的意义下不可分的粒子,即使把两个粒子分别放到非常远的地方,对其中一个粒子进行操作,在瞬间会改变另外一个粒子的状态。
量子计算研究从学术界的角度看有哪些重要的领域呢?
首先一个是量子算法,在这个领域中,我们关注如何去设计有效的量子算法,使得这些算法所要花的时间要远远短于经典算法花的时间。一个相关的问题是计算复杂性问题:我们想知道量子计算机研制出来之后到底有多么强,在哪些问题中有很大的作用,在哪些问题中没有那么大的作用。
此外,纠错改错是实现量子计算机的必要条件。
还有量子计算机一开始就带来很大影响的一个领域,密码学。量子计算机的出现可能会攻破现有的密码体系,要求我们要设计一些新的密码体系,可能是量子的,也可能是经典的,使得即使是量子计算机也无法攻破。
另外,如果将量子计算机做得越来越好、越来越大,就不可避免的产生编程问题。我们都不希望使用类似「量子汇编语言」这样复杂的过程去操作,我们希望设计高级的语言,研究如何把高级的语言变成一个低级电路表现,研究软硬件以何种结构结合。这都是在学术界比较关注的问题。
下面再简短地展开一下上述第一个领域,量子计算。
以时间为坐标轴,1982 年 Feymann 第一次提出量子计算机的概念。既然用经典的计算去模拟量子系统会发生指数级的误差,为什么不干脆做一个量子计算机,这样可以反过来可以更快地计算很多经典的问题。1985 年,Deutsch 提出了量子图灵机的概念,1993 年 Berstein-Vazirani 研究了量子图灵机上在计算复杂性上的一些基础问题,Yao 把量子图灵机这个很难理解的概念转换成人们比较熟悉的电路的概念,证明二者是等价的。1994 年 Shor 提出了大数分解。1996 年 Grover 发现可以用量子计算机进行快速的搜索,这大大提高了量子算法的可应用性。2003 年,Ambainis 和 Szegedy 做了量子版本的随机游走,打开了一扇新的大门。2009 年,几位科学家研究怎么解线性系统,但是这个算法并不是把所有的解全部输出出来,而是把一个解压缩到一个很小的量子寄存器里面去。这之后涌现了越来越多量子和机器学习结合的方向。
下面想讲一些基本的概念。
我们经常听到一些说法,这里面有一些是正确的,有一些可能不是那么精确。
首先是叠加态。既然是叠加态,就不是简单的 0 和 1,如果你有一些量子位,每一个都有许多个状态,并且能同时处于这些状态,这本身就是一个巨大的并行能力。而且这是直接来自物理世界的,不需要设计、协调,自然存在的并行。所以叠加态可以自然地提供给量子计算机并行的能力。这当然很好,但是很多科普文章犯了一个错误,认为可以让量子计算机并行地搜索整个搜索空间,找到好的分支,表达出来即可。但其实并非如此,整个量子系统演化,必须遵循一些基本规律,其中一个就是整个演化过程必须是一个酉变换(unitary transform)。量子算法需要想办法去利用其并行的能力,并且克服由于酉变换和破坏性测量带来的麻烦。
还有一些不是很准确的概念,比如说纠缠态可以实现瞬间的信息传输。这个问题的答案现在很清楚:我们不能利用纠缠进行瞬间的信息传输,这是违反相对论的,因为任何信息传输都需要媒介。在实验中,对两个纠缠的粒子中的一个进行测量确实会影响另外一个的状态,但是这个测量结果的随机性没法控制,因此没有办法用它传递信息。
另外一个常见的不准确的说法是量子计算机可以快速解决 NP 难的问题。我们并没有绝对确定性的答案,但是绝大部分学者认为这个事情是做不到的。当然我们还没有严格地证明,事实上,如果能证明这个,那么它马上就能推出 P = NP,而这是计算机科学中最大的一个开放性问题。所以我们可以想像,想证明量子计算机不能多项式时间解决 NP 问题,将会是一个非常难的问题。
下面再讲一下量子密钥分配的问题。基本上,秘钥分配的任务是生成随机数分配给双方,使得如果中间有人窃听,通讯双方会发现这件事情,通讯双方就会放弃使用这一对密钥。当然现实应用中需要结合身份认证,不过总的来说,量子通信及其在密钥分配上的应用比量子计算走得超前,市场上已经可以买到量子通信的设备。
一个有趣的方向是量子模拟,如果有了量子计算机,我们可以用这个量子计算机来模拟量子系统,这会大大改变整个人类探索微观世界的根本方式。如果量子计算机能够发展到几百个量子位的话,在将来在化学,材料,制药等问题上有相信会出现跟以前不一样的办法,产生比较大的帮助。
还有一些其他的研究领域,比如说信息论,研究编码解码,信道容量等问题,还有测量学,希望可以对时间和空间上进行非常精准的测量。最后还有量子相关的机器学习和智能领域。
回到演讲开头的问题:为什么初创公司可以做 2000 位的量子计算机,而很多传统的大公司只能做 10 几、20 位呢?因为做量子计算机有两个不同的目标,一个是要做专用机,这个机器只能处理一些特殊的事情,处理某一类优化的问题。另一个目标是做通用机, 目标是实现通用电路,但这非常难,因为粒子会和环境产生许多交互,环境会产生很多噪声。一方面我们希望控制粒子和粒子之间进行很好的交互,另一方面我们不希望粒子和外界环境产生任何的交互。这是矛盾的、工程工艺上很难实现的。
量子比特之间交互,另一方面还不许他们和外界环境有交互。这本身是优点矛盾的事情,工程工艺实现上很有挑战,在实现的条件上很苛刻。
现在的量子计算机发展到什么程度?大量优秀的实验物理学家从二十年前就开始迎难而上,一直有比较稳定的进展,最近的三五年能明显看到一些加速的迹象。
有不同的实现方案涌现,现在尚不清楚哪一个实现方案会笑到最后。
这是今年年中的大概业界发展现状。
这是从量子数角度的实现情况。右上角是通用机,右下角是专用机,左边是模拟机的。这里要强调,我们不应该只是简单比较有多少位,因为除了要有这么多的量子位排在那里,还要看能实现的电路深度、可以进行什么级别的操作、电路的连接程度怎么样、产生的状态可以保存多长时间等等。基本现状是,仍然有噪声,仍然是小规模,能够实现三位小数(99.999%)的精确度。这个水平下,当深度增加还是会带来很多麻烦。
整个工业的现状,大家是比较关注的,也看到很多未来的商业应用场景,有的应用在 3-5 年之后就有有一些小规模的原型出现。
从投入来说,各国政府在量子计算机投入很大,比如去年欧盟推出一个十亿欧元的研究计划,北美大概也是这样的量级,也有越来越多公司投入到人类改变认识自然方式的革命中。
最后,我们经常听到不同的对量子计算机的语言,我们认为量子计算机可以改变人类认识自然的方式,如果将来能够大量使用量子计算机,确实会有非常革命性的颠覆式的变化。
但是它不会取代经典计算机,至少目前一二十年里,它的制备条件、维护条件都太苛刻。
同时截止到目前,看不到任何本质上的跨不过的坎,所有问题都出现在工程工艺上。如果你回顾人类历史的发展,重要的科学发展没有受制于工艺没能实现的。现在各国、很多公司都在持续投入,我相信一定会推动量子计算机最终实现。所以总的来说,前途是很光明的,但是道路是很曲折的。
要避免两个极端:在短期,可能不会确定「6 个月、两三年就能造出一个大型的量子计算机,解决一个多么不得了的问题」。这个事情没有那么简单,比公众想象的更加困难。但是在长期,也不应该太悲观,有人觉得「十年甚至五十年也做不出来什么」。科技的发展突破有时候难以预料,而且关键环节一旦突破,发展会非常迅速。
刚才道生也介绍了,腾讯马上要启动量子实验室,我们在筹备的过程中。我们希望招募到跟量子相关的算法、复杂性、通讯、模拟、量子物理、量子化学等等各方面的人才。
另外我们也很看重量子力学和人工智能的结合。可能有一些从物理中过来的想法,这些想法是完全可以实现在经典量子计算机上。如果有人喜欢做 AI、喜欢做机器学习,但是又想多一些理解和多一些本质性的突破,也欢迎加入我们,大家一起来研究探讨这个问题。