域修网 区块链 ZK黑客松指南:分析现阶段知名ZKML框架在神经**上的表现

ZK黑客松指南:分析现阶段知名ZKML框架在神经**上的表现

ZK黑客松指南:分析现阶段知名ZKML框架在神经**上的表现

免责声明:每个框架的基准测试设置完全基于我对其各自文档和代码库的解释而确定,可能存在误解,可能导致次优的环境配置、不当的测试数据预处理或参数选择不当,因此,这些因素可能会影响基准测试结果的准确性。

作为常年参加黑客松的老人,我经常纠结于这次比赛我应该选择一个什么题目才更容易获奖?从去年的 ETH Den 开始,我注意到,与零知识(ZK)相关的赛道越来越多,奖金也越发丰厚,那么问题来了:如何在有限的时间内快速开发一个 ZK 相关的应用程序来赢得奖金呢?

这个问题自从去年我参加了由 ABCDE Capital 举办的 ZK 黑客松之后就一直困扰着我。所以我开始学习与之相关的博客或者项目,我想这些肯定有助于我更深入理解 ZK,也是通过一段时间的搜索和学习,我发现了一个不错的 Repo: awesome zkml——她详细的统计了各种学术上或者工业界的成果并一一进行分类。但由于缺乏真正的应用例子和测试结果,所以帮助其实没有那么大。

因此,为了解决这么个问题,我开发了一套 ZKML 基准测试,项目由以太坊基金会 ESP 赞助(FY23-1290)。该基准测试旨在帮助开发人员了解不同框架之间的性能差异。虽然许多框架都提供自己的基准测试集,但由于影响性能的变量众多,直接比较会变得复杂。所以,我的方法侧重于在所有框架中创建统一的条件,以提供实用和直接的比较。

与 EZKL 团队已经发布的基准测试不同的是,我的测试没有侧重于传统机器学习模型,包括线性回归、随机森林分类等,而是专注于神经**模型重的 DNN 与 CNN。

基准测试概述

本项目进行了为期数月的广泛测试,评估了 4 个领先的 zkML 框架在 6 种不同 DNN 和 CNN 架构上的表现。通过对每个框架在 2500 个 MNIST 数据集上的细致分析,投入了超过 250 个小时进行设置和证明生成,才完成了这样一份文档。其中详尽结果都被细致地记录在 csv 中。

架构

测试**由深度神经**(DNN)组成,每个**都有一个输入层,后面跟着两个或三个完全连接的密集(Dense)层;以及卷积神经**(CNN),从多维输入开始,采用 Conv2D 和 AvgPooling2D 层来减少空间维度,然后进行扁平化(flatten)处理。每个模型的命名方式源于其各层的大小,由下划线 (‘_&#8217