當前位置:
首頁 > 知識 > 想讓電腦更好?先讓它們更糟

想讓電腦更好?先讓它們更糟

克里希納·帕萊姆是美國萊斯大學的計算機科學家,但他製造的計算機連加法都算不好。對於它們來說,2+2可能等於5。

但別以為它們很蠢,這種算得不太準的計算機,可能是解決智能便攜設備費電問題的最佳辦法。它們還能進行更加複雜的模擬,可更好地預測氣候變化,幫助我們更高效地設計汽車和飛機,揭示行星形成的秘密。這種計算機可能會揭示人腦的秘密,甚至實現對人腦的模擬。

想讓電腦更好?先讓它們更糟

性能vs能效


直到現在,我們不得不接受性能和能效之間不可調和的矛盾:計算機要麼運行得更快,要麼以低功率運行,但不能兩者兼得。這意味著更強大的智能手機需要更大容量的電池,還意味著超級計算機會超級費電。所以,如何讓計算機以較少的電量做更多的事,是擺在研究人員面前的一個大問題。

方法之一就是減少執行代碼的時間——時間用得越少,越省電。對於程序員來說,這意味著要找到更快得到預期結果的辦法。舉一個經典問題:旅行推銷員前往多個城市做推銷時如何選擇最佳的路線。這個問題通常很難解決,因為隨著城市數量的增加,那麼可能的路途數量就會以指數形式增長。程序員通常滿足於尋找一個估計會有最佳路徑一半好的路線,這樣既不會消耗太多的計算時間,也可得到一個不錯的結果。

但使用「偷工減料」的軟體只能節省部分的電量。要想真正節省電量,還得需要改變硬體的工作方式。

想讓電腦更好?先讓它們更糟

犧牲準確性


通常,晶元里的晶體管藉助硅通道來實現從開(1)和關(0)兩個狀態之間的切換,如果通道被關上(0),電流就無法通過;如果施加一個電壓,通道就會被打開(1),就像大壩開閘放水一樣,能讓電流通過。

在互補式金屬氧化物半導體(CMOS)晶元設計工藝中,只有你給它提供5伏穩定的電壓時,通道才能正常地進行切換。如果減低電壓,通道會變得不穩定——有時會切換,有時不會。

也就是說,計算機晶元里的晶體管如果不在全額功率下運作,計算就會不準確,但卻可以大幅度減少功耗。但如果不準確程度處在一個可接受的範圍內,那麼以這種犧牲換來節能是值得的。而帕萊姆的團隊就是使用這種思路,來解決計算機性能和能效之間的矛盾。

帕萊姆的團隊做出了基於CMOS技術的故意不穩定的版本。他們設計了全新的數字電路,裡面需要產生準確數據的地方,則提供穩定的5伏電壓,但其他不需要太準確數據的地方,只提供1伏電壓。他們發現,有一半多的地方都可使用1伏電壓。

這樣,帕萊姆版本的加法器——一種常見的邏輯電路,僅僅是把兩個數字相加——也不能得到準確的結果。帕萊姆說:「當它相加兩個數時,它給出的答案雖然不夠準確,但這會減少很多能源消耗。」

應用到數十億個晶體管上,你將會省很多的電。這種技術可以用到不需要準確數據的地方。例如,用大量數值來代表像素顏色。在一個實驗中,他們研發了一種數字視頻解碼器,使用的是不太準確數據來代表顯示到屏幕上的像素顏色。他們發現人單憑肉眼很難注意到圖像質量有損失。

受到此成功的鼓勵,他們又對音頻應用進行了測試。他們得到的初步結果表明,用不準確數據處理,可減少一半的功耗,同時語音清晰度只減少了5%。他們認為,這種技術可以大幅度減少智能手機和個人電腦的功耗,畢竟這些設備基本上就是一個視聽設備。

想讓電腦更好?先讓它們更糟

降低位數


基於帕萊姆的想法,英國牛津大學的物理學家蒂姆·帕爾默想到這也許能解決目前一個棘手的問題:在不需等待下一代超級計算機到來之前,如何提高氣候預測的準確性。

氣候的變化關鍵在於雲的作用。你無法自信地預測它們會對全球氣候有什麼影響,除非你可以直接對雲進行模擬。但現在還不清楚如何對其進行模擬。

今天的超級計算機沒有實力進行這樣的氣候模擬,未來更強大的繼任者又得消耗太多的能量。根據當前的技術,能對雲進行模擬的機器,功耗可能大約為100兆瓦,是今天最強大超級計算機功耗的5到10倍,大致相當於一個小型發電站的總輸出功率。

超級計算機之所以會消耗如此多的能量,是因為它們通常是為64位數據而優化的。數據使用64位,就可利用更多的內存,處理更龐大的信息,但功耗就越大。使用32位或16位,處理的數據量就會降低,結果不太準確,但功耗也會降低。而氣候模擬涉及到數以百萬計的變數,例如風、對流、溫度、空氣壓力、海洋溫度和鹽度,這些變數的重要程度都不盡相同,都使用64位很浪費電量。因此,我們需要根據對模擬的重要性,用可變位數的數據來表示不同的變數。

晶元製造商已經開始適應這種需求了。最近,美國著名的晶元製造商英偉達公司就推出了圖形處理器TX1,能夠具有「混合精度」處理能力,允許一些軟體在16位和32位工作模式之間進行切換。現在,帕爾默和他的同事正與IBM等超級計算機製造商探討研發新一代省電的機器,可以允許計算機使用可變位數的數據。

其回報可能是巨大的。目前氣候模擬是把地球的大氣層分割一個個底面積為100平方千米、高為1千米的區域。帕爾默認為,不準確的計算機可把這個區域縮為邊長1千米的立方體,這足夠模擬雲的大致細節。

帕爾默說:「做出20個不太準確的計算,比做出10個準確計算更有用。」雖然計算的準確度降低了,但是因為使用了更加細緻的模擬,最終在總體上會得到更大的準確度。


準確的程度


當然你不能完全放棄準確性。毫無疑問,如果所有的氣候模擬變數都用16位而不是64位數據來表示,將是一場災難。哪些數據可減少位數是研究中的一個挑戰。現在,主要的辦法是,在程序代碼中設定準確性的閾值,這樣程序員就可以控制哪些錯誤是可以接受的,哪些則不行。

不準確計算雖然不適合所有的領域,但仍然有著廣闊的應用範圍。例如在事故調查之中,不準確計算將允許同一時間內進行大量場景的模擬,可迅速找出事故的原因。

一些學者甚至認為不準確計算可能最終幫助我們理解大腦是如何運作的。當前最強大的超級計算機與人腦的計算水平差不多,然而超級計算機需要消耗兆瓦級的電量,而人腦運行時能耗大致相當20瓦燈泡。這個巨大的差距來自哪裡呢?

帕爾默正與英國蘇塞克斯大學的研究人員合作,探究大腦中隨機的電波動是否就是某種程度上的不準確計算。事實上,大腦可能就是不準確計算的完美例子——消耗很少的能量,卻具有強大的計算能力。

總之,想讓電腦更好,先使它們計算不準確,變得更糟。也許,不準確計算將會是未來更強大的計算機的基礎。




本文源自大科技*科學之謎 016年第7期雜誌重點文章、歡迎廣大讀者關注我們大科技的微信號:hdkj1997

作者寫於2016-07-15
喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 知識百科 的精彩文章:

三圍塑造只需四個動作 早晚堅持28天見效
手熱、手涼、手抖,千萬別大意!

TAG:知識百科 |