深入剖析ZKML賽道

2023-06-02 00:06:45

通過 zkSNARKs 證明機器學習 (ML) 模型推理有望成為這十年智能合約最重要的進步之一。這一發展开闢了一個令人興奮的大設計空間

通過添加 ML 功能,智能合約可以變得更加自主和動態,允許它們根據實時鏈上數據而不是靜態規則做出決策。智能合約將是靈活的,可以適應各種場景,包括那些在最初創建合約時可能沒有預料到的場景。簡而言之,ML 功能將擴大我們放在鏈上的任何智能合約的自動化准確性效率和靈活性。ML 在 web3 之外的大多數應用程序中被廣泛應用,在智能合約中的應用幾乎是零。其主要是由於在鏈上運.這些模型的計算成本很高。例如,FastBERT 是一種計算優化語言模型,使用約 1800 MFLOPS這無法接在 EVM 上運行。鏈上 ML 模型的應用,主要關注的是推理階段:應用模型對真實世界的數據進行預測。為了擁有 ML 規模的智能合約,合約必須能夠攝取此類預測,但正如我們之前提到的,直接在 EVM 上運行模型是不可行的。zkSNARKs 為我們提供了一個解決方案:任何人都可以在鏈下運行一個模型,並生成一個簡潔且可驗證的證明,表明預期的模型確實產生了特定的結果。該證明可以在鏈上發布並由智能合約攝取以增強其智能。我們將:查看鏈上 ML 的潛在應用程序和用例.探索 zkML 核心的新興項目和基礎設施建設.討論現有實現的一些挑战以及 zkML 的未來會是什么樣子機器學習簡介機器學習是人工智能的一個子領域,專注於开發能夠讓計算機從數據中學習並進行預測或決策的算法和統計模型。ML模型通常具有三個主要組成部分:訓練數據:一組用於訓練機器學習算法進行預測或對新數據進行分類的輸入數據。訓練數據可以採用多種形式,如圖像、文本、音頻、數值數據或其組合.模型架構:機器學習模型的整體結構或設計。它定義了層次結構、激活函數和節點或神經元之間的連接類型和數量。架構的選擇取決於具體的問題和使用的數據。模型參數:模型在訓練過程中學習的值或權重,用於進行預測。這些值通過優化算法進行迭代調整,以最小化預測結果與實際結果之間的誤差。模型的生成和部署分為兩個階段:在訓練階段,模型會接觸到一個帶標籤的數據集,並調整其參數以最小化預測結果與實際結果之間的誤差。訓練過程通常涉及多次迭代或周期,模型的准確性會在單獨的驗證集上進行評估2推理階段:使用經過訓練的機器學習模型對新的未見數據進行預測的階段。模型接收輸入數據,並應用學習到的參數生成輸出,如分類或回歸預測。目前zkML主要關注於機器學習模型的推理階段,而不是訓練階段,主要是由於驗證電路中訓練的計算復雜性。然而對推理的關注並不是一種限制:我們預計將會產生一些非常有趣的用例和應用。

