編譯 | 青暮、陳大鑫
編輯 | 陳彩嫻
科學發展史上似乎總是有一個又一個「幽靈」出沒。
先以數學為例。曾經繁榮一時的畢達哥拉斯學派曾提出「萬物皆數」,也即「一切數均可表示成整數或整數之比」,這也成為這一學派的數學信仰。——後來該學派中的一個成員希巴斯帶著(無理數)出現了。
當牛頓和萊布尼茨為誰先發明微積分爭的不可開交時,——此時無窮小量本身的詭異現身了(後來被柯西建立極限理論解決)。
康託爾創立了著名的 集合論,集合論成為現代數學的基石。法國著名數學家龐加萊在1900年的國際數學家大會上興高採烈地宣稱:「……藉助集合論概念,我們可以建造整個數學大廈……今天,我們可以說絕對的嚴格性已經達到了……」,——這時羅素帶著他的羅素悖論挺身而出!
上面這三件事史稱數學三大數學危機。
物理學也不能倖免。20世紀之初,物理界籠罩在一片喜悅祥和的氣氛之中,物理學家們普遍認為,物理大廈已經基本建成。例如,德國物理學家基爾霍夫就曾經說過:「物理學將無所作為了,至多也只能在已知規律的公式的小數點後面加上幾個數字罷了。」
英國物理學家開爾文在1900年回顧物理學的發展時也說:「在已經基本建成的科學大廈中,後輩物理學家只能做一些零碎的修補工作了。」——後來大家都知道的,愛因斯坦平平靜靜地扔出了一篇《論動體的電動力學》論文,又名狹義相對論。
大家還沒來及弄懂相對論到底講的是個啥,量子力學又真正幽靈一般的出現了--薛丁格的貓,測不準原理,量子糾纏........
我們今天的主題是計算機,在計算機的歷史長河中也真真正正存在著一個幽靈。
近日來自谷歌大腦的一位研究員Sara Hooker把它寫成一篇論文,並把這個幽靈命名曰「硬體彩票(Hardware Lottery)」,用以描述某個研究構想得以成功是因為它和可用的軟體和硬體相匹配,而不是因為該構想優於其他研究方向。
這個「幽靈」一直貫穿在整個計算機歷史長河,並曾詛咒深度學習至少三十年。
接下來我們就一起隨Sara Hooker來探究這個計算機歷史上一直存在的「幽靈」吧~
1
引言
歷史告訴我們,科學進步是不完美的。理智傳統和現有工具可能會導致科學家支持某些想法,而反對其他想法。這通常意味著人們在識別有前途的研究方向時存在慣性。 在人工智慧研究領域,作者認為,正是工具在決定想法的成敗中起著不成比例的作用。
作者認為,在早期計算機科學史上,軟體和硬體的選擇往往在決定研究構想成敗方面起著決定性的作用。
當我們進入一個硬體、軟體和機器學習研究社區之間更緊密合作的新時代時,這些經驗教訓尤為突出。 幾十年來,我們都將硬體、軟體和算法視為獨立的選擇,而不斷變化的硬體經濟,深度學習架構規模上對「越大越好」的競逐,以及將機器學習應用於邊緣設備時的需求,則不斷促進它們更緊密協調。
更緊密合作的趨勢集中在新一代硬體的浪潮上,這種新一代硬體是「特定於領域」的,以優化深度神經網絡的商業用例。雖然領域專業化為專注於深度神經網絡的主流研究帶來了重要的效率收益,但可以說,它使偏離常規研究思路的成本更高。
越來越支離破碎的硬體環境意味著,計算進步帶來的收益將越來越不均衡。 雖然深度神經網絡有明確的商業用例,但有早期警告跡象表明,人工智慧的下一個突破可能需要完全不同的算法、硬體和軟體組合。
本文首先承認了一個關鍵的悖論: 機器學習研究人員大多忽視硬體,實際上硬體在決定研究構想成敗方面起著重要作用。
第2節將探討是什麼激勵了軟體、硬體和機器學習研究的發展;第3節通過早期的硬體彩票、軟體彩票的例子來考慮這種豎井式發展的後果。如今,硬體環境已經越來越異構化。本文的觀點是,硬體彩票並沒有消失,贏家和輸家之間的差距將越來越大。第4-5節對這些論據進行了分析,第6節總結了如何在未來避免硬體彩票。
2
獨立部落
把人類描述成一種製造工具的動物,並沒有不合適的地方。 ——查爾 斯·巴貝奇
對於第一批計算機的創造者來說,程序就是機器。早期的計算機是單任務的,由於電子設備成本高,以及缺乏多用途的軟體,早期的計算機一般不會被用於新的任務。查爾斯·巴貝奇的差分機僅用於計算多項式函數。Mark I是一個可編程計算器。羅森布拉特的感知機計算了一個單層網絡。即使提花機(Jacquard loom)通常被認為是最早的可編程機器之一,然而在實踐中,重編線程的成本非常高,以至於通常只編一次線程來支持一組預先固定的輸入欄位。
圖 1: 早期的計算機,如 Mark I 是單任務使用的。 雖然 Mark I 可以被編程來做不同的計算,但它本質上是一個非常強大的計算器,不能運行現代的各種程序。
這些早期計算機的專用化是出於必要,而不是因為計算機架構師認為單任務定製化硬體本質上更好。然而,值得指出的是,人類的智能既是算法也是機器。在我們的一生中,並不存在多個大腦。相反,人類智能的概念本質上與1400克的腦組織和大腦中估計850億個神經元之間的連接模式相關。 我們不可能脫離硬體去討論智能。
今天,與計算機早期必要的專用化不同,機器學習研究人員傾向於把硬體、軟體和算法看作三種獨立的選擇。 這在很大程度上是由於計算機科學史上的一個時期從根本上改變了製造的硬體類型,並激勵硬體、軟體和機器學習研究社區孤立地發展。
圖2: 人類的 認知智能是不可分割的硬體和算法。
2.1 通用時代
通用計算機時代在1969年就開始了,當時一位名叫戈爾丹·摩爾的年輕工程師的一篇評論文章發表在《電子》上,標題很貼切:「把更多的元件塞到電路板上」(Cramming more components onto circuit boards)。摩爾預言,每兩年(後改為18個月)集成電路上的電晶體數量將會翻一番。這一預測支持並推動了未來50年將能源轉化為信息的成本的顯著下降。
摩爾定律與Dennard 縮放比例定律相結合,使得微處理器性能在1980-2010年間提高了三個數量級。每兩年計算和內存的可預見的增長意味著專用硬體設計變得非常不利。即使對於需要更高性能的任務,遷移到專用硬體的好處也可能很快被計算量不斷增長的下一代通用硬體所掩蓋。
人們將開發的重點轉移到通用處理器上,它可以解決無數種不同的任務。當摩爾定律允許晶片製造商鎖定可預測的利潤率時,為什麼還要試驗更專業的硬體設計來獲得不確定的回報呢?研究專門的超級計算機的少數嘗試在財政上是不可持續的,而且壽命很短。一些非常狹隘的任務,如掌握西洋棋是一個例外,因為擊敗人類對手的威望和知名度吸引了企業的贊助。
將硬體、軟體和算法的選擇視為獨立的做法一直持續到最近。無論從時間還是資金上來說,探索新類型的硬體都是昂貴的。生產下一代晶片通常需要3000-8000萬美元和2-3年的開發時間。令人生畏的壁壘產生了一種奇怪的硬體研究文化。 雖然機器學習論文的數量在過去30年中呈指數級增長,但硬體論文的數量卻保持了相當平穩的節奏。對於一家硬體公司來說,智慧財產權的洩露會影響公司的生存。這導致了一種更加嚴密的研究文化。
在沒有任何可以影響硬體開發的槓桿的情況下,機器學習的研究人員開始理性地將硬體視為工作的沉沒成本,而不是一種可塑的變量。然而,僅僅硬體被抽象化了並不意味著它已經不存在。早期的計算機科學史告訴我們,存在很多種硬體彩票,其中硬體和軟體的選擇決定了研究構想的成敗。
3
硬體彩票
如果你唯一的工具是錘子,那麼把一切都當作釘子來對待是很有誘惑力的。——亞伯拉罕·馬斯洛
圖3: 查爾斯·巴貝奇設計的分析引擎從來沒有建成,因為很難製造出精確的零件。 這幅圖描繪了1840年分析機的總體規劃。
託爾斯泰在《安娜·卡列尼娜》中的第一句話是「幸福的家庭都是相似的,不幸福的家庭卻各有各的不幸。」託爾斯泰說婚姻要幸福需要滿足很多不同的條件——經濟穩定、化學反應、共同的價值觀、健康的後代。然而,一個家庭不幸福只需要其中一個條件不滿足。這一點被稱為安娜·卡列尼娜原則——「 一系列因素中的任何一個缺陷都註定了一次努力的失敗 」。
儘管我們傾向於相信算法的成功或失敗是孤立於硬體或軟體的,但歷史告訴我們,大多數計算機科學的突破都遵循安娜·卡列尼娜原則。成功的突破往往與失敗區分開來,因為它受益於多種標準的潛在配合。 對於人工智慧研究,其成敗通常取決於能否贏得本文所說的硬體彩票,即避免下遊硬體和軟體選擇中可能出現的故障點。
幽靈之於分析機:查爾 斯·巴貝 奇是一位計算機先驅,他設計了一臺機器,可以編程來解決任何類型的計算(至少在理論上)。 他的分 析引擎從來沒有建成,因為很難製造出精確的零件。 實際上建立了巴貝奇所奠定的理論基礎是電磁技術,而電磁技術在第二次世界大戰期間才剛浮出水面。 在20世紀上半葉,電子真空管大量用於無線電通信和雷達。 在第二次世界大戰期間,德國重新設計了真空管來計算能量。
正如電視劇《矽谷》所指出的,通常「 太早出現等於做錯了 」。當巴貝奇在1871年去世時,他的思想和現代計算機之間沒有鋪設一條通暢的道路。一個世紀後,存儲程序、可修改代碼、內存和條件分支的概念被重新發現,因為有了正確的工具,才從經驗上證明這種想法是可行的。
3.1 「幽靈」詛咒深度學習
關於硬體彩票最突出的例子可能是,深度神經網絡被認為不是一個有希望的研究方向。深度神經網絡的大多數算法組件已經存在了幾十年:反向傳播(1963年發明,1976年和1988年重新提出),深度卷積神經網絡(1982年發明),1989年與反向傳播配對(LeCun等人1989年提出)。直到三十年後,深度神經網絡才被廣泛接受為一個有前途的研究方向。
這些算法進展和經驗成功之間的gap在很大程度上是由於不兼容的硬體。在通用計算時代,像CPU這樣的硬體受到了廣泛的青睞和應用。CPU擅長執行任何一組複雜指令,但由於需要緩存中間結果和一次處理一條指令,因此會產生較高的內存成本。這被稱為馮·諾依曼瓶頸,可用的計算受到「CPU和內存之間的通道的限制,數據必須沿著這個通道按順序傳輸」。
馮·諾依曼瓶頸非常不適合矩陣乘法,而矩陣乘法恰恰是深度神經網絡架構的核心組成部分。因此,在CPU上訓練會很快耗盡內存帶寬,根本不可能訓練具有多層結構的深度神經網絡。早在20世紀80年代早期,題為「聯想記憶的並行模型」(Parallel Models of Associative Memory)的系列文章就指出,需要專用硬體來支持具有大量並行性的任務。這些論文有說服力地爭辯到,生物學證據表明,要使深度神經網絡方法發揮作用,需要大量的並行性。
在20世紀80/90年代末,神經網絡專用硬體的概念已經過了新奇階段。然而,由於缺乏共享軟體,並且硬體開發成本高,這些努力仍然支離破碎。大多數實際操作的嘗試,如1985年的連接機、1992年的Space、1989年的Ring Array Processor和日本第五代計算機項目,被設計用來支持邏輯編程,比如PROLOG和LISP,它們不太適合連接主義的深度神經網絡。後來的迭代,如HipNet-1和1991年的模擬神經網絡晶片都很有前途,但迭代成本難以承受,而且需要定製矽。
圖4: 連接機是20世紀80/90年代為數不多的偏離通用CPU的硬體實例之一。 在DARPA的初始資金枯竭後,Thinking Machines最終破產了。
在第一篇關於反向傳播的論文發表整整40年之後,21世紀初的算力發展,才讓大規模並行以一種有益的方式應用了深度神經網絡。許多發明都是在設計者意料之外重新設計的。愛迪生的留聲機一開始不是用來演奏音樂的。他最初設想將其用於保存遺言或是教授拼寫。事實上,他對人們用留聲機播放流行音樂感到失望。類似地,深度神經網絡只在一項現有技術被意外地改變用途時才開始凸顯優勢。
圖形處理單元(GPU)最初是在20世紀70年代提出的,它是開發遊戲、電影、動畫的專用加速器。在2000年代,就像愛迪生的留聲機一樣,GPU被重新設計成一個完全無法想像的用例:用來訓練深度神經網絡。與CPU相比,GPU有一個關鍵的優勢——它們在並行處理簡單的可分解指令(如矩陣乘法)方面要好得多。
更高的每秒浮點運算點數(FLOPS)加上GPU訓練的巧妙分配,使更深層網絡的訓練不受阻礙。網絡的層數是關鍵。在2011年、2012年和2015年,ImageNet的性能隨著網絡的不斷加深而突飛猛進。效率躍升的一個顯著例子是,谷歌2012年使用16000個CPU內核對貓進行分類,僅僅一年後,人們僅用兩個CPU核和四個GPU解決了同樣的任務。
3.2 幽靈之於軟體
軟體在決定研究構思的成敗方面也起著重要作用。直到90年代中期,Prolog和LISP一直是人工智慧界最受歡迎的兩種語言。在這一時期的大部分時間裡,人工智慧的學生積極掌握這兩種語言中的一種或兩種。LISP和Prolog特別適合處理邏輯表達式,邏輯表達式是推理和專家系統的核心組件。
圖5: Byte雜誌封面,1979年8月,第4卷。 直到90年代,LISP一直是人工智慧研究的主導語言。
對於那些想研究像深度神經網絡這樣的連接主義思想的研究人員來說,直到1992年Matlab的出現,他們才有了一種非常適合的語言。在LISP或Prolog中實現連接網絡是很麻煩的,大多數研究人員都是用C++這樣的低級語言工作的。直到2000年,隨著LUSH和隨後的TORCH的出現,圍繞深度神經網絡方法開發的軟體,才開始有了一個更加健康的生態系統。
哪裡有輸家,哪裡就有贏家。從20世紀60年代到80年代中期,大多數主流研究都集中在人工智慧的符號方法上。在深度神經網絡中,學習適當的表徵是模型本身的任務,與深度神經網絡不同的是,符號化方法旨在建立一個知識庫,並使用決策規則來複製人類處理問題的方式。這些規則通常被編碼為一系列邏輯假設語句,這些語句非常適合LISP和PROLOG。
人工智慧的符號化方法尚未取得成果,但這一研究方向在二十世紀後半葉的廣泛和持續流行,不能被視為獨立於它與現有編程和硬體框架之間的適應性。
4
「幽靈」的持續存在
今天,人們對硬體、軟體和機器學習社區之間的聯合合作重新產生了興趣。我們正在經歷第二次專用硬體開發的浪潮。導致這種現象的催化劑包括:摩爾定律的終結和Dennard縮放比例定律的崩潰所導致的硬體經濟的變化,機器學習領域的模型參數數量上「越大越好」的競逐,螺旋式發展的能源成本,以及將機器學習部署到邊緣設備的要求。
摩爾定律的終結意味著我們不能保證有更多的計算力,但是硬體將不得不獲取更多的計算力。為了提高效率,像CPU這樣不確定任務的通用硬體已經轉變到領域特定的專用硬體,這些硬體可以定製化設計以使某些任務更加高效。過去幾年發布的第一批領域專用硬體有:TPU、edge TPU、Arm CortexM55、Facebook的big sur,這些硬體都針對矩陣乘法等深度神經網絡常見的高成本操作進行了明確優化。
硬體和研究社區之間的更密切合作無疑將繼續提高深度神經網絡的訓練和部署效率。例如,雖然非結構化剪枝和權重特定量化是深度神經網絡中非常成功的壓縮技術,但是它們與當前的硬體和編譯內核並不兼容。
雖然目前這些壓縮技術還沒有得到很好的支持,但是許多聰明的硬體架構師正在考慮如何解決這一問題。合理的預測是,未來幾代晶片或專用內核將糾正當前硬體對這些技術的偏見。一些促進稀疏性的首批硬體設計已經開始投入市場中。同時,也有一些有趣的研究在開發專門的軟體內核來支持非結構化稀疏性。
在許多方面,硬體正在趕上機器學習研究現狀。 只有當用例的生命周期超過3年時,硬體才是經濟可行的。 對於硬體開發人員來說,押注於具有長生命周期硬體的想法是一個關鍵的考慮因素。因此,協同設計工作幾乎完全集中在優化具有已知商業用例的老一代模型上。例如,矩陣乘法是一個安全的優化目標,因為它已經在生產系統和深度神經網絡中被廣泛採用,因此它們將保持穩定。允許非結構化稀疏性和權重特定量化也是安全的目標,因為人們普遍認為這將實現更高水平的壓縮。
還有一個單獨的問題,即硬體創新是否具有通用性,足以開啟或跟上全新的機器學習研究方向。這個問題很難回答,因為數據是有限的,很難模擬出在不同硬體條件下,這種想法是否會成功還是失敗。然而,儘管這項任務存在固有的挑戰,但已經有令人信服的證據表明,領域專用硬體使得偏離主流的研究理念獲得成功的成本更高。
2019年,Barham&Isard發表了一篇題為「機器學習陷入困境」(Machine learning is stuck in a rut)的論文。作者考量了在領域專用硬體上訓練一種稱為膠囊網絡的新型計算機視覺架構的困難。膠囊網絡包括新的組件,如壓縮操作和協議路由。這些結構選擇旨在解決卷積神經網絡的關鍵缺陷(缺乏旋轉不變性和空間層次結構理解),但偏離了典型的神經網絡結構。因此,雖然膠囊網絡的操作可以在CPU上很好地實現,但對於GPU和TPU這樣的加速器,性能卻懸崖式下跌,因為這類加速器對於矩陣乘法進行了過度優化。
不管你是否同意膠囊網絡是計算機視覺的未來,作者說了一些有趣的事情,試圖說明在領域專用硬體上訓練一種新型的圖像分類架構的困難。硬體設計優先考慮商業用例的交付,而適應下一代研究思想的內置靈活性仍然是一個遙遠的次要考慮因素。
雖然專用化使得深度神經網絡更加高效,但它也使得偏離公認可被接受的構建模塊的成本更高。這不可避免地引發了一個問題:研究人員會在多大程度上隱式地過擬合在可用硬體上運行良好的想法,而不是冒著目前不可行的想法的風險?
5
「幽靈」的未來分析
我們面前的是一些被偽裝成無法解決的問題的突破性機會。——約翰·加德納
這是一個在機器學習社區內持續進行的公開辯論,未來的算法與像深度神經網絡這樣的模型將會有多大的不同。你所承擔的風險取決於你在這場辯論中的立場。如果你認為未來的突破依賴於深度神經網絡與不斷增加的數據量和計算量的匹配,那麼在專用硬體上下大賭注就是有意義的。
幾個主要的研究實驗室正在押這個賭註:在模型參數的數量上進行一場「越大越好」的競賽,並收集越來越廣泛的數據集。然而,目前尚不清楚這是否可持續。
算法的可擴展性通常被認為是相對於可用資源的性能梯度:如果有更多的資源,性能該如何提高?
對於許多子領域,我們現在處於額外參數回報率下降的狀態。例如,雖然Inception v3到v4網絡的參數幾乎翻了一番(從2180萬到4110萬個參數),但兩個網絡之間ImageNet的準確率相差不到2%。
然而額外參數的代價問題正變得非常明顯,僅GPT-3的單獨訓練成本就估計超過1200萬美元。也許更令人不安的是,我們離所謂的「人類智能"到底還有多遠?
人類的大腦儘管非常複雜,但它們卻非常節能。我們的大腦有超過850億個神經元,但其能耗卻只相當於電動剃鬚刀。雖然深度神經網絡可能是可擴展的,但是如果想要達到人類一樣的智能,代價是不可想像的。一個恰當的比喻是,我們似乎在試圖建造通往月球的梯子。
生物智能與深度神經網絡在很多方面都不同,這表明如果把深度神經網絡當作是唯一的前進道路是一個很冒險的賭注。
雖然像深度神經網絡這樣的通用算法依賴於全局更新來學習有用的表示,但我們的大腦卻不是。 我們自己的智能依賴於分散的局部更新,這種更新以人們不太了解的方式呈現出全局信號。
除此之外,我們的大腦能夠從比深度神經網絡少得多的標註樣本中學習出高效表徵。對於典型的深度學習模型而言,整個模型對每個樣本都是激活的,這會導致訓練成本的二次爆炸。相反,有證據表明大腦並沒有對所有的輸入進行完全的前向和反向傳播。大腦根據傳入的感官數據來模擬預期的輸入。基於匹配的確定性,大腦會簡單地進行填充。我們所看到的大部分都是從記憶中計算出來的虛擬實境。
人類的生物硬體為不同的任務開發了高度優化和專用的通路。例如,人類很容易做到同時走路和談話。然而,嘗試同時閱讀和談話卻很難,因為這對認知的影響要大得多。
這表明了神經網絡的組織方式和歸納偏置與網絡的總體規模大小一樣重要。 大腦能夠在我們的一生中進行微調並始終保留人類已有的技能。相比之下,基於新數據訓練出來的深度神經網絡往往會表現出災難性的遺忘,在這種情況下,由於新信息幹擾了先前學習的行為,原始任務的性能會出現下降。
圖6: 人類對某些任務的延遲表明我們對不同的刺激有專門的途徑。 例如,人很容易同時走路和說話。 然而,嘗試閱讀和走路對認知的影響要大得多。
提這些例子的目的並不是要讓你相信深度神經網絡不是未來發展的方向。但是,更確切地說,顯然還有其他智能模型表明,這可能不是唯一的方法。下一個突破可能需要一種完全不同的方法,用不同的硬體、軟體和算法組合來模擬世界。我們很可能正處在一個硬體彩票的時代。
6
「幽靈」的解決之路
任何機器編碼系統都應該 從操作者獲得結果的容易程度來評價。 ——約翰·莫奇利
當科學家克服現有範式的「粘性」時,科學進步就發生了。 人工智慧研究中範式轉變的速度已經不成比例地取決於硬體、軟體和算法之間的協調程度。因此,任何避免硬體彩票的嘗試都必須考慮使探索不同的硬體軟體算法組合更便宜、更省時。
這說起來容易做起來難。擴大可能的硬體軟體算法組合的搜索空間是一個令人生畏的目標。無論從時間還是資金上來說,探索新類型的硬體都是昂貴的。生產下一代晶片通常需要3000-8000萬美元和2-3年的開發時間。僅建造一家製造廠的固定成本就非常巨大;2017年估計為70億美元。
使用強化學習優化晶片布局的實驗可能有助於降低成本。人們對可重構硬體也重新產生了興趣,如場編程門陣列(FPGA)和粗粒度可重構陣列(CGRA)。這些設備允許重新配置晶片邏輯,以避免被鎖定到一個單獨的用例中。然而,靈活性的代價是更高的失敗率,並且需要開發定製軟體。在FPGA上編寫即使是簡單的算法也非常痛苦和耗時。
在中短期內,硬體開發可能仍然昂貴,且持續時間較長。生產硬體的成本很重要,因為它決定了硬體開發人員願意承受的風險和實驗量。為深度神經網絡量身定做的硬體投資是有保證的,因為神經網絡已經擁有足夠的商業化用例。深度學習下遊應用的廣泛盈利能力刺激了硬體初創企業的健康生態系統,旨在進一步加速深度神經網絡,並鼓勵大公司自行開發定製硬體。
目前的瓶頸在於,為那些在商業上不可行的用例提供硬體資金。這些風險更大的方向包括生物硬體、帶內存計算的模擬硬體、神經形態計算、光計算和基於量子計算的方法。探索使用新材料開發電晶體也存在高風險。
從以往的硬體彩票中吸取的教訓表明,投資必須是持續的,並且必須來自私人和公共資金項目。公眾對提供此類專用資源的興趣正在慢慢覺醒,例如2018年DARPA電子復興計劃,該計劃承諾為微電子技術研究提供15億美元的資金。中國還宣布了一項470億美元的基金來支持半導體研究。然而,即使如此規模的投資也可能嚴重不足,因為基於新材料的硬體需要10-20年的長交付周期,而公共投資目前遠低於行業研發水平。
6.1 軟體革命
我們目前的一個臨時目標是,向研究人員提供更好的反饋循環,以了解算法如何與現有的硬體交互。機器學習研究人員不會花太多時間討論硬體如何決定哪些想法成功,哪些想法失敗。這主要是因為很難量化成本。
目前,還沒有一種簡單、廉價的接口來同時針對多種類型的硬體來測試算法性能。 不同類型硬體支持的軟體操作子集存在巨大的差異,這阻礙了算法在硬體類型之間的可移植性。軟體內核通常針對特定類型的硬體進行過度優化,這會導致與不同硬體一起使用時效率出現巨大的滯後。
這些挑戰因越來越強大和異構的硬體環境而變得更加複雜。隨著硬體環境變得越來越支離破碎和專業化,快速高效的代碼將需要越來越多的細分和專業技能來編寫。這意味著計算機科學研究的進步將帶來越來越不均衡的收益。雖然某些類型的硬體將受益於健康的軟體生態系統,但其他語言的進展將是零星的,並且常常由於缺乏關鍵的最終用戶而受到阻礙。
減輕對專業軟體和專業知識的需求的一種方法是,專注於開發領域特定的語言,這些語言旨在專注於狹窄的領域。當不強調表達能力時,領域特定的語言允許在不同類型的硬體之間實現更大的可移植性。它允許開發人員專注於代碼的意圖,而不必擔心實現細節。另一個有希望的方向是根據下遊硬體選擇自動調整程序的算法參數。這有助於簡化部署,通過調整程序在各種硬體上實現良好的性能和負載平衡。
這兩種方法的困難在於,如果成功了,這將進一步將人類從實現的細節中抽象出來。 同時,我們需要更好的分析工具,讓研究人員對硬體和軟體應該如何發展有一個更明智的意見。 理想情況下,軟體甚至可以根據算法的配置提出使用哪種硬體的建議。 發展與廣泛期望不同的領域仍然是推動新科學發現的關鍵催化劑。
軟體需要有更多的發展,但目前也面臨著很好的機會。在摩爾定律的整個時代,我們忽視了高效軟體,相信計算中可預測的收益將彌補軟體堆棧中的低效率。這意味著,當我們開始為更高效的軟體進行優化時,會得到豐碩的成果。
7
結論
美國投資者George Gilder有力地將計算機晶片描述為「在沙粒上刻下世界」。
算法的性能基本上與它運行的硬體和軟體交織在一起。本文提出硬體彩票這個術語來描述這些下遊選擇如何決定一個研究構想的成敗。今天,硬體環境越來越異構。作者假設硬體彩票並沒有消失,贏家和輸家之間的差距將越來越大。為了避免未來的硬體彩票,我們需要更容易地量化我們擁有的硬體和軟體的機會成本。
最後我們還是要期待一下,硬體彩票這個幽靈也許某一天會如數學三大危機一般被人類成功解決。
https://arxiv.org/pdf/2009.06489v1.pdf