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