在航空業(yè)發(fā)展早期,人們已經(jīng)意識到未來的飛機一定會越來越快。事實也確實如此——從1903年萊特兄弟打造現(xiàn)代飛機雛形時的每小時50公里,到六十年代波音707的每小時約1000公里,飛機時速一直被不斷打破。從那以后,商用飛機的速度開始停滯不前,這是因為進一步提高速度已經(jīng)完全不符合成本效益。
如今的計算機也遇到了類似的問題。幾十年以來,我們一直在推動計算元件的小型化,這也讓我們每兩年左右就將硅芯片上的晶體管數(shù)量增加一倍。這種現(xiàn)象被稱為摩爾定律(以英特爾公司聯(lián)合創(chuàng)始人戈登·摩爾的名字命名)。經(jīng)過多年發(fā)展,計算資源的經(jīng)濟性與強大性已經(jīng)得到無數(shù)次證明。但從現(xiàn)在起,我們正邁入小型化的極限區(qū)域,計算性能也因此開始停滯不前。
這當(dāng)然是個大問題。如果摩爾定律在20年前就到達終點,那么如今計算機處理器的性能將僅為真實水平的約千分之一,意味著我們將永遠見識不到iPhone、Alexa或者流媒體電影的風(fēng)采。同樣的,如果不能繼續(xù)提高計算性能,我們在20年之后又會錯過哪些驚人的創(chuàng)新?
近年來,不少研究人員一直在探索接下來的發(fā)展方向。有人認為新技術(shù)才是答案,例如量子計算、碳納米管或者光子計算。但在與麻省理工學(xué)院的其他專家進行了數(shù)年聯(lián)合研究之后,我個人認為這些解決方案的不確定性太強,而且還需要多年實踐。在此期間,我們最好不要貿(mào)然改造計算機芯片,而應(yīng)對運行其上的軟件進行重新編碼。
多年以來,程序員之所以不需要為計算速度而分神,是因為摩爾定律一直在為他們提供更強大的計算資源。所以,他們開始“偷懶”,將注意力集中在如何快速編寫出代碼身上——計算機的過剩性能足以消解其中的優(yōu)化不足問題。
例如,不少開發(fā)人員會使用“減材”之類的技術(shù):首先找到能夠解決問題A的代碼,而后使用其解決問題B——即使這并不是解決問題B的最優(yōu)方式。假設(shè)我們需要構(gòu)建一套類似于Siri的系統(tǒng)以識別語音命令,那么相較于構(gòu)建自定義程序,最好的辦法當(dāng)然是直接使用能夠識別各類單詞的現(xiàn)成程序,并以此為基礎(chǔ)調(diào)整相應(yīng)結(jié)果以提高這些程序的準(zhǔn)確度。
好消息是,這種方法確實能夠極大提升代碼編寫速度。壞消息是,有時會造成嚴重的執(zhí)行效率低下的難題。這種效率低下還會相互疊加:如果單一“減材”調(diào)整會帶來20%的性能損失,那么如果一款程序中包含20項“減材”調(diào)整,則代碼效率將僅為原始版本的百分之一。
這絕不只是思想實驗。如今,要想在機器學(xué)習(xí)、機器人技術(shù)以及虛擬現(xiàn)實等領(lǐng)域取得一點點進步,我們都需要大量計算能力。如果想要充分發(fā)掘這些技術(shù)的潛力,我們必須做出改變。雖然我們當(dāng)然可以在開發(fā)新算法以及簡化計算機硬件方面做出嘗試,但對大多數(shù)企業(yè)而言,快速提升計算性能的可行方法仍然是通過軟件性能工程提高軟件執(zhí)行效率。
其中一種性能工程策略,名為代碼“并行化”。大多數(shù)現(xiàn)有軟件都是使用數(shù)十年前的模式設(shè)計而成,這些模式會假定處理器每次只能執(zhí)行一項操作。這會極大拉低效率,因為現(xiàn)代處理器完全能夠通過芯片上的多個核心同時執(zhí)行多項運算,且每個內(nèi)核本身也擁有并行處理能力。并行計算等策略完全能夠極大提升某些復(fù)雜任務(wù)的執(zhí)行速度,同時帶來更高的能源使用效率。
盡管軟件性能工程有望指明新的道路,但其實現(xiàn)過程同樣布滿坎坷。更新現(xiàn)有程序以提升其運行速度是一項艱難的任務(wù),對編碼人員的并行編程水平與性能工程策略經(jīng)驗要求極高。此外,既然領(lǐng)導(dǎo)者有意調(diào)整,也需要克服企業(yè)中習(xí)慣勢力帶來的巨大阻礙。
谷歌與亞馬遜等敏捷科技巨頭早已意識到這種趨勢的出現(xiàn)。他們的數(shù)據(jù)中心規(guī)模龐大,因此哪怕一丁點軟件性能提升,也足以帶來巨大的財務(wù)回報。而有他們作為帶頭人,其他機構(gòu)自然也會迅速跟上。對應(yīng)用程序開發(fā)人員們來說,在后續(xù)推出新功能時,執(zhí)行效率也將成為重要的評估指標(biāo)。而在企業(yè)方面,這可能意味著替換掉一切沒有未來發(fā)展可言的傳統(tǒng)軟件系統(tǒng)。
軟件性能工程的不確定性比摩爾定律強得多。在投入大量時間與精力之前,企業(yè)往往無法斷定這方面努力具體能夠帶來怎樣的收益。性能提升可能非常有限、差異巨大且不可預(yù)測。但隨著我們逐漸迎來微處理器的物理極限,依靠軟件性能工程優(yōu)化執(zhí)行效率恐怕將成為大多數(shù)程序員從同一臺計算機中獲得更強性能的最佳選擇。
當(dāng)然,摩爾定律的終結(jié)并不代表著我們的計算設(shè)備也將停止迭代。但如果我們希望在人工智能與機器人技術(shù)等真正重要的領(lǐng)域再次大踏步前進,就必須著力培養(yǎng)自身創(chuàng)造力、并投入時間對軟件認真進行性能設(shè)計。
好文章,需要你的鼓勵
新加坡國立大學(xué)研究團隊開發(fā)了SPIRAL框架,通過讓AI與自己對弈零和游戲來提升推理能力。實驗顯示,僅訓(xùn)練AI玩簡單撲克游戲就能讓其數(shù)學(xué)推理能力提升8.6%,通用推理提升8.4%,且無需任何數(shù)學(xué)題目作為訓(xùn)練材料。研究發(fā)現(xiàn)游戲中的三種推理模式能成功轉(zhuǎn)移到數(shù)學(xué)解題中,為AI訓(xùn)練提供了新思路。
同濟大學(xué)團隊開發(fā)的GIGA-ToF技術(shù)通過融合多幀圖像的"圖結(jié)構(gòu)"信息,創(chuàng)新性地解決了3D相機噪聲問題。該技術(shù)利用圖像間的不變幾何關(guān)系,結(jié)合深度學(xué)習(xí)和數(shù)學(xué)優(yōu)化方法,在合成數(shù)據(jù)集上實現(xiàn)37.9%的精度提升,并在真實設(shè)備上展現(xiàn)出色泛化能力,為機器人、AR和自動駕駛等領(lǐng)域提供更可靠的3D視覺解決方案。
伊利諾伊大學(xué)研究團隊通過對比實驗發(fā)現(xiàn),經(jīng)過強化學(xué)習(xí)訓(xùn)練的視覺語言模型雖然表現(xiàn)出"頓悟時刻"現(xiàn)象,但這些自我糾錯行為并不能實際提升推理準(zhǔn)確率。研究揭示了AI模型存在"生成-驗證差距",即生成答案的能力強于驗證答案質(zhì)量的能力,且模型在自我驗證時無法有效利用視覺信息,為AI多模態(tài)推理發(fā)展提供了重要啟示。
MIT等頂尖機構(gòu)聯(lián)合提出SparseLoRA技術(shù),通過動態(tài)稀疏性實現(xiàn)大語言模型訓(xùn)練加速1.6倍,計算成本降低2.2倍。該方法使用SVD稀疏性估計器智能選擇重要計算部分,在保持模型性能的同時顯著提升訓(xùn)練效率,已在多個任務(wù)上驗證有效性。