人工智慧應用一般需要經歷模型訓練和模型推斷兩個階段,其中模型訓練過程需要消耗大量的計算資源。人工智慧產品想要達到更好的產品指標,除了算法,就是需要海量的數據來進行訓練,但是越多的數據,在同等計算資源的情況下,意味著更長時間的訓練,比如超過一周甚至一個月到幾個月是時間。而且如果訓練過程中有參數不正確,還需要反覆地進行訓練,導致訓練時間進一步拉長。顯然,這對於企業產品迭代更新而言是極其不利的,很可能導致企業在行業競爭中失敗。
因此,很多廠商不得不投入大量資金租用雲服務,或者購置GPU、FPGA等硬體資源自建計算集群。巨額硬體成本、電力成本以及維護成本對於大部分中小型企業來說,是一個難以承受的負擔。
英國的一份AI工業分析報告指出,當前訓練一個模型平均需要1萬英鎊,而複雜深度網絡的訓練過程則更為昂貴。因此,目前50%以上的人工智慧公司都存在可用算力不足的問題。
而利用區塊鏈為AI共享算力則不失一個解決AI行業算力瓶頸的方法。
利用區塊鏈共享算力主要存在著以下兩種思路,一是利用區塊鏈的激勵機制,共享社會上閒置的GPU等資源;二是試圖改造比特幣POW挖礦機制,希望將目前浪費了大量資源的哈希挖礦變成對人工智慧的訓練。
1、關於將挖礦改造為AI模型訓練
不管是pow挖礦,還是AI模型訓練,都需要消耗大量的算力與能源。因此,將POW挖礦與及其學習模型訓練相結合,似乎更加契合。
據了解,挖礦函數應該具有這樣一些特點:
首先,函數具有單向性,即計算結果難度較高,但驗證結果的正確性卻很容易;其次,函數計算應具有一定強度,同時難度可以調整;第三,計算該函數時不需要傳遞大量數據,即不會給區塊鏈網絡帶來額外帶寬負載;第四,函數應具有公平性,也就是說,算力強的節點只是擁有較高概率獲得獎勵。
因此,對於深度學習,深度學習訓練過程也確實具有單向性,不過,深度神經網絡的訓練難度很難預測,不容易控制,而且訓練時一般需要傳遞大量的訓練樣本數據,網絡傳輸壓力很大。由此,深度神經網絡的訓練過程作為挖礦函數仍具有很大困難。
另外,馬爾可夫鏈蒙特卡洛算法(MCMC)也是AI挖礦函數的重要待選算法,不過,雖然MCMC具有單向性,難度相對可控。但是,MCMC作為挖礦函數的缺點是在驗證時需要傳遞比較大量的數據。
目前並沒有看見特別出眾的AI挖礦算法,但相信未來一定會出現合適但AI挖礦算法。
2、利用區塊鏈激勵閒置算力共享
人工智慧對算力極度渴望,然而,市面上其實也有很多閒置算力沒有得到充分利用,比如你的計算機在關機時的算力等。利用閒置算力進行宇宙研究等科學研究早已經有之,然而,由於沒有足夠的激勵機制,這一直不成規模。
而區塊鏈的激勵機制正好彌補了這個短板。
而且值得一提的是,運用好挖礦變現這個激勵機制,企業甚至有可能以相對於傳統雲計算更加便宜的價格獲得需要的算力。比如,深腦鏈就計劃每個挖礦節點的收入70%來自於挖到的DBC變現,30%是來自於用戶訓練支付費用。人工智慧廠商只需要為30%訓練支付費用買單。另外,另一家共享算力企業Nebula AI的礦機還可以開啟雙挖模式,持 Sia,storj類型的共享幣種挖礦。
不過,目前有相當一大批區塊鏈礦機其實都是採用ASIC晶片進行挖礦,ASIC晶片會針對特定的挖礦程序進行優化,因此,相較於GPU等通用晶片其挖礦效率更高。不過也正因為如此,一般的ASIC礦機在報銷之後其實也不能用於AI的訓練,造成了巨大的浪費。
為了解決這個問題,比原鏈計劃採用對人工智慧ASIC晶片友好型POW算法,使得礦機在閒置或被淘汰後,可用於AI加速服務。
據比原鏈介紹,比特幣礦機和人工智慧深度學習具有可比性,它們都是依賴於底層的晶片進行大規模並行計算。深度學習算法絕大多數可以被映射為底層的線性代數運算。線性代數運算有兩大特點:一是Tesr的流動非常規整且可預期;二是計算密度很高。這兩大特點使得AI深度學習特別合做硬體加速。
比原鏈認為,如果在挖礦的哈希過程中引入矩陣運算與卷積運算,使得礦機對人工智慧ASIC相對於GPU、CPU更友好,那麼,區塊鏈共識所需要的計算量同樣可以應用於AI硬體加速服務,從而產生較大的社會效益:一方面,礦機市場會刺激人工智慧市場,擴大對深度學習ASIC晶片的需求,正如目前顯卡友好型PoW區塊鏈,對顯卡市場的促進作用;另一方面,被淘汰或閒置的礦機可應用於AI硬體加速服務,節省挖礦成本,形成雙贏局面。
不過,有觀點認為,Asic固化算法後喪失了通用算法作為PAAS(平臺即服務)的能力,在區塊鏈AI早期,過早限定自己的使用場景,並不一定是好事。
而在Nebula AI等企業則集中在GPU以及FPGA上,這些礦機只有一小部分算力會用於記帳,而更多的算力則會用來做更有價值的AI計算。