什么是虚拟机VM
扫描二维码
随时随地手机看文章
前两天Fetch.AI团队宣布虚拟机(VM)现在已经上线。VM是一种模拟处理器的计算机程序,当通过网络进行交易时,它用于执行智能合约(另一个计算机程序)。
在Fetch.AI中人工智能和其他分布式分类账VM的集成非常重要,因为它支持智能合约的部署,并且事务能在多个地方运行。简而言之,它支持在获取时跨所有计算机,并可以大规模复制智能合约的执行。人工智能网络,涉及到不同类型的硬件。。智能账本,即每个智能合约的记录都被存储。
智能合约很重要,因为它们使分布式分类账具有“通用功能”。开发人员能够利用底层基础设施的潜力构建智能合约来解决特定的问题。在VM中,我们打开了获取功能。向开发者社区提供人工智能,这样他们就可以构思和部署新的创新。
您可能熟悉以太坊及其虚拟机。这个VM代表了一个重大突破,因为它支持智能合约的大规模部署。从那以后,我们看到以太坊虚拟机被用于各种各样的事情,从简单的保险智能合约,如“飞机延误超过3个小时,向保单持有人支付赔偿金”,到加密猫,以及介于两者之间的许多事情。但随着 Fetch.AI的出现,我们专注于下一层问题的分散化解决方案,通常需要先进的机器学习算法。
今天的区块链虚拟机不是为解决数据密集型机器学习问题而设计的,不适合运行。在以太坊VM中,它的设计需要“gas”来执行计算功能,这是一个防止垃圾邮件的聪明解决方案,但对于我们所关注的用例来说,它的成本太高。事实上, Fetch.AI虚拟机是第一个也是唯一一个专门为数据密集型分散机器学习任务设计的虚拟机。
我们设想我们的网络用户将复杂的优化和调度问题打包在一个智能合约中,然后可以在VM中进行编码和执行。“矿工们”在叫卖。然后,作为网络共识过程的一部分,人工智能网络相互竞争以获得回报。它们通过为整个问题或问题的一个子集提供最佳算法解决方案来做到这一点。
Fetch.AI智能合约可能包含包裹递送优化等问题。例如,他们可能会解决这样的问题:“我如何在一个城市里组织一组独立的送货司机,以最有效地将一系列包裹送到已知的目的地,并在这些包裹的送货时间前后签订具体的服务水平协议?”这类问题需要在使用不同硬件的各种分布式机器上执行统计分析和高级程序的能力。
我们在本地的数学图书馆投资了一年多
目前VM不适合统计分析任务的原因之一是缺乏可用的数学精度。如果你正在标准化硬件上构建一个集中的机器学习模型,这就不是问题。LAPACK提供了一个巨大的数学库,开发人员一直都在利用它,并自20世纪50年代以来一直在维护它。问题是,LAPACK使用“double”和“float”标准来指定十进制数。
然而,智能合约只能用于指定数字的“整数”标准。这有一个很好的理由。当使用不同的硬件处理器时,双精度浮点数和浮点数提供的数字表示略有不同。所以,Raspberry Pi 上的数字可能与英特尔处理器上相同数字的表示方式不同。对于分散化机器学习来说,这是一个问题。
当您在实践分散式计算时,您必须具有完全的共识性和可再现性,否则您将得到相同数目的但非常不同的哈希值。当然,这些对用户来说都不重要,但对机器来说很重要。
记住,没有为整数构建的数学库。这对于希望创建统计分析智能合约的开发人员来说是一个真正令人头痛的问题。这就是为什么我们直接在Fetch中创建了著名的BLAS数学库的本地版本——AI VM。因为这使我们能够很容易地编写统计函数,如矩阵与向量的乘法。其结果是能够在智能合约中进行非常高级的统计分析,并且可以在任何机器上进行复制。我们花了一年多的时间来实现这一目标,因为这是我们实现协同智能合约愿景的关键。