已驗證的推理場景私有輸入,公共模型。模型消費者可能希望對模型提供者保密他們的輸入。例如MC可能希望在不披露其個人財務信息的情況下向貸方證明信用評分模型的結果。這可以使用預先承諾方案並在本地運行模型來完成.公共輸入.私有模型.ML-as-a-Service 的一個常見問題是 MP 可能希望隱藏其參數或權重以保護其 IP,而 MC 想要驗證生成的推理確實來自對抗設置中的指定模型 . 這樣想:當向 MC 提供推理時,MP 有動機運行更輕的模型以節省成本。使用鏈上模型權重的承諾,MC 可以隨時審核私有模型。私有輸入,私有模型。當用於推理的數據高度敏感或機密,並且模型本身被隱藏以保護 IP 時,就會出現這種情況。這方面的一個例子可能包括使用私人患者信息審核醫療保健模型。zk 中的組合技術或使用多方計算 (MPC) 或 FHE 的變體可用於服務此場景。公共輸入,公共模型。當模型的所有方面都可以公开時,zkML 解決了一個不同的用例:將鏈下計算壓縮和驗證到鏈上環境。對於較大的模型,驗證推理的簡潔 zk 證明比自己重新運行模型更具成本效益。驗證的ML推理為智能合約开闢了新的設計空間。一些加密原生應用包括:DeFi可驗證的鏈下ML預言機。繼續採用生成式人工智能可能推動行業實施其內容的籤名方案(例如,新聞出版物籤署文章或圖像)。籤名數據准備好進行零知識證明,使數據可組合且可信。ML模型可以在鏈下處理這些籤名數據以進行預測和分類(例如,對選舉結果或天氣事件進行分類)。這些鏈下ML預言機可以通過驗證推理並在鏈上發布證明來無需信任地解決現實世界的預測市場、保險協議合約等問題。基於ML參數的DeFi應用。DeFi的許多方面可以更加自動化。例如,借貸協議可以使用ML模型實時更新參數。目前,借貸協議主要依賴由組織運行的鏈下模型來確定抵押因子、貸款價值比、清算閾值等,但更好的選擇可能是社區訓練的开源模型,任何人都可以運行和驗證。自動化交易策略。展示金融模型策略的回報特徵的常見方式是MP向投資者提供各種回測數據。然而,沒有辦法在執行交易時驗證策略師是否遵循該模型 - 投資者必須信任策略師確實遵循模型。zkML提供了一個解決方案,MP可以在部署到特定頭寸時提供金融模型推理的證明。這對於DeFi管理的保險庫可能尤其有用.安全性智能合約的欺詐監控。與其讓緩慢的人工治理或中心化參與者控制暫停合約的能力,可以使用ML模型來檢測可能的惡意行為並暫停合約.傳統ML分散的、無信任的Kaggle實現。可以創建一個協議或市場,允許MC或其他感興趣的方驗證模型的准確性,而無需MP披露模型權重。這對於銷售模型、圍繞模型准確性進行競賽等方面非常有用.生成式AI的去中心化提示市場。生成式AI的提示創作已經發展成為一門復雜的工藝,最佳輸出生成提示通常具有多個修改器。外部方可能愿意從創作者那裏購买這些復雜的提示。zkML在這裏可以有兩種用法:1)驗證提示的輸出,以向潛在买家確保提示確實創建所需的圖像;2)允許提示所有者在購买後保持對提示的所有權,同時對买家保持模糊,但仍為其生成經過驗證的圖像。4身份用保護隱私的生物識別認證替代私鑰。私鑰管理仍然是web3用戶體驗中最大的障礙之一。通過面部識別或其他獨特因素抽象私鑰是zkML的一種可能解決方案。公平的空投和貢獻者獎勵。可以使用ML模型創建用戶的詳細人物畫像,根據多個因素確定空投分配或貢獻獎勵。當與身份解決方案結合使用時,這可能特別有用。在這種情況下,一種可能性是讓用戶運行一個开源模型,評估他們在應用程序中的參與情況以及更高層次的參與,比如治理論壇的帖子,以推理他們的分配。然後提供這個證明給合約,以獲得相應的代幣分配。5Web3社交

用於web3社交媒體的過濾。web3社交應用的去中心化性質將導致垃圾信息和惡意內容的增加。理想情況下,社交媒體平臺可以使用一個社區共識的开源ML模型,並在選擇過濾帖子時發布模型推理的證明。案例:關於Twitter算法的zkML分析。

廣告/推薦。作為一個社交媒體用戶,我可能愿意看到個性化的廣告,但希望將我的偏好和興趣對廣告商保密。我可以選擇在本地運行一個關於我的興趣的模型,將其輸入到媒體應用程序中為我提供內容。在這種情況下,廣告商可能愿意為最終用戶支付費用,以實現這一點,然而,這些模型可能遠不如目前生產中的定向廣告模型復雜。

6創作者經濟/遊戲

遊戲內經濟再平衡。可以使用ML模型動態調整代幣發行、供應、銷毀、投票門檻等。一個可能的模型是一個激勵合約,如果達到一定的再平衡門檻並驗證了推理的證明,就會重新平衡遊戲內經濟。

新類型的鏈上遊戲。可以創建合作的人類對抗AI遊戲和其他創新的鏈上遊戲,其中無信任的AI模型充當一個不可玩的角色。NPC採取的每個動作都會與一個任何人都可以驗證的證明一起發布到鏈上,以確定正在運行正確的模型。在Modulus Labs的Leela vs. the World中,驗證者希望確保所述的1900 ELO AI選擇棋步,而不是Magnus Carlson。另一個例子是AI Arena,一個類似於Super Smash Brothers的AI格鬥遊戲。在高風險的競爭環境中,玩家希望確保他們訓練的模型沒有幹擾或作弊。

