0
本文作者: AI研習(xí)社-譯站 | 2018-07-06 17:35 |
雷鋒網(wǎng)按:本文為雷鋒字幕組編譯的微軟量子計(jì)算短片,原標(biāo)題Achieving practical quantum computing,作者為MICROSOFT QUANTUM TEAM。
閱讀上篇請(qǐng)點(diǎn)擊此處。
翻譯 | 楊惠淳 程煒 字幕 | 凡江 整理 | 余杭
在相對(duì)論中,消息會(huì)馬上到達(dá),但 Bob 不能真正地看信息,理解它,直到 Alice 向他發(fā)送另外兩條經(jīng)典的信息。如果將這兩條經(jīng)典信息加密,則需要將它們解碼。經(jīng)典信息的傳輸速度比光慢。因此 即使數(shù)據(jù)可以快速移動(dòng),信息卻不能。我將通過(guò)這一步,展示它是如何工作的,并從線性代數(shù)的角度來(lái)說(shuō)明矩陣是如何使用的。所有這些都是非常簡(jiǎn)單、直接的線性代數(shù),可以說(shuō),這之中沒有什么神秘的。
左邊的矢量是 100% 的 0 狀態(tài),這是 α;不存在 1 狀態(tài),這是 β,所以有兩個(gè)量子位是 0。如果將它們相乘,得到它們的張量積,我可以把兩個(gè)量子位看成 4 個(gè)狀態(tài),它們都在 00 狀態(tài),而不存在 01 、10 或者 11 。它們是向量的四行,讓我們從那里開始。
我們有兩個(gè)量子位,它們都處于零狀態(tài),現(xiàn)在要應(yīng)用一個(gè)叫做 Hadamard 的門,它將把量子位進(jìn)行翻轉(zhuǎn)。也就是說(shuō),現(xiàn)在量子位有 50% 的可能性是 0 或 1。我們?cè)谶@里做的是顯示第一個(gè)量子位,它可能是 0 或 1,但是第二個(gè)量子位仍然是零。觀察向量,可以計(jì)算得到,為保證計(jì)算后長(zhǎng)度為 1,需要除以 2 的平方根。
因?yàn)槭墙y(tǒng)一的,所以保證向量的長(zhǎng)度總是保持不變?,F(xiàn)在展示一個(gè)異或門,叫做 CNOT,CNOT 會(huì)把量子位糾纏在一起,所以現(xiàn)在它們要么是 00,要么 11。
如果我測(cè)量量子位,但在這一點(diǎn)上,我不知道我得到 50% 的可能性是 0 還是 1,但是無(wú)論我得到的量子位是什么,它一定會(huì)給我同樣的值。在一次測(cè)量中,如果我測(cè)量的結(jié)果一個(gè)為 0,另一個(gè)也將是 0;如果我測(cè)量一個(gè)為 1,另一個(gè)也為 1,不管它們?cè)谟钪嬷心膫€(gè)地方,同樣的事情總會(huì)發(fā)生。
現(xiàn)在這個(gè)消息進(jìn)來(lái)了,這是我們的 a 和 b 量子位。
我們現(xiàn)在要用三個(gè)量子位來(lái)代表它,所以我們把它乘進(jìn)去,顯示 a 和 b 的位置。我們要用 Alice 的量子位與它糾纏,現(xiàn)在糾纏完成。
如果你注意到,它也與 Bob 的量子位糾纏在一起。但如果鮑伯現(xiàn)在測(cè)量,他有 50% 的機(jī)會(huì)獲得兩種不同的值, 但他不知道哪一個(gè)才是正確的值?,F(xiàn)在我們來(lái)分析 Alice 的量子位,同時(shí)測(cè)量消息量子位。Alice 是發(fā)送一方,這給了我們兩位的經(jīng)典信息。所以我們得到的是鮑勃的測(cè)量可能是 ab 或 ba,但是既然我們已經(jīng)測(cè)量過(guò)了,我們就知道了修復(fù)量子位的正確方法,所以我們要發(fā)送兩行經(jīng)典信息,基于它們,要么執(zhí)行 X 要么執(zhí)行 Z 。得到量子位為 ab 狀態(tài) ,這正是我們發(fā)送的信息。
我不想太過(guò)深入,這有太多的工作要完成。但我想表明,我們所做的只是將每個(gè)操作符的矩陣相乘,我們得到了答案。在獲得 Alice 的兩位經(jīng)典信息之前,Bob 不知道是 ab,還是 ba。所以他沒有打破相對(duì)論,這很酷,我們可以用經(jīng)典的方法進(jìn)行所有的模擬。但是當(dāng)我們把量子位加在一起時(shí),你會(huì)注意到狀態(tài)向量越變?cè)酱螅聦?shí)上,每增加一個(gè)量子位 ,它的大小就會(huì)加倍。
這里存在指數(shù)增長(zhǎng)問(wèn)題。比如說(shuō),你的筆記本或臺(tái)式機(jī)上有 30 個(gè)量子位,也許是 40 個(gè),加上云中的量子位。但如果需要 50 個(gè)量子位,就不能在經(jīng)典機(jī)器上模擬,即使是在這個(gè)星球上的所有經(jīng)典機(jī)器加在一起也不能一起模擬,因?yàn)闆]有足夠的內(nèi)存完成它。
讓我們來(lái)看看實(shí)現(xiàn)遠(yuǎn)程傳輸所需的實(shí)際軟件。
我們將創(chuàng)建一個(gè)分配量子位的例行程序
現(xiàn)在有一個(gè) Alice 的量子位,Bob 的量子位,和一個(gè)可以用于糾纏的臨時(shí)量子位。我們將采取臨時(shí)量子位并應(yīng)用 Hadamard 門,然后用 Bob 的量子位來(lái)糾纏它,使用受控的非門或者 CNOT 。對(duì)于 Alice 的量子位,則采用相同的方法 。但是我們要把 Alice 的量子位翻轉(zhuǎn)。然后我們來(lái)測(cè)量一個(gè)量子位,它決定我們是否需要使用一個(gè) X 門,并測(cè)量出另一個(gè)量子位,觀察是否需要使用 Z 門。
有趣的是,實(shí)際上高級(jí)編程語(yǔ)言看起來(lái)與其他的高級(jí)編程語(yǔ)言是一樣的。任何一個(gè)傳統(tǒng)的程序員對(duì)它都應(yīng)該是很熟悉的,區(qū)別在于這種語(yǔ)言理解量子,它了解所有需要發(fā)生的錯(cuò)綜復(fù)雜的事情,但是它也能理解經(jīng)典方法。
這是一個(gè)經(jīng)典的關(guān)于經(jīng)典比特位的 if 語(yǔ)句。
在這種情況下,在我們測(cè)量 Alice 的量子位之后,它是經(jīng)典的。因此,我們實(shí)際上可以在量子算法中混合一個(gè)經(jīng)典的 if,它對(duì)任何標(biāo)準(zhǔn)的傳統(tǒng)程序員理解如何做量子算法,并且非??焖俚貥?gòu)建非常復(fù)雜的算法大有裨益。
因此 Q# 開發(fā)套件是一個(gè)完整的,可擴(kuò)展的量子平臺(tái)的一部分。
Q# 開發(fā)套件構(gòu)建冷凍控制系統(tǒng)
從 Q# 代碼開始,我們提供了用戶可擴(kuò)展的量子算法庫(kù),有一個(gè)經(jīng)典的主機(jī)程序可以完成所有的經(jīng)典部分,兩者可以連接在一起。然后,我們有一個(gè)運(yùn)行在云中或本地的叫做 Tracer 的系統(tǒng) ,它可以讓你做大量的量子算法,當(dāng)然,你不能通過(guò)經(jīng)典的方法運(yùn)行它們,但是它會(huì)分析它們。告訴你多少門操作,噪聲會(huì)如何影響它,什么類型的門會(huì)工作,有多少并行運(yùn)算等等……
整個(gè)系統(tǒng)將建立在冷凍控制之上,并在量子計(jì)算機(jī)上運(yùn)行,如果你對(duì)冷凍控制方面感興趣的話 , 你可以看看我們的 Q# 代碼,它是開源的,并且運(yùn)行實(shí)驗(yàn)室設(shè)備來(lái)運(yùn)行先前展示的稀釋制冷機(jī)。
我們最初于 12 月 11 日發(fā)布了 Q# 開發(fā)套件,并且已經(jīng)對(duì) Windows Mac 和 Linux 平臺(tái)上的軟件進(jìn)行了更新,它支持 Python 互操作,也符合 OSS 標(biāo)準(zhǔn),所以,你可以把微軟公共開發(fā)工具包下載到 VisualStudio 中。
它也可以直接在 Github 上使用,這是一個(gè)在 mac 的 Visual Studio 上運(yùn)行 Q# 開發(fā)套件的例子。
它建立了一個(gè)量子計(jì)算算法,事實(shí)上,這是編輯器內(nèi)部的傳送。
這里有一個(gè)在 Jupiter Notebook 中 Python 中斷的例子。
運(yùn)用量子仿真進(jìn)行量子層析
它顯示我們可以實(shí)際運(yùn)行量子仿真,得到輸出。在這種情況下,沿著這個(gè)方向做量子層析。
因此,我想舉一個(gè)密碼方面的例子,只是為了顯示如何構(gòu)成電路,以及如何分析。
這是一個(gè)受到光學(xué)啟發(fā)的算法,它顯示了如何確定一個(gè)函數(shù)是否被移位,它被移動(dòng)了多少。然而,這不是一個(gè)簡(jiǎn)單的轉(zhuǎn)變,實(shí)際上是轉(zhuǎn)移到超立方體之上。這是很難發(fā)現(xiàn)的,這使得它對(duì)密碼學(xué)非常實(shí)用。
對(duì)于這個(gè)例子,我們將實(shí)現(xiàn) 8 個(gè)量子位。所以你看到 16x16,256 個(gè)狀態(tài)代表 8 個(gè)量子位。我們將從狀態(tài)集合左上角的全零狀態(tài)開始,把所有量子位都疊加起來(lái)。 在這一點(diǎn)上,所有 256 種可能的狀態(tài)中具有相同的可能性。接下來(lái)我們要做的是轉(zhuǎn)換非移位函數(shù),一旦它被移動(dòng),我們就把它應(yīng)用到電路上。
你會(huì)注意到與移位版本相比,沒有移位的版本看起來(lái)很不一樣,這不是顯而易見的改變。因?yàn)檗D(zhuǎn)移實(shí)際上是一個(gè) n 維的轉(zhuǎn)變,可以進(jìn)行頻譜分析,得到移位函數(shù)的頻譜?,F(xiàn)在將它與原始函數(shù)進(jìn)行卷積。當(dāng)我們撤消頻譜分析時(shí),一個(gè)狀態(tài)突然出現(xiàn),這就是每個(gè)維度的變化量。
我們采用了一個(gè)小版本,可以在今天的量子硬件上運(yùn)行它。
左邊是 IBM 的,右邊是馬里蘭大學(xué)的離子阱,兩者都有五個(gè)量子位。
然后我們可以對(duì)它的工作原理進(jìn)行分析。
從圖中可以看到結(jié)果的精準(zhǔn)度以及噪聲的情況。
量子化學(xué)
現(xiàn)在要轉(zhuǎn)到一個(gè)我更熟悉的領(lǐng)域,那就是量子化學(xué)。
這是描述電子如何在原子或分子中移動(dòng)的方程式。
所有真正的第一個(gè)和是電子可能離開原子軌道的一個(gè)軌道,從 q 軌道到 p 軌道,所以它離開 q 來(lái)到 P,第二項(xiàng)是兩個(gè)電子同時(shí)移動(dòng),所以有兩項(xiàng)。
這個(gè)看似簡(jiǎn)單的方程是非常難以分析和模擬的。在一年的時(shí)間里 ,我們寫了四篇關(guān)于量子算法如何做到這一點(diǎn)并進(jìn)行改進(jìn)的文章,這是解決量子化學(xué)中各種問(wèn)題的核心,從一種叫做鐵氧還蛋白 FE2S2 的分子開始。實(shí)際上,能量傳輸分子,有四條小豬尾巴(指四條半胱氨酸殘基),這是非常普遍的,普遍存在于植物光合作用中,也在你的血紅蛋白中。它是一個(gè)非常重要的分子,但是它含鐵, 鐵在元素周期表下部。即使在最大的經(jīng)典機(jī)器時(shí)代,我們也無(wú)法做到這一點(diǎn)。
所以當(dāng)我們開始做第一篇論文時(shí),我們想用量子算法來(lái)做這件事,并使用假設(shè)的量子標(biāo)度,但是要花 240 億年才能找到答案。不太實(shí)用的第一篇文章結(jié)束時(shí),這個(gè)時(shí)間已經(jīng)下降到 85 萬(wàn)年了,這會(huì)好一點(diǎn),但還是不能商業(yè)化。第二篇論文提出的方法需要耗費(fèi)30 年,至少進(jìn)入了人類可以衡量的程度。第三篇論文 5 天,這終于可以派上用場(chǎng)了。但是在第四篇論文中,這個(gè)時(shí)間降到一個(gè)小時(shí)。
我想表達(dá)的是,在實(shí)現(xiàn)量子計(jì)算機(jī)之前,我們有能力改進(jìn)量子算法并設(shè)計(jì)新的量子算法。通過(guò)模擬,我們可以通過(guò)解決一些小問(wèn)題來(lái)告訴我們?nèi)绾谓鉀Q這些大問(wèn)題。通過(guò)經(jīng)典的方法,有些分子類型是我們可以在經(jīng)典量子模擬器上完成的。
我們看看規(guī)模為 30 個(gè)自旋軌道,或者 30 個(gè)量子位的分子。
那些就是我們可以模擬的,而右邊的就太大了。大約 160 左右,我們開始模擬像這樣的分子 FE2S2。在我們寫第一篇論文,然后是第二篇之前,我們實(shí)現(xiàn)了并行算法,通過(guò)它們?nèi)コ巳哂唷N覀儼l(fā)現(xiàn)了一個(gè)最優(yōu)排序,以減少誤差,等等。同時(shí),我們實(shí)現(xiàn)了一個(gè)量子模擬器,并進(jìn)行了模擬,我們用液體模擬器得到的線要低得多。
記住這是指數(shù)級(jí)的,所以這比理論預(yù)測(cè)得更加高效。對(duì)理論家來(lái)說(shuō),他們花了很多時(shí)間研究對(duì)于更嚴(yán)格的界限而言,什么是更好的估計(jì)。然后我們提出了第三和第四篇論文。正是現(xiàn)在模擬顯示給我們的,一切都很吻合。事實(shí)上,我們相信在一個(gè)小時(shí)左右的時(shí)間里,真的可以模擬這些大分子。
Fe2S2 聽起來(lái)不太大,但它是分子的一類,同一類是我在大型超級(jí)計(jì)算機(jī)上顯示的固氮分子,它有六個(gè)鐵和鉬,它仍然需要大約相同的時(shí)間長(zhǎng)度。像化學(xué)材料,它非常適合在量子機(jī)器進(jìn)行模擬,但是由于它們?cè)诰Ц裰杏幸?guī)則的結(jié)構(gòu),所以實(shí)際上更容易模擬。因此有一個(gè)簡(jiǎn)單的模型叫做 Hubbard 模型,它被用來(lái)模擬許多項(xiàng),今天在經(jīng)典機(jī)器上有很多種類的材料,但是許多我們感興趣的材料不包括在內(nèi)。 因?yàn)樗懈褡佣际且粯拥?,我們只需要挑選一個(gè),并相信它是特別的,然后對(duì)剩下做平均 只在本地將它與剩下的進(jìn)行交互。如果進(jìn)行平均,整個(gè)系統(tǒng)就變成了經(jīng)典系統(tǒng)。不同的是,在每一個(gè)可能的頻率上 ,一個(gè)電子可能在我們感興趣的點(diǎn)上跳上跳下。所以我們將采取一個(gè)單一的點(diǎn),這可能相當(dāng)復(fù)雜。它可能是我們以前的量子化學(xué)模型,因?yàn)檫@是我們關(guān)心的東西。然后我們來(lái)模擬電子如何從這個(gè)懷疑庫(kù)中挑出雜質(zhì)。
動(dòng)態(tài)平均場(chǎng)理論
因此,所有這些都能夠模擬材料中非常復(fù)雜的分子,這是一種標(biāo)準(zhǔn)的技術(shù),它在小型計(jì)算機(jī)上廣泛應(yīng)用,但是我們可以在量子機(jī)器上進(jìn)行更大規(guī)模的仿真,因此產(chǎn)生了動(dòng)態(tài)平均場(chǎng)理論。當(dāng)我們制造這些平均場(chǎng)時(shí),保持了量子性。有趣的是,我們可以假定一個(gè)模型并在量子計(jì)算機(jī)上運(yùn)行它。
這是一個(gè)典型的 AI 型循環(huán),一種經(jīng)典的量子模型調(diào)整方法。在這里得到的不僅僅是一個(gè)單一的輸出,一個(gè)數(shù)字。記住,經(jīng)典和量子之間的區(qū)別是,量子方法我們只得到一個(gè)數(shù)字;通過(guò)經(jīng)典方法訓(xùn)練得到的是一個(gè)模型。我們可以在量子計(jì)算機(jī)上高效地加載模型,很快就能得到各種問(wèn)題的答案,包括基態(tài)、激發(fā)態(tài)、催化率、擴(kuò)散,各種各樣的東西。
既然我們有一個(gè)可以有效加載的模型, 那么有另一種方法來(lái)解決這個(gè)問(wèn)題。建立一個(gè)模型,而不是取整個(gè)描述系統(tǒng)的方程的整個(gè)哈密頓算子,我們?nèi)⌒K,然后把它們相加,通過(guò)這些小塊,我們?nèi)匀豢梢越⒁粋€(gè)模型,以此測(cè)試量子。
那有什么好處呢 ?這些小塊只有很少的門和很少的量子位,因此可以在很短的時(shí)間內(nèi)保持連貫。這使得它在短期內(nèi)運(yùn)行小規(guī)?;蛩^的 NISQ 含噪聲的中等規(guī)模量子計(jì)算機(jī)成為可能;不好的部分是,因?yàn)槲覀儧]有整個(gè)系統(tǒng)的連貫性,實(shí)際上它比用相位估計(jì)這樣的技術(shù)更糟,這就是我們?nèi)绾巫隽孔踊瘜W(xué)和較早的量子材料。但這對(duì)于使用物理而不是邏輯量子位的小機(jī)器來(lái)說(shuō)具有是有用的,它們具有很短的相干時(shí)間。
你會(huì)聽到很多關(guān)于變量化技術(shù)的知識(shí),在失去連貫性之前,我們只需要幾千個(gè)門。我們可以用很多類型的量子位來(lái)實(shí)現(xiàn)。
中等規(guī)模的量子計(jì)算如何造福人類
所有這些結(jié)果都讓我們相信中等規(guī)模的量子計(jì)算機(jī)可以解決一些非常有趣的問(wèn)題。實(shí)際上會(huì)影響我們?cè)谶@個(gè)星球上所做的,我們之前所展示的固氮或者氮分子,就是今天制造肥料的一個(gè)例子。我們使用地球上每年產(chǎn)生的 5% 的天然氣,這是地球總能量輸出的 3%。在許多地方,人們甚至買不起肥料 ,因?yàn)樗F了。但我們知道植物根部有一種厭氧細(xì)菌,每天都在低溫、低壓、低能量下進(jìn)行這個(gè)過(guò)程。利用量子計(jì)算機(jī),我們有希望建立一個(gè)合成的固氮分子,可以很容易地制造便宜的肥料;同樣的問(wèn)題是碳捕獲,我們可以做一種油漆,你用它漆在世界所有的東西上。它從空氣中吸收碳,這將會(huì)緩解全球變暖。在材料方面,我們?cè)谌珖?guó)的輸電線路中損失了 15% 的能源輸出。我們可以制造無(wú)損的電力線,如果我們能制造室溫超導(dǎo)體,我們可以制造更好的電池,智能材料。還有很多例子。
當(dāng)然,作為微軟,我們關(guān)心機(jī)器學(xué)習(xí)。有很多事情可以通過(guò)更好的模型,更高效,更好的分析來(lái)實(shí)現(xiàn)。但是它們需要一千個(gè)邏輯量子位,而不是一兩百個(gè)量子位的量子計(jì)算機(jī),所以它們短期內(nèi)不會(huì)出現(xiàn),但它即將到來(lái),我們可以做的事情是用它來(lái)幫助全世界的機(jī)器學(xué)習(xí)。當(dāng)我們把所有這些聯(lián)系在一起時(shí),它給了我們希望,量子計(jì)算實(shí)際上會(huì)讓我們以積極的方式影響這個(gè)星球上的生命,并為我們目前無(wú)法企及的問(wèn)題提出解決方案。
量子計(jì)算夢(mèng)之隊(duì)
今天,我們組織了一個(gè)全世界的夢(mèng)之隊(duì)。
我們?cè)跉W洲、澳大利亞、美國(guó)都有實(shí)驗(yàn)室, 我們花了很多時(shí)間和一個(gè)由世界上最優(yōu)秀的人組成的多樣性的團(tuán)隊(duì)一起工作。我會(huì)給你一個(gè) URL 地址,在那里你可以得到量子開發(fā)套件。
你會(huì)找到 Q# 開發(fā)套件,但你也會(huì)發(fā)現(xiàn)我們的程序的所有信息,我們所有的實(shí)驗(yàn)室的鏈接。 你可以注冊(cè)一個(gè)新聞通訊,當(dāng)它們出現(xiàn)時(shí)你會(huì)看到結(jié)果,我們會(huì)及時(shí)發(fā)布。
視頻原址:https://cloudblogs.microsoft.com/quantum/2018/06/01/achieving-practical-quantum-computing/
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。