
摘要
1965年4月19日,《電子學》雜誌第114頁發表了Moore(時任快捷半導體公司工程師)撰寫的文章《讓積體電路填滿更多的元件》,預言半導體晶片上整合的電晶體和電阻數量將每年增加一倍,後來修正為每兩年。而在晶片技術大致遵循Moore定律發展了數十年以後的今天,即使製程已經來到了當時難以想象的3nm,並發展出了應變矽、高k金屬柵極、3DFinFET等技術,但我們始終沒有擺脫能耗制約算力的挑戰。宏觀上,據統計目前在美國有約5%的能源都消耗於計算機上。Google選擇將一些資料中心建造在河流旁邊,利用河流中的水去除資料中心產生的熱量。的確,不遠的未來我們要想構建百億億級(exascale)的超級計算機,怎樣能使它不會在執行中融化掉將是最主要的問題之一。
當我們疲於應付種種由熱力學帶來的挑戰時不禁會思考,難道熱力學就只是我們設計計算機時候的站在我們面前的對手嗎?
首先我們需要思考為什麼計算會產生熱量。從簡單的電路運作的角度,電流在CMOS中流動,期間遇到各種電晶體的阻礙,產生熱量是再自然不過的事情了。但如果我們不考慮現有的硬體結構而思考計算過程本身,就會來到資訊理論的討論範疇。早在1961年, Landauer就提出在執行一個不可逆的邏輯計算時一定會產生熱量[2],並且它的最小值是可以計算的。物理學中,一個系統的混亂程度可以用系統的熵(entropy)描述,而熵可以用著名的Boltzmann公式計算:

,
其中
是資訊系統的狀態數我們就可以得到系統的資訊熵。而計算過程伴隨資訊的產生與消滅,理想狀況下如果我們從系統中擦除一個bit的資訊,根據上面的公式計算系統的熵會改變

是系統的熵,

是Boltzmann常數,

是系統的微觀狀態數。類似地,在一個資訊系統中如果


,
伴隨著熵的改變,我們需要消耗至少為

的能量,

是系統所處的環境溫度。很容易計算出在室溫下該能量約為0.17eV或是

焦耳。
而這一能量下限已經可以被實驗測量並證實[3-8],當然這是在不考慮所有其他可能引起熵增的情況下的理想值,而實際上目前的CMOS技術執行一次該操作所消耗的能量在5000eV左右,遠遠大於上述的理想值。而這些能量最終會成為熱量散發出去。在進一步的研究中,Sagawa和Ueda提出了考慮測量效應後的進行計算的能量邊界條件[9]:

,
其中
分別為測量和擦除資訊所消耗的能量,
描述了考慮了量子效應後測量系統可以獲得的有效資訊。而只有在不考慮量子效應的經典過程中,該有效資訊才等於完整的資訊。這進一步表明擦除資訊所消耗的能量需要同測量這一狀態變化的過程所消耗的能量結合在一起考慮,是Landauer邊界的一個推廣,雖然早在1951年,Brillouin為了解決著名的Maxwell妖[10]的問題時就提到測量也需要消耗一定的能量[11]。

和


圖1描述了Joules(焦耳)單位下的Landauer邊界條件(藍色橫線)與數十年來我們的CMOS裝置隨著製程演進所能達到的產熱進步的關係[12]。注意左側是對數座標,因此我們現有的技術的能耗距離Landauer邊界仍有約高達5個數量級的差距。