新興項目和基礎設施

zkML生態系統可以廣泛分為四個主要類別:

  • 模型到證明編譯器:將現有格式(例如Pytorch、ONNX等)的模型編譯成可驗證的計算電路的基礎設施。

  • 廣義證明系統:構建用於驗證任意計算軌跡的證明系統。

  • zkML特定的證明系統:專門構建用於驗證ML模型計算軌跡的證明系統。

  • 應用程序:致力於獨特zkML用例的項目。

01模型驗證編譯器(Model-to-Proof Compilers)

在zkML生態系統中,大部分關注都集中在創建模型到證明編譯器上。通常,這些編譯器將使用Pytorch、Tensorflow等高級ML模型轉換為zk電路。

EZKL是一個庫和命令行工具,用於在zk-SNARK中進行深度學習模型的推理。使用EZKL,您可以在Pytorch或TensorFlow中定義一個計算圖,並將其導出為帶有JSON文件中一些示例輸入的ONNX文件,然後將EZKL指向這些文件以生成zkSNARK電路。通過最新一輪的性能改進,EZKL現在可以在約6秒和1.1GB的RAM內證明一個MNIST大小的模型。迄今為止,EZKL已經得到了一些顯着的早期採用,被用作各種黑客馬拉松項目的基礎設施。

Cathie So的circomlib-ml庫包含了用於Circom的各種ML電路模板。電路包括一些最常見的ML函數。由Cathie开發的Keras2circom是一個Python工具,使用底層的circomlib-ml庫將Keras模型轉換為Circom電路。

LinearA开發了兩個用於zkML的框架:Tachikoma和Uchikoma。Tachikoma用於將神經網絡轉換為僅使用整數的形式並生成計算軌跡。Uchikoma是一個工具,將TVM的中間表示轉換為不支持浮點運算的編程語言。LinearA計劃支持使用域算術的Circom和使用有符號和無符號整數算術的Solidity。

Daniel Kang的zkml是一個基於他在《Scaling up Trustless DNN Inference with Zero-Knowledge Proofs》論文中的工作構建的ML模型執行證明的框架。在撰寫本文時,它能夠在約5GB的內存和約16秒的運行時間內證明一個MNIST電路。

在更廣義的模型到證明編譯器方面,有Nil Foundation和Risc Zero。Nil Foundation的zkLLVM是一個基於LLVM的電路編譯器,能夠驗證用流行編程語言(如C++、Rust和JavaScript/TypeScript等)編寫的計算模型。與這裏提到的其他模型到證明編譯器相比,它是通用的基礎設施,但仍適用於復雜的計算,如zkML。當與他們的證明市場結合使用時,這可能尤為強大。

Risc Zero構建了一個通用的zkVM,針對开源的RISC-V指令集,因此支持現有成熟的語言,如C++和Rust,以及LLVM工具鏈。這允許在主機和客戶zkVM代碼之間實現無縫集成,類似於Nvidia的CUDA C++工具鏈,但是使用ZKP引擎代替GPU。與Nil類似,使用Risc Zero可以驗證ML模型的計算軌跡。

02廣義證明系統

證明系統的改進是使 zkML 取得成果的主要推動力,特別是自定義門和查找表的引入。這主要是由於 ML 對非线性的依賴。簡而言之,非线性是通過激活函數(例如 ReLU、sigmoid 和 tanh)引入的,這些激活函數應用於神經網絡中线性變換的輸出。由於數學運算門的限制,這些非线性在 zk 電路中實現起來具有挑战性。按位分解和查找表可以通過將非线性的可能結果預先計算到查找表中來幫助解決這個問題,有趣的是,這在 zk 中的計算效率更高。

出於這個原因,Plonkish 證明系統往往是 zkML 最受歡迎的後端。Halo2 和 Plonky2 及其表式算術方案可以通過查找參數很好地處理神經網絡非线性。此外,前者擁有充滿活力的开發人員工具生態系統和靈活性,使其成為包括 EZKL 在內的許多項目的實際後端。

