毫無疑問,繼比特幣之後,以太坊的智能合約——一個分布式、公開透明、不可篡改、可審查的計算程序,是區塊鏈技術應用的一個重大突破。區塊鏈技術天生可以為智能合約提供可信的執行環境。然而,當前以太坊的智能合約,受限於基礎設計,目前還無法真正執行更覆雜的AI計算程序。
基於很多因素,例如虛擬機的設計、AI模型在異構環境下推斷結果的不確定性、以及鏈上AI推斷比較慢的確認速度等等,傳統認知一般認為在區塊鏈上運行AI計算程序是不現實的。想要實現Cortex白皮書設計的既定目標,需要解決上述一系列工程挑戰,這是一個全新且艱巨的探索方向,需要對AI和區塊鏈兩個領域均有極深的了解。
經過一年多的努力研發和探索,Cortex於2019年6月26日18:00(UTC+8)正式發布Cortex主鏈:這是人類歷史上第一條真正可以進行鏈上AI推斷的公鏈。
Cortex成功實現在區塊鏈上真正的運行AI計算程序,通過全網共識來驗證AI推斷的每一步。鏈上所有全節點,保證了推斷結果的去中心化、確定性和公平透明的特性。這對於我們即將進入的去中心化世界有著巨大影響,因為有了AI計算程序的加持,現在的智能合約已經變得更加智能,智能合約(Smart Contract)已經正式升級為AI智能合約(AI Smart Contract)。
在本文中,我們會從幾個方面如核心技術創新、主鏈特性、AI智能合約應用場景、去中心化人工智能自治系統的願景、下一階段的發展計劃等全面闡述和介紹Cortex AI公鏈。
一. 核心技術創新
1. CVM(CortexVirtual Machine,Cortex虛擬機)
像以太坊這樣的傳統區塊鏈無法有效整合AI的最大原因之一是因為它們的虛擬機是在CPU上運行的,不適合執行覆雜的AI程序。而我們的CVM能利用GPU,非常適合有效地執行AI程序。
Cortex在以太坊虛擬機(EVM)的基礎上添加了對 Cortex 鏈上 AI 推斷功能的支持。該功能主要分為兩個模塊,一方面是在 CVM 中支持了 Inference 指令,包含Infer(code: 0xc0),InferArray(code: 0xc1),前端如remix編譯合約時同步增加一條infer函數來封裝 CVM 接口,實現鏈上 AI 推斷功能;另一方面,Synapse 作為定點化 AI 推斷引擎,又名 CVM Executor,可以在異構計算環境下保證 AI 推斷結果的一致性。Synapse 提出了模型定點化執行框架,並提出了相對應的確定性機器學習算子庫,有興趣的AI 開發人員可以基於目前提出的框架訓練或者定點化。為保證解耦性,Synapse 是作為基於 CVM 的 device 形式存在的,是一個單獨的模塊,可以將其看作是 CVM 將需要Inference的模型和數據放入一塊緩存,以中斷的形式調用 Synapse 接口。
此外,CVM向下兼容EVM。因此,它可以運行以太坊上所有的DApp,而且在這個基礎之上,加入了AI 功能到DApp中。
更多技術細節請訪問CVM開源代碼:
https://github.com/CortexFoundation/CortexTheseus/tree/dev/infernet
2. 模型表示工具(MRT)
由於深度神經網絡模型在異構環境中的不確定性,在區塊鏈上執行時無法達成網絡共識。為了解決這個問題,我們開發了一個確定性定點化框架MRT。
MRT全名Model Representation Tool,是Cortex的模型定點化轉換工具。MRT用於對接Cortex虛擬機CVM提供的AI框架API,旨在將NNVM支持的浮點模型轉換為CVM可執行的全整形定點化模型,並保證足夠少的精度損失。定點化方法主要是將模型所有layer的輸出數域放縮到INT8或者INT32範圍,來模擬浮點網絡,通過fuse和rewrite等方法,將涉及到浮點操作的算子轉換為全整形算子;另一方面,定點化網絡確保整形範圍操作不會溢出,保證模型執行的確定性。
目前我們MRT只支持轉換成定點化模型的功能,現在流程是使用MXNet框架訓練好浮點模型,然後使用我們的MRT轉換成CVM可執行的定點化模型。
我們的定點化方案還意外得到了官方MXNet團隊的認可和支持,確保不會有溢出的情況並保證模型執行的確定性結果。
更多細節請訪問:
https://github.com/CortexFoundation/tvm-cvm
二. 主鏈特性
1. 挖礦
Cortex將采用CuckARoo30作為PoW的共識算法。
Cuckoo Cycle是一種基於圖論的算法,是在Siphash隨機生成的Cuckoo二分圖裏找到固定長度L的環。圖的規模越大,L值越大,找到符合L長度環的難度就越大。CuckooCycle問題在求解(即找環)過程中需要較大的空間,是一種Memory-Hard的PoW算法。在最初的設計中,Cuckoo Cycle被認為具備抗ASIC的能力,然而後續的分析證明其是 ASIC-friendly的,一般認為其為驗證函數最簡潔的PoW算法,也得到了應用。
此外,Cuckoo Cycle還有多種變種算法,如果對二分圖內所有的節點進行分組,組內的節點又存在互相依賴的關系,這樣就大大增加了求解的難度,需要更大的數據緩存,因其抗ASIC特性被命名為CuckARoo算法。
Cortex主鏈將采用改版後的CuckARoo30算法,將Siphash-2-4替換為Siphash-4-8。Cortex希望通過抗ASIC的PoW算法讓更多業余玩家參與進來,避免算力中心化。
2. 出塊機制
區塊時間:約15s
區塊獎勵:7 CTXC / 區塊(每四年減半,即每隔8409600個blocks)
叔塊獎勵:(current:當前區塊號,uncle:叔塊區塊號,block_reward:區塊獎勵)
3. 難度調整機制
難度是動態調整的,在平均每15秒產生一個塊,即15秒的出塊時間。此速率可確保系統狀態同步,同時防止雙花和歷史記錄的篡改,除非攻擊者擁有超過51%的網絡挖礦算力。
4. 支持AI模型上傳
上傳涉及參數:
Quota general: 64k per block (model uploading space)
Uploading network bandwidth: 1MB/s
Model mature: 100 blocks
Model size limit: 1GB
主鏈更多細節請訪問Cortex Full-node全節點代碼:
https://github.com/CortexFoundation/CortexTheseus
三. 發布內容
1. Cortex主鏈錢包
Cortex官方推薦一款支持Cortex主鏈的移動端錢包:Cortex Wallet。
Cortex官網提供本地下載安裝鏈接(請認準Cortex官網為唯一下載通道),同時,Cortex Wallet即將登陸Google Play和Apple App Store。
下載安裝頁面鏈接如下:
https://www.cortexlabs.ai/wallet
2. Cortex主鏈區塊瀏覽器
自Cortex第一版測試鏈就一同發布的Cortex區塊瀏覽器,現已經切換至Cortex主鏈。
訪問鏈接不變:
https://cerebro.cortexlabs.ai/
訪問Cortex區塊瀏覽器即可查看Cortex主鏈所有區塊信息、交易信息、地址信息等。
3. Cortex Miner
Cortex提供一款基礎版本挖礦軟件,代碼全部開源,並且發布一版編譯好的版本。
代碼及軟件鏈接如下:
https://github.com/CortexFoundation/PoolMiner
4. Cortex Full-node
Cortex開源全節點完整代碼,鏈接如下:
https://github.com/CortexFoundation/CortexTheseus
四. AI智能合約應用場景
在當前的科技水平下,幾乎所有的傳統App都已經某種程度上融入了AI技術,因此很難想象沒有AI的DApp的未來。AI智能合約(AI Smart Contract)的優勢和之前的智能合約(Smart Contract)的優勢同樣明顯:公開透明、去中心化、不可篡改等。這裏我們列舉Cortex團隊思考的適合AI智能合約應用場景的幾個領域:
分布式金融:
一個去中心化的借貸應用可以運行AI算法,以根據您的(某個地址的)個人信用記錄來確定借貸的利率。用於分析個人信用評分的AI模型不是運行在某個特定的、封閉的環境下,而是運行在Cortex鏈上,確保AI推斷的每一步都是公開透明、防止歧視。
遊戲:
如果加入AI,CruptoKitties會增加智能交互和獨特的性格特征。想象一下,會與人交流、移動、並且有著自己的性格基因的小貓,是以太坊等傳統公鏈無法可靠實現的。AI模型帶來的上述用戶體驗,在Cortex鏈上可以實現。
保險:
區塊鏈技術在保險行業已經發掘出了諸多應用場景,保險行業對不可篡改、公平、開放、透明等特性的需求十分強烈。AI模型可以幫助改善承保決策,更好的風險控制、防欺詐。由鏈上AI驅動的保險DAO可以為世界帶來更好、更低價、更公平的保險產品。
去中心化的Uber:
Uber的各個商業環節幾乎都涉及到了AI,從匹配司機、路線優化到司機入職、計算價格等。因此,如果我們想要構建一個去中心化的Uber新商業生態,就必須可以在鏈上進行AI推斷。
AI防偽:
深度換臉(人工智能技術生產出來的人類難以區分的換臉視頻)的出現給全世界社會造成了重大的擔憂和威脅。如果此類視頻錄音可以簡單的在法庭上作為證據,那麽社會穩定性將會受到嚴重影響。AI防偽算法(檢測視頻是否被篡改的算法)將在區塊鏈上運行,以確保其透明性和公平性,特別是它們被使用在法庭上。
除上述幾個案例外,分布式交易所的反欺詐、遊戲中的AI自動評判、AI遊戲玩家代理、AI算法控制的穩定幣、情感分析、去中心化的AI廣告推送等領域都可以得到非常大的應用空間。
Cortex鏈和其他技術可以實現有效結合,例如跨鏈技術,可實現Cortex和其他公鏈之間的互操作性,為區塊鏈世界提供可靠的去中心化AI推斷。此外,除了應用在Cortex公鏈上,MRT和CVM的核心技術也可以應用在聯盟鏈和商用區塊鏈平台上,甚至是非區塊鏈場景如邊緣計算設備上,提供模型的壓縮、優化和追溯功能。
五. 去中心化人工智能自治系統的願景
除了實現AI智能合約外,Cortex項目的另一部分是在區塊鏈上構建開放的分布式AI生態系統。Cortex為區塊鏈生態系統(傳統上只包括DApp開發人員,用戶和礦工)引入了一個重要的角色:AI研究者。AI研究者將訓練好的AI模型上傳到Cortex區塊鏈的存儲層。這些模型之後可以進行單獨的推斷,也可以被DApp開發人員整合到智能合約中。每次調用AI模型時,它的模型上傳者都會獲得自網絡交易費用的一部分CTXC作為獎勵。(交易發起者通過設定Endorphin上限和Endorphin價格來支付交易費用,其中Endorphin是衡量交易所需計算量的單位,類似於以太坊中Gas的概念。)這種經濟機制激勵AI研究者在模型優化方面相互競爭,從而在區塊鏈上形成一個不斷發展的分布式AI生態系統。因此,優秀的AI模型將開源分布在Cortex區塊鏈上,而不是被少數大公司壟斷。
目前,Cortex鏈上有23個模型,使用4個數據集分別進行訓練,可用於7種不同的場景。所有模型都已使用MRT進行定點化(見上文),可以在Cortex虛擬機(CVM)上進行推斷。
六. Cortex下一階段發展計劃
1. 技術發展計劃
接下來,我們的目標是達到三個重要的裏程碑。
首先,我們將升級CVM + MRT。目前,MRT只是一個確定性的定點化框架,我們希望將其轉變為一個完善的編程語言,提供完整的指令集和更好的確定性支持。同時,我們希望升級CVM以支持更多AI模型,特別是動態模型。
其次,我們將持續評估當前layer1或layer2擴容方案的成熟程度,初步目標是在不犧牲網絡安全性的前提下將TPS提高到1000。我們還將改進我們的OPS(每秒執行op數,Op Per Second),目前為1400。
第三,我們將努力改善AI模型的隱私性。我們正在研究加密解決方案,以實現鏈上AI的隱私推斷。一個最接近可行的方案是使用zk-starks或zk-snarks之一作為layer1的隱私推斷解決方案,將可信計算(trusted computing)作為高性能的layer2候選隱私推斷解決方案。
2. 社區發展計劃
Cortex對人工智能的願景是開放AI模型和公開數據,將它們從互聯網的中心化世界中形成的圍墻花園裏解放出來,無償開放給全世界的研究者和開發人員,形成開放式的AI社區,將頂尖的人工智能技術和作為燃料的數據還給大眾,從而避免AI高速發展帶來的種種爭議和壟斷。在區塊鏈的經濟系統的幫助下,每個人都可以試驗自己的想法,並且形成可持續的商業形態,在這方面Cortex是一種全新的結合和嘗試。
在主鏈發布和Cortex基金會代碼開源後,Cortex團隊將向全球的分布式開源社區開放開發。同時,Cortex 基金會將繼續以多種方式為Cortex區塊鏈及其開源生態系統提供底層支持:我們已經建立了一個開發者論壇(鏈接),並將開始組織線上和線下沙龍,幫助AI開發人員熟悉Cortex生態系統,設立賞金計劃,進一步發展開源技術協作機制(建立開源模型庫和開放數據集)等等。
就AI DApp生態系統而言,Cortex 基金會將與世界各地的DApp開發人員和公司合作,幫助在Cortex鏈上實現更多AI DApp。
同時,我們將致力於跨鏈支持:由於其他區塊鏈上的程序可能為了可靠性和透明性需要運行鏈上AI,他們將能夠在我們的鏈上運行AI模型並將結果返回到其鏈中進一步處理。
此外,我們將與學術界和產業界在合作研究和刊物出版的方向上密切合作。我們獨特核心實現鏈上AI推斷的解決方案已經獲得了官方MXNet團隊的支持。今後將會有更多此類的合作和夥伴關系。
AI智能合約的時代已經開啟,我們迫不及待期待在這個全新的世界中,誕生越來越多有用、好用、真正智能的應用出現。讓AI真正民主,讓區塊鏈真正智能!
Cortex主鏈上線、Genesis Block生成! 開啟AI智能合約新時代.md
目前顯示的是「Cortex主鏈上線、Genesis Block生成! 開啟AI智能合約新時代.md」。
留言