導讀:光計算可以削減神經(jīng)網(wǎng)絡的能源需求。
在當下,帶有人類直覺的計算機被應用到很多案例中,比如計算機日常識別圖像中的物體、轉(zhuǎn)錄語音、外語翻譯、診斷醫(yī)療狀況、玩復雜的游戲和駕駛汽車等等。
促成這些驚人發(fā)展的技術稱為深度學習,這個術語指的是被稱為人工神經(jīng)網(wǎng)絡的數(shù)學模型。深度學習是機器學習的一個子領域,是基于將復雜模型與數(shù)據(jù)擬合的計算機科學的一個分支。
雖然機器學習已經(jīng)存在了很長時間,但深度學習近些年才開始嶄露頭角。因為越來越多的計算能力被廣泛應用在各個領域——可以輕松收集并用于訓練神經(jīng)網(wǎng)絡的大量數(shù)據(jù)。
千禧年左右,計算能力開始突飛猛進,當時圖形處理單元 (GPU) 開始被 用于非圖形計算領域,并且在過去十年的發(fā)展里這種趨勢逐漸普及。但深度學習的計算需求增長得更快,這種動態(tài)促使工程師開發(fā)專門針對深度學習的電子硬件加速器,谷歌的TPU就是一個很好的例子。
本文筆者將介紹解決這個問題的一種不同以往的方法——使用光學處理器用光子而不是電子來執(zhí)行神經(jīng)網(wǎng)絡計算。
人工神經(jīng)元是使用在某種數(shù)字電子計算機上運行的特殊軟件構(gòu)建的。該軟件為給定的神經(jīng)元提供多個輸入和一個輸出。每個神經(jīng)元的狀態(tài)取決于其輸入的加權(quán)和,非線性函數(shù)(稱為激活函數(shù))應用于該輸入。最后,這個神經(jīng)元的輸出就成為各種其他神經(jīng)元的輸入。
| 這張計算機渲染圖描繪了作者和他的同事為使用光執(zhí)行神經(jīng)網(wǎng)絡計算而設計的光子芯片上的圖案。
減少神經(jīng)網(wǎng)絡的能源需求可能需要使用光計算加持
為了保證計算效率,我們會給神經(jīng)元進行分組,數(shù)據(jù)在相鄰的組之間傳輸。通過線性計算方式進行科學計算,但隨著網(wǎng)絡規(guī)模的增長,神經(jīng)元和組越來越多,線性計算越來越復雜?,F(xiàn)代計算機硬件已經(jīng)針對矩陣運算進行了很好的優(yōu)化,線性計算也已經(jīng)是高性能計算的基礎。
深度學習需要越來越多的乘法累加運算。以 LeNet 為例,這是一種開創(chuàng)性的深度神經(jīng)網(wǎng)絡,旨在進行圖像分類。1998 年,它被證明在識別手寫字母和數(shù)字方面優(yōu)于其他機器技術。但到 2012 年,神經(jīng)網(wǎng)絡AlexNet的乘法累加運算次數(shù)是 LeNet 的 1600 倍,能夠識別圖像中數(shù)千種不同類型的對象。
從 LeNet 最初的成功發(fā)展到 AlexNet,需要將計算性能提高近 11 倍。在這 14 年的時間里,摩爾定律提供了大部分增長條件。現(xiàn)在的挑戰(zhàn)是保持這種趨勢,因為摩爾定律已經(jīng)到達一個瓶頸了,通常的解決方案是在問題上投入更多的計算資源以及時間、金錢和精力。
訓練眼下一個大型的神經(jīng)網(wǎng)絡通常會反應出顯著的環(huán)境因素。例如,一個2019年的案例發(fā)現(xiàn),訓練某個深度神經(jīng)網(wǎng)絡進行自然語言處理所產(chǎn)生的二氧化碳排放量是汽車在其整個生命周期中通常與駕駛相關的二氧化碳排放量的五倍。
不可否認,數(shù)字電子計算機的改進使深度學習得以蓬勃發(fā)展。但這并不意味著進行神經(jīng)網(wǎng)絡計算的唯一方法就是使用此類機器。幾十年前,當數(shù)字計算機還相對原始時,一些工程師使用模擬計算機來解決困難的計算。隨著數(shù)字電子技術的改進,那些模擬計算機被淘汰了?,F(xiàn)在可能是再次采用該策略的時候了,特別是當模擬計算可以通過光學方式完成時。
光纖可以支持比電線更高的數(shù)據(jù)速率。這就是為什么從 1970 年代后期開始,所有長途通信線路都采用光纖的原因。從那時起,光數(shù)據(jù)鏈路取代了銅線,跨度越來越短,一直到數(shù)據(jù)中心的端到端通信。光數(shù)據(jù)通信速度更快,功耗更低。光學計算也具有同樣的優(yōu)勢。
但是通信數(shù)據(jù)和用它計算之間有很大的區(qū)別。這就是模擬光學方法遇到障礙的地方。傳統(tǒng)計算機基于晶體管,晶體管是高度非線性的電路元件——這意味著它們的輸出不僅僅與其輸入成正比。非線性算法對晶體管執(zhí)行開關命令,執(zhí)行邏輯命令通常是電子設備來完成。但是光子遵循麥克斯韋方程,這意味著光學設備的輸出通常與其輸入成正比。
為了說明如何做到這一點,我將在這里描述一個光子設備,當它與一些簡單的模擬電子設備耦合時,可以將兩個矩陣相乘。這種乘法將一個矩陣的行與另一個矩陣的列組合在一起。
光學計算速度更快,功耗更低
該設備中的基本計算單元是一個稱為分束器的光學元件,可以把它想象成一個 45 度角的半鍍銀鏡子。從側(cè)面向其中發(fā)送一束光,分束器將允許一半光直接穿過它,而另一半則從成角度的鏡子反射,使其與入射光束成 90 度反彈。
現(xiàn)在將第二束光垂直于第一束光照射到該分束器中,使其照射到成角度的鏡子的另一側(cè)。該第二光束的一半將類似地以 90 度角透射和反射。兩個輸出光束將與第一個光束的兩個輸出組合。所以這個分束器有兩個輸入和兩個輸出。
要使用此設備進行矩陣乘法,需要生成兩個光束,其電場強度與要相乘的兩個數(shù)字成正比。我們稱這些場強為 x和y。將這兩束光照射到分束器中,分束器將合并這兩束光。這種特殊的分束器會產(chǎn)生兩個輸出,其電場值為 ( x + y )/√2 和 ( x ? y )/√2。
除了分束器之外,這種模擬倍增器還需要兩個簡單的電子元件——光電探測器——來測量兩個輸出光束。這里不測量這些光束的電場強度,測量光束的功率,該功率與其電場強度的平方成正比。
這意味著如果將一個數(shù)字編碼為具有一定強度的光束,將另一個數(shù)字編碼為另一種強度的光束,將它們發(fā)送通過這樣的分束器,用光電探測器測量兩個輸出,并在將它們相加之前抵消產(chǎn)生的部分電信號,就得到一個與兩個數(shù)字的乘積成正比的信號。
| Mach-Zehnder 干涉儀的模擬圖像。Lightmatter 的神經(jīng)網(wǎng)絡加速器中集成的 Mach-Zehnder 干涉儀的模擬顯示了三種不同的條件,即在干涉儀的兩個分支中傳播的光經(jīng)歷不同的相對相移(a 為 0 度,b 為 45 度,c 為 90 度)。
將輸出信號饋送到電容器中,然后只要脈沖持續(xù),它就會積累電荷。然后在相同的持續(xù)時間內(nèi)再次脈沖輸入,這次編碼兩個要相乘的新數(shù)字。需要多次重復此過程,每次執(zhí)行一個乘法累加運算。
其中最耗能的部分是讀取該電容器上的電壓,這需要一個模數(shù)轉(zhuǎn)換器。但是不必在每個脈沖之后都這樣做——可以等到一系列的結(jié)束,比如 N 個脈沖。這意味著該設備可以使用相同的能量執(zhí)行N 次乘法累加運算,以讀取N是小還是大的答案。這里,N對應于神經(jīng)網(wǎng)絡中每層的神經(jīng)元數(shù)量。
因為相同的值通常用作多個神經(jīng)元的輸入。與其將這個數(shù)字多次轉(zhuǎn)換為光——每次都消耗能量——它可以只轉(zhuǎn)換一次,產(chǎn)生的光束可以分成許多通道。通過這種方式,輸入轉(zhuǎn)換的能源成本可以在許多操作中分攤。
將一束光束分成多個通道不會比光透鏡更復雜,但將透鏡放在芯片上就很棘手。因此,這種正在開發(fā)的以光學方式執(zhí)行神經(jīng)網(wǎng)絡計算的設備很可能最終成為一種混合體,它將高度集成的光子芯片與單獨的光學元件結(jié)合在一起。
光子學具有將深度學習加速幾個數(shù)量級的潛力
目前光學計算技術還有許多挑戰(zhàn)需要克服。一是提高模擬光學計算的精度和動態(tài)范圍,達到電子設備所需要的效果。這些光學處理器會受到各種噪聲源的影響,而且用于輸入和輸出數(shù)據(jù)的數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器精度有限。這需要更高的精度,尤其是神經(jīng)網(wǎng)絡訓練。
將光學元件集成到芯片上也存在困難。由于這些組件的尺寸為幾十微米,它們無法像晶體管一樣緊密地封裝,因此所需的芯片面積會迅速增加。麻省理工學院研究人員在2017 年對這種方法的演示涉及一個邊長為 1.5 毫米的芯片,即使是最大的芯片也不大于幾平方厘米,這限制了可以通過這種方式并行處理的矩陣的大小。
在理論上,光子學有可能將深度學習加速幾個數(shù)量級?;诋斍翱捎糜诟鞣N組件(光調(diào)制器、檢測器、放大器、模數(shù)轉(zhuǎn)換器)的技術,可以合理地認為神經(jīng)網(wǎng)絡計算的能源效率可以比當今的電子處理器高 1,000 倍。
模擬光學計算中的許多概念已有數(shù)十年歷史。有些甚至早于硅計算機。光學矩陣乘法的方案, 甚至是光學神經(jīng)網(wǎng)絡的方案,在 1970 年代首次得到證明。但這種方法并沒有流行起來。這次會有所不同嗎?可能,出于三個原因。
首先,深度學習已經(jīng)不僅僅是學術上的理論知識,現(xiàn)在已經(jīng)在生活中被真正使用。其次, 我們不能僅僅依靠摩爾定律來繼續(xù)改進電子產(chǎn)品。最后,我們有了新技術:集成光子學。這些因素表明,光學神經(jīng)網(wǎng)絡會是深度學習的計算關鍵技術。
來源:IEEE Spectrum