机器学习+区块链:算法商店Algorithmia推出DanKu,用以太坊合约交易ML模型

文章正文
发布时间:2024-07-28 14:24

近日,谷歌投资的「算法商店」公司 Algorithmia 借助区块链技术,推出了一种去信任的机器学习合约,可在公共区块链比如以太坊(Ethereum)上评估和购买机器学习模型,进而创建了一个去中心化和去信任的市场,从而使得机器学习从业者有机会直接把其技能转化为现实收益,同时也允许参与者或组织从全世界征求机器学习模型。

机器学习算法的发展速度令人惊奇,但不一定在社区之中越发普及。这正是 Algorithmia 推出 DanKu 的原因所在,一个在公共区块链比如以太坊(Ethereum)上评估和购买机器学习模型的基于区块链的新协议。DanKu 可以使每个人获取高质量、客观衡量的机器学习模型。Algorithmia 相信算法的广泛获取和部署是未来 AI 走向平衡的基石,DanKu 是走向这一愿景的其中一步。

DanKu 协议利用了基于智能合约的区块链技术。合约允许所有人向可提供最佳训练的机器学习模型的所有人发布一个数据集、评估函数和货币奖励。参与者训练深度神经网络建模数据,并把其已训练的网络提交至区块链。区块链执行这些神经网络模型以评估这些提交,并保证支付给到最佳的模型。

为了交易机器学习模型,合约创建了一个去中心化和去信任的市场,从而使得机器学习从业者有机会直接把其技能转化为现实收益,同时也允许参与者或组织从全世界征求机器学习模型。这将激励更优机器学习模型的创建,使得 AI 在公司和软件智能体中更普及。拥有数据集的任何人,包括软件智能体,皆可创建合约。

Algorithmia 同时也发布了首个针对机器学习问题的 DanKu 竞赛,更多信息,详见本文最后一节。

背景

2018 来临之际,人工智能和区块链继续霸占着科技新闻头条。2017 早期,Algorithmia 询问自己能否把两项技术融合一起来解决机器学习问题。在所有的想法中,我们发现我们不是第一组人想把区块链和机器学习技术结合的人。

在所有为各种问题提供的区块链+机器学习的答案中,我们立刻注意到了想法的多样性。一个非常好的例子是 OpenMined,它允许你在你不能获取的数据上训练你的模型。

把区块链和 AI 放在一起像是在吸引眼球,我们决定在早期只展示不宣传,从而使我们聚焦在一个具体的问题定义上。

DanKu 诞生背后的思想:通过去信任机器学习合约,实现在以太坊上交易机器学习模型。

它是如何工作的?


可以将 DanKu 协议分成四个步骤来描述:

1. Bob 创建了一个 DanKu 新合约。他提交了一个数据集、一个评估标准和合约的奖励金额。


2. 机器学习从业者 Alice 下载了 Bob 提交的数据集,并独立地工作来训练一个机器学习模型。在成功地训练好模型之后,Alice 提交了她的模型到合约(即区块链)上。其他类似 Alice 的参与者也可以提交他们的模型。

3. 在提交阶段结束之后,Bob 给出测试数据集。测试数据集将用于评估提交的模型。

4. 在未来某个时间,区块链将评估提交的模型,并为获胜的模型支付奖金。如果没有模型能满足标准,奖金将退还给 Bob。

看!Bob 和其他参与者刚刚以去信任的方式交易了机器学习模型。这个合约也在区块链上运行了一个完全可用的机器学习模型!酷不酷!

注意:为了确保竞争的公平和信任,还需要执行更多的步骤,详情请参考白皮书:https://algorithmia.com/static/research/MLBlockchain/Machine_Learning_Models_on_the_Ethereum_Blockchain.pdf

在区块链上跑第一个神经网络

为了演示,我们决定写一个 DanKu 合约来实现一个神经网络。Solidity 是以太坊合约用的编程语言,它不是用通常的方式来设计机器学习模型的。它没有一个数学库,甚至没有浮点数。以太坊也在跑代码时有计算花费高的问题。这是软件工程的噩梦。

