區(qū)塊鏈該如何獲得人工智能的能力
隨著人們在虛擬世界的行為數(shù)據(jù)日趨復(fù)雜和豐富,隨著未來物聯(lián)網(wǎng)設(shè)備數(shù)十億數(shù)百億級別的增加,數(shù)據(jù)復(fù)雜度將呈指數(shù)級增加。在這種情境下,區(qū)塊鏈、人工智能以及物聯(lián)網(wǎng),將會(huì)是未來幾十年最重要的技術(shù)推動(dòng)力量,可以說是三駕馬車。人工智能的產(chǎn)生源于人類對自身局限的改進(jìn)。作為生物能的主體,人類無法持續(xù)進(jìn)行大量的運(yùn)算,難以接近事情的全貌。人工智能彌補(bǔ)了人類的局限,在極其龐雜的數(shù)據(jù)中,幫助人們作出更好的決策。
區(qū)塊鏈的本質(zhì)是構(gòu)建一套無須中介即可自運(yùn)行的系統(tǒng)。跟中心化的系統(tǒng)不同,要達(dá)成自運(yùn)行的系統(tǒng),需要達(dá)成多方的共識,所以,需要有人記賬,有人驗(yàn)證,以達(dá)成共識。通過這樣的過程,區(qū)塊鏈在人類歷史上第一次實(shí)現(xiàn)了不依靠單一主體的信任和安全。僅這一點(diǎn)而言,區(qū)塊鏈就是具有社會(huì)革新性的技術(shù)。
那么,Cortex如何來實(shí)現(xiàn)這一切?Cortex如何給區(qū)塊鏈賦于人工智能的能力比特幣和以太坊不具備人工智能的能力。比特幣的核心是通過區(qū)塊鏈實(shí)現(xiàn)無須中介參與的價(jià)值網(wǎng)絡(luò),實(shí)現(xiàn)價(jià)值的可信確認(rèn)和轉(zhuǎn)移。以太坊具備簡單合約計(jì)算能力,通過區(qū)塊鏈的共識和不可篡改實(shí)現(xiàn)合約的自動(dòng)執(zhí)行,但以太坊還不具備構(gòu)建人工智能應(yīng)用的能力。
機(jī)器學(xué)習(xí)方面,中心化的公司有很大的優(yōu)勢,大公司在數(shù)據(jù)和算力、算法方面都有優(yōu)勢。像一些大公司擁有用戶的大量真實(shí)行為數(shù)據(jù),擁有大量的算力,并通過模型不斷迭代升級。去中心化的模型訓(xùn)練,要解決更多的問題,比如隱私問題、帶寬問題、數(shù)據(jù)同步等。有一些方案,比如同態(tài)加密能保護(hù)用戶隱私,但由于運(yùn)算量過高,當(dāng)前落地還不現(xiàn)實(shí)。
Cortex要賦能區(qū)塊鏈,它的突破口在于提供一批鏈上最好的機(jī)器學(xué)習(xí)模型。有了這些機(jī)器學(xué)習(xí)模型,模型的需求者就可以使用它們來對智能合約進(jìn)行推斷。更進(jìn)一步,Cortex的用戶可以在平臺上發(fā)布對模型的需求,貢獻(xiàn)者根據(jù)需求提交模型,通過智能合約調(diào)用模型進(jìn)行推斷,最終形成具有人工智能能力的dApp。
當(dāng)然,最終來說,Cortex要賦能區(qū)塊鏈,不僅是在模型上實(shí)現(xiàn)突破,預(yù)計(jì)未來會(huì)在隱私保護(hù)、分布式數(shù)據(jù)交換市場、分布式算力市場等方面進(jìn)一步突破。具體來說,Cortex是如何構(gòu)建賦予區(qū)塊鏈人工智能的能力的?它有一個(gè)全面的解決方案,包括了系統(tǒng)架構(gòu)、軟件方案、硬件方案等。為了在區(qū)塊鏈的智能合約上賦予智能推斷能力,Cortex從兩個(gè)方面著手,一是構(gòu)建模型的市場;二是智能推斷的執(zhí)行方案。
如果是中心化的模型市場,只要有一個(gè)中心化的主體來組織模型的需求者和貢獻(xiàn)者形成市場即可,就像今天的淘寶市場一樣。但是,中心化的模型市場存在信任、安全、隱私保護(hù)、費(fèi)用高等諸多問題。很難保證中心化主體的完全可信任、很難保證數(shù)據(jù)和模型的足夠安全,另外,一旦形成市場的壟斷,費(fèi)用方面也會(huì)高于去中心化的解決方案。
具體流程來說,首先全節(jié)點(diǎn)會(huì)查詢模型索引,找到該模型在存儲(chǔ)層的位置,并下載模型的字符串和對應(yīng)參數(shù)。之后,通過Cortex模型表示工具將模型字符串轉(zhuǎn)換為可執(zhí)行代碼。然后再通過Cortex的虛擬機(jī)CVM執(zhí)行可執(zhí)行代碼,得出結(jié)果進(jìn)行全節(jié)點(diǎn)共識廣播。在區(qū)塊鏈上進(jìn)行深度學(xué)習(xí)的部署并非易事,主要是受制于節(jié)點(diǎn)的算力、內(nèi)存和能耗,且區(qū)塊鏈要求嚴(yán)格的確定性。這對鏈上的AI推斷實(shí)現(xiàn)帶來很大的挑戰(zhàn)。
Cortex采用的是PoW共識,關(guān)于PoW共識大家了解比較多,這里不做詳細(xì)闡述。Cortex鏈的主要改進(jìn)在于試圖讓參與挖礦的礦工在硬件上更公平,這里的挖礦礦工主要指的是鏈上記賬的礦工。Cortex采用Cuckoo Cycle的PoW試圖縮小CPU和顯卡之間加速比的差距,并發(fā)揮智能手機(jī)顯卡的效能,甚至讓手機(jī)挖礦成為可能。
具體來說,Cuckoo Cycle是一種基于圖論的求解算法。它要在Siphash隨機(jī)生成的Cuckoo二分圖中尋找到固定長度L的環(huán)。求解的過程,也就是尋找環(huán)的過程。求解的難度跟圖的規(guī)模和L值相關(guān),是一種Memory-hard的PoW算法。Cortex主鏈采用Cuckoo Cycle的變種算法CuckARoo30算法,CuckARoo算法主要是對二分圖內(nèi)所有的節(jié)點(diǎn)進(jìn)行分組,每組內(nèi)的節(jié)點(diǎn)存在相互依賴關(guān)系,大大增加了求解難度,具有抗ASIC特性。
Cortex的CuckAroo30算法,將Siphash-2-4替換為Siphash-4-8,通過其抗ASIC的算法特性,可讓更多普通礦工參與進(jìn)來,以實(shí)現(xiàn)去中心化。Cortex目前的出塊時(shí)間大約15秒,每個(gè)區(qū)塊獎(jiǎng)勵(lì)7CTXC,每四年減半。同時(shí),為了保證相對穩(wěn)定的出塊時(shí)間,利于防止雙花和記錄被篡改,Cortex的難度是動(dòng)態(tài)調(diào)整的。
關(guān)于Cortex的軟件方案和硬件方案,這里不做過多的介紹,詳細(xì)內(nèi)容可以參考Cortex的白皮書。這里重點(diǎn)提一下Cortex的CVM,也就是Cortex自己獨(dú)有的虛擬機(jī)。CVM指令集兼容以太坊的EVM,還提供對推斷指令的支持。Cortex的核心指令集覆蓋主流人工智能的計(jì)算框架操作,支持跨平臺的推斷共識。
Cortex的模型表示工具旨在創(chuàng)建靈活開放的標(biāo)準(zhǔn),實(shí)現(xiàn)深度學(xué)習(xí)框架和工具的互操作。Cortex模型表示工具方便人工智能開發(fā)者根據(jù)不同任務(wù)選擇合適的框架,框架開發(fā)者可專注于創(chuàng)新和升級,硬件供應(yīng)商可以進(jìn)行有針對性的優(yōu)化。Cortex的代幣為CTXC,其主要作用通過激勵(lì)形成生態(tài)系統(tǒng)的正向循環(huán)。Cortex的生態(tài)主要參與者包括礦工、全節(jié)點(diǎn)、模型貢獻(xiàn)者、模型需求者、Cortex基金會(huì)、顧問和社區(qū)等。每個(gè)角色都需要得到激勵(lì),才能形成去中心化的生態(tài)體系。