什么是 zkML?人工智能之后的下一个宏大叙事?

什么是 zkML?人工智能之后的下一个宏大叙事?

什么是 zkML?
简言之, zkML = ZKP + ML

其中:ZKP = 零知识证明,ML = 机器学习。

所以: zkML = 零知识证明机器学习

一言以蔽之,就是 在机器学习模型上使用 ZKP 技术生成输出内容,同时不泄露训练过程中使用的敏感数据,并保证计算的正确性。

zkML(零知识机器学习)是一种在不暴露模型输入或模型参数的情况下,使用zkSNARK(一种零知识证明)来证明机器学习推理正确性的方法。根据隐私信息的不同,zkML的用例可以分为以下几种类型:

公共模型+私有数据:在这种情况下,zkML可用于在敏感数据上训练和评估机器学习模型,而无需向任何人透露数据。这对于医疗诊断和金融欺诈检测等应用可能非常重要。此外,一些应用还在生物特征数据认证上使用zkML来构建人性证明服务。
私有模型+公共数据:在这种情况下,zkML可用于确保机器学习模型的一致性。例如,在去中心化的数据科学竞赛中,参与者可以使用zkML来证明他们的模型在公共测试数据上的准确性,而无需透露训练中的模型权重。
此外,Daniel Kang提出的zkml是一个构建ZK-SNARK中ML模型执行证明的框架,该框架能够证明一个MNIST电路,使用大约5GB的内存和大约16秒的运行时间。

zkML 能做什么?
在推理的整个过程中,涉及到两种可能泄露敏感数据的隐私问题:

成员推理攻击(Membership Inference attacks):攻击者可以分析模型的输出来推断特定数据点是否是训练过程的一部分;

模型反演攻击(Model Inversion attacks):通过构造特定提示,攻击者可能尝试从输出中重建训练数据的片段;

zkML 能对此提供怎样的帮助? zkML 允许在不暴露训练数据本身的情况下对敏感数据进行推理。

这是通过使用 Plonky、Halo 2 等 ZK 证明系统实现的,目前 Plonky 2 是最快的 ZK 证明系统。

有了 zkML,攻击者将永远无法直接访问训练数据。

为您推荐