其他證明系統也有其優勢。基於R1CS的證明系統包括Groth16,因其小型證明尺寸而聞名,以及Gemini,因其處理極大電路和线性時間驗證器而聞名。基於STARK的系統,例如Winterfell證明器/驗證器庫,尤其在通過Giza的工具將Cairo程序的追蹤作為輸入,並使用Winterfell生成STARK證明來驗證輸出的正確性時,非常有用。

01zkML特定的證明系統

在設計能夠處理先進的機器學習模型的復雜、電路不友好的操作的高效證明系統方面已經取得了一些進展。基於GKR證明系統的zkCNN和基於組合技術的Zator等系統往往比通用證明系統更具性能,這一點在Modulus Labs的基准測試報告中有所體現。

zkCNN是一種使用零知識證明來證明卷積神經網絡正確性的方法。它使用sumcheck協議來證明快速傅裏葉變換和卷積,具有线性的證明時間,比漸近計算結果更快。已經引入了幾個改進和泛化的交互證明,包括驗證卷積層、ReLU激活函數和最大池化。根據Modulus Labs的基准測試報告,zkCNN特別有趣的地方在於它在證明生成速度和RAM消耗方面優於其他通用證明系統。

Zator是一個旨在探索使用遞歸SNARK來驗證深度神經網絡的項目。驗證更深層次模型的當前限制是將整個計算軌跡適應單個電路中。Zator提出使用遞歸SNARK逐層進行驗證,可以逐步驗證N步重復計算。他們使用Nova將N個計算實例減少為一個可以通過單個步驟進行驗證的實例。採用這種方法,Zator能夠對具有512層的網絡進行SNARK,這與大多數當前的生產AI模型一樣深。Zator的證明生成和驗證時間仍然對於主流應用案例來說過長,但他們的組合技術仍然是非常有趣的。

應用領域

鑑於zkML處於早期階段,其關注點主要集中在上述基礎設施上。然而,目前也有一些項目致力於應用开發。

Modulus Labs是zkML領域中最多樣化的項目之一,他們既开展示例應用,也從事相關研究。在應用方面,Modulus Labs通過RockyBot(一個鏈上交易機器人)和Leela vs. the World(一個人類與經過驗證的鏈上Leela國際象棋引擎對战的棋盤遊戲)展示了zkML的用例。該團隊還進行了研究,編寫了《智能的代價》,對不同模型規模下的各種證明系統的速度和效率進行了基准測試。

Worldcoin正在嘗試應用zkML來創建一個保護隱私的人類身份證明協議。Worldcoin使用定制硬件處理高分辨率虹膜掃描,並將其插入到Semaphore實現中。然後可以使用該系統執行諸如成員資格證明和投票等有用操作。他們目前使用受信任的運行時環境和安全的安全區域來驗證相機籤名的虹膜掃描,但他們最終的目標是使用零知識證明來驗證神經網絡的正確推理,以提供加密級別的安全保證。

Giza是一種協議,採用完全無信任的方法在鏈上部署AI模型。它使用包括ONNX格式表示機器學習模型、Giza Transpiler用於將這些模型轉換為Cairo程序格式、ONNX Cairo Runtime用於以可驗證和確定性的方式執行模型,以及Giza Model智能合約用於在鏈上部署和執行模型的技術堆棧。盡管Giza也可以歸類為模型到證明編譯器的類別,但他們作為一個ML模型市場的定位是目前最有趣的應用之一。

Gensyn是一個分布式硬件供應網絡,用於訓練ML模型。具體而言,他們正在开發一個基於梯度下降的概率審計系統,並使用模型檢查點來使分散式GPU網絡能夠為全尺度模型提供訓練服務。盡管他們在這裏的zkML應用非常特定於他們的用例——他們希望確保當一個節點下載和訓練模型的一部分時,他們對模型更新的誠實性——但它展示了將zk和ML相結合的強大力量。

ZKaptcha 專注於 web3 中的 bot 問題,為智能合約提供驗證碼服務。他們目前的實施讓最終用戶通過完成驗證碼來生成人類工作的證明,驗證碼由他們的鏈上驗證程序驗證,並通過幾行代碼由智能合約訪問。今天,他們主要只依賴於 zk,但他們打算在未來實現 zkML,類似於現有的 web2 驗證碼服務,分析鼠標移動等行為以確定用戶是否是人類。

鑑於 zkML 市場還很早,許多應用程序已經在黑客馬拉松級別進行了試驗。項目包括 AI Coliseum,一個使用 ZK 證明來驗證機器學習輸出的鏈上 AI 競賽,Hunter z Hunter,一個使用 EZKL 庫來驗證帶有 halo2 電路的圖像分類模型輸出的照片尋寶遊戲,以及 zk Section 9,它 將 AI 圖像生成模型轉換為用於鑄造和驗證 AI 藝術的電路。

zkML面臨的挑战

盡管在提高和優化方面取得了飛速的進展,但zkML領域仍然面臨一些核心挑战。這些挑战涉及技術和實踐等方面,包括:

  • 以最小的精度損失進行量化

  • 電路規模,特別是當網絡由多個層組成時

  • 矩陣乘法的高效證明

  • 對抗攻擊

量化是將浮點數表示為定點數的過程,大多數機器學習模型使用浮點數表示模型參數和激活函數,在處理zk電路的域算術時,需要使用定點數。量化對機器學習模型的准確性的影響取決於所使用的精度級別。一般來說,使用較低的精度(即較少的比特數)可能會導致准確性降低,因為這可能引入舍入和近似誤差。然而,有幾種技術可用於最小化量化對准確性的影響,例如在量化後對模型進行微調,以及使用量化感知訓練等技術。此外,zkSummit 9上的一項黑客馬拉松項目Zero Gravity顯示出,針對邊緣設備开發的替代神經網絡架構(例如無權重神經網絡)可以用於避免電路中的量化問題。

除了量化之外,硬件是另一個關鍵挑战。一旦通過電路正確地表示了機器學習模型,由於zk的簡潔性,驗證其推理的證明將變得廉價且快速。這裏的挑战不在於驗證者,而在於證明者,因為隨着模型規模的增長,RAM消耗和證明生成時間會迅速增加。某些證明系統(例如使用sumcheck協議和分層算術電路的基於GKR的系統)或組合技術(例如將Plonky2與Groth16相結合,Plonky2在證明時間方面效率高但對於大型模型的高效證明大小較差,而Groth16在復雜模型的復雜度上不會導致證明大小增長)更適合處理這些問題,但在zkML項目中管理權衡是一個核心挑战。

在對抗攻擊方面,仍然有待努力。首先,如果一個無信任的協議或DAO選擇實施一個模型,在訓練階段仍然存在對抗攻擊的風險(例如訓練模型以在看到特定輸入時表現出特定行為,這可能被用來操縱後續的推理)。聯邦學習技術和訓練階段的zkML可能是最小化這種攻擊面的一種方式。

另一個核心挑战是當模型保護隱私時存在模型盜竊攻擊的風險。雖然可以混淆模型的權重,但在給定足夠的輸入輸出對的情況下,從理論上講,仍然有可能反向推導出權重。這主要是對小規模模型的風險,但仍然存在風險。

智能合約的可擴展

盡管在將這些模型優化為在zk的限制條件下運行時存在一些挑战,但改進工作正在以指數速度進行,一些人預計在進一步的硬件加速下,我們很快就能與更廣泛的機器學習領域達到同等水平。為了強調這些改進的速度,zkML從0xPARC在2021年展示了如何在可驗證電路中執行小規模MNIST圖像分類模型的演示,到Daniel Kang在不到一年後為ImageNet規模的模型做同樣的工作的論文。在2022年4月,這個ImageNet規模的模型的准確性從79%提高到92%,並且像GPT-2這樣的大型模型在近期內有望成為可能,盡管目前的證明時間較長。

我們認為zkML是一個豐富而不斷發展的生態系統,旨在擴展區塊鏈和智能合約的能力,使其更加靈活、適應性強和智能化。

盡管zkML仍處於早期开發階段,但它已經开始顯示出有希望的結果。隨着技術的發展和成熟,我們可以期待在鏈上看到更多創新的zkML用例。

免責聲明:本文不構成投資建議,用戶應考慮本文中的任何意見、觀點或結論是否符合其特定狀況,及遵守所在國家和地區的相關法律法規。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
72 1個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
73 1個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
79 1個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
66 1個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
76 1個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
71 1個月前