Autore: Wu Yue, Geek web3
Nell'era della rapida iterazione della tecnologia blockchain, l'ottimizzazione delle prestazioni è diventata una questione chiave, con la roadmap di Ethereum che indica chiaramente Rollup come centro, mentre la natura seriale dell'elaborazione delle transazioni dell'EVM è un vincolo che non può soddisfare i futuri scenari di calcolo ad alta concorrenza.
Nel nostro articolo precedente — (Il percorso di ottimizzazione dell'EVM parallelo secondo Reddio) abbiamo fornito una breve panoramica dell'idea di design dell'EVM parallelo di Reddio, mentre nell'articolo di oggi approfondiremo il suo schema tecnologico e le sue integrazioni con l'IA.
Poiché la soluzione tecnologica di Reddio utilizza CuEVM, un progetto che sfrutta la GPU per migliorare l'efficienza di esecuzione dell'EVM, iniziamo a parlare di CuEVM.
Panoramica su CUDA
CuEVM è un progetto che accelera l'EVM tramite GPU, convertendo i codici operativi dell'Ethereum EVM in Kernels CUDA per esecuzione parallela su GPU NVIDIA. Attraverso la potenza di calcolo parallela della GPU, si migliora l'efficienza di esecuzione delle istruzioni EVM. Gli utenti con schede NVIDIA potrebbero sentire spesso il termine CUDA —
Compute Unified Device Architecture, è una piattaforma di calcolo parallelo e un modello di programmazione sviluppato da NVIDIA. Essa consente agli sviluppatori di sfruttare la potenza di calcolo parallela delle GPU per calcoli generali (come mining in Crypto, operazioni ZK, ecc.), non limitandosi solo all'elaborazione grafica.
Come framework di calcolo parallelo aperto, CUDA è essenzialmente un'estensione del linguaggio C/C++, qualsiasi programmatore di basso livello che conosca C/C++ può rapidamente prendere confidenza. E in CUDA, un concetto molto importante è il Kernel (funzione kernel), che è anche una funzione C++.
Ma a differenza delle normali funzioni C++ che vengono eseguite una sola volta, queste funzioni kernel vengono eseguite in parallelo N volte quando vengono chiamate con la sintassi di avvio <<...>>> da N thread CUDA diversi.
Ogni thread di CUDA è assegnato a un ID thread indipendente e utilizza una gerarchia di thread, assegnando i thread a blocchi (block) e griglie (grid) per facilitare la gestione di un gran numero di thread paralleli. Utilizzando il compilatore nvcc di NVIDIA, possiamo compilare il codice CUDA in programmi eseguibili sulla GPU.
Flusso di lavoro di base di CuEVM
Dopo aver compreso una serie di concetti di base di CUDA, possiamo esaminare il flusso di lavoro di CuEVM.
L'ingresso principale di CuEVM è run_interpreter, dove vengono forniti in formato json le transazioni da elaborare in parallelo. Dai casi d'uso del progetto, possiamo vedere che l'input è tutto contenuto standard EVM, senza bisogno di ulteriori elaborazioni o traduzioni da parte degli sviluppatori.
In run_interpreter() possiamo vedere che utilizza la sintassi definita da CUDA <<…>> per chiamare la funzione kernel_evm(). Abbiamo già accennato che le funzioni kernel vengono chiamate in parallelo sulla GPU.
Nel metodo kernel_evm() viene chiamato evm->run(), possiamo vedere che ci sono molte diramazioni per convertire i codici operativi EVM in operazioni CUDA.
Prendendo come esempio il codice operativo di addizione OP_ADD nell'EVM, possiamo vedere che esso viene convertito in cgbn_add. E CGBN (Cooperative Groups Big Numbers) è la libreria di aritmetica intera multi-precisione ad alte prestazioni di CUDA.
Questi due passaggi hanno convertito i codici operativi EVM in operazioni CUDA. Si può dire che CuEVM è anche l'implementazione di tutte le operazioni EVM su CUDA. Infine, il metodo run_interpreter() restituisce i risultati dei calcoli, ovvero lo stato del mondo e altre informazioni.
Fino a questo punto, la logica di base di funzionamento di CuEVM è stata presentata.
CuEVM ha la capacità di elaborare transazioni in parallelo, ma l'obiettivo del progetto CuEVM (o i casi d'uso principali) è quello di effettuare test di Fuzzing: il Fuzzing è una tecnica di testing software automatizzata che invia all'applicazione una grande quantità di dati non validi, inaspettati o casuali per osservare la risposta dell'applicazione e identificare potenziali errori e problemi di sicurezza.
Possiamo vedere che il Fuzzing è molto adatto per l'elaborazione parallela. E CuEVM non gestisce problemi di conflitto delle transazioni, poiché non è una sua preoccupazione. Se si desidera integrare CuEVM, sarà necessario gestire le transazioni in conflitto.
Abbiamo già introdotto nel nostro articolo precedente (Il percorso di ottimizzazione dell'EVM parallelo secondo Reddio) il meccanismo di gestione dei conflitti utilizzato da Reddio, quindi qui non ci dilunghiamo. Dopo aver ordinato le transazioni utilizzando il meccanismo di gestione dei conflitti, Reddio può inviarle a CuEVM. In altre parole, il meccanismo di ordinamento delle transazioni di Reddio L2 può essere suddiviso in gestione dei conflitti + esecuzione parallela CuEVM.
Layer2, EVM parallelo, crocevia dell'AI
In precedenza si è detto che l'EVM parallelo e L2 sono solo il punto di partenza di Reddio, mentre nel suo futuro roadmap sarà chiaramente integrato con la narrativa AI. Utilizzando GPU per transazioni parallele ad alta velocità, Reddio è naturalmente adatto per i calcoli AI in molte caratteristiche:
La capacità di elaborazione parallela della GPU è forte, adatta per eseguire operazioni di convoluzione in deep learning, che sono essenzialmente moltiplicazioni di matrici su larga scala, e la GPU è ottimizzata per questo tipo di compiti.
La struttura gerarchica dei thread della GPU può corrispondere a diverse relazioni con le strutture dati nel calcolo AI, migliorando l'efficienza del calcolo e mascherando i ritardi di memoria attraverso l'over-threading e le unità di esecuzione Warp.
L'intensità computazionale è un indicatore chiave per misurare le prestazioni del calcolo AI, e la GPU ottimizza l'intensità computazionale, ad esempio introducendo Tensor Core, per migliorare le prestazioni della moltiplicazione di matrici nel calcolo AI, realizzando un equilibrio efficace tra calcolo e trasmissione dei dati.
Quindi, come si integra l'IA con L2?
Sappiamo che nella progettazione dell'architettura Rollup, l'intera rete non è solo composta da ordinatori, ma ci sono anche ruoli simili a supervisori e trasmettitori che verificano o raccolgono transazioni. Essi utilizzano fondamentalmente lo stesso client degli ordinatori, ma svolgono funzioni diverse. Nei Rollup tradizionali, le funzioni e i diritti di questi ruoli secondari sono molto limitati, come nel caso del watcher in Arbitrum, che è fondamentalmente passivo e difensivo, con un modello di profitto discutibile.
Reddio adotterà un'architettura di ordinatori decentralizzati, dove i miner forniscono GPU come nodi. L'intera rete di Reddio può evolversi da un semplice L2 a una rete integrata L2+AI, in grado di realizzare alcuni casi d'uso AI+ blockchain:
Rete di interazione degli agenti AI
Con l'evoluzione continua della tecnologia blockchain, il potenziale applicativo degli agenti AI nelle reti blockchain è enorme. Prendiamo come esempio gli agenti IA che eseguono transazioni finanziarie; questi agenti intelligenti possono prendere decisioni complesse e eseguire operazioni in modo autonomo, rispondendo rapidamente anche in condizioni di alta frequenza. Tuttavia, L1 non può praticamente sostenere un carico di transazioni così intenso quando si tratta di operazioni di questo tipo.
E Reddio, come progetto L2, può aumentare significativamente la capacità di elaborazione parallela delle transazioni attraverso l'accelerazione GPU. Rispetto a L1, L2 che supporta l'esecuzione parallela delle transazioni ha una maggiore capacità di elaborazione, in grado di gestire efficientemente un gran numero di richieste di trading ad alta frequenza degli agenti AI, garantendo un funzionamento fluido della rete.
Nel trading ad alta frequenza, gli agenti AI hanno requisiti estremamente rigorosi per la velocità delle transazioni e i tempi di risposta. L2 riduce i tempi di verifica e di esecuzione delle transazioni, abbattendo significativamente la latenza. Questo è cruciale per gli agenti AI che necessitano di risposte in millisecondi. Spostando un gran numero di transazioni su L2, si allevia anche il problema di congestione della mainnet, rendendo le operazioni degli agenti AI più economiche ed efficienti.
Con la maturazione di progetti L2 come Reddio, gli agenti AI giocheranno un ruolo sempre più importante sulla blockchain, promuovendo l'innovazione che combina DeFi e altri casi d'uso blockchain con l'IA.
Mercato decentralizzato di potenza di calcolo
In futuro, Reddio adotterà un'architettura di ordinatori decentralizzati, dove i miner utilizzano la potenza di calcolo GPU per determinare il diritto di ordinazione. Le prestazioni delle GPU di tutti i partecipanti alla rete aumenteranno gradualmente con la competizione, fino a raggiungere livelli utilizzabili per l'addestramento AI.
Costruire un mercato decentralizzato di potenza di calcolo GPU, fornendo risorse di calcolo a basso costo per l'addestramento e l'inferenza dell'IA. La potenza di calcolo può variare da piccole a grandi, dai computer personali ai cluster di server, e diversi livelli di potenza di calcolo GPU possono unirsi a questo mercato per contribuire con la propria potenza di calcolo inutilizzata e guadagnare profitti, riducendo i costi di calcolo AI e permettendo a più persone di partecipare allo sviluppo e all'applicazione dei modelli IA.
Nel caso d'uso del mercato decentralizzato di potenza di calcolo, gli ordinatori potrebbero non essere principalmente responsabili dell'elaborazione diretta dell'AI, le loro funzioni principali sono gestire le transazioni e coordinare la potenza di calcolo AI nell'intera rete. Per quanto riguarda la distribuzione della potenza di calcolo e dei compiti, ci sono due modalità:
Distribuzione centralizzata dall'alto verso il basso. Poiché ci sono ordinatori, questi possono assegnare le richieste di potenza di calcolo ricevute ai nodi che soddisfano le esigenze e hanno una buona reputazione. Anche se questa modalità di distribuzione presenta teoricamente problemi di centralizzazione e ingiustizia, i vantaggi di efficienza che porta superano di gran lunga i suoi svantaggi, e a lungo termine gli ordinatori devono soddisfare la positività dell'intera rete per poter svilupparsi a lungo termine, il che implica che ci sono vincoli impliciti ma diretti che garantiscono che gli ordinatori non siano troppo sbilanciati.
Selezione spontanea di compiti dal basso verso l'alto. Gli utenti possono anche inviare richieste di calcolo AI a nodi di terze parti, il che è chiaramente più efficiente rispetto all'invio diretto agli ordinatori in specifici campi di applicazione AI, e può anche prevenire la censura e il pregiudizio degli ordinatori. Una volta completato il calcolo, quel nodo sincronizza il risultato del calcolo con l'ordinatore e lo mette sulla blockchain.
Possiamo vedere che nell'architettura L2 + AI, il mercato della potenza di calcolo ha un'elevata flessibilità, in grado di raccogliere potenza di calcolo in due direzioni, massimizzando così l'utilizzo delle risorse.
Inferenza AI on-chain
Attualmente, la maturità dei modelli open source è sufficiente a soddisfare esigenze diversificate. Con la standardizzazione dei servizi di inferenza AI, esplorare come portare la potenza di calcolo sulla blockchain per realizzare la determinazione automatica dei prezzi diventa possibile. Tuttavia, ciò richiede di superare molte sfide tecniche:
Distribuzione e registrazione delle richieste efficiente: l'inferenza di grandi modelli ha requisiti elevati per la latenza, quindi un meccanismo di distribuzione delle richieste efficiente è fondamentale. Anche se il volume dei dati di richiesta e risposta è enorme e di natura riservata, non è opportuno renderli pubblici sulla blockchain, è comunque necessario trovare un punto di equilibrio per la registrazione e la verifica — ad esempio, attraverso la memorizzazione di hash.
Verifica dell'output dei nodi di potenza di calcolo: i nodi hanno realmente completato i compiti di calcolo assegnati? Ad esempio, un nodo riporta erroneamente i risultati ottenuti da un modello ridotto al posto di un modello completo.
Inferenza dei contratti intelligenti: combinare i modelli AI con i contratti intelligenti per l'elaborazione è necessario in molti scenari. Poiché l'inferenza AI presenta incertezze, non può essere utilizzata in ogni aspetto sulla chain, quindi la logica delle future dApp AI sarà probabilmente in parte off-chain e in parte on-chain, con i contratti on-chain che limitano la validità e la legalità dei valori forniti da fonti off-chain. E nell'ecosistema Ethereum, l'integrazione con i contratti intelligenti deve affrontare l'inefficienza della serialità dell'EVM.
Ma nell'architettura di Reddio, tutto ciò è relativamente facile da risolvere:
La distribuzione delle richieste da parte degli ordinatori è molto più efficiente rispetto a L1, e può essere considerata equivalente all'efficienza del Web2. E per quanto riguarda la posizione di registrazione dei dati e il metodo di conservazione, può essere risolto con varie soluzioni DA a basso costo.
I risultati del calcolo AI possono essere infine verificati tramite ZKP per la loro correttezza e buona fede. La caratteristica di ZKP è che la verifica è molto veloce, ma la generazione delle prove è più lenta. E la generazione di ZKP può essere accelerata da GPU o TEE.
Solidty → CUDA → GPU è il filo principale dell'EVM parallelo che è alla base di Reddio. Quindi, a prima vista, questo è il problema più semplice per Reddio. Attualmente, Reddio sta collaborando con AiI6z su Eliza per integrare il suo modulo in Reddio, una direzione molto promettente da esplorare.
Riepilogo
In generale, le soluzioni Layer2, l'EVM parallelo e la tecnologia AI sembrano essere campi non correlati, ma Reddio ha saputo sfruttare appieno le caratteristiche computazionali della GPU, combinando in modo intelligente questi grandi ambiti innovativi in un'unica entità.
Sfruttando le caratteristiche di calcolo parallelo delle GPU, Reddio ha migliorato la velocità e l'efficienza delle transazioni su Layer2, potenziando così le prestazioni della seconda layer di Ethereum. Integrare la tecnologia AI nella blockchain è un tentativo innovativo e promettente. L'introduzione dell'IA può fornire analisi e supporto decisionale intelligenti per le operazioni sulla chain, realizzando applicazioni blockchain più intelligenti e dinamiche. Questa integrazione intersettoriale apre senza dubbio nuove strade e opportunità per lo sviluppo dell'intero settore.
Tuttavia, è importante notare che questo campo è ancora nelle fasi iniziali e richiede ancora molta ricerca ed esplorazione. La continua iterazione e ottimizzazione della tecnologia, insieme all'immaginazione e all'azione dei pionieri del mercato, saranno le principali forze trainanti per portare questa innovazione verso la maturità. Reddio ha già fatto un passo importante e audace in questo punto di incontro, e ci aspettiamo di vedere più breakthrough e sorprese in questo campo di integrazione in futuro.