圖1. Landauer邊界條件與CMOS裝置能耗進步的關係 [12]
顯然,依照現有以及可以預見的不遠的未來的CMOS技術,計算機的大部分的能量都被消耗在了除計算以外的別的過程中。如果不從根本上改變這一局面,我們很難獲得數量級式地可以快速逼近Landauer邊界的計算系統。
更廣泛地說,我們現行的計算體系已經開始面臨多方面的問題。硬體上當我們沿著目前的路線走下去來到奈米尺度時,首先無法從根本上獲得接近熱力學極限的計算效率,而且會遇到越來越嚴重的由熱力學漲落(fluctuation)帶來的影響,關於漲落後面有更多討論。軟體上,我們目前也缺乏在複雜領域譬如經濟系統,生態系統,製藥等領域進行有效建模和程式設計的方法,機器學習和深度學習給這些領域帶來了一些曙光,但可以看到的是現有的方法和可觀測到的自然界的複雜度比仍然有很大差距。
1. Hopfield網路和Boltzmann機
因此我們想要圍繞目前硬體上面臨的最根本的問題——熱力學問題來思考如何基於熱力學的物理原理來設計計算機系統。自然界各層次上的系統依照熱力學來進行自組織和進化,因此我們也希望能夠採用類似的原理構建未來的計算機系統。
從熱力學的角度來說,自然界中的任何過程——計算也不例外——都伴隨著能量的耗散。而在我們現行的計算系統中,我們將計算機視為基於多層次系統性設計的可以進行數學操作的機器。基於這樣的系統,我們操作的時候需要先將問題轉換為可以按照設計好的數學流程逐步執行的程式,在此過程中間熱力學僅僅被視為一種工程上的限制,以驅動我們不斷地提高熱力學效率。
那如何構建一個基於熱力學原理的計算系統呢?
德國物理學家Ising為了描述物質的鐵磁性提出過一個模型,它包含了描述單個原子磁矩的引數,其值只能為+1或-1,並且模型中引入了特定互動作用的引數,使得相鄰的磁矩會相互受到影響。Hopfield基於此原理構建了一種神經網路“Hopfield Network”[13], 它定義了一個包含了二元節點(取值1,-1或者1,0)
和相鄰的一對一的具有一定對稱權重
的連線的網路,整個網路的能量可以表示為:



,
其中第一項是我們主要關注的由節點和權重引起的能量項,第二項是節點的自身偏置。

圖2. 簡單的Hopfield網路示意
圖2是一個簡化的Hopfield Network的模型,包含了5個可以取值為0或1的二元節點和7和相鄰節點的連線權重,連線上的數字即是權重值,它對應系統總能量態的貢獻的負值。同時規定如果兩個相鄰節點的值都為1,它們之間的權重就會被啟用,系統就會獲得一個對應的能量降低,例如在(a)中,如果最左側兩個節點取值為1,則系統可以獲得一個值為3的能量降低。我們知道自然界的系統會自發的執行到能量最低態,那麼在這樣一個簡化的網路中,我們可以設計算法在輸入一定的節點初始值後逐一判斷每個節點的取值,目標就是使得系統能量最低,遍歷節點後就完成了一次熱力學意義上的系統能量的自發演化。
按照此規律,圖(b)中我們在已給定如圖所示的初始值的情況下判斷右上角的節點值可以知道,此時該節點應取值為0,此時整個網路的能量為-3,因為若取值為1的話整個網路的能量將為-(3-4)=1 再按照此規律逐一判斷各節點值可以得到如圖(c)所示的網路能量最低態,此時整個網路的能量為-4,並且無法再降低了。
由於Hopfield網路中包含的特定的能量定義形式,我們在一些特定最佳化問題中可以利用它來求解。例如在典型的旅行商問題中,這些節點可以定義為城市,加入特定的問題域的限制條件之後總的最佳化函式可以用Hopfield網路的能量函式來表達,從而以能量最低為目標對原問題進行最佳化[14]。
但Hopfield網路的一個問題是它常常會陷入區域性最優狀態就停止演化了,例如圖2 (c)中能量為-4的狀態其實是一個區域性最優解,(d)則是真正的全域性最優的狀態,此時的能量為-5,但在此時的節點逐個演化機制中達不到此解。
而Boltzmann機(Boltzmann Machine)在此基礎上引入了機率化的節點更新規則。注意到該系統中任意狀態

和

出現的機率(以

為例)若滿足Boltzmann分佈:

,
因而兩種狀態

和

出現的機率之比即為

.
我們讓每個節點的取值判斷不再是確定的,而是滿足

,
其中

是環境溫度引數,

則描述該節點取值0和1時引起的系統能量之差。
按照此規則選取節點值來更新網路,Boltzmann機可以避免像Hopfield網路那樣常常陷入區域性最優的情形。2. 熱力學漲落與熱力學神經網路
最近的由Hylton提出的熱力學神經網路(Thermodynamic Neural Network)[15]進一步引入了自然界中既有的守恆量——電荷並且利用節點間電荷傳遞會遵循最高效率的原則,並且引入了非平衡態中的漲落原理而設計,如圖3所示。

圖3. 熱力學神經網路的結構與更新機制 [15]
圖3左側的圖描述待更新的中心節點的勢由同時連線的兩組具有相同正負的節點勢

和相反電荷傳遞權重

來決定,
同時採用“旋轉開關”的模式來選擇另兩組具有相反的勢的節點,這樣保證正負電荷可以各自獨立守恆而不會互相抵消。節點的遍歷選擇則遵循右圖的Markov鏈的規則。而系統的總能量
可以描述為各節點的能量之和:

