在本文中,我们将描述我们对 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.gitcd zkmlrustup overrideset nightlycargo build --releasemkdir 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 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。