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