,
其中
分別描述系統的節點勢,連線權重和連線上與該節點相關的電荷。另外整個系統會和一個外部的具有溫度倒數為


的熱庫(thermal reservoir)
——一個可以保持自身溫度的熱源——相接觸,此時系統處在某一熱力學狀態上的機率將滿足Boltzmann分佈:
.
在節點遍歷中發生的電荷轉移過程裡,系統中基於熱力學原理而不可避免地始終存在著熱力學漲落(fluctuations)。該漲落在此係統中是一個非常重要的因素,它也是一個熱力學中的一個重要概念,近年來隨著隨機熱力學的發展,人們才能夠研究遠離平衡態的系統的隨機熱效應,而自然界中發生的幾乎所有的實際過程都是處於非平衡態的。在該網路中,此漲落相對於環境也就是熱庫溫度的大小,也就是上式中Boltzmann分佈裡指數內的項“

”的穩定程度決定了節點的狀態更新是否是接近熱力學平衡(equilibration)的。
如果大的熱力學漲落使得該更新無法處於熱力學平衡,則節點將只更新它和與之相連節點的電荷而不改變連線它們的邊的權重。相反地,如果是該更新是熱力學平衡的,則將同時伴隨著連線權重的更新和對相鄰節點的的能量傳遞,此時網路結構隨著連線權重的更新也就發生了變化,因此該更新是不可逆的。像上式給出的分佈那樣,漲落會帶來系統狀態在機率分佈上的不確定性,因此電荷轉移完成後還會有殘餘的無法完全平衡的電荷。殘餘的電荷將進一步發生耗散(dissipation),該耗散在實際中會透過一定的物理結構去發生,在此設計的熱力學神經網路中耗散則透過上述的更新連線權重來完成,方法遵循Boltzmann分佈。連線權重更新後又會帶來新的電荷不平衡,如此往復,這就構成了一種熱力學意義上的系統性的迴圈並自我最佳化的過程。
從熱力學計算的意義上說,整個系統更新中伴隨著一系列的熱力學漲落,平衡,耗散以及自適應的過程的迴圈,這樣的漲落和耗散不再是計算的副作用或是阻礙,而成為了計算中自然的一部分。這也正是自然界中很多過程包括生物的過程中的執行方式。另一方面,快速而全域性的節點狀態更新伴隨低速而區域性的連線自適應更新使得整個系統可以完成多尺度而複雜的演變,這在不管有沒有外部電勢輸入的影響的情況下都可以自發地實現。
3. 熱力學計算機的可能形態與應用
遵循這樣的思路,參考文獻[16]中作者設計了一種真正的熱力學計算機的可能形態,如圖4所示。

