2019 年,日本東北大學(xué)和普渡大學(xué)的研究者進(jìn)行了一個概念證明實(shí)驗(yàn),用「概率比特」代替量子比特解決困擾經(jīng)典計(jì)算機(jī)的整數(shù)分解問題。相關(guān)研究發(fā)表在《Nature》雜志上,證明了一種名為「概率計(jì)算機(jī)」的裝置的可行性。作者表示,這種「概率計(jì)算機(jī)」可以解決一些通常認(rèn)為需要依靠量子計(jì)算機(jī)解決的問題,但建造的條件沒有那么苛刻(可在室溫下運(yùn)行),因此實(shí)現(xiàn)起來可能更加容易,他們還將「概率比特」稱為「窮人的量子比特」。最近,該研究的作者又在《IEEE Spectrum》上發(fā)表了一篇短文,用通俗的語言介紹了這種計(jì)算機(jī)的基本原理。
近年來,隨著摩爾定律走向消亡,量子計(jì)算機(jī)被人們寄予厚望。許多評論者指出,如果工程人員能夠設(shè)計(jì)出實(shí)用的量子計(jì)算機(jī),人類的計(jì)算方式將發(fā)生結(jié)構(gòu)式轉(zhuǎn)變。
但是,這一斷言有個重要的「如果」。
從理論上來說,量子計(jì)算機(jī)前景廣闊,但建造一臺實(shí)用的量子計(jì)算機(jī)需要克服巨大的困難。一些懷疑者甚至認(rèn)為,由于技術(shù)難度過大,人們可能無法在可預(yù)見的未來建造出一臺通用量子計(jì)算機(jī)。當(dāng)然,也有人比較樂觀,認(rèn)為只要花5-10年就能實(shí)現(xiàn)這一愿景,這些人來自谷歌、IBM、英特爾等正在建造量子計(jì)算機(jī)的科技巨頭。
但是,即使整個量子計(jì)算產(chǎn)業(yè)的發(fā)展比支持者預(yù)期的要慢很多,有一件事似乎是確定的。量子計(jì)算已經(jīng)激發(fā)了人們對概率在計(jì)算系統(tǒng)中所扮演角色的深刻理解——正如已故物理學(xué)家理查德 · 費(fèi)曼在上世紀(jì)80年代將這一想法重新帶回人們視野時所期望的那樣。
在2012年開始著手概率比特(p-bit)的研究時,我們尋求的正是這種理解。「概率比特」是基于量子比特(qubit)起的一個名字。費(fèi)曼曾將這種這種概率計(jì)算機(jī)視為他所展望的量子計(jì)算機(jī)的一種對比。因此,我們問了自己一個問題:怎么才能造一個出來?
有兩個磁化方向的磁體可以存儲一個比特。早期的計(jì)算機(jī)使用這種方法造出了磁芯存儲器。然而,將磁芯存儲器變小是非常困難的,因?yàn)樗捏w積越小,性質(zhì)就越不穩(wěn)定。
在2019年的一篇《Nature》論文中,我們成功利用了這個看起來像bug的特點(diǎn),使用不穩(wěn)定的小磁體來實(shí)現(xiàn)p-bit。在日本東北大學(xué)研究者的幫助,我們構(gòu)建了一臺有8個p-bit的概率計(jì)算機(jī)。
論文鏈接:
https://www.nature.com/articles/s41586-019-1557-9
這種新的基于磁體的p-bit在建造概率計(jì)算機(jī)時并不是必需的。其實(shí),早些時候,我們已經(jīng)構(gòu)建了一種利用復(fù)雜電子電路從確定性比特中產(chǎn)生偽隨機(jī)序列以實(shí)現(xiàn)p-bit的概率計(jì)算機(jī)。富士通等公司也已經(jīng)開始銷售類似的概率計(jì)算機(jī)。但是,使用不穩(wěn)定的磁體作為基本構(gòu)建塊,我們就可以用幾個晶體管(而不是幾千個)來實(shí)現(xiàn)一個p-bit,這使得大型概率計(jì)算機(jī)的構(gòu)建成為可能。
在這樣一臺計(jì)算機(jī)中,p-bit 組成的系統(tǒng)從初始狀態(tài)演化到最終狀態(tài),并通過許多可能的中間狀態(tài)之一。計(jì)算機(jī)走哪條路徑完全是一種偶然,每條路徑都有一定的概率。把所有可能路徑的概率加起來,你就得到了到達(dá)一個給定最終狀態(tài)的總概率。
量子計(jì)算機(jī)也做類似的事情,但它用的是量子比特,而不是概率比特。這就意味著,這里每條路徑都有物理學(xué)家所說的概率振幅,它可以是負(fù)的。更準(zhǔn)確地說,它是一個復(fù)數(shù),既有實(shí)部也有虛部。
在量子計(jì)算機(jī)中,要想確定從某個初始狀態(tài)到最終狀態(tài)的總體概率,你首先要把所有可能路徑的振幅相加,得到最終狀態(tài)的概率振幅。最終的振幅也是一個復(fù)數(shù),然后求其大小的平方得到實(shí)際概率,這個數(shù)字介于0和1之間。
簡而言之,這就是概率計(jì)算機(jī)和量子計(jì)算機(jī)之間的關(guān)鍵區(qū)別。前者將所有概率加起來,后者將復(fù)數(shù)概率振幅加起來。
這種差異其實(shí)非常重要。概率是一個小于1的正數(shù),所以加上一個額外的路徑只會提高最終概率。但概率振幅是復(fù)數(shù),這就意味著增加一個額外的路徑可能會抵消一個現(xiàn)有的路徑。這就好像一條路徑有一個負(fù)的概率。
量子計(jì)算的力量直接來自這種使概率為負(fù)的能力。用于整數(shù)分解的Shor以及用于數(shù)據(jù)搜索的Grover等知名算法都會小心翼翼地編排可用的中間路徑,以確保那些導(dǎo)致錯誤輸出的路徑被抵消,而那些通往正確答案的路徑可以被添加。
但是,這一力量的實(shí)現(xiàn)是要付出代價的。攜帶這些復(fù)數(shù)振幅的量子比特必須被小小翼翼地保護(hù),以免受環(huán)境的影響。這通常需要極低的溫度。相比之下,在室溫下使用更簡單的技術(shù)就可以創(chuàng)建概率計(jì)算機(jī)。但這樣的計(jì)算缺乏負(fù)概率的魔力,因此只對不需要路徑抵消的算法有效。
用概率比特模擬量子計(jì)算機(jī)在理論上是可能的,但這并不是一個實(shí)用的策略。盡管如此,與確定性計(jì)算機(jī)相比,概率計(jì)算機(jī)還是能在很多重要問題上提供顯著加速,這就是為什么我們對建造這種計(jì)算機(jī)如此感興趣。
概率計(jì)算機(jī)如何工作?其實(shí),它的原理和我們?nèi)粘J褂玫臄?shù)字系統(tǒng)非常不同,甚至大多數(shù)計(jì)算機(jī)工程專業(yè)的學(xué)生都對此知之甚少。因此,我們想以對話的方式聊一聊這個話題。
對話人物的名字取自伽利略的一本書——《兩種世界體系的對話》。這是一本寫得很機(jī)智的書,書中內(nèi)容以三個人物的對話展開——Simplicio(主張地心說的亞里士多德主義者)、Salviati(主張日心說的哥白尼主義者)和Sagredo(在這場辯論中持中立態(tài)度的博學(xué)智者)。在這場對話中,Salviati系統(tǒng)地駁斥了Simplicio的所有觀點(diǎn),并得出了伽利略所主張的關(guān)于地球圍繞太陽運(yùn)轉(zhuǎn)的證明。Sagredo 最終總結(jié)道,睿智的Salviati(其實(shí)就是伽利略本人在書中的投影)是正確的。亞里士多德錯了。然后三人退下,享受餐點(diǎn)和美酒。
本文的對話也在這三人之間展開,只是角色的使命略有變化。Salviati負(fù)責(zé)傳達(dá)作者的知識和觀點(diǎn);Sagredo可以看成讀者(你);Simplicio只是路人甲。三人在飛機(jī)上相遇。
以下是對話部分:
什么是「概率計(jì)算機(jī)」
Sagredo:我看你在讀IEEE雜志,你是電氣工程師嗎?
Salviati:是啊,我是研究計(jì)算的。
Sagredo:你最近在忙什么有趣的事情嗎?
Salviati:我和我的同事在研究一種新的計(jì)算方法。你知道,我們的所有電子設(shè)備,比如手機(jī),都是基于電路的,每個輸入都有對應(yīng)的輸出,比如輸入5和6,這些設(shè)備就可以給出它們相乘的結(jié)果30。但現(xiàn)在,我們構(gòu)建了一個反向的電路:給一個數(shù)字30,設(shè)備可以給出你所有的輸入組合,比如5和6、15和 2、10和3以及30和1。
Sagredo:聽起來很有意思。但這是做什么用的?
Salviati:它有很多用途,因?yàn)楝F(xiàn)在很多問題反過來都會變得很難,比如乘法計(jì)算就比因式分解簡單得多。很多小孩都可以迅速算出711x85等于65535,但把65535分解為711x85就沒那么簡單了,進(jìn)一步得到其他組合(比如257x255)就更難了。
Sagredo:我明白了。但是我聽說現(xiàn)在的計(jì)算機(jī)都能打敗圍棋大師,那解決這類問題也不難吧?
Salviati:的確,現(xiàn)在的數(shù)字計(jì)算機(jī)可以打敗圍棋大師,但鮮為人知的是,它們要消耗10兆瓦的電才能做到這一點(diǎn),而人類圍棋大師只需要消耗10到20瓦。人們對降低復(fù)雜計(jì)算的能耗非常感興趣,我們認(rèn)為我們正在研究的「反向計(jì)算」可以實(shí)現(xiàn)這一愿景。
Sagredo:您應(yīng)該很難向我這種小白解釋你們的設(shè)計(jì)理念吧?
Salviati:確實(shí)得多花點(diǎn)時間,我需要畫幾張畫。(Salviati 看到旁邊的人有張沒用過的餐巾紙。)不好意思,可以用一下您的餐巾紙嗎?
Simplicio:沒問題。
Salviati:(Salviati 放下小桌板開始畫畫。)你看,在數(shù)字計(jì)算機(jī)中,所有的東西都能用比特(0和1)來表示,后者又可以用擁有兩種狀態(tài)的物理實(shí)體來表示,比如磁鐵。
工程師們制造復(fù)雜的電路來執(zhí)行特定的操作。比如,我們可以構(gòu)造一個電路來做一比特二進(jìn)制乘法運(yùn)算:輸出的比特是0或1(我們稱它為C),具體結(jié)果取決于輸入比特A和B的乘積。
Sagredo:這和你們的反向電路區(qū)別在哪兒?
Salviati:我們用p-bit來構(gòu)建電路,它既不是0也不是1,而是在二者之間快速波動,一半的時間是0,一半的時間是1。
Sagredo:那這有什么用呢?這些比特根本不攜帶任何信息。
Salviati:沒錯,但如果我們讓它們互相溝通,這些比特就有用了。你看,如果它們彼此之間不互相溝通,它們就會獨(dú)立地在0和1之間波動。我們可以畫一個像這樣的直方圖來表示A、B和C所有組合的概率。八種可能性中的每一種都是等可能的。
Salviati:現(xiàn)在假設(shè)A、B和C 可以互相溝通,而且它們喜歡相互傾聽和模仿。那么如果A變成1,B和C也會變成1。如果A變成0,B和C 也會相繼變成0?,F(xiàn)在再畫一個直方圖,我們可以看到峰值只剩下兩個。
此時,我們的p-bit 小磁體仍舊保持波動,但它們的波動是一致的。
Sagredo:就好像你有了一個在0和1之間波動的大磁體,但這個大磁鐵看起來也沒多大用。
Salviati:確實(shí)如此。如果我們有一個非常積極的溝通,就能得到一個大磁體。為了使這一點(diǎn)有用,我們必須巧妙地設(shè)計(jì)它們之間的通信,以便出現(xiàn)所需的一組峰值。
舉個例子,如果我們想實(shí)現(xiàn)1比特乘法器,我們只需要8個峰值中的4個出現(xiàn)。對于 {AB→C},我們想要看到的是:{00→0}, {01→0}, {10→0}, {11→1}。
如果能通過精心設(shè)計(jì)p-bit之間的通信來實(shí)現(xiàn)這一點(diǎn),我們就得到了前面提到的可逆電路。
Sagredo:這是怎么做到的?
Salviati:讓三個磁體在四種可能之間自由穿梭:{00 0}, {01 0}, {10 0}, {11 1}。
但如果我們強(qiáng)制地將A和B磁體鎖定為0,那么這些磁體就只剩下了一種選擇:{00 0},也就是說,C 只能為0。
Sagredo:這就像一個以正向模式運(yùn)行的乘法器:0x0=0,對不對?
Salviati:是的。如果要以反向模式運(yùn)行,我們可以將C鎖定為0。如此一來,該系統(tǒng)將在以下三個選項(xiàng)之間波動:{00 0}, {01 0}, {10 0}。這是反向的乘法器。給定輸出0,系統(tǒng)告訴我們有三種可能的輸入與之對應(yīng),分別是:0x0, 0x1, 和1x0。
Sagredo:我明白了。但是你如何在你的p-bit之間設(shè)計(jì)這種神奇的通信呢?換句話說,你怎么知道要設(shè)計(jì)什么樣的通信方式?
Salviati:有一些成熟的方法可以用來確定創(chuàng)建一組所需的峰值需要何種通信方式。
Sagredo:你這是在閃爍其詞。根據(jù)你前面的說法,我還以為這是你們自己想出來的,所以才那么興奮。
Salviati:事實(shí)上,這部分是眾所周知的,至少對某些應(yīng)用是這樣。一些公司正在使用普通硬件和隨機(jī)數(shù)生成器來構(gòu)建概率計(jì)算機(jī),以模擬我剛才說的概率位翻轉(zhuǎn)。但這樣做會浪費(fèi)很多能量,很快就能把筆記本電腦的電池耗盡。我們的電路只需要三個晶體管和一個特殊的硬件元件就能實(shí)現(xiàn)同樣的功能,這個硬件元件的內(nèi)在物理特性產(chǎn)生了隨機(jī)數(shù)。
Sagredo:能否介紹一下這個特殊元件?
Salviati:我們使用了一種名為磁穿隧接面(magnetic tunnel junction)的東西來建造一個簡潔的裝置,該裝置可以讓p-bit溝通起來非常容易。我們設(shè)它的輸出為V_out,這個輸出是波動的。如果V_in為0,V_out就會有50%的時間為1,50%的時間為0。但如果V_in是正的,V_out就更有可能是0。如果V_in是負(fù)的,V_out就更有可能是1。如果你讓V_in一直是正的或負(fù)的,你就可以將輸出「鎖定」為某個狀態(tài)。
這就是每個p-bit通過輸入電壓V_in傾聽其他p-bit的方式,它通過輸出電壓Vout來「說話」。比如,p-bit A可以通過將A的輸出反饋給B的輸入來與p-bit B通信。我們用這個裝置構(gòu)造了可逆電路。到目前為止,我們還沒有做什么驚天動地的事情:它們只是一個概念性的證明。但我們已經(jīng)表明,這樣的設(shè)備可以用先進(jìn)的技術(shù)構(gòu)造出來。有朝一日,我們可以利用這樣的技術(shù)構(gòu)造出巨大的電路,以解決現(xiàn)實(shí)世界的問題。
Sagredo:現(xiàn)實(shí)世界的問題是指哪些問題?
Salviati:比如優(yōu)化問題,在這類問題中,你需要找到使某個成本函數(shù)最小化的配置。
人們每天都在解決優(yōu)化問題,比如找到遞送一堆包裹的最佳順序,使得快遞員走的距離最短。類似的問題可以映射到我們使用的基本架構(gòu)上。每個問題都需要特定的連接模式。一旦我們弄清楚這些模式并把它正確地連接起來,p-bit電路就能以配置峰值的形式給出答案。
Sagredo:Okay,你激發(fā)了我對這個系統(tǒng)的興趣。但我們馬上就要著陸了,還有什么渠道能讓我了解你們的研究嗎?
Salviati:我們最近發(fā)表了一篇文章,介紹了如何構(gòu)造一臺能夠計(jì)算親屬之間遺傳親緣程度的p-bit計(jì)算機(jī),你可以看一下。
文章鏈接:
https://spectrum.ieee.org/computing/hardware/waiting-for-quantum-computing-try-probabilistic-computing
兩年過去,研究者取得了哪些新進(jìn)展
自2019年展示用于概率計(jì)算機(jī)的硬件以來,普渡大學(xué)等機(jī)構(gòu)的研究團(tuán)隊(duì)還利用現(xiàn)有的硅技術(shù),通過Amazon Web Services公開提供的傳統(tǒng)硬件模擬了一臺具有數(shù)千個p-bit的概率計(jì)算機(jī)(相關(guān)鏈接:
https://ieeexplore.ieee.org/abstract/document/9173656)。
此外,研究者還發(fā)表了幾篇關(guān)于集成單個硬件組件的進(jìn)展的論文,試圖建模更大的系統(tǒng),并從一開始就確保能源效率(相關(guān)鏈接:
https://onlinelibrary.wiley.com/doi/abs/10.1002/adma.201906021)。
「關(guān)于p-bit的最佳實(shí)現(xiàn)目前還沒有定論。但我們已經(jīng)展示了哪些是有效的,確定最佳實(shí)現(xiàn)是遲早的事?!蛊斩纱髮W(xué)的一位電子與計(jì)算機(jī)工程教授表示。
普渡大學(xué)的概率計(jì)算研究隸屬于一個名為「Purdue-P」的項(xiàng)目。從名字來看,這些研究者似乎是唯一一批從事概率計(jì)算研究的學(xué)者,但在世界的其他地方,還有一些團(tuán)隊(duì)在用不同的材料和范式研究相似的技術(shù)。
普渡大學(xué)前博士后研究員Kerem Camsari表示,「作為一個領(lǐng)域,我們著眼于自身還不能解決的計(jì)算問題。同時我們也在想,現(xiàn)在有數(shù)字計(jì)算,有量子計(jì)算,還有什么?」「其實(shí),從更高的層次來看,有很多東西都可以被稱作『概率計(jì)算』」。