在本文中,我們將描述我們對 zkml 的願景以及如何使用 zkml。

原文:Open-sourcing zkml: Trustless Machine Learning for All

作者:Daniel Kang

編譯: zklog

我們很高興地宣布 zkml 的開源版本,這是我們用於生成 ML 模型執行的零知識證明的框架。zkml 建立在我們早期的論文基礎上,該論文介紹瞭如何將零知識證明擴展到 ImageNet 模型,但在可用性、功能和可擴展性方面進行了許多改進。通過我們的改進,我們可以驗證在 ImageNet 上模型的執行達到 92.4% 的準確率,這比我們最初的工作相比提高了 13%!zkml 還可以在四秒內以證明一個 MNIST 模型的準確率達到 99%。

在本文中,我們將描述我們對 zkml 的願景以及如何使用 zkml。在以後的文章中,我們將詳細描述 zkml 的幾個應用程序,包括去信任審計、去中心化提示市場和隱私保護面容 ID。我們還將描述 zkml 背後的技術挑戰和細節。於此同時,請查看我們的開源代碼!

為什麼我們需要去信任機器學習

在過去的幾年裡,我們看到了兩個不可避免的趨勢:我們的世界越來越多地向在線轉移,而 ML/AI 方法變得越來越強大。這些 ML/AI 技術已經實現了新形式的藝術和令人難以置信的生產力增長… 然而,這些技術越來越多地隱藏在封閉的 API 後面。

儘管這些供應商想要保護商業秘密,但我們希望對他們的模型有保證:訓練數據不包含受版權保護的材料或不帶有偏見。我們還希望確保特定模型在高風險場景(例如醫療行業)中執行。

為了做到這一點,模型提供者可以採取兩個步驟:承諾在一個 “隱藏” 的數據集上訓練的模型,並在訓練後提供對隱藏數據集的審計。在第一步中,模型提供者發佈在給定數據集上的訓練證明和在過程結束時的權重承諾。重要的是,權重可以保持隱藏!通過這樣做,任何第三方都可以確保訓練是誠實的。然後,可以使用零知識證明對隱藏數據進行審計。

我們一直在想像一個未來,其中 ML 模型可以被無信任地執行。正如我們將在未來的文章中描述的那樣,ML 模型的無信任執行將使一系列應用成為可能:

  1. ML 支持的應用程序的去信任審計,例如證明訓練數據集中沒有使用受版權保護的圖像,如上所述。
  2. 驗證 ML-as-a-service 提供商為受監管行業運行了特定的 ML 模型。
  3. 用於生成 AI 的去中心化提示市場,創作者可以出售對其提示的訪問權限。
  4. 保護隱私的生物識別認證,如讓智能合約使用人臉識別。

用於無信任 ML 的 ZK-SNARKs

為了無需信任地執行 ML 模型,我們可以利用強大的密碼學工具。我們專注於 ZK-SNARKs(零知識簡潔非交互式知識證明),這是一種允許證明者使用簡短證明證明任意計算正確完成的工具。ZK-SNARKs 還有一個驚人的特性,即可以隱藏輸入和中間變量(例如,激活)!

在 ML 的上下文中,我們可以使用 ZK-SNARK 來證明在給定輸入上正確執行了模型,同時隱藏模型權重、輸入和輸出。我們還可以根據手頭的應用程序選擇性地揭示任何權重、輸入或輸出。

有了這個強大的原語,我們可以實現無信任審計和我們上面描述的所有其他應用!

zkml:邁向無信任機器學習的第一步

作為實現無信任 ML 模型執行的第一步,我們已經開源了 zkml。要使用 zkml,請考慮通過生成 ZK-SNARK 來證明 MNIST 模型的執行。使用 zkml,我們可以運行以下命令:


# 安装 rust,如果你已经安装了 rust,则跳过
curl --proto'=https' --tlsv1.2 -sSf https://sh.rustup.rs |sh

gitclone https://github.com/ddkang/zkml.git
cd zkml
rustup overrideset nightly
cargo build --release
mkdir params_kzg

# 第一次运行需要 ~8 秒,第二次运行需要 ~4 秒
。/目标/发布/time_circuit 示例/mnist/model.msgpack 示例/mnist/inp.msgpack kzg

在普通的筆記本電腦上,證明時間只需 4 秒,消耗約 2GB 的 RAM。我們也是第一個能夠在 ImageNet 規模上計算 ZK-SNARK 的框架。作為預覽,我們可以在不到 4 分鐘的時間內在 ImageNet 上實現非凡的準確率,並在 45 分鐘的證明時間內實現 92.4% 的準確率:

與我們的初始工作相比,我們的準確性提高了 13%,驗證成本降低了 6 倍,並將驗證時間縮短了 500 倍!

我們對 zkml 的主要關注點是高效率。現有方法是資源密集型的,需要數天時間來證明小模型、大量的內存或生成大型證明。我們將在未來的文章中詳細介紹 zkml 的工作原理。

我們相信高效性至關重要,因為它能夠實現任何人都可以無需信任地執行機器學習的未來,我們將繼續朝著這個目標努力。目前,像 GPT-4 和 Stable Diffusion 這樣的模型還無法實現,而我們希望盡快改變這種情況!

此外,zkml 可以啟用無信任審計和我們提到的其他所有應用!除了性能改進之外,我們還在開發新功能,包括啟用培訓證明和去信任審計。我們還一直在為視覺模型之外的模型添加功能。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。