
ZKML:將AI和區塊鏈融合,實現隱私保護的模型部署技術
TechFlow Selected深潮精選

ZKML:將AI和區塊鏈融合,實現隱私保護的模型部署技術
火熱的ZKML到底是什麼?
撰文: Maggie,Foresight Research

ZKML(Zero knowledge machine learning)是將零知識證明用於機器學習的技術,ZKML是AI和區塊鏈的橋樑。ZKML可以解決AI模型/輸入的隱私保護問題和推理過程可驗證的問題,從而使小模型或者推理的ZKP能上鍊。模型/推理證明上鍊的意義在於:
-
讓區塊鏈能感知物理世界。比如:一個運行在區塊鏈上的人臉識別模型就可以為區塊鏈感知人臉,通過鏈上AI模型區塊鏈能理解這個人臉可能是一個女性、大約多大年齡等。
-
讓智能合約能做決策。比如:鏈上的WETH價格預測模型,就可以幫助智能合約做交易決策。
-
保護隱私地運行AI模型。比如:企業花費了大量算力訓練了一個模型,希望可以以保護隱私的方式對外提供推理服務,或者用戶的輸入希望保證隱私。用ZKML既能保證模型/輸入隱私,又可以向使用者證明推理是正確進行的,實現無信任推理。
ZKML的應用
-
鏈上AI:將AI模型/AI推理證明上鍊,讓智能合約能使用AI來進行決策。比如鏈上交易系統,用於鏈上投資決策。
-
自我提高的區塊鏈:讓區塊鏈能用上AI的能力,根據歷史數據不斷提高和修正策略。比如基於AI的鏈上聲譽系統。
-
AIGC上鍊:AIGC生成的內容/藝術品,上鍊Mint成NFT,ZK可以證明過程的正確性,數據集中沒有使用受版權保護的圖像等。
-
錢包的生物認證(KYC):人臉識別的證明上鍊,錢包完成KYC。
-
AI安全:用AI做欺詐檢測,女巫攻擊預防等。
-
鏈上ZKML遊戲:鏈上人工智能象棋棋手、神經網絡驅動的NFT角色等。
ZKML技術上
-
目標:將神經網絡轉化成ZK電路,難點:1. ZK電路不支持浮點數、2.規模太大的神經網絡難以轉換。
-
當前進展:最早的ZKML庫是2年前,整個技術的發展歷史很短。目前,最新的ZKML庫支持一些簡單的神經網絡ZK化,並應用在區塊鏈上。據稱能將基礎的線性迴歸模型上鍊,其它各類小一點的神經網絡模型,都能支持證明上鍊。但看到的Demo很少,只看到一個手寫數字識別的。有的工具據稱能支持100M的參數,還有的聲稱可以將GPT2轉成ZK電路,生成ZK證明。
-
發展方向:Network Quantization(網絡量化),將神經網絡中的浮點數轉為定點數,並輕量化神經網絡(ZK友好)。嘗試將大規模參數的神經網絡轉成ZK電路,並提高證明效率(擴大ZK能力)。
總結
ZKML是AI和區塊鏈的橋樑,它的意義在於能讓區塊鏈能感知物理世界、讓智能合約能做決策、保護隱私地運行AI模型,是一個很有前景的技術。
這個技術的歷史很短卻發展很快,目前已經能將一些簡單的神經網絡模型轉化成ZK電路,可以做模型的上鍊或推理證明上鍊了。但語言相對困難,目前Ddkang/zkml聲稱可以生成ZK版的GPT2,Bert and Diffusion自然語言處理模型,但不清楚實際效果,能跑但可能無法上鍊。相信隨著網絡量技術、ZK技術、區塊鏈擴容技術的發展,語言模型的ZKML也快會變得可用。
1. 背景
(如果您對ZK、ML有所瞭解,您可以跳過這一章)。
零知識證明(ZK):零知識證明指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。ZK主要用來證明計算過程是正確執行的和保護隱私。
證明計算過程的正確性:以為ZK-rollup舉例,ZK-rollup 的運作簡單來說是將多筆交易打包在一起,發佈到L1 上,同時發佈一個證明(用零知識證明技術)來聲稱這些交易有效,一旦在L1 上驗證確實有效,那麼zk-rollup 的狀態就會更新。
隱私保護:以Aztec協議舉例,Aztec的zk.money上的資產是票據形式存在的,類似比特幣的UTXO,票據的金額是加密的,當用戶需要轉賬時,需要銷燬票據並創建新的票據給收款方以及自己(找零)。零知識證明用於保護隱私地證明銷燬和新建的票據金額相同,且用戶擁有票據的支配權。
機器學習:機器學習是人工智能的一個分支。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的算法。機器學習算法一類從資料中自動分析獲得規律,並利用規律對未知資料進行預測。機器學習已廣泛應用於計算機視覺、自然語言處理、生物特徵辨識、搜尋引擎、醫學診斷、檢測信用卡詐騙、證券市場分析、DNA序列定序、語音和手寫辨識、遊戲和機器人等領域。
2. ZKML解決什麼問題?
ZKML是近兩年在密碼學界引起轟動的一個研究和開發領域。將零知識證明用於機器學習, 這個技術主要目標是用零知識證明解決機器學習的隱私保護及可驗證問題。從而使小模型或者推理的ZKP能上鍊,成為AI和區塊鏈的橋樑:
-
模型上鍊:可以將ML模型轉成ZK電路,將小的ZKML模型存儲到區塊鏈的智能合約內。用戶可以通過調用智能合約方法來使用模型。比如,Modulus Labs的RockyBot就做了一個鏈上的AI模型,預測WETH的價格,用於交易決策。
-
模型的推理證明等上鍊:將ML模型轉成ZK電路,在鏈下進行推理,並生成ZK證明。ZK證明可以證明推理過程是正確執行的。推理結果和ZK proof提交到鏈上,供調用者參考和智能合約驗證proof。
模型/推理證明上鍊有什麼意義?
-
讓區塊鏈能感知物理世界。比如:一個運行在區塊鏈上的人臉識別模型就可以為區塊鏈感知人臉,通過鏈上AI模型區塊鏈能理解這個人臉可能是一個女性、大約多大年齡等。
-
讓智能合約能做決策。比如:鏈上的WETH價格預測模型,就可以幫助智能合約做交易決策。
-
保護隱私地運行AI模型。比如:企業花費了大量算力訓練了一個模型,希望可以以保護隱私的方式對外提供推理服務,或者用戶的輸入希望保證隱私。用ZKML既能保證模型/輸入隱私,又可以向使用者證明推理是正確進行的,實現無信任推理。
零知識證明證明在ZKML中的作用:
1.隱私保護:保護ML模型或預測過程中輸入數據的隱私。
-
數據隱私(Public Model + Private Data):我有一些敏感數據,比如,醫療數據,人臉圖像等。我可以使用ZKML對輸入數據進行隱私保護,在這些數據上運行公開的神經網絡模型,得到結果。比如人臉識別模型,
-
模型隱私(Private Model + Public Data):舉例,我耗費大量成本訓練出來的模型,我不想暴露我的模型,因此要對模型進行隱私保護。我可以用ZKML,運行一個保護隱私的私有的神經網絡模型,這個模型可以對公共輸入進行推理得到輸出。
2.可驗證性:用ZKP來證明ML推理過程的正確執行,使得機器學習的過程具備可驗證性。
-
假如,模型的執行不在我的服務器上,但我需要保證推測是正確執行的。我可以用ZKML對某個輸入和模型進行一次推理,它產生了輸出,ZKP能證明這個過程是正確執行的,即便運行過程並不在我的電腦上,我也通過驗證ZKP來知道推理是否是正確執行的,從而相信這個結果。
3. ZKML的用例
-
計算完整性
-
鏈上AI(On-chain AI):將AI模型部署在區塊鏈上,使得智能合約能通過AI模型具備決策能力。
-
Modulus Labs:RockyBot On-chain verifiable ML trading bot(區塊鏈上可驗證的機器學習交易機器人)
-
-
自我提高的區塊鏈:讓區塊鏈能用上AI的能力,根據歷史數據不斷提高和修正策略。
-
通過人工智能增強Lyra finance的AMM。
-
為Astraly創建基於AI的聲譽系統。
-
為Aztec協議創建智能合約級別的基於AI的合規功能
-
Modulus Labs:Blockchains that self-improve (link):
-
-
AIGC上鍊:AIGC生成的內容/藝術品,上鍊Mint成NFT,ZK可以證明過程的正確性,數據集中沒有使用受版權保護的圖像等。
-
ML as a Service (MLaaS) transparency (link)
-
AI安全:用AI做欺詐檢測,女巫攻擊預防等。根據智能合約數據訓練AI異常檢測模型,指標異常則暫停合約,用ZK做異常檢測證明上鍊。
-
鏈上ZKML遊戲:鏈上人工智能象棋棋手、神經網絡驅動的NFT角色等。
-
可驗證的AI模型基準測試:用ZK來提供模型的基準測試證明,對於模型的性能和效果的測試結果提供可驗證性。
-
模型訓練的正確性證明:由於模型訓練是很耗費資源的,用ZK來做模型訓練的正確性證明目前並不可用,但很多人認為技術是可行的,並且試圖希望使用ZK來證明模型使用了某個數據/沒使用某個數據,以解決AIGC的版權問題。
-
-
隱私保護
-
錢包的生物認證/數字身份
-
WordCoin正通過生物識別設備 Orb 掃描虹膜,為用戶提供唯一可驗證的數字身份。WorldCoin正在研究zkml, 計劃用來升級World ID. 升級後,用戶將能夠在其移動設備的加密存儲中自主保管其簽名生物特徵,下載虹膜代碼生成的ML模型,並在本地創建零知識證明,證明其虹膜代碼確實是使用正確的模型從簽名圖像生成的。
-
-
基於區塊鏈的機器學習賞金平臺
-
公司發佈懸賞,並提供公開數據和私有數據。公開數據用來訓練模型,私有數據用來預測。一些AI服務方將模型訓練出來,並轉成ZK電路。加密模型並提交到合約裡驗證。針對私有數據,進行預測,得到結果,並生成ZK證明,ZK證明提交到合約進行驗證。AI服務方完成一系列操作後獲得賞金。zkML: Demo for circomlib-ml on Goerli testnet
-
-
隱私保護的推理:比如,將私人患者數據用於醫學診斷,然後將敏感推斷結果(如癌症檢測結果)發送給患者。(vCNN paper, page 2/16)
-
4. ZKML的版圖
由SevenX Ventures整理的ZKML版圖來看。
-
硬件加速:多家機構正積極研發ZKP的硬件加速,這也利於ZKML的發展。一般通過FPGA、GPU以及ASIC芯片來加速ZKP的生成。比如:Accseal正在為研發ZKP硬件加速的ASIC芯片、Ingonyama在建立一個ZK加速庫ICIClE,是為支持CUDA的GPU設計的。Supranational專注於GPU加速,Cysic和Ulvetanna專注於FPGA加速。
-
輸入:要使用鏈上數據輸入,Axiom, Herodotus, Hyper Oracle, Lagrange將改善用戶對區塊鏈數據的訪問並提供更復雜的鏈上數據視圖。然後可以從導入的歷史數據中提取 ML 輸入數據
-
推理:ModulusLabs 正在開發專門用於 ZKML 的新 zkSNARK 系統。這部分可以和ZKML工具集部分合並,主要是在做模型的ZK化,以及ZK化過程中需要的工具集。Giza 是一個基於StarkNet 的機器學習平臺,專注於完全鏈上模型部署擴展。
-
計算:專注於構建去中心化計算網絡,用於訓練每個人都可以訪問的 AI 模型。它們允許人們以更低的成本使用邊緣計算資源來訓練 AI 模型。
-
去中心化訓練/算力:專注於構建去中心化計算網絡,用於訓練每個人都可以訪問的 AI 模型。它們允許人們以更低的成本使用邊緣計算資源來訓練 AI 模型。
-
ZKML工具集:參見第五章技術發展歷史。圖中的ZAMA主要用全同態加密(FHE)做機器學習的隱私保護,FHEML與ZKML相比,只做隱私不做無信任驗證。
-
用例:Worldcoin, 用ZKML來做數字身份的身份認證。用戶設備中加密保管自己的簽名的生物特徵,ZK化虹膜識別的機器學習模型,在做身份識別的時候運行模型,驗證生物特徵是否匹配。用ZKP證明運行過程的正確性。Modulars Labs做鏈上AI交易機器人。Cathie的EIP7007,zkML AIGC-NFT標準。鏈上人工智能象棋棋手、神經網絡驅動的NFT角色等。

5. ZKML的技術發展歷史
將神經網絡轉成ZK電路的主要挑戰在於:
-
電路需要定點數的運算,但神經網絡中大量使用到了浮點數。
-
模型大小的問題,大模型的轉化難度大且電路大。
ZKML庫的發展歷程如下:
- 2021年,zk-ml/linear-regression-demo,Peiyuan Liao
實現了線性迴歸電路,線性迴歸是一種非常基礎的預測算法,它假設輸出變量與輸入變量之間的線性關係,適合預測數值型變量和研究兩個或多個變量之間的關係的場景。比如:根據房屋面積和其他特徵來預測房屋價格,或根據歷史銷售數據來預測未來銷售量等等。
- 2022年, 0xZKML/zk-mnist, 0xZKML
基於MNIST數據集做了一個神經網絡的ZK電路,可以識別手寫的數字。比如:手寫一個數字2,手寫體被識別成了2,並生成了推理過程證明。該證明可以上鍊,並可以用ethers + snarkjs可以驗證鏈上證明。
實際上,zk-mnist庫目前只是把最後一層轉成了電路,沒有把完整的神經網絡轉成電路。
- 2022年,socathie/zkML,Cathie
相比zk-mnist,ZKML將完整的神經網絡轉成了電路。Cathie的zkMachineLearning提供了多個ZKML的工具包cirocmlib-ml、keras2circom幫助ML的工程師將模型轉成電路。
-
2022年11月, zk-ml/uchikoma,Peiyuan Liao
將神經網絡中的浮點運算轉移成定點運算。創建並開源了一個通用工具和框架,可將幾乎所有機器學習算法轉換為易於與區塊鏈集成的零知識證明電路。
-
視覺模型-> AIGC
-
語言模型-> 聊天機器人,寫作助手
-
線性模型和決策樹 -> 欺詐檢測,女巫攻擊預防
-
多模態模型 -> 推薦系統
訓練了一個區塊鏈友好的內容生成機器學習模型(AIGC),並轉成了ZK電路。使用它可以生成藝術品,並生成簡潔的ZK證明,最後將藝術品Mint成NFT。
-
2022年7月,2023年3月更新,zkonduit/ezkl
ezkl是一個庫和命令行工具,用於在 zk-snark (ZKML) 中對深度學習模型和其他計算圖進行推理。用Halo2作為證明系統。
可以定義計算圖,如神經網絡,然後用ezkl生成ZK-SNARK電路。針對推理生成的ZKP可以用智能合約驗證。
說是能支持100M參數的模型,但可能很耗資源。
-
2023年5月,Ddkang/zkml (Link)
zkml聲稱可以用ZK化GPT2,Bert and Diffusion模型。但可能要用的很大的內存,是否能將證明存入智能合約還不清楚。
zkml 可以驗證模型的執行在 ImageNet 上達到92.4% 的準確率,還可以在四秒內以 99% 的準確率證明一個 MNIST 模型。
-
2023年5月, zkp-gravity/0g
輕量化神經網絡,支持私有數據+公共模型。
總的來說,我們能看到ZKML技術目前的探索方向:
-
Network Quantization(網絡量化),將神經網絡中的浮點數轉為定點數,並輕量化神經網絡(ZK友好)。
-
嘗試將大規模參數的神經網絡轉成ZK電路,並提高證明效率(擴大ZK能力)。
6. 總結
ZKML是AI和區塊鏈的橋樑,它的意義在於能讓區塊鏈能感知物理世界、讓智能合約能做決策、保護隱私地運行AI模型,是一個很有前景的技術。
ZKML的歷史很短,發展很快。目前已經能將一些簡單的神經網絡模型轉化成ZK電路,可以做模型的上鍊或推理證明上鍊了。語言模型相對困難,目前Ddkang/zkml聲稱可以生成ZK版的GPT2,Bert and Diffusion模型。相信隨著網絡量技術、ZK技術、區塊鏈擴容技術的發展,語言模型的ZKML也快會變得可用。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News












