AI for Technology:技術(shù)智能在高技術(shù)領(lǐng)域的應用實踐與未來展望
中國網(wǎng)/中國發(fā)展門戶網(wǎng)訊 隨著深度學習等技術(shù)近年來的突破,人工智能(AI)在數(shù)學、物理學、化學、生物學、材料學、制藥等自然科學和高技術(shù)領(lǐng)域的研究中得到了廣泛應用。例如,DeepMind利用機器學習方法輔助發(fā)現(xiàn)數(shù)學猜想和定理證明;生物學領(lǐng)域中AlphaFold2已經(jīng)可以預測超過350 000種人類基因組蛋白質(zhì),以及超過100萬個物種的2.14億個蛋白質(zhì),幾乎涵蓋了地球上所有已知的蛋白質(zhì),解決了困擾結(jié)構(gòu)生物學50年的難題;DeepMind和瑞士等離子體中心合作提出將強化學習用于優(yōu)化托卡馬克內(nèi)部的核聚變等離子體控制;華盛頓大學戴維·貝克教授團隊利用AI技術(shù)精準地從頭設計出能夠穿過細胞膜的大環(huán)多肽分子,創(chuàng)新了口服藥物設計的新思路。這一系列人工智能技術(shù)的成功應用都標志著以AI for Science(智能化科研)為核心的第五科研范式已經(jīng)成為提升科研效率,推進科學發(fā)現(xiàn)和科技創(chuàng)新的強大工具,有望帶來人類社會的重大變革。
雖然AI for Science應用領(lǐng)域非常廣泛,但在不同學科領(lǐng)域的應用又有所差別。筆者認為可以將其進一步細分為廣義和狹義的AI for Science。其中,廣義的AI for Science是多種人工智能技術(shù)在科學技術(shù)領(lǐng)域的廣泛應用,既包括了自然科學領(lǐng)域的規(guī)律和知識發(fā)現(xiàn)(如數(shù)學猜想的證明、物理規(guī)律的發(fā)現(xiàn)等),也涵蓋了解決高技術(shù)領(lǐng)域的關(guān)鍵技術(shù)難題(如超短臨天氣預報、托卡馬克控制、生物制藥等)。狹義的AI for Science重點強調(diào)自然科學領(lǐng)域的內(nèi)在規(guī)律、知識和結(jié)構(gòu)發(fā)現(xiàn),如發(fā)現(xiàn)行星運動的開普勒定律、發(fā)現(xiàn)人類基因組蛋白質(zhì)結(jié)構(gòu)等。與狹義的AI for Science不同,AI用于解決高技術(shù)領(lǐng)域的關(guān)鍵技術(shù)難題主要依賴于發(fā)明和創(chuàng)造出新的人造物(artifacts),包括新方案、新方法、新工具和新產(chǎn)品等。AI在高技術(shù)領(lǐng)域的應用,由于其應用目的、技術(shù)路線等方面和狹義的AI for Science有所不同,筆者認為更適合將其歸類到AI for Technology(技術(shù)智能)的范疇。
表1總結(jié)了狹義的AI for Science和AI for Technology的區(qū)別。從應用目的來看,如前所述,AI for Science目的是希望發(fā)現(xiàn)自然科學領(lǐng)域人類目前未知的運行機制、機理、規(guī)律、結(jié)構(gòu)等;而AI for Technology更強調(diào)的是發(fā)明創(chuàng)造出滿足特定需求的方案、方法、工具和物品等。以信息論來進行類比,AI for Science可以看作是信息編碼和壓縮的過程,通過AI將大量觀察數(shù)據(jù)編碼成符號化的規(guī)律或知識;AI for Technology可以看作是信息解碼和解壓縮的過程,通過AI將大量滿足需求規(guī)范的樣例解碼成人造物的具體設計細節(jié)和組成成分。從輸出結(jié)果來看,AI for Science本身具有強烈的探索性,其輸出結(jié)果是事先未知的;AI for Technology是設計出符合預定義需求規(guī)范的人造物,其輸出結(jié)果是精確已知的。從技術(shù)路線來看,AI for Science主要利用了AI的強大建模能力,實現(xiàn)對大量觀察數(shù)據(jù)的準確擬合;而AI for Technology則更側(cè)重于利用AI的生成能力,以生成滿足需求規(guī)范的目標人造物。從算法精度要求上看,AI for Science追求的是大量數(shù)據(jù)下統(tǒng)計意義的可接受性,要求輸出的結(jié)果可以合理地解釋自然現(xiàn)象(輸入數(shù)據(jù)),如輸入數(shù)據(jù)符合特定的統(tǒng)計分布規(guī)律;而AI for Technology強調(diào)的是單個個體的精確,要求輸出的個體結(jié)果能夠精確地滿足預定義需求規(guī)范,如計算機程序自動設計要求輸出的程序代碼能夠正確滿足功能和性能規(guī)范。從這個角度看,AI for Technology對AI算法提出了更高的精度要求。
實際上,有關(guān)AI for Technology的研究自AI誕生以來就一直備受關(guān)注。1969年,諾貝爾經(jīng)濟學獎及圖靈獎獲得者、人工智能的奠基人之一赫伯特·西蒙(Herbet Simon)在其《人工科學》(The Sciences of the Artificial)一書中對“自然物”和“人造物”進行了區(qū)分,并明確了發(fā)明創(chuàng)造滿足人類需求的人造物本身也是門科學(artificial science),可以通過基于計算機程序的通用問題求解系統(tǒng)(general problem solver)來建模人類解決問題的流程,以實現(xiàn)“無人干預的設計”。赫伯特·西蒙和另一位人工智能的奠基人艾倫·紐威爾(Allen Newell)實現(xiàn)了通用問題求解系統(tǒng),以自動解決多種不同類型的問題。這本質(zhì)上是把人類求解問題的過程建模成由機器自動完成的搜索過程。其中的重要組成部分是“生成器—測試”(Generator-Test)的循環(huán),即通過生成器產(chǎn)生大量的潛在候選,然后通過測試來確定候選是否滿足需求規(guī)范,反復迭代直到找到滿足需求的候選。
參考上述流程,可以將AI for Technology建模成為“搜索+驗證”的流程。“搜索+驗證”流程的核心是通過搜索算法挑選合適的候選,自動驗證所挑選的候選是否滿足需求規(guī)范,如果不滿足則需要自動修改和調(diào)整以生成新的候選,直到最終的輸出結(jié)果滿足需求。近年來,隨著AI技術(shù)的快速演進,有望同時提升上述搜索和驗證的效率,在擴大應用領(lǐng)域的同時加速整個問題求解的流程。
AI for Technology的科學問題及關(guān)鍵挑戰(zhàn)
實現(xiàn)AI for Technology中“搜索+驗證”的循環(huán)迭代,本質(zhì)上是要解決如何在龐大的高維空間中找到精確滿足復雜約束的最優(yōu)解問題。對于實際的工程技術(shù)問題,其待搜索空間通常包含海量的潛在候選。以圍棋為例,棋盤有361個位置,而每個位置有3種可能,其狀態(tài)空間為3361;以蛋白質(zhì)設計為例,長度為200的氨基酸蛋白,其可能序列有20200種可能;以軟件程序設計為例,長度僅為100條指令的小程序(以廣為使用的SPEC CPU程序為例,實際程序的指令數(shù)通常為上百萬條),其狀態(tài)空間就已經(jīng)達到了26 400。這意味著計算機程序需要在龐大高維空間中進行搜索。搜索的目標是要得到滿足人類需求的輸出,而人類需求涉及功能、性能甚至是心理感受等多個維度,這也使得搜索目標的約束異常復雜。以手機的設計為例,除了核心的功能和性能等參數(shù),還涉及需要滿足視覺、觸覺和交互等主觀感受的約束。傳統(tǒng)人工求解方法由于搜索空間龐大同時“搜索+驗證”的迭代周期太長,在求解問題時通常僅限于找到滿足約束的解,而人工智能方法可以極大加速“搜索+驗證”過程,從而找到滿足約束的最優(yōu)解。
上述科學問題的求解面臨諸多挑戰(zhàn),主要體現(xiàn)在搜索效率、約束表達和驗證精度上。
挑戰(zhàn)一:如何對龐大的高維空間進行有效剪枝。對于傳統(tǒng)的人工方法而言,由于人腦搜索能力和驗證開銷等限制,必須引入專家領(lǐng)域知識對空間進行大幅裁剪,從而在剪枝后的有限空間中進行搜索和驗證。對于AI技術(shù)而言,由于沒有領(lǐng)域知識或難以形式化表達,需要在龐大的高維空間中直接進行搜索。這種方式可以比人類專家考慮更多的潛在候選,從而找到人類專家未知的更優(yōu)解。但是,由于空間過于龐大,即使是計算機程序也無法做到對整個空間的全遍歷,因此通過AI技術(shù)對空間進行精確剪枝,從而在不丟失最優(yōu)解的前提下將空間壓縮多個數(shù)量級至關(guān)重要。
挑戰(zhàn)二:如何準確地表達人類模糊二義甚至是不完整的需求規(guī)范。很多情況下,人類需求通常采用自然語言來進行描述,天然具有模糊二義性。同時,初始的用戶需求經(jīng)常具有不完整性,需要通過不斷地迭代交互來細化和明確需求規(guī)范。例如,赫伯特西蒙就以艦艇設計為例說明了設計約束的復雜性,需要指揮官、作戰(zhàn)人員、設計人員和各組件設計負責人等的不斷交互迭代才能轉(zhuǎn)變成為方便計算機求解的“結(jié)構(gòu)良好問題”(well-structured problem)。近來熱門的大語言模型由于建模了大量人類常識和經(jīng)驗,有望在從需求描述到問題形式化定義的轉(zhuǎn)換過程中提供有效支撐。
挑戰(zhàn)三:如何保證輸出個體精確滿足復雜約束。如前所述,AI for Technology要求輸出的單個人造物能夠精確地滿足預定義的需求規(guī)范,即在單個樣本上就要達到絕對正確。這與主流AI算法(如神經(jīng)網(wǎng)絡)主要強調(diào)統(tǒng)計意義上的精確性(對一張圖片的識別錯誤影響不大)是矛盾的。即便是大語言模型在很多場景下提高了輸出結(jié)果的精度,也無法在理論上提供精度的保證,導致在很多關(guān)鍵場景下仍然無法應用。因此需要通過算法理論的創(chuàng)新,能夠在理論上保證輸出精度或給出算法的理論下界,使得用戶對輸出結(jié)果是否滿足需求規(guī)范有明確判斷。
AI for Technology的應用實踐:CPU芯片的全自動設計
筆者將AI for Technology的基本思想應用到了信息技術(shù)的核心物質(zhì)載體——中央處理器(CPU)的設計和實現(xiàn)中,首次成功實現(xiàn)了在無人干預情況下由機器全自動設計出一款32位CPU——“啟蒙1號”。與傳統(tǒng)流程一般需要2—3年才能設計出一款工業(yè)級的CPU芯片不同,筆者團隊僅在5小時內(nèi)就完成了“啟蒙1號”的全部前端設計,極大地提高CPU芯片的設計效率,有望變革傳統(tǒng)的芯片設計流程。
與傳統(tǒng)基于人工的CPU設計流程從需求規(guī)范出發(fā),并且主要由工程師完成架構(gòu)設計、邏輯設計、功能驗證等流程不同,筆者團隊提出的CPU設計方法本質(zhì)上是以驗證為中心的設計方法:在驗證計劃指導下從隨機電路出發(fā),由機器全自動完成包括驗證、調(diào)試和修復的反復迭代直到獲得滿足設計需求的目標電路(圖1)。其中,自動驗證主要是檢查結(jié)果是否滿足需求并自動生成新的驗證用例,自動調(diào)試是根據(jù)出錯的結(jié)果搜索并定位出錯的電路邏輯,自動修復則是在出錯的電路邏輯基礎(chǔ)上進一步搜索正確的電路邏輯。因此,自動調(diào)試和自動修復都可以看作是搜索的過程,與自動驗證一起組成的完整流程遵循前面所介紹AI for Technology的“搜索+驗證”核心流程。
為了保證驗證的精度,筆者提出了基于二元猜測圖(Binary Speculation Diagram,BSD)的設計方法。BSD方法是建立在傳統(tǒng)的二元決策圖(Binary Decision Diagram,BDD)的基礎(chǔ)上,通過將傳統(tǒng)BDD中的確定性子圖替換成BSD中通過蒙特卡洛采樣來確定的猜測節(jié)點。該方法天然具有良好的可解釋性和“單調(diào)性”(即算法每次對電路的修改都能夠比之前的設計更接近正確的設計),從而解決前述“自動調(diào)試”和“自動修復”的問題。具體而言,首先,BDD算法的樹狀結(jié)構(gòu)能夠很快搜索確定節(jié)點所對應的邏輯函數(shù)與外部輸入輸出之間的關(guān)系,從而自動定位錯誤以解決自動調(diào)試的問題;其次,隨著BDD的不斷搜索展開,其所對應的邏輯函數(shù)理論上可以不斷逼近原始函數(shù),從而解決自動修復的問題。
CPU全自動設計是AI for Technology的典型應用,即通過AI技術(shù)來發(fā)明創(chuàng)造出CPU設計。實際上筆者發(fā)現(xiàn)自動設計出來的CPU不僅滿足了由指令集架構(gòu)(ISA)所預定義的功能需求,同時機器學習過程中甚至自主地發(fā)現(xiàn)了包含控制器和運算器等在內(nèi)的馮諾依曼架構(gòu)。對于機器而言,由于事先并沒有關(guān)于馮諾依曼架構(gòu)的任何預定義知識,這在一定程度上也同時呈現(xiàn)出了AI for Science用于“科學發(fā)現(xiàn)”和“結(jié)果未知”的特征。
AI for Technology的未來展望
為了讓AI for Technology能夠在更多的高技術(shù)領(lǐng)域得到深度應用,未來可以從“搜索+驗證”的核心流程入手,考慮如何進一步提高搜索和驗證的效率,在加速創(chuàng)新流程的同時具備更強的創(chuàng)造能力,最終期望超過人類的發(fā)明創(chuàng)造水平。具體可以分別從人工智能范式的交叉融合、與第三科研范式的交叉融合等方面進行探索研究。
從搜索的角度看,其核心目的是提高搜索算法本身的效率,使其能夠以更快速度逼近最優(yōu)解。梯度下降法在神經(jīng)網(wǎng)絡等領(lǐng)域取得了巨大的成功,但是很多實際問題本身并不可微或者可微近似會帶來極大的精度損失,導致難以直接應用梯度下降法。這種情況下應考慮多種人工智能范式的交叉融合。例如,AlphaGo中蒙特卡洛樹搜索結(jié)合了以深度學習為代表的連接主義和以強化學習為代表的行為主義。這標志著連接主義和行為主義已經(jīng)在實際應用中呈現(xiàn)出了交叉融合的趨勢。前面所介紹的CPU設計例子主要是基于以BDD為代表的符號主義來進行搜索。未來通過符號主義、連接主義和行為主義的深度交叉融合,有望大幅度提升搜索效率,從而在更大的搜索空間中找到更優(yōu)的結(jié)果。
從驗證的角度看,對輸出結(jié)果是否滿足需求規(guī)范進行判斷通常要在真實環(huán)境中進行實驗驗證。例如,新材料的設計需要通過實際實驗來對其力學特性和耐久特性等進行充分測試。這勢必會造成驗證的資源投入和時間開銷太大。為加速驗證收斂,可以借助計算機模擬來構(gòu)建響應模型,通過與響應模型的交互來判斷是否滿足需求規(guī)范。仍以CPU設計為例,實踐中無法對每種可能的處理器設計都通過實際流片來進行驗證,而是通過構(gòu)建準確的模擬器來判斷是否滿足需求。因此,未來通過與基于計算機模擬的第三科研范式進行深入融合,構(gòu)建起高效且準確的響應模型,有望進一步加速驗證乃至整個創(chuàng)新流程。
(作者:陳云霽,中國科學院計算技術(shù)研究所 中國科學院大學計算機科學與技術(shù)學院;郭崎,中國科學院計算技術(shù)研究所。《中國科學院院刊》供稿)