上面我們介紹了Cortex算法模型市場的基本結構和流程,那么它具體來說,是如何在Cortex鏈上進行推斷的?
(全節點執行推斷流程)
首先,Cortex公鏈本身并不實際存儲數據和和模型,它存儲的是模型和數據的哈希值,模型和數據存儲在鏈下的存儲層。
在Cortex的智能推斷執行中,主要是全節點來執行。當模型的需求者(如智能合約的開發者)發起一筆智能合約的交易,全節點不僅要執行該智能合約代碼,它還涉及到推斷指令的執行。
具體流程來說,首先全節點會查詢模型索引,找到該模型在存儲層的位置,并下載模型的字符串和對應參數。之后,通過Cortex模型表示工具將模型字符串轉換為可執行代碼。然后再通過Cortex的虛擬機CVM執行可執行代碼,得出結果進行全節點共識廣播。
在
區塊鏈上進行深度學習的部署并非易事,主要是受制于節點的算力、內存和能耗,且區塊鏈要求嚴格的確定性。這對鏈上的AI推斷實現帶來很大的挑戰。
Cortex提出了區塊鏈場景下的新型確定性推斷框架,它是一種基于MXNet深度學習庫模型的、為嚴格確定性設計的定點化方法。該框架包括了上面提到的兩個主要組件:MRT和CVM。其中MRT(模型表示工具)用于模型定點化、CVM(Cortex虛擬機)用于鏈上推斷。
Cortex首先使用MXNet的NNVM模塊,稱為MRT,也就是模型表示工具用以創建轉換器,以實現量化MXNet模型集。然后,在CVM上運行量化模型。具體的實現過程涉及到重寫、融合等復雜的運算過程。這里不進行詳述。當前來看,Cortex的定點化方案應用之后,并沒有降低精度。這也是Cortex在技術探索上取得的突破。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。