原文標題:《AN INTRODUCTION TO ZERO-KNOWLEDGE MACHINE LEARNING (ZKML)》
原文來源:Worldcoin
原文編譯:深潮TechFlow
Zero-Knowledge 機器學習(ZKML)是最近正在密碼學界引起轟動的一個研究和開發領域。但它是什麼,有什麼用處呢?首先,讓我們把這個術語分解成它的兩個組成部分,並解釋一下它們是什麼。
什麼是ZK?
零知識證明是一種密碼協議,其中一方(證明者)可以向另一方(驗證者)證明一個給定的陳述是真實的,而不洩露除該陳述為真以外的任何附加信息。這是一個正在各個方面取得巨大進展的研究領域,涵蓋了從研究到協議實施和應用的所有方面。
ZK 提供的兩個主要「原語」(或者說構建塊)是能夠為一組給定的計算創建具有計算完整性證明的能力,其中證明比執行計算本身要容易地多。 (我們稱這種屬性為「簡潔性」)。 ZK 證明也提供了隱藏計算中某些部分同時保持計算正確性的選項。 (我們稱這種屬性為「零知識性」)。
生成零知識證明需要非常大的計算量,大約比原始計算貴100 倍。這意味著,在某些情況下由於最佳硬件上生成它們所需的時間使其不切實際,因此不能計算零知識證明。
然而,在近年來密碼學、硬件和分佈式系統領域的進步已經使零知識證明成為了越來越強大的計算可行的選擇。這些進展已經為可以使用計算密集型證明的協議的創建提供了可能,從而擴大了新應用程序的設計空間。
ZK 使用案例
零知識密碼學是Web3 空間中最流行的技術之一,因為它允許開發人員構建可擴展和/或私有的應用程序。以下是一些實踐中如何使用它的示例(儘管請注意,這些項目中許多都還在進行中):
1. 通過ZK rollups 擴展以太坊
Starknet
Scroll
Polygon Zero,Polygon Miden,Polygon zkEVM
zkSync
2. 構建保護隱私的應用程序
Semaphore
MACI
Penumbra
Aztec Network
3. 身份原語和數據來源
WorldID
Sismo
Clique
Axiom
4. 第一層協議
Zcash
Mina
隨著ZK 技術的成熟,我們相信將會出現新的應用程序的爆發,因為構建這些應用程序所使用的工具將需要更少的領域專業知識,對於開發人員來說將會更加容易使用。
機器學習
機器學習是人工智能(「AI」)領域的一個研究方向,使得計算機可以自動從經驗中學習和改進,無需明確地進行編程。它利用算法和統計模型來分析和識別數據中的模式,然後基於這些模式進行預測或決策。機器學習的最終目標是開發出能夠自適應學習、不需要人類干預以及在醫療保健、金融和交通等各個領域解決複雜問題的智能係統。
最近,您可能已經看到了大型語言模型(如chatGPT 和Bard)以及文本到圖像的模型(如DALL-E 2、Midjourney 或Stable Diffusion)的進展。隨著這些模型變得越來越好,並且能夠執行更廣泛的任務,了解是哪個模型執行了這些操作就變得非常重要,還是操作由人類執行。在接下來的部分中,我們將探討這個思路。
ZKML 的動機和當前努力
我們生活在一個世界上,AI/ML 生成的內容越來越難以與人類生成的內容區分開來。零知識密碼學將使我們能夠做出這樣的聲明:「給定一段內容C,它是由模型M 應用於一些輸入X 生成的。」我們將能夠驗證某個輸出是否是由大型語言模型(如chatGPT)或文本到圖像模型(如DALL-E 2)等任何其他我們為其創建了零知識電路表示的模型所生成的。這些證明的零知識屬性將使我們能夠根據需要也隱藏輸入或模型的某些部分。一個很好的例子是在一些敏感數據上應用機器學習模型,在不透露輸入到第三方的情況下,用戶可以知道他們的數據在模型推理後的結果(例如,在醫療行業)。
注:當我們談論ZKML 時,我們是指創建ML 模型推理步驟的零知識證明,而不是關於ML 模型訓練(它本身已經非常計算密集)。目前,現有技術水平的零知識系統加上高性能硬件仍然相差幾個數量級,無法證明當前可用的大型語言模型(LLMs)等龐大的模型,但是在創建較小模型的證明方面已經取得了一些進展。
我們對零知識密碼學在為ML 模型創建證明的上下文中的現有技術水平進行了一些研究,並創建了一個聚合相關研究、文章、應用程序和代碼庫的文章集。 ZKML 的資源可以在GitHub 上的ZKML 社區的awesome-zkml 存儲庫中找到。
Modulus Labs 團隊最近發布了一篇名為「智能的成本」的論文,其中對現有的ZK 證明系統進行了基準測試,並列舉了不同大小的多個模型。目前,使用像plonky2 這樣的證明系統,在強大的AWS 機器上運行50 秒左右,可以為約1800 萬個參數的模型創建證明。以下是該論文中的一張圖表:
另一個旨在改進ZKML 系統技術水平的倡議是Zkonduit 的ezkl 庫,它允許您創建對使用ONNX 導出的ML 模型的ZK 證明。這使得任何ML 工程師都能夠為他們的模型的推理步驟創建ZK 證明,並向任何正確實現的驗證器證明輸出。
有幾個團隊正在改進ZK 技術,為ZK 證明內部發生的操作創建優化硬件,並針對特定用例構建這些協議的優化實現。隨著技術的成熟,更大的模型將在較不強大的機器上短時間內進行ZK 證明。我們希望這些進展將使新的ZKML 應用程序和用例得以出現。
潛在的使用案例
為了確定ZKML 是否適用於特定的應用,我們可以考慮ZK 密碼學的特性將如何解決與機器學習相關的問題。這可以用一個Venn 圖來說明:
定義:
1.Heuristic optimization—一種問題解決方法,它使用經驗法則或「啟發式」來找到艱難的問題的好解決方案,而不是使用傳統的優化方法。啟發式優化方法旨在在相對的重要性和優化難度下,在合理的時間內找到好的或「足夠好」的解決方案,而不是嘗試找到最優解決方案。
2.FHE ML—完全同態加密ML 允許開發人員以保護隱私的方式訓練和評估模型;然而,與ZK 證明不同,沒有辦法通過密碼學方式證明所執行的計算的正確性。
像Zama.ai 這樣的團隊正在從事這個領域的工作。
3.ZK vs Validity—在行業中,這些術語通常被互換使用,因為有效性證明是ZK 證明,不會隱藏計算或其結果的某些部分。在ZKML 的上下文中,大多數當前的應用程序都利用了ZK 證明的有效性證明方面。
4.Validity ML—ZK 證明ML 模型,在其中沒有計算或結果被保密。它們證明計算的正確性。
以下是一些潛在的ZKML 用例示例:
1. 計算完整性(有效性ML)
Modulus Labs
基於鏈上可驗證的ML 交易機器人- RockyBot
自我改進視覺區塊鏈(示例):
增強Lyra 金融期權協議AMM 的智能特性
為Astraly 創建透明的基於AI 的聲譽系統(ZK oracle)
使用ML for Aztec Protocol(具有隱私功能的zk-rollup)致力於合同級合規工具所需的技術突破。
2. 機器學習即服務(MLaaS) 透明;
3.ZK 異常/欺詐檢測:
這種應用場景使得可創建針對可利用性/欺詐的ZK 證明成為可能。異常檢測模型可以在智能合約數據上進行訓練,並由DAOs 同意作為有趣的度量標準,以便能夠自動化安全程序,如更主動、預防性地暫停合約。已有初創企業正在研究在智能合約環境中使用ML 模型進行安全目的的方法,因此ZK 異常檢測證明似乎是自然的下一步。
4.ML 推理的通用有效性證明:能夠輕鬆證明和驗證輸出是給定模型和輸入對的乘積。
5. 隱私(ZKML)
6. 去中心化的Kaggle:證明模型在某些測試數據上的準確率大於x%,而不會顯示權重。
7. 隱私保護推理:將對私人患者數據的醫療診斷輸入模型,並將敏感的推理(例如,癌症測試結果)發送給患者。
8.Worldcoin:
IrisCode 的可升級性:World ID 用戶將能夠在他們的移動設備的加密存儲中自我保管其生物特徵,下載用於生成IrisCode 的ML 模型並在本地創建零知識證明,以證明其IrisCode 已成功創建。這個IrisCode 可以被無需許可地插入註冊的Worldcoin 用戶之一,因為接收的智能合約可以驗證零知識證明,從而驗證IrisCode 的創建。這意味著,如果Worldcoin 將來升級機器學習模型以一種破壞與其之前版本兼容性的方式創建IrisCode,用戶就不必再次去Orb,而可以在設備上本地創建這個零知識證明。
Orb 安全性:目前,Orb 在其受信任的環境中執行幾個欺詐和篡改檢測機制。然而,我們可以創建一個零知識證明,表明這些機制在拍攝圖像和生成IrisCode 時是活動的,以便為Worldcoin 協議提供更好的活體保證,因為我們可以完全確定這些機制在整個IrisCode 生成過程中都將運行。
總之,ZKML 技術有著廣泛的應用前景,並且正在快速發展。隨著越來越多的團隊和個人加入到這個領域,我們相信ZKML 的應用場景將會更加多樣化和廣泛化。