什么是虛擬機(jī)VM
前兩天Fetch.AI團(tuán)隊(duì)宣布虛擬機(jī)(VM)現(xiàn)在已經(jīng)上線。VM是一種模擬處理器的計(jì)算機(jī)程序,當(dāng)通過網(wǎng)絡(luò)進(jìn)行交易時(shí),它用于執(zhí)行智能合約(另一個(gè)計(jì)算機(jī)程序)。
在Fetch.AI中人工智能和其他分布式分類賬VM的集成非常重要,因?yàn)樗С种悄芎霞s的部署,并且事務(wù)能在多個(gè)地方運(yùn)行。簡而言之,它支持在獲取時(shí)跨所有計(jì)算機(jī),并可以大規(guī)模復(fù)制智能合約的執(zhí)行。人工智能網(wǎng)絡(luò),涉及到不同類型的硬件。。智能賬本,即每個(gè)智能合約的記錄都被存儲(chǔ)。
智能合約很重要,因?yàn)樗鼈兪狗植际椒诸愘~具有“通用功能”。開發(fā)人員能夠利用底層基礎(chǔ)設(shè)施的潛力構(gòu)建智能合約來解決特定的問題。在VM中,我們打開了獲取功能。向開發(fā)者社區(qū)提供人工智能,這樣他們就可以構(gòu)思和部署新的創(chuàng)新。
您可能熟悉以太坊及其虛擬機(jī)。這個(gè)VM代表了一個(gè)重大突破,因?yàn)樗С种悄芎霞s的大規(guī)模部署。從那以后,我們看到以太坊虛擬機(jī)被用于各種各樣的事情,從簡單的保險(xiǎn)智能合約,如“飛機(jī)延誤超過3個(gè)小時(shí),向保單持有人支付賠償金”,到加密貓,以及介于兩者之間的許多事情。但隨著 Fetch.AI的出現(xiàn),我們專注于下一層問題的分散化解決方案,通常需要先進(jìn)的機(jī)器學(xué)習(xí)算法。
今天的區(qū)塊鏈虛擬機(jī)不是為解決數(shù)據(jù)密集型機(jī)器學(xué)習(xí)問題而設(shè)計(jì)的,不適合運(yùn)行。在以太坊VM中,它的設(shè)計(jì)需要“gas”來執(zhí)行計(jì)算功能,這是一個(gè)防止垃圾郵件的聰明解決方案,但對(duì)于我們所關(guān)注的用例來說,它的成本太高。事實(shí)上, Fetch.AI虛擬機(jī)是第一個(gè)也是唯一一個(gè)專門為數(shù)據(jù)密集型分散機(jī)器學(xué)習(xí)任務(wù)設(shè)計(jì)的虛擬機(jī)。
我們?cè)O(shè)想我們的網(wǎng)絡(luò)用戶將復(fù)雜的優(yōu)化和調(diào)度問題打包在一個(gè)智能合約中,然后可以在VM中進(jìn)行編碼和執(zhí)行。“礦工們”在叫賣。然后,作為網(wǎng)絡(luò)共識(shí)過程的一部分,人工智能網(wǎng)絡(luò)相互競爭以獲得回報(bào)。它們通過為整個(gè)問題或問題的一個(gè)子集提供最佳算法解決方案來做到這一點(diǎn)。
Fetch.AI智能合約可能包含包裹遞送優(yōu)化等問題。例如,他們可能會(huì)解決這樣的問題:“我如何在一個(gè)城市里組織一組獨(dú)立的送貨司機(jī),以最有效地將一系列包裹送到已知的目的地,并在這些包裹的送貨時(shí)間前后簽訂具體的服務(wù)水平協(xié)議?”這類問題需要在使用不同硬件的各種分布式機(jī)器上執(zhí)行統(tǒng)計(jì)分析和高級(jí)程序的能力。
我們?cè)诒镜氐臄?shù)學(xué)圖書館投資了一年多
目前VM不適合統(tǒng)計(jì)分析任務(wù)的原因之一是缺乏可用的數(shù)學(xué)精度。如果你正在標(biāo)準(zhǔn)化硬件上構(gòu)建一個(gè)集中的機(jī)器學(xué)習(xí)模型,這就不是問題。LAPACK提供了一個(gè)巨大的數(shù)學(xué)庫,開發(fā)人員一直都在利用它,并自20世紀(jì)50年代以來一直在維護(hù)它。問題是,LAPACK使用“double”和“float”標(biāo)準(zhǔn)來指定十進(jìn)制數(shù)。
然而,智能合約只能用于指定數(shù)字的“整數(shù)”標(biāo)準(zhǔn)。這有一個(gè)很好的理由。當(dāng)使用不同的硬件處理器時(shí),雙精度浮點(diǎn)數(shù)和浮點(diǎn)數(shù)提供的數(shù)字表示略有不同。所以,Raspberry Pi 上的數(shù)字可能與英特爾處理器上相同數(shù)字的表示方式不同。對(duì)于分散化機(jī)器學(xué)習(xí)來說,這是一個(gè)問題。
當(dāng)您在實(shí)踐分散式計(jì)算時(shí),您必須具有完全的共識(shí)性和可再現(xiàn)性,否則您將得到相同數(shù)目的但非常不同的哈希值。當(dāng)然,這些對(duì)用戶來說都不重要,但對(duì)機(jī)器來說很重要。
記住,沒有為整數(shù)構(gòu)建的數(shù)學(xué)庫。這對(duì)于希望創(chuàng)建統(tǒng)計(jì)分析智能合約的開發(fā)人員來說是一個(gè)真正令人頭痛的問題。這就是為什么我們直接在Fetch中創(chuàng)建了著名的BLAS數(shù)學(xué)庫的本地版本——AI VM。因?yàn)檫@使我們能夠很容易地編寫統(tǒng)計(jì)函數(shù),如矩陣與向量的乘法。其結(jié)果是能夠在智能合約中進(jìn)行非常高級(jí)的統(tǒng)計(jì)分析,并且可以在任何機(jī)器上進(jìn)行復(fù)制。我們花了一年多的時(shí)間來實(shí)現(xiàn)這一目標(biāo),因?yàn)檫@是我們實(shí)現(xiàn)協(xié)同智能合約愿景的關(guān)鍵。