最初,我们以简单的东西开始:一个线性模型,用没有隐藏层的神经网络开始做。在这之后,我们允许上传者来指定任何简单的网络架构,如果没有计算开销太高的问题就应该可行。

我们先在本地开发所有事情,直到准备好在实际的区块链上测试。我们在以太坊 Ropsten 测试网上开始测试,之后将在以太坊区块链上测试,确保它能真正的工作。

在发布不久,就有 2.2 万台机器在以太坊上跑了第一个神经网络。那些在挖矿人看起来像机器代码的东西实际上就是神经网络。

DanKu 如何改变游戏规则

看到第一个 DanKu 合约出现是一件很令人激动的事情。但正如大多数新技术一样,DanKu 也会造成某些规则的瓦解。由于 DanKu 协议不需要信用机制,它排除了用中间人协助交换机器学习模型的需要。这种游戏规则的改变将进一步为多数人降低进入机器学习领域的门槛,有可能让开源机器模型的数量小幅增加。

这种协议还有可能用于为癌症研究等项目众筹资金。大学和研究团队可以为某些开放性问题如蛋白质折叠等创建协议。任何人都能直接为该项目贡献资金。这将吸引更多的机器学习/生物信息学从业者参与进来,从而让这些问题更有希望得到解决。该协议可以确保奖金将直接授予解决问题的人或团队。为医疗研究贡献资金的方式将变得完全不同。

DanKu 合约也有可能为 GPU 挖矿人的套利提供机会。如果存在利润的话,GPU 挖矿田/池将可能转换为机器学习训练过程。这些池可能由数据科学家管理,他们将尝试解决这些机器学习问题。然后,合约奖金将在数据科学家和 GPU 提供者之间瓜分。

其它有趣的应用将在金融领域。如果提交的模型能得到具体的金融方案,那么创建 DanKu 合约并将其金融化将变得更简单。由于评估这些预测模型的价值将变得更加容易,也可以为 DanKu 合约确定合适的价格。

DanKu 还给 AI 系统创造了自我提升的机会。当 AI 系统遇到新的数据时,它可以通过合约将需求释放出去,以自动化和无缝连接的方式提升自身。由于加密支付和交易对任何人都是开放的,DanKu 对加密货币的使用也使其成为自我提升的很有用的方式。其实,它就是另一种 API 端点。

下一步

目前,Algorithmia 还没有给出 DanKu 的明确发展路线图,但该公司认为这一项目仍有很多提升空间。以太坊的改进、合约的进一步优化以及协议设计提升都可以让 DanKu 合约不断提升。随着改进的深入,DanKu 将在未来支持更多的机器学习模型。

首次公开 DanKu 合约竞赛

随着协议的宣布,第一个公开的 DanKu 合约也已创建完成:

第一个竞赛以 2016 年美国总统选举在每个郡的投票数据为数据集。每个郡县有 3 个数据点:经度、纬度以及被选上的候选人。

举个例子,数据点可以是这样:[047606200, 122332100, 0]。其中前两个数字代表西雅图的经纬度,第三个数字,0 代表民主党候选人,1 代表共和党候选人。

本次竞赛中有 500 个数据点,其中数据集的 80% 内容用于训练,20% 用于验证。为了保证竞赛的公平性,在合约中这 500 个数据点是随机选择的。

合约的参与者需要训练一个简单的前向神经网络,他们可以根据神经网络层数、神经元与偏差的结构来定义网络。在训练之后,合约参与者需要提交他们的网络定义、权重和偏差。

DanKu 合约在 block 5121944(Feb 19th, 2018)上初始化。评估审查会寻找至少 50% 正确率的模型,胜者会得到 5 个以太币(ETH)。

本次竞赛有一份参赛指南:https://github.com/algorithmiaio/danku/tree/master/competition

Algorithmia 表示,在竞赛结束后,获胜模型将会被部署到 Algorithmia 市场上。