九章不是計算機,是浮誇宣傳?這是嚴重的誤解 | 袁嵐峯_風聞
风云之声-风云之声官方账号-2021-01-27 19:19
導讀
有些人整天叫中國沒有創新,真到重大的創新放在他們眼前,他們又認不出來。分不清稻草和黃金,把引領世界的成就當作騙局,這實在是太荒誕了。
視頻鏈接:
西瓜視頻:
本視頻發佈於2021年1月16日,播放量已超三百萬
精彩呈現:
最近,有一位朋友來諮詢我一些問題。
他説:中國的量子計算機“九章”大家都很關注,不過也有一些反對的聲音。最基本的問題是,它到底是真的還是假的?
我説:當然是真的,全世界很多專家發來了祝賀。
2020年12月5日,本文作者與潘建偉研究組苑震生教授在實驗室,面前就是九章的光路《實地參觀量子計算機“九章”,它為啥能成為中國科學的名片?| 觀視頻工作室》
他説:我們是被當年的漢芯搞怕了。
我説:漢芯是一直藏着掖着,沒有任何中間成果,最後只有一個打磨的芯片。而九章用到了大量的先進技術,當今世界最好的量子光源、最好的干涉技術、最好的鎖相技術、最好的單光子探測器等等。例如九章在2米自由空間加20米光纖的光程中能夠保證抖動不超過25納米,這相當於100公里的距離誤差小於一根頭髮絲《讓中央集體學習的量子科技究竟是啥?這個科普我已經做了五年(五)在九章中介紹九章 | 袁嵐峯》。
九章光量子干涉實物圖《比最快的超級計算機快一百萬億倍!中國科學家實現“量子計算優越性”里程碑》
左下方為輸入光學部分,右下方為鎖相光路,上方共輸出100個光學模式,分別通過低損耗單模光纖與100超導單光子探測器連接。
攝影:馬瀟漢,梁競,鄧宇皓
九章在《Science》上的論文,正文有4頁,附件長達64頁,詳細描述了論證過程與實驗細節。
九章在《Science》上的論文(https://science.sciencemag.org/content/370/6523/1460.full)
多位國際專家對九章的評價《比最快的超級計算機快一百萬億倍!中國科學家實現“量子計算優越性”里程碑》
多位國際專家對九章的評價《比最快的超級計算機快一百萬億倍!中國科學家實現“量子計算優越性”里程碑》
這些技術在九章之外也會有很多用處,例如打造更好的雷達、更好的衞星,所以怎麼可能是假的呢?
竇賢康院士與潘建偉研究組張強教授合作研製的量子雷達,將大氣風場探測距離增加到3倍《高空大氣與量子雷達 | 竇賢康》
這位朋友説:這我就放心了。下一個問題是,很多人説它不是個計算機,對此該怎麼看?
我説:很多人有這個問題。例如有文章説《雜談|是量子計算,還是光學實驗?》:
該“SCIENCE”文章,混淆了“實驗”與“計算”的概念,所做的光學實驗與量子計算無關,“九章”機器不是量子計算機,不能直接顯示量子計算的優越性。
又如有文章説《高斯玻色採樣不是量子並行計算而是經典的硬件蒙特卡洛模擬》:
就好比你用很多支手電筒在裝滿凹凸不平的鏡子的屋子裏亂照一通,然後讓經典計算機計算出光的圖像。你完全可以説你用手電筒就那麼一晃,超級計算機就得計算幾億年。並且隨着你的計算精度要求的提高,超級計算機的計算年數還可以無限延長。但這與量子霸權無關。這是模擬霸權。
又如有文章説《“九章”量子計算機為啥這麼快?玻色採樣問題是什麼?量子霸權時代是否已經到來?》
九章只能算是一個原型機,而不是計算機。因為它使用量子的方法去模擬量子過程,速度當然會超過經典計算機。這就好像點燃一個爆竹問碎片怎麼飛,物理方法1秒就知道了,可是用計算機去計算可能要知道爆竹的結構、火藥的種類,甚至要知道每一個分子和原子的位置,要獲得足夠的精度,計算量非常大。這並不是因為經典計算機不行,而是因為世界太複雜。
因為這些問題,所以有文章説,九章是“科學宣傳的浮誇風”《科學宣傳的浮誇風?中國量子計算機比超級計算機快1百萬億倍》。
這些説法似乎很有道理。但請仔細想一想,難道九章是這麼簡單的東西嗎?為什麼九章能發《Science》,而拿手電筒亂照或者點爆竹不能發任何科學雜誌?
基本的道理在於,計算機必須要穩定地、可重複地獲得數據。九章確實做到了這一點,而拿手電筒亂照或者點爆竹不能做到,它們不具備可重複性。你這次點個爆竹,和下次點個爆竹,有多少碎片、這些碎片往哪兒飛,都是不一樣的。你沒法控制,除非你能控制爆竹中的每個原子。
點爆竹
所以,九章是計算機,而拿手電筒亂照或者點爆竹不是計算機。
你也許想問,九章究竟計算了什麼?回答是“積和式”(Permanent)。
什麼叫做積和式呢?取一個n × n的方陣,在第一行取一個數字,在第二行不同的列取一個數字,在第三行跟前兩個數字不同的列取一個數字,如此等等,總共取n行的n個數字,然後把它們乘起來。
積和式
如果你學過高中數學,你立刻就會認出來:這不是行列式(Determinant)嗎?沒錯,行列式就是這樣做的。不過關鍵在於,行列式中這樣的n個數字的乘積,有一半要加個負號,有加有減。例如對於a、b、c、d四個數組成的方陣A,
它的行列式
det(A) = ad - bc。
但在積和式中,所有的乘積前面都是正號,只有相加,沒有相減。對於上面這個方陣,它的積和式就是
perm(A) = ad + bc。
這個符號之差,就帶來了計算量的巨大差別。在經典計算機上,行列式有快速的算法,但積和式至今都沒有快速的算法。你要讓經典計算機算一個比較大的方陣的積和式,它到太陽爆炸都算不完。
現在來看九章是怎麼計算積和式的。它是一個光學實驗裝置,做的任務叫做“玻色子取樣”(boson sampling)。這個任務可以大致理解為:一個光路有若干個入口和若干個出口,把若干個光子放進去,讓它們經過複雜的透射、反射和干涉,問光子從每一個出口出去的概率是多大。
九章論文附件(https://science.sciencemag.org/content/suppl/2020/12/02/science.abe8770.DC1)圖1,整個裝置的示意圖
玻色子取樣的結果,是直接跟積和式相關的。所以我們可以根據要算的方陣,設計一個玻色子取樣的實驗裝置,對它取樣,然後就能算出這個方陣的積和式了。九章用200秒取樣5千萬次,而現在最強的經典計算機計算同樣的體系需要6億年,九章實現了一百萬億倍的優勢。
現在你完全明白了吧?
拿手電筒亂照或者點爆竹很複雜,是因為其中的粒子很多,而你的控制能力很差,所以你無法精確表述問題。而玻色子取樣很複雜,是因為計算量太大,但這個問題是可以精確表述的。九章通過精密的操作,快速解決了這樣一個有精確表述的複雜問題,這當然是了不起的成就。
有些人整天叫中國沒有創新,真到重大的創新放在他們眼前,他們又認不出來。分不清稻草和黃金,把引領世界的成就當作騙局,這實在是太荒誕了。
關於九章的突破之大,有一個戲劇性的故事。有一位以色列數學家吉爾·凱萊(Gil Kalai),是一個鐵桿的量子計算反對者。在他看來,量子計算機永遠都不可能成功。他預言,玻色子取樣不可能做到8至10個光子以上。
吉爾·凱萊
但九章做到的是多少呢?平均43個光子,最多達到76個光子!遠遠超出了凱萊的預測。這就像1943年,IBM董事長托馬斯·沃森(Thomas John Watson,1874 - 1956)的名言:“全世界有5台計算機就夠用了。”
托馬斯·沃森
玻色子取樣是美國理論家斯科特·阿倫森(Scott Aaronson)和他的學生亞歷克斯·阿爾希波夫(Alex Arkhipov)提出的,他們指出這個問題很適合量子計算機超越經典計算機,即實現量子優越性。
斯科特·阿倫森(https://www.cs.utexas.edu/people/faculty-researchers/scott-aaronson)
最近阿倫森在自己的博客上(https://www.scottaaronson.com/blog/?p=5122)慶祝了九章的成功,並專門記錄了凱萊立的這個flag及其被打臉。羣眾都喜聞樂見。
凱萊立的flag
有人可能還想問:九章確實快速得到了結果,但它不是把數據輸進去一步步地計算,而是運行玻色子取樣這個物理過程,這能算是計算嗎?
其實這是典型的外行問題,真正研究量子計算的都不會問這個。因為他們知道,量子計算機本來就是這麼做的,否則它憑什麼能超過經典計算機呢?
量子計算的起源之一,是1981年偉大的物理學家理查德·費曼(Richard Phillips Feynman,1918 - 1988)的一個演講《用計算機模擬物理》(Simulating Physics withComputers)。
理查德·費曼
他在裏面指出,現在的計算機用來模擬經典力學很合適,但模擬量子力學就會遇到計算量爆炸。因為量子力學裏同一個原因會產生不同的結果,我們的描述只能用概率的語言。請注意,這是一個質的區別。我們平常見到的隨機都是偽隨機,而量子力學裏的隨機是真隨機!
在量子力學中我們只能預測概率
現在來看看,概率為什麼會導致計算量爆炸。對於一維空間中的一個粒子,它只有一個座標x,我們可以用一個函數f(x)來表示在x這個位置找到這個粒子的概率。假如把空間分成N個格點,我們就需要知道f(x)在這N個位置的N個取值。
這看起來很簡單。但真正的麻煩在於,當我們有R個座標時,概率函數就成了一個多元函數f(x1,x2, x3, …, xR)。每一個座標有N個取值,所以總共有NR組座標,我們需要知道這個多元函數的這麼多個取值才行。數據量對R是指數增長的,這是災難性的增長。
直接描述量子多粒子體系會導致計算量爆炸
例如,中國信息通信研究院發佈的《大數據白皮書(2020年)》説(https://www.sohu.com/a/441067752_100000136),2020年全世界產生的數據量是47 ZB。1 ZB是1021字節,47 ZB就是4.7 × 1022字節或者3.76 × 1023比特。1 ZB約等於十億TB,大家平時用的硬盤容量在1 TB左右,所以全世界一年大約填滿了470億個硬盤。
為迎接更大的數據洪流做好準備
請問,什麼樣的量子體系所需的數據量會超過47 ZB?答案非常驚人。
只要我們在三維空間中取8個粒子,每個粒子有3個座標,總共24個座標,即R = 24。每個座標取10個值,即N = 10。這麼小的體系,它的概率函數的數據量就是1024,超過了47 ZB這個全球一年的數據量。存都存不下,更不用説計算了。
現在,大家明白量子力學的計算為什麼這麼困難了吧?
面對這種計算量爆炸,費曼提出了一個辦法,就是用量子體系去模擬量子體系。
我們不是直接用解析的方法去計算多元概率函數,而是構造一個量子體系,它演化的方式跟要模擬的體系在數學上等價。然後我們去測量這個量子體系的演化結果,也就是取樣。做若干次取樣後,我們就直接知道了這個多元概率函數。當然是在一定的誤差範圍內,這個誤差會隨着取樣的增加而減少。
在計算機上做相應的實驗,獲得相應的概率
這種思路可以表述為:只有魔法才能打敗魔法,只有量子才能打敗量子。
所以你看,九章做的不正是費曼建議的嗎?這正是量子計算機的本意。
通過以上的解釋,你也會明白,為什麼現在的量子計算機做的往往都叫做某某取樣:九章做的叫做玻色子取樣,2019年穀歌實現量子優越性的計算機“懸鈴木”(Sycamore)做的叫做“隨機線路取樣”(random circuit sampling)。因為取樣正是適合量子計算機乾的事情。那些認為九章不是計算機、是浮誇宣傳的人,其實踩的不只是九章,而且還包括懸鈴木,包括現在所有的量子計算機。
谷歌論文圖1對“懸鈴木”量子計算機結構的演示
量子計算這個領域以前突出的困難在於,沒有任何一台量子計算機在任何一個問題上超越經典計算機。大家都好像玩具模型一樣,能算,但是算得很慢。所以有凱萊這種唱衰派,認為量子計算機永遠不可能成功。九章和懸鈴木的成就,就是突破了這個限制,顯示出了量子計算機真正有用的前景。
我的朋友立刻明白了這些道理,他總結道:九章是一台原理驗證機。他的下一個問題是:有人説九章不能編程,所以它不是個計算機,對此應該怎麼看?
我的回答是:真正的關鍵在於,許多人對量子計算機的編程有誤解。他們以為量子計算機是在所有問題上都能超越經典計算機,就像486比386快,所以他們覺得量子計算機一定要能編程。但這完全是錯的。
486跟386運行的是同樣的底層邏輯,486更快只是因為它的主頻更高、晶體管更小、內存更大等等。但量子計算機跟經典計算機的底層邏輯完全不同,它們的基本操作單元就不同。
經典計算機的基本操作單元是“比特”,即一個體繫有且只有兩個狀態。好比一個開關,它只有開和關兩個狀態。量子計算機的基本操作單元是“量子比特”(qubit),它好比一個旋鈕。旋鈕跟開關的區別是什麼?它不是隻有兩個狀態,而是有無窮多個狀態。
用數學語言來表述,如果一個量子比特能處於|0>和|1>兩個狀態,那麼它也能處於這兩個狀態的任何疊加態,即a|0> + b|1>。這裏的a和b是兩個數,|>叫做“狄拉克符號”(Dirac notation),在其中填上任何的數字或字母就可以表示一個量子力學的狀態。
經典計算機的基本操作,是對比特進行的。例如把0變成1、把1變成0,這叫做“非門”(NOT gate)。
經典門
量子計算機的基本操作,是對量子比特進行的。例如把a|0> + b|1>變成b|0> + a|1>,這叫做“泡利-X門”(Pauli-X gate)。
量子Hadamard門
所以你看,量子計算機跟經典計算機的編程完全不是同樣的意義。經典計算機的算法都是人用手算可以實現的,只是算得慢點。而量子計算機的算法是人用手算無法實現的,因為基本操作就不同。
量子計算機超越經典計算機的關鍵,在於量子算法。對於某些問題,我們設計出了快速的量子算法,例如因數分解《讓中央集體學習的量子科技究竟是啥?這個科普我已經做了五年(四)量子因數分解與破解密碼 | 袁嵐峯》,這時它們就可以遠遠超越經典計算機。而對於另一些問題,我們沒有快速的量子算法,例如最基本的加減乘除,這時量子計算機就沒有任何優勢。
所以,量子計算機的用處就是解決某些經典計算機難以處理的問題,而不是解決所有的問題。許多人以為量子計算機將來會取代經典計算機,這是誤解。無論量子計算機進步到什麼程度,它都不會完全取代經典計算機。正確的前景是,量子計算機跟經典計算機聯合使用。
因此,量子計算機只要在一個問題上超越了經典計算機,它就是有價值的。這正是九章和懸鈴木的成就。在當前階段,編程並不是主要目標。
事實上,光量子計算機首先在原理上是可以實現編程的。然後,現在的九章可以部分的編程,這可以通過調整實驗中光的強度、干涉儀的透射率、反射率等參數來實現。潘建偉指出,九章的下一步,就是要成為一個可完全編程的計算機。
上海紐約大學計算機教授張崢表示,大眾理解的“編程”是碼農寫程序,而九章和懸鈴木的編程指的是硬件的“重構”(reconfiguration)。前者是用程序指令調動計算機的硬件資源,包括計算和存儲,而後者有點像用樂高積木根據任務搭一個硬件。這兩者的編程在目前並不在一個層面上。
潘建偉和張崢介紹量子計算機的編程《科學不避爭論:眾學者激辯量子計算九大問題》
我的朋友完全明白了這些道理,然後用自己的語言總結了一番,可見確實是理解了。我很高興為這位朋友解答了問題。如果大家都有這樣的思考能力和學習能力,我們的社會將會進步得多麼快啊!