圖4. 一種熱力學計算系統的概念設計[16]
這套熱力學計算系統由一個傳統的計算機系統(虛線以上部分)和新的熱力學計算機硬體(虛線以下部分)組成。傳統計算機系統作為主機,人類可以直接與之互動。另一方面,熱力學計算機部分則具有如之前所述的熱力學神經網路的特性或者包含更多特性,並且直接與外部真實世界中的勢相連線。主機可以限制熱力學計算機以選擇所需的外部勢並且調整自身的部分結構。同時熱力學計算機還需要與一個獨立的熱庫(thermal reservoir)相連線以提供所需的重要的熱力學漲落,如同前述的在熱力學神經網路中的作用那樣。當調整好的熱力學計算機暴露在相應的外部勢之後,短期內的自發的系統態的轉變(就像熱力學神經網路中節點勢的更新)以及長期內的組織結構的更新(就像熱力學神經網路中連線權重的更新)都將是熱力學原理驅動下的固有的自適應過程。因而這樣的熱力學計算機可以利用底層的物理學原理導致的物理過程本身來完成相應的計算任務。
例如在解決描述遵循Navier-Stokes方程的流體運動時,具有上述結構的含有隨機熱力學漲落機制的熱力學計算機可以模仿流體中複雜的量子和統計上的漲落決定的運動機制,並且將這一漲落再注入回計算過程中來模仿流體的運動微觀過程。又例如在對宏觀的複雜系統例如大氣層動態的計算上,熱力學計算機相對於傳統的基於確定性和無噪的計算過程的計算機來說具有天然的巨大優勢:構建一個如此龐大的離散化的大氣層模型並施加以Navier-Stokes方程的過程將輕易突破目前的超級計算機的計算能力,而其實該計算過程中的宏觀尺度上的隨機性其實並不需要被視為進行模擬計算的一個阻礙——這正是熱力學計算機的處理方式。
實際使用時,使用者可以將譬如一個最佳化問題的最佳化物件描述為與問題相關的特定外部勢限制下的一個熱力學系統並由主機進行輸入和控制,後面只要利用熱力學計算機的物理特性,在整個過程中隨著能量的耗散,系統內熵的產生會傾向於最小,因而最後就能獲得我們想要的最佳化問題的解。
4.基於物理尺度上的宏觀思考
圖5給出了考慮這一問題的更宏大的角度。理解了前述的關於熱力學漲落在熱力學神經網路中的作用之後就不難理解。我們將現實世界的尺度與熱力學漲落本身的尺度的對比後將所有的尺度大致分為三檔,最外側的經典區域中熱力學漲落相對於這裡的計算系統都是很小的,經典區域下的計算系統就是我們現實中的計算系統,在系統的各種器件例如電晶體,門和儲存器中熱力學漲落都是被視為需要被隔絕或排除的不良影響,以此創造出抽象的裝置狀態(儲存器狀態)和狀態變化的數學與邏輯定義,因而整個計算過程都是抽象的,我們儘量杜絕熱力學的干擾和影響。這看上去是他的優點,但這樣的經典計算模式在熱力學漲落變得與硬體的特徵尺寸越來越接近(也就是目前越來越多會遇到的問題)時即會逐漸失效。
中間一層即是如前面探討的熱力學計算區域,此時熱力學擾動在尺度上是和這裡的計算機裝置的執行單元相仿的。自然界中的細胞操作,神經元可塑還有生物進化等都屬於這個範疇,這也是我們如果想要在計算中逼近熱力學極限的實現尺度。
最內的一層則是量子區域,在這個區域裡熱力學漲落比計算系統本身要大。我們在這裡的操作辦法是用超低溫將熱力學漲落“凍結”後再進行計算。
在中間一層的熱力學計算區域,儘管工程上要實現還有太多的挑戰,但將熱力學漲落和系統的自適應性等特性找到合適的輸入勢以及一個允許我們將問題在熱力學計算機下透過引數調整很好地定義的辦法將是我們必須要尋求的目標。在這一目標實現過程中,目前看盡管離最終形態的熱力學計算機的實現還比較遙遠,但在研究過程中我們也找到了很多適合於目前或不久的將來去實現的包含熱力學思想的對現有計算系統加以改進的辦法。

圖5. 計算的三個尺度區域[16]
5.現有的可能實現和更多的理論嘗試
如前面所述的那樣,計算產生的熱量與計算系統的熵有關,而現有的計算系統中我們並不會考慮這一點。從硬體上說,對於完成相同的計算,如果我們能夠最佳化電路中和資訊熵有關的狀態轉換器(如邏輯閘)的排布順序,使得我們可以進行儘量少的資訊擦除和寫入過程,就可以在不改變任何其他技術條件的情形下提升系統的熱效率。近年來隨著隨機熱力學和非平衡態物理的發展[17],我們也可以更精確地計算在實際情形中很多計算過程中的能量消耗,因此可以更好地對這些過程進行硬體和軟體上的最佳化。
另一方面,我們現在雖然無法搭建出一套完整的基於熱力學器件的熱力學計算機,但也已經有采用部分基於熱力學原理的硬體比如憶阻器(memristor)參與計算的嘗試[18]。透過越來越多的熱力學部件的參與,我們可以讓熱力學漲落在某些關鍵的區域性參與完成運算,提升計算的效能。這裡需要化學和材料科學的幫助以製造出更多相應器件。
還有一些有趣的理論和嘗試,比如可逆計算。Landauer在提出Landauer邊界條件時候指出正是傳統計算操作的不可逆性直接影響了這些操作器件的熱力學行為導致了能量的耗散。一般的計算系統包括前述的熱力學計算機從資訊理論的角度說進行的都是不可逆計算,比如我們進行最基本的加法操作之後我們無法從加法的結果反推回輸入的兩個數,也就是說我們執行完每一步的計算後很多資訊就已經被永久合併或抹去了,我們無法從計算的任何時刻恢復出完整的上一時刻的系統資訊。相反地,理想情況下,如果我們設計的計算系統是完全可逆的,理論上我們甚至可以突破Landauer邊界條件的限制[19],不產生任何熱量耗散。現實中基於該原理設計的諸如Fredkin門等可逆門雖然原理上可行,但由於受到非平衡熱力學的影響,要想逼近理想狀況下的零耗散,該邏輯操作必須在極慢的速度下進行以保證系統時刻可以接近熱力學平衡,所以目前這仍然也只是一個不太成熟的構想,但的確目前理論上只有透過可逆計算我們才可能突破由資訊熵決定的熱力學限制。
當我們回顧幾十年來的計算機的發展,特別是當前我們遇到了越來越難以突破瓶頸時,我們很難不去思考我們構建現有的計算機系統的出發點以及資訊處理的本質。Landauer和Bennett等人的研究表示[1,20],資訊處理本質上是一個物理過程。從物理的角度思考目前以及將來我們應該如何改進現有的和構建全新的計算機系統是一個註定重要和充滿挑戰的過程。這裡我們總結了部分基於該物理過程中最重要的熱力學原理的計算機系統的構想和實踐,但這是一個涉及領域非常廣泛的充滿了從理論到工程的很多挑戰的問題,一定還有很多沒有談及的地方。相信擁有自然界賦予的無窮創新力的人類註定能實現遠遠超越當前的認知與計算的能力。
[1] Moore, Gordon E. (1965-04-19). "Cramming more components onto integrated circuits", intel.com. ElectronicsMagazine. Retrieved April 1, 2020.
[2] Rolf Landauer (1961), "Irreversibility and heat generation in the computing process", IBM Journal of Research and Development, 5 (3): 183–191, doi:10.1147/rd.53.0183, retrieved 2015-02-18.
[3] C. Jarzynski, Phys. Rev. Lett. 78, 2690(1997).
[4] G. E. Crooks, Phys. Rev. E 60, 2721(1999).
[5] S. Mukamel, Phys. Rev. Lett. 90, 170604(2003).
[6] R. Kawai et al., Phys. Rev. Lett. 98,080602 (2007).
[7] J. Liphardt et al., Science 296, 1832(2002).
[8] M. Collin et al., Nature 437, 231(2005).
[9] Takahiro Sagawa and Masahito Ueda, “MinimalEnergy Cost for Thermodynamic Information Processing: Measurement and Information Erasure”, Phys. Rev. Lett. 102, 250602 (2009).
[10] L. Brillouin, J. Appl. Phys. 22, 334(1951).
[11] Leff, Harvey S. & Andrew F. Rex, ed. (2002). Maxwell's Demon 2: Entropy, Classical and Quantum Information, Computing, CRC Press, p370.
[12] Wimsatt, Gregory W.and Boyd, Alexander B. and Riechers, Paul M. and Crutchfield, James P, Journal of Statistical Physics, 183, 16 (2021).
[13] Hopfield, J. J. (1982). "Neural networks and physical systems with emergent collective computational abilities". Proceedings of the National Academy of Sciences. 79 (8):2554–2558.
[14] Mańdziuk, Jacek. (1996). Solving the Travelling SalesmanProblem with a Hopfield-type neural network. Demonstratio Mathematica. 29.219-231. 10.1515/dema-1996-0126.
[15] Todd Hylton. “Thermodynamic NeuralNetwork”, Entropy (Basel). 2020 Feb 25;22(3):256.
[16] Todd Hylton, Thomas M. Conte, Mark D.Hill. “A Vision to Compute like Nature: Thermodynamically”, Communications of the ACM, June 2021, Vol. 64 No. 6, Pages 35-38.
[17] Luca Peliti, Simone Pigolotti, “StochasticThermodynamics: An Introduction”, Princeton University Press (2021).
[18] Jinxiang Zha, He Huang, Tingwen Huang, JindeCao, AhmedAlsaedi, Fuad E.Alsaadi, “A general memristor model and its applications in programmable analog circuits”, Neurocomputing, Volume 267, 6 December 2017, Pages 134-140.
[19] Tommaso Toffoli, “Reversiblecomputing”, International colloquium on automata, languages, and programming,632-644.
[20] Bennett C H. Sci. Am. 1987, 257: 108.


壁仞科技研究院作為壁仞科技的前沿研究部門,旨在研究新型智慧計算系統的關鍵技術,重點關注新型架構,先進編譯技術和設計方法學,並將逐漸拓展研究方向,探索未來智慧系統的各種可能。壁仞科技研究院秉持開放的原則,將積極投入各類產學研合作並參與開源社群的建設,為相關領域的技術進步做出自己的貢獻。


關鍵詞
物理
理論
結構
過程中
同時