研究idea不work,可能不是它不好,而是硬件沒跟上
研究想法能否成功要看是否具備合適的軟硬件,而不是這個想法是否比其他研究方向優秀。
天時、地利、人和,三者不得,雖勝有殃。
——《孫子兵法》
一件事的成敗總會牽涉多個因素,例如兵法中的「天時」、「地利」、「人和」。在計算機科學歷史上,也有類似的現象,如「硬件」、「軟件」、「算法」三要素對研究想法成敗的影響。
近日,谷歌大腦研究員 Sara Hooker 寫了一篇論文,她用「硬件彩票」(hardware lottery)來描述:一個研究想法的成功是因為具備了合適的軟硬件,而不是這個想法比其他研究方向更加優秀。早期計算機科學史的許多例子表明,硬件彩票通過把成功的研究想法看作失敗,而拖慢了研究進度。而領域專用硬件的出現使研究想法偏離慣常路徑的成本增加,這就讓這一現象更加顯著。
論文地址:
https://arxiv.org/pdf/2009.06489v1.pdf
這篇論文指出,算力進步帶來的收獲可能更加不均勻,某些研究方向走上了快車道,而有的則困難重重。
人工智能領域,硬件決定 idea 的成敗
歷史告訴我們,科學進展并非是一帆風順的。知識傳統和可用工具會使科學家對特定想法形成不同的認知,這為判斷研究想法是否有潛力增加了噪聲。這篇論文指出,在人工智能研究領域中,工具對于判斷研究想法的成敗起到了絕大部分的作用。
這篇論文用「硬件彩票」來描述這一現象:一個研究想法的成功是因為它可以與當時的軟硬件兼容,而不是因為這個想法比其他研究方向優秀。在早期計算機科學史上,軟硬件選擇常常對決定研究想法的成敗起到決定性作用。
隨著我們進入軟件、硬件和機器學習研究社區更加緊密合作的新時代,這些經驗愈發凸顯。過去幾十年,人們將硬件、軟件和算法看作割裂的選項,但促使近期三者更加緊密協作的催化劑就包括正在改變的硬件、深度學習架構「規模越大性能越好」的理念,以及將機器學習部署到邊緣設備的需求。
軟硬件和機器學習算法之間更緊密合作的核心是新一代領域專用硬件,它們針對深度神經網絡的商用進行了優化。盡管領域專用硬件為主流深度神經網絡研究帶來了重要的效率提升,但這也使得研究想法偏離既有路徑的成本增加。更加碎片化的硬件市場意味著基于算力進展獲得的收益將變得更加不均衡。盡管深度神經網絡已經有了明確的商用場景,但目前已經出現了早期信號,提醒我們要實現 AI 的下一個突破可能需要完全不同的算法、硬件和軟件組合。
硬件、軟件、算法:三個獨立的部落
對于首批計算機的創造者而言,程序是機器。早期的機器是單獨使用的,且不會適應新的任務,原因在于電子器件成本高且缺乏跨任務的軟件。
查爾斯 · 巴貝奇的差分機僅用于計算多項式函數 (1817)。美國第一部大尺度自動數位電腦馬克一號(Mark I)是可編程計算器(1944)。Rosenblatt 的感知器用來計算 step-wise 單層網絡(1958)。甚至常被認為是首批可編程機器的雅卡爾織布機重新穿孔的成本也很高,因此它通常只穿孔一次 (1804)。
早期計算機馬克一號(Mark I)
這些早期計算機的專用性是出于當時的需要,而不是計算機設計師認為一次性的定制硬件更好。但是,需要指出的是,人類智能本身就是算法和機器的結合。我們一生中不會長出多個大腦。而人類智能的概念本質上與 1400g 腦組織和大腦中 850 億神經元之間的連接密切相關。當我們談論人類智能時,你腦海中浮現出的圖像可能是粉色帶褶皺的一團(🧠)。也就是說,在想到認知智能的時候,我們無法不聯想到支持它運行的硬件。
與早期計算硬件不得已的專用化不同,今天的機器學習研究者傾向于將硬件、軟件和算法看作三個獨立的選擇。這很大程度上是由于計算機科學史上那段徹底改變硬件類型的時期,促進了硬件、軟件和機器學習研究社區獨立發展。
通用計算機時代
1969 年,通用計算機時代進入蓬勃發展時期,當時年輕的工程師戈登 · 摩爾(Gordan Moore)已在 Electronics 期刊上發表文章《Cramming more components onto circuit boards》(Moore, 1965)。摩爾預測集成電路上可容納的晶體管數目,約每兩年便會增加一倍。最初,這篇文章及其后續動向都起源于一個簡單的心愿——摩爾想賣出更多芯片。然而,這一預測卻在接下來的 50 年中推動將能源轉換為信息的成本顯著下降。
摩爾定律和登納德縮放比例定律的結合使得,1980-2010 年間微處理器的性能增長了三個數量級。每兩年算力和內存增加一倍意味著硬件設計能夠趨避風險。即使對于需要更高性能的任務而言,轉向專用硬件的收益也會很快被下一代通用硬件超越。
于是,硬件社區的重心轉向能夠處理大量不同任務的通用處理器。當摩爾定律能使芯片制造商獲得可預計的利潤時,為什么還要為了不確定的獎勵去試驗專用硬件設計呢?于是,為研究目的生產專用計算機的嘗試逐漸在資金上捉襟見肘,無法持續。不過也有例外,譬如國際象棋這類極少數任務,它們因為打敗人類對手這一名頭而吸引了大量企業贊助。
割裂地看待硬件、軟件和算法的態度一直持續到最近。不管是從時間還是資金的角度來看,探索新型硬件的成本都是很高的。生產下一代芯片通常需要 3000-8000 萬美元和 2-3 年的開發時間。這些過高的進入門檻帶來了一種奇怪的硬件研究文化,或者對于一般機器學習研究者而言硬件進化過于慢了。在過去 30 年中,機器學習論文數量出現指數級增長,而硬件論文仍然維持著原有的節奏。對于硬件公司而言,知識產權的泄露可以讓它生讓它死。而這導致了更加閉塞的研究文化。
在沒有任何杠桿能夠影響硬件發展時,機器學習研究者理性地將硬件看作沉沒成本,而不是可塑造的事物。但是,不關注硬件不意味著它不存在。早期計算機科學史告訴我們硬件彩票的存在,即硬件和軟件的選擇決定了研究想法的成敗。
硬件彩票
如果你只有一把錘子,那么你看什么都像釘子。
——亞伯拉罕 · 馬斯洛,1966
《安娜 · 卡列尼娜》的第一句話是:「幸福的家庭都是相似的,不幸的家庭各有各的不幸。」托爾斯泰用這句話表達,幸福的婚姻需要很多要素:財務穩定、兩性吸引力、共同的價值觀,健康的后代,而只要其中一項出現問題,家庭就會被毀掉。這后來以「安娜 · 卡列尼娜原則」的名義流行開來:「只要一個因素出現問題,則注定失敗。」(Moore, 2001)。
盡管我們傾向于相信算法的成敗是孤立的,但歷史告訴我們,大部分計算機科學突破都遵循了安娜 · 卡列尼娜原則。成功與失敗往往可以通過是否從多個因素中受益來進行判斷。對于 AI 研究而言,這往往取決于「硬件彩票」,避免下游軟硬件選擇出現失誤。
硬件彩票的早期例證是英國數學家查爾斯 · 巴貝奇 1837 年設計的分析機,(理論上)經過編程后它可以解決任意類型的計算。然而分析機并未被真正制造出來,因為巴貝奇難以制造出具備足夠精度的組件。能夠將查爾斯 · 巴貝奇所構建的理論基礎變為現實的電磁技術在二戰期間才出現。
20 世紀上半葉,電子真空管廣泛用于無線電通信和雷達。二戰期間,這些真空管被用來為破解德國英格瑪密碼提供算力。
在美劇《硅谷》中,常常會出現「捷足未必先登」的情況。直到巴貝奇 1871 年逝世時,他的想法和現代計算之間仍然沒有建立起連續的路徑。一個世紀后,隨著合適的工具出現并證明這一想法 work,其存儲程序、條件分支等概念才被重新發現。
失落的幾十年
因為硬件彩票而導致損失的最顯著例子或許就是深度神經網絡了。使深度神經網絡 work 的大多數算法組件已經存在數十年:反向傳播(1963 年提出 (K & Piske, 1963),1976 年被重新發現 (Linnainmaa, 1976),1988 年再次被重新發現 (Rumelhart et al., 1988))、深度卷積神經網絡((Fukushima & Miyake, 1982),1989 年卷積神經網絡隨反向傳播一起被提出 (LeCun et al., 1989))。但是,三十年后,深度神經網絡被廣泛接受,成為前途無量的研究方向。
算法發展和實證成功的差距很大一部分來源于硬件不兼容。在通用計算機時代,CPU 等硬件得到廣泛支持和應用。CPU 擅長執行復雜指令集,但會帶來較高的內存成本,因為它需要緩存中間結果,且一次處理一條指令。這被叫做馮諾依曼瓶頸:可用算力受限于「CPU 和內存之間的數據傳輸帶寬,而數據需要沿著這個通道順序傳遞」(Time, 1985)。
馮諾依曼瓶頸尤其不適合矩陣相乘,而這正是深度神經網絡架構的核心組件。因此,在 CPU 上執行訓練會很快窮盡內存帶寬,因而無法訓練多層神經網絡。1980 年代的《Parallel Models of Associative Memory》系列文章指出了對支持大量并行化的硬件的需求。這些文章認為,生物證據表明需要大量并行化才能使深度神經網絡方法運行。
1980/90 年代末,神經網絡專用硬件的概念過了新奇的階段。但是,相關的嘗試仍然受到缺乏共享軟件和硬件開發成本的阻礙。大多數真正可用的嘗試,如 1985 年的連接機、1992 年的 Space、1989 年的 Ring Array Processor 和日本第五代計算機項目,旨在支持邏輯編程,如 PROLOG 和 LISP,而它們并不適合聯結主義深度神經網絡。后續的迭代(如 HipNet-1 和 1991 年的模擬神經網絡芯片)很有前景但存續時間并不長,因為它們迭代成本高昂且需要 custom silicon。沒有消費者市場,自然也就沒有能使之財政狀況良好的終端用戶臨界規模了。
21 世紀初距離第一篇反向傳播論文的發表已經過去了四十年,人們意識到要運行聯結主義深度神經網絡,硬件必須支持大量并行化,因此硬件方面需要出現突破。
很多發明后來的用途都背離了設計者的初衷。愛迪生發明的留聲機本意并非演奏音樂,他的最初設想是用它保留將死之人的遺言或者教別人拼讀。事實上他對留聲機用來演奏流行音樂感到失望。類似地,深度神經網絡也只在現有技術的用途得到重新定位后才開始 work。
GPU 最初作為視頻游戲專用加速器于 1970 年代出現,可用于為電影和動畫做圖。21 世紀初,像愛迪生發明的留聲機一樣,GPU 被用于完全想象不到的使用場景:訓練深度神經網絡。GPU 比 CPU 具備一個核心優勢,它們更擅長并行化處理一組簡單的可分解指令,如矩陣相乘。更大的每秒浮點數(FLOPS)加以在多個 GPU 之間進行分布式訓練,為深度網絡的訓練開啟了大門。
這時,網絡層數成為關鍵。ImageNet 數據集上的性能隨著網絡深度的增加而不斷提升,如 2011 (Ciresan et al., 2011)、2012 (Krizhevsky et al., 2012) 和 2015 (Szegedy et al., 2015b)。2012 年谷歌發表論文,使用 16,000 個 CPU core 來識別貓 (Le et al., 2012),一年后谷歌僅用兩個 CPU core 和 4 塊 GPU 就解決了相同的問題 (Coates et al., 2013),這個例子證明了效率的躍升。
軟件彩票
軟件在研究想法成敗中也發揮一定作用。在 20 世紀 90 年代中期之前,Prolog 和 LISP 語言廣受 AI 社區支持。當時,人們希望 AI 學生積極掌握其中一門或兩門語言。Prolog 和 LISP 尤其適合處理邏輯表達式,而這正是推理和專家系統的核心部分。
對于想要研究聯結主義 idea(如深度神經網絡)的研究人員,當時并沒有適合的語言,直到 1992 年 Matlab 出現。用 LISP 或 Prolog 實現聯結主義網絡很難,大多數研究者使用的是低級語言,如 C++。到了 21 世紀初,隨著 LUSH、TORCH 的出現,才開始形成支持適合深度神經網絡的軟件開發的更健康生態系統。
有得也有失。從 1960 年代至 1980 年代中期,大部分主流研究聚焦于符號方法。深度神經網絡自行學習充足的表示,而符號方法旨在構建知識庫,使用決策規則復制人類解決問題的方式。這通常被編碼為邏輯序列,其中的語句非常適合 LISP 和 PROLOG 語言。
符號方法并未結出豐碩的果實,但這一研究方向在二十世紀下半葉廣泛而持續的流行離不開它與當時編程和硬件框架的適配度。
未來之路
機器編碼系統很大程度上應從算子獲取結果的容易程度進行判斷。
當存在多個因素促使科學家克服現有范式的「黏性」時,科學進步就會發生。AI 領域中范式轉變的速度主要由硬件、軟件和算法的匹配程度決定。因此,任何避免硬件彩票的嘗試,都需要探索不同的「硬件 - 軟件 - 算法」組合,以降低成本和時間。
然而,說來容易做來難。擴展硬件 - 軟件 - 算法組合的搜索空間是一項棘手的任務。從時間和資金的角度來看,探索新的硬件類型成本高昂。生產下一代芯片通常需要 3000-8000 萬美元和 2-3 年的開發時間。僅建一家制造廠的成本就很高,2017 年這一成本約為 70 億美元。
使用強化學習來優化芯片布局的實驗可能有助于降低成本。這也使大家對現場可編程門陣列(FPGA)和粗粒度可重構陣列(CGRA)等可重構硬件重新產生了興趣。這些設備允許重構芯片邏輯,從而避免單一應用。但是,換取靈活性的代價是更高的 FLOPS 和定制化的軟件開發。在 FPGA 上即使編碼簡單的算法也非常麻煩和耗時。
中短期來看,硬件開發可能仍然成本高昂且周期較長。生產硬件的成本很重要,因為這決定了硬件開發者愿意忍受的風險程度和試驗數量。對適合深度神經網絡的硬件的投資已經有所保障,因為神經網絡是許多商業用例的基礎。深度學習下游用例的盈利能力刺激了硬件創業公司的健康生態系統,以進一步加速深度神經網絡,鼓勵大企業內部開發定制硬件。
瓶頸仍然是針對無法立即商用案例的硬件投資。這些高風險的方向包括生物學硬件、內存內計算的模擬硬件、神經形態計算、光學計算和量子計算。使用新材料開發晶體管也存在較高風險。
從之前的硬件彩票示例中我們可以學到一些經驗,投資應當持續地來自私人和公共資助項目。公共部門對提供此類專門資源的興趣正在緩慢地覺醒,如 2018 DARPA Electronics Resurgence Initiative 承諾向微電子技術研究投入 15 億美元,中國宣布投資 470 億美元支持半導體研究。但是,如此大規模的投資仍然可能是杯水車薪,因為基于新材料的硬件需要 10-20 年的時間,公共投資目前仍遠遠低于行業研發水平。