來源:PermaDAO
AO是為鏈上AI設(shè)計(jì)的異步通信網(wǎng)絡(luò),通過與Arweave的結(jié)合,實(shí)現(xiàn)高性能鏈下計(jì)算和永久數(shù)據(jù)存儲(chǔ)。文章介紹了在AO上運(yùn)行AI進(jìn)程的步驟,盡管目前僅支持小型模型,但未來將支持更復(fù)雜的計(jì)算能力,AI在鏈上的發(fā)展前景廣闊。什么是AO上的AI?
AO天生就是為鏈上AI設(shè)計(jì)的
2023年被稱為AI的元年,各種大模型以及AI的應(yīng)用層出不窮。Web3的世界中,AI的發(fā)展也是關(guān)鍵的一環(huán)。但是一直以來,“Blockchain不可能三角”讓Blockchain的計(jì)算一直處于昂貴、擁堵的狀態(tài),阻礙了AI在Web3上的發(fā)展。但是現(xiàn)在這種情況在AO上已經(jīng)得到了初步改善,并且展現(xiàn)了無限的潛力。
AO被設(shè)計(jì)為一個(gè)消息驅(qū)動(dòng)的異步通信網(wǎng)絡(luò);诖鎯(chǔ)共識(shí)范式(SCP),AO運(yùn)行在Arweave之上,實(shí)現(xiàn)了與Arweave的無縫集成。在這種創(chuàng)新的范式中,存儲(chǔ)(共識(shí))與計(jì)算被有效地分離,使得鏈下計(jì)算和鏈上共識(shí)成為可能。
高性能計(jì)算:智能合約的計(jì)算在鏈下執(zhí)行,不再受制于鏈上的區(qū)塊共識(shí)過程,從而大大擴(kuò)展了計(jì)算性能。不同Node上的各個(gè)進(jìn)程可以獨(dú)立地執(zhí)行并行計(jì)算和本地驗(yàn)證,而無需像傳統(tǒng)的EVM架構(gòu)中那樣等待所有Node完成重復(fù)計(jì)算和全局一致性驗(yàn)證。Arweave為AO提供了所有指令、中間狀態(tài)和計(jì)算結(jié)果的永久存儲(chǔ),作為AO的數(shù)據(jù)可用層和共識(shí)層。因此,高性能計(jì)算(包括使用GPU進(jìn)行運(yùn)算)都成為了可能。
永存的數(shù)據(jù):這是Arweave一直以來所致力于做的事情。我們知道AI的訓(xùn)練中很關(guān)鍵的一個(gè)環(huán)節(jié)就是訓(xùn)練數(shù)據(jù)的收集,而這正好是Arweave的強(qiáng)項(xiàng)。至少200年時(shí)間的數(shù)據(jù)永存,讓AO+Arweave的生態(tài)中擁有了豐富的數(shù)據(jù)集。
此外,AO和Arweave的創(chuàng)始人Sam在今年6月的一次發(fā)布會(huì)上演示了第一個(gè)基于aos-llama的AI進(jìn)程。為了保證性能,并沒有使用之前一直使用的Lua,而是使用了C編譯的wasm。
使用的模型是huggingface上開源的llama2?梢栽贏rweave上下載模型,是一個(gè)約2.2GB的模型文件。
Llamaland
LlamaLand是一款前沿的大型多人在線(MMO)游戲,它以AI技術(shù)為核心,構(gòu)建于先進(jìn)的AO平臺(tái)之上。也是在AO+Arweave生態(tài)上的首個(gè)AI應(yīng)用。其中最主要的特征就是llamacoin的發(fā)行,是100%AI控制的,也就是用戶跟Llamaking祈愿,得到Llamaking賞賜的llamacoin。另外,地圖中的LlamaJoker、Llamaoracle也都是基于AI進(jìn)程完成的NPC。
運(yùn)行AI進(jìn)程需要耗費(fèi)少量的wAR。通過arconnect轉(zhuǎn)成功以后,會(huì)在進(jìn)程中看到Action=Credit-Notice的一條消息。執(zhí)行一次AI需要消耗wAR,但是消耗的并不多,作為demo之用的話,向進(jìn)程轉(zhuǎn)0.001wAR即可。
注意:wAR可以通過AOX跨鏈橋獲取,跨鏈需要3~30分鐘。
可以通過以下命令查看當(dāng)前進(jìn)程中wAR的余額。下面是我執(zhí)行了5次左右還剩下的wAR。消耗的數(shù)量跟token的長(zhǎng)度以及當(dāng)前運(yùn)行一次大模型的實(shí)時(shí)價(jià)格有關(guān)系。另外,如果當(dāng)前請(qǐng)求處于擁堵狀態(tài),那么也會(huì)需要一個(gè)額外的費(fèi)用。(在文章最后,我會(huì)根據(jù)代碼詳細(xì)解析下費(fèi)用計(jì)算,感興趣的小伙伴可以看看)
注意:這里小數(shù)點(diǎn)為12位,也就是說999999673表示的是0.000999999673個(gè)wAR。
3.安裝/更新APM
APM全稱為aopackagemanagement,構(gòu)建AI進(jìn)程的話,需要通過APM安裝對(duì)應(yīng)的包。執(zhí)行上述命令,出現(xiàn)對(duì)應(yīng)的提示,就是安裝/更新APM成功了。
4.安裝LlamaHerder
執(zhí)行完成以后,在進(jìn)程內(nèi)會(huì)有一個(gè)Llama對(duì)象,可以通過輸入Llama進(jìn)行訪問,那么 LlamaHerder就是安裝成功了。
注意:這里如果運(yùn)行的進(jìn)程中沒有足夠的wAR則Llama.run方法是無法執(zhí)行的,會(huì)出現(xiàn)TransferError。需要按照第一步充值wAR。
5.HelloLlama
接下來我們做一個(gè)簡(jiǎn)單的交互。問一下AI進(jìn)程“生命的意義是什么?”,限定了最多生成20個(gè)token。然后把結(jié)果放到OUTPUTS中。AI進(jìn)程的執(zhí)行需要幾分鐘的時(shí)間,如果有AI任務(wù)排隊(duì)的話,則需要等待更久。
如下面代碼中的返回,AI回復(fù)“生命的意義是一個(gè)深刻而哲學(xué)的問題,一直吸引著人類。”
更多
在鏈上實(shí)現(xiàn)AI的能力,在之前是無法想象的東西,F(xiàn)在已經(jīng)可以在AO上,基于AI實(shí)現(xiàn)了完成度較高的應(yīng)用,其前景讓人期待,也給與了大家無限的想象空間。
但是就目前而言,局限也是比較明顯的。目前只能支持2GB左右的“小語言模型”,尚不能利用GPU進(jìn)行運(yùn)算等。不過值得慶幸的是,AO的架構(gòu)設(shè)計(jì)中也都對(duì)這些短板有著對(duì)應(yīng)解決方案。例如,編譯一個(gè)可以利用GPU的wasm虛擬機(jī)。
期待在不久的將來,AI可以在AO的鏈上,開放出更加絢爛的花朵。
附錄
前面留下的一個(gè)坑,一起看下LlamaAI的費(fèi)用計(jì)算。
下面是初始化好以后的Llama對(duì)象,分別對(duì)重要的對(duì)象給出一個(gè)我的理解。
M.herder:存儲(chǔ)了LlamaHerder服務(wù)的標(biāo)識(shí)符或地址。
M.token:用于支付AI服務(wù)的token。
M.feeBase:基礎(chǔ)費(fèi)用,用于計(jì)算總費(fèi)用的基礎(chǔ)值。
M.feeToken:每個(gè)token對(duì)應(yīng)的費(fèi)用,用于根據(jù)請(qǐng)求中的token數(shù)量計(jì)算額外費(fèi)用。
M.lastMultiplier:上一次交易費(fèi)用的乘數(shù)因子,可能用于調(diào)整當(dāng)前費(fèi)用。
M.queueLength:當(dāng)前請(qǐng)求隊(duì)列的長(zhǎng)度,影響費(fèi)用計(jì)算。
M.feeBump:費(fèi)用增長(zhǎng)因子,默認(rèn)設(shè)置為1.005,意味著每次增加0.5%。
M.feeBase初始值為0。
通過M.getPrices函數(shù)向LlamaHerder請(qǐng)求最新價(jià)格信息。
其中M.feeBase、feeToken、M.lastMultiplier、M.queueLength都是向M.herder請(qǐng)求,并接收到Info-Response消息后,實(shí)時(shí)變動(dòng)的。確保了總是保持最新的價(jià)格相關(guān)的字段值。
計(jì)算費(fèi)用的具體步驟:
根據(jù)M.feeBase加上feeToken與token數(shù)量的乘積,得到一個(gè)初始的費(fèi)用。
在初始費(fèi)用的基礎(chǔ)上,再乘以M.lastMultiplier。
最后,如果存在請(qǐng)求排隊(duì)的情況,會(huì)再乘以M.feeBump,也就是1.005得到最后的費(fèi)用。
引用鏈接
1.Arweave上的模型地址:
https://arweave.net/ISrbGzQot05rs_HKC08O_SmkipYQnqgB1yC3mjZZeEo
2.aosllama源碼:
https://github.com/samcamwilliams/aos-llama
3.AOX跨鏈橋:
https://aox.arweave.dev/
免責(zé)聲明:如何在 AO 上打造 AI 應(yīng)用?文章轉(zhuǎn)發(fā)自互聯(lián)網(wǎng),版權(quán)歸其所有。
文章內(nèi)容不代表本站立場(chǎng)和任何投資暗示。加密貨幣市場(chǎng)極其波動(dòng),風(fēng)險(xiǎn)很高,可能不適合所有投資者。在投資加密貨幣之前,請(qǐng)確保自己充分了解市場(chǎng)和投資的風(fēng)險(xiǎn),并考慮自己的財(cái)務(wù)狀況和風(fēng)險(xiǎn)承受能力。此外,請(qǐng)遵循您所在國(guó)家的法律法規(guī),以及遵守交易所和錢包提供商的規(guī)定。對(duì)于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔(dān)任何責(zé)任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM