ML2SC:将机器学习模型作为智能合约部署在区块链上
机器学习
2024-04-29 v1 密码学与安全
摘要
随着对人工智能安全性的日益关注,需要信任机器学习(ML)模型所执行的计算。区块链技术以其透明且防篡改的方式记录数据和运行计算而闻名,可以提供这种信任。在链上部署ML分类器的一个重大挑战是,虽然ML模型通常使用PyTorch等ML库用Python编写,但部署在EVM兼容区块链上的智能合约是用Solidity编写的。我们提出了机器学习到智能合约(ML2SC),这是一个PyTorch到Solidity的翻译器,可以自动将用PyTorch编写的多层感知器(MLP)模型转换为Solidity智能合约版本。ML2SC使用定点数学库来近似浮点计算。部署生成的智能合约后,我们可以使用PyTorch在链下训练模型,然后通过函数调用将获得的权重和偏置传输到智能合约。最后,模型推理也可以通过提供输入的函数调用来完成。我们对与部署、更新模型参数以及在链上运行这些模型推理相关的Gas成本进行了数学建模,表明Gas成本随MLP的各种参数线性增加。我们给出了与模型匹配的实证结果。我们还评估了分类精度,表明通过我们透明的链上实现获得的输出与使用PyTorch的原始链下实现相同。
引用
@article{arxiv.2404.16967,
title = {ML2SC: Deploying Machine Learning Models as Smart Contracts on the Blockchain},
author = {Zhikai Li and Steve Vott and Bhaskar Krishnamachar},
journal= {arXiv preprint arXiv:2404.16967},
year = {2024}
}