Foresight Ventures: 火熱的zkML 到底是什麼?

zkML 是AI 和區塊鏈的橋樑,它的意義在於能讓區塊鏈能感知物理世界、讓智能合約能做決策、保護隱私地運行AI 模型。

摘要

  • 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:自我改進的區塊鏈(鏈接):
  • AIGC 上鍊:AIGC 生成的內容/ 藝術品,上鍊Mint 成NFT,ZK 可以證明過程的正確性,數據集中沒有使用受版權保護的圖像等。
  • ML 即服務(MLaaS) 透明度(鏈接)
  • 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 電路的主要挑戰在於:

  1. 電路需要定點數的運算,但神經網絡中大量使用到了浮點數。
  2. 模型大小的問題,大模型的轉化難度大且電路大。

ZKML 庫的發展歷程如下:

1.2021, zk-ml/linear-regression-demo, Peiyuan Liao

  • 實現了線性回歸電路,線性回歸是一種非常基礎的預測算法,它假設輸出變量與輸入變量之間的線性關係,適合預測數值型變量和研究兩個或多個變量之間的關係的場景。比如:根據房屋面積和其他特徵來預測房屋價格,或根據歷史銷售數據來預測未來銷售量等等。

2.2022年,0xZKML/zk-mnist,0xZKML

  • 基於MNIST 數據集做了一個神經網絡的ZK 電路,可以識別手寫的數字。比如:手寫一個數字2,手寫體被識別成了2,並生成了推理過程證明**。 **該證明可以上鍊,並可以用ethers + snarkjs 可以驗證鏈上證明。
  • 實際上,zk-mnist 庫目前只是把最後一層轉成了電路,沒有把完整的神經網絡轉成電路。

3.2022 年,socathie/zkML,Cathie

  • 相比zk-mnist,ZKML 將完整的神經網絡轉成了電路。 Cathie 的zkMachineLearning 提供了多個ZKML 的工具包cirocmlib-ml、keras2circom 幫助ML 的工程師將模型轉成電路。

4.2022 年11 月, zk-ml/uchikoma,Peiyuan Liao

  • 將神經網絡中的浮點運算轉移成定點運算。創建並開源了一個通用工具和框架,可將幾乎所有機器學習算法轉換為易於與區塊鏈集成的零知識證明電路。
  • 視覺模型-> AIGC
  • 語言模型-> 聊天機器人,寫作助手
  • 線性模型和決策樹-> 欺詐檢測,女巫攻擊預防
  • 多模態模型-> 推薦系統
  • 訓練了一個區塊鏈友好的內容生成機器學習模型(AIGC),並轉成了ZK 電路。 使用它可以生成藝術品,並生成簡潔的ZK 證明,最後將藝術品Mint 成NFT

5.2022 年7 月,2023 年3 月更新,zkonduit/ezkl

  • ezkl是一個庫和命令行工具,用於在zk-snark (ZKML) 中對深度學習模型和其他計算圖進行推理。用Halo2 作為證明系統。
  • 可以定義計算圖,如神經網絡,然後用ezkl 生成ZK-SNARK 電路。針對推理生成的ZKP 可以用智能合約驗證。
  • 說是能支持100M 參數的模型,但可能很耗資源。

6.2023 年5 月,Ddkang/zkml (Link)

  • zkml 聲稱可以用ZK 化GPT2,Bert and Diffusion 模型。但可能要用的很大的內存,是否能將證明存入智能合約還不清楚。
  • zkml 可以驗證模型的執行在ImageNet 上達到92.4% 的準確率,還可以在四秒內以99% 的準確率證明一個MNIST 模型。

7.2023 年5 月, zkp-gravity/0g

  • 輕量化神經網絡,支持私有數據+ 公共模型。

總的來說,我們能看到ZKML 技術目前的探索方向:

  1. Network Quantization(網絡量化),將神經網絡中的浮點數轉為定點數,並輕量化神經網絡(ZK 友好)。
  2. 嘗試將大規模參數的神經網絡轉成ZK 電路,並提高證明效率(擴大ZK 能力)。

6. 總結

  1. ZKML 是AI 和區塊鏈的橋樑,它的意義在於能讓區塊鏈能感知物理世界、讓智能合約能做決策、保護隱私地運行AI 模型,是一個很有前景的技術。
  2. ZKML 的歷史很短,發展很快。目前已經能將一些簡單的神經網絡模型轉化成ZK 電路,可以做模型的上鍊或推理證明上鍊了。語言模型相對困難,目前Ddkang/zkml 聲稱可以生成ZK 版的GPT2,Bert and Diffusion 模型。 相信隨著網絡量技術、ZK 技術、區塊鏈擴容技術的發展,語言模型的ZKML 也快會變得可用
查看原文
本頁面內容僅供參考,非招攬或要約,也不提供投資、稅務或法律諮詢。詳見聲明了解更多風險披露。
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate.io APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)