Автор: Місяць туманів, Geek Web3
У сучасному світі, де технології блокчейну розвиваються швидше, ніж будь-коли, оптимізація продуктивності стала критично важливим питанням. Дорожня карта Ethereum вже чітко орієнтована на Rollup, а особливість послідовної обробки транзакцій EVM є обмеженням, яке не може задовольнити майбутні сценарії високої конкуренції у обчисленнях.
У попередній статті — (Оптимізація паралельного EVM через Reddio) ми коротко обговорювали підхід до дизайну паралельного EVM від Reddio, а в сьогоднішній статті ми розглянемо його технологічне рішення та сценарії інтеграції з AI більш детально.
Оскільки технологічне рішення Reddio використовує CuEVM, це проект, який використовує GPU для підвищення ефективності виконання EVM, ми спочатку почнемо з CuEVM.
Огляд CUDA
CuEVM — це проект, що прискорює EVM за допомогою GPU, перетворюючи код операцій Ethereum EVM на CUDA Kernels для паралельного виконання на NVIDIA GPU. Використовуючи паралельні обчислювальні можливості GPU, він підвищує ефективність виконання інструкцій EVM. Можливо, користувачі карт графіки N чули це слово — CUDA.
Compute Unified Device Architecture — це насправді платформа паралельних обчислень та програмна модель, розроблена NVIDIA. Вона дозволяє розробникам використовувати паралельні обчислювальні можливості GPU для загальних обчислень (наприклад, у криптовалютах, ZK-обчисленнях тощо), а не лише для обробки графіки.
Як відкритий фреймворк паралельних обчислень, CUDA по суті є розширенням мови C/C++, і будь-який програміст, знайомий з C/C++, може швидко почати працювати. А в CUDA важливим концептом є Kernel (ядерна функція), яка також є функцією C++.
Але на відміну від звичайних функцій C++, які виконуються лише один раз, ці ядерні функції паралельно виконуються N раз, коли їх викликає синтаксис <<... > > >.
Кожен потік CUDA отримує незалежний ідентифікатор потоку (thread ID) і використовує ієрархію потоків, розподіляючи потоки на блоки (block) та сітки (grid) для спрощення управління великою кількістю паралельних потоків. За допомогою компілятора NVIDIA nvcc ми можемо компілювати код CUDA в програми, які можуть виконуватись на GPU.
Основний робочий процес CuEVM
Зрозумівши ряд основних концепцій CUDA, можна перейти до робочого процесу CuEVM.
Основний вхід CuEVM — це run_interpreter, звідки у форматі json вводяться транзакції, які підлягають паралельній обробці. З проектних випадків видно, що вводяться стандартні вмісти EVM, без необхідності окремої обробки чи перекладу з боку розробників.
У run_interpreter() видно, що він викликає ядрову функцію kernel_evm() за допомогою синтаксису, визначеного CUDA <<...>>. Ми вже згадували, що ядерні функції будуть паралельно викликатися на GPU.
У методі kernel_evm() викликається evm->run(), ми можемо побачити, що тут є безліч перевірок гілок для перетворення коду операцій EVM в операції CUDA.
Наприклад, у коді операції додавання OP_ADD в EVM видно, як він перетворюється в cgbn_add. CGBN (Cooperative Groups Big Numbers) — це бібліотека CUDA для високопродуктивних арифметичних операцій з великими цілими числами.
Ці два кроки перетворюють код операцій EVM на операції CUDA. Можна сказати, що CuEVM також є реалізацією всіх операцій EVM на CUDA. Нарешті, метод run_interpreter() повертає результати обчислень, а саме світовий стан та іншу інформацію.
Ось і завершено основну логіку роботи CuEVM.
CuEVM має можливість паралельної обробки транзакцій, але основна мета (або головний випадок використання) проекту — це проведення Fuzzing-тестування: Fuzzing — це автоматизована технологія тестування програмного забезпечення, яка вводить в програму велику кількість недійсних, випадкових або неочікуваних даних, щоб спостерігати за реакцією програми і виявляти потенційні помилки та проблеми безпеки.
Ми можемо бачити, що Fuzzing дуже підходить для паралельної обробки. І CuEVM не обробляє проблеми конфлікту транзакцій, адже це не є його турботою. Якщо хочеться інтегрувати CuEVM, необхідно також обробити конфліктні транзакції.
У попередній статті (Оптимізація паралельного EVM через Reddio) ми вже згадували механізм обробки конфліктів, який використовує Reddio, тому тут не будемо повторюватись. Після сортування транзакцій за механізмом обробки конфліктів Reddio просто відправляє їх у CuEVM. Іншими словами, механізм сортування транзакцій Reddio L2 можна розділити на обробку конфліктів + паралельне виконання CuEVM.
Перехрестя Layer2, паралельного EVM та AI
У попередньому тексті говорилося, що паралельний EVM та L2 є лише початком для Reddio, і в майбутній дорожній карті буде чітко вказано на інтеграцію з AI. Reddio, що використовує GPU для швидкої паралельної обробки транзакцій, від природи підходить для обчислень AI з багатьма характеристиками:
Паралельна обробка GPU є потужною, що робить її підходящою для виконання згортальних операцій у глибокому навчанні, ці операції в основному є великими матричними множеннями, для яких GPU оптимізовані.
Ієрархічна структура потоків GPU може відповідати різним структурам даних в обчисленнях AI, підвищуючи ефективність обчислень завдяки надмірному розподілу потоків і виконуваним одиницям Warp, а також маскуючи затримки пам'яті.
Інтенсивність обчислень є ключовим показником продуктивності обчислень AI, і GPU оптимізує інтенсивність обчислень, наприклад, впроваджуючи Tensor Core, щоб покращити продуктивність матричного множення в обчисленнях AI, досягаючи ефективного балансу між обчисленнями та передачею даних.
Отже, як AI може поєднуватися з L2?
Ми знаємо, що в архітектурі Rollup вся мережа насправді не складається лише з сортувальників, а також можуть бути певні ролі, такі як наглядачі та пересилальники, які перевіряють або збирають транзакції. Вони в основному використовують той же клієнт, що й сортувальники, але виконують різні функції. У традиційних Rollup ці вторинні ролі мають дуже обмежені функції та повноваження, як, наприклад, у Arbitrum роль наглядача, яка в основному є пасивною та оборонною, і її бізнес-модель викликає сумніви.
Reddio використовуватиме архітектуру децентралізованих сортувальників, де майнери забезпечують GPU як вузли. Вся мережа Reddio може еволюціонувати з чистого L2 в інтегровану мережу L2+AI, яка може реалізувати різні випадки використання AI+ в блокчейні:
Базова мережа взаємодії AI-агентів
З розвитком технологій блокчейну потенціал AI-агентів у блокчейн-мережах є величезним. Візьмемо, наприклад, AI-агентів, які виконують фінансові транзакції; ці інтелектуальні агенти можуть самостійно приймати складні рішення та виконувати торгові операції, навіть швидко реагуючи в умовах високочастотних операцій. Однак L1 практично не може впоратися з величезними навантаженнями транзакцій під час обробки таких інтенсивних операцій.
А Reddio, як проект L2, може значно підвищити потужність паралельної обробки транзакцій через прискорення GPU. На відміну від L1, L2, що підтримує паралельне виконання транзакцій, має вищу пропускну здатність і може ефективно обробляти велику кількість запитів на високочастотну торгівлю AI-агентів, забезпечуючи безперебійну роботу мережі.
У високочастотній торгівлі AI-агенти висувають надзвичайно суворі вимоги до швидкості торгівлі та часу реакції. L2 зменшує час перевірки та виконання транзакцій, що суттєво знижує затримки. Це критично важливо для AI-агентів, які потребують мілісекундної реакції. Перенесення великої кількості транзакцій на L2 також ефективно зменшує затори основної мережі, що робить операції AI-агентів більш економічними та ефективними.
Зі зрілістю таких проектів, як Reddio та інших L2, AI-агенти відіграватимуть дедалі важливішу роль у блокчейні, сприяючи інноваціям у поєднанні DeFi та інших сценаріїв застосування блокчейну з AI.
Децентралізований ринок обчислювальної потужності
У майбутньому Reddio використовуватиме архітектуру децентралізованих сортувальників, де майнери використовують обчислювальну потужність GPU для визначення прав на сортування. Продуктивність GPU учасників мережі буде поступово підвищуватися завдяки конкуренції, і навіть може досягти рівня, що підходить для навчання AI.
Створення децентралізованого ринку обчислювальної потужності GPU для забезпечення дешевших ресурсів обчислювальної потужності для навчання та інференції AI. Потужність може варіюватись від особистих комп'ютерів до кластерів, і різні рівні GPU потужності можуть приєднатися до цього ринку, щоб внести свою невикористану потужність та отримати прибуток. Ця модель може знизити витрати на обчислення AI та дозволити більшій кількості людей брати участь у розробці та застосуванні моделей AI.
У випадку децентралізованого ринку обчислювальної потужності, сортувальники можуть не відповідати за безпосередні обчислення AI, їх основні функції полягають у обробці транзакцій та координації обчислювальної потужності AI в усій мережі. Щодо розподілу обчислювальної потужності та завдань, є два моделі:
Централізоване розподілення зверху вниз. Завдяки наявності сортувальників, сортувальники можуть розподілити запити на обчислювальну потужність між вузлами, які відповідають вимогам і мають добру репутацію. Такий спосіб розподілу, хоча теоретично може бути централізованим і несправедливим, на практиці приносить значні переваги в ефективності, і в довгостроковій перспективі сортувальники повинні задовольняти позитивність всієї мережі, щоб мати можливість тривало розвиватись, а це означає, що існує прихований, але прямий контроль, що забезпечує, щоб у сортувальників не було надмірної упередженості.
Самовільний вибір завдань знизу вгору. Користувачі також можуть подавати запити на обчислення AI третім сторонам, що, безумовно, є більш ефективним у специфічних областях застосування AI, ніж безпосередня подача запитів до сортувальників, також це може запобігти цензурі та упередженості з боку сортувальників. Після обробки зазначений вузол синхронізує результати обчислень з сортувальником та записує їх у ланцюг.
Ми можемо бачити, що в архітектурі L2 + AI ринок обчислювальної потужності володіє високою гнучкістю, здатний зібрати обчислювальну потужність з двох напрямків, максимально підвищуючи ефективність використання ресурсів.
Інференція AI на ланцюзі
На сьогоднішній день зрілість відкритих моделей достатня для задоволення різноманітних потреб. Зі стандартизацією послуг AI-інференції з'явилася можливість досліджувати, як перенести обчислювальну потужність на ланцюг для автоматизації ціноутворення. Однак це потребує подолання кількох технічних викликів:
Ефективний розподіл запитів та запис: великі моделі інференції мають високі вимоги до затримки, тому ефективний механізм розподілу запитів є дуже важливим. Хоча обсяг даних запитів і відповідей є великим і конфіденційним, тому їх не слід публікувати в блокчейні, все ж необхідно знайти баланс між записом і перевіркою — наприклад, шляхом зберігання хешу.
Перевірка виходу обчислювальних вузлів: чи дійсно вузол виконали встановлене завдання? Наприклад, чи не подає вузол неправдиві результати обчислень з малого моделі замість великої?
Інференція смарт-контрактів: поєднання моделей AI та смарт-контрактів для проведення обчислень необхідне в багатьох випадках. Оскільки AI-інференція має невизначеність, її не можна використовувати в усіх аспектах на ланцюгу, тому логіка майбутніх AI dApp, ймовірно, буде частково розташована поза ланцюгом, а частково — у смарт-контрактах на ланцюгу, які регулюватимуть дійсність і законність вхідних даних, наданих поза ланцюгом. А в екосистемі Ethereum при поєднанні зі смарт-контрактами необхідно зіткнутися з низькою ефективністю послідовного виконання EVM.
Але в архітектурі Reddio це відносно легко вирішити:
Сортувальники розподіляють запити набагато ефективніше, ніж L1, їх можна вважати еквівалентом ефективності Web2. Щодо розташування та способу зберігання даних, це можна вирішити різними дешевими DA-варіантами.
Результати обчислень AI можуть бути підтверджені ZKP для їхньої правильності та добросовісності. Характеристики ZKP полягають у тому, що перевірка є дуже швидкою, але генерація доказів займає більше часу. І генерація ZKP може бути прискорена за допомогою GPU або TEE.
Solidty → CUDA → GPU — це основна паралельна лінія EVM, на якій базується Reddio. Отже, на перший погляд, це є найпростішим питанням для Reddio. Наразі Reddio співпрацює з AiI6z та Eliza, щоб інтегрувати його модулі в Reddio, що є дуже перспективним напрямком.
Підсумок
В цілому, рішення Layer2, паралельний EVM та технології AI на перший погляд здаються непов'язаними, але Reddio, повністю використовуючи обчислювальні характеристики GPU, вдало поєднує ці великі інноваційні сфери.
Завдяки використанню паралельних обчислювальних характеристик GPU, Reddio підвищив швидкість і ефективність транзакцій на Layer2, що посилило продуктивність другого рівня Ethereum. Інтеграція технології AI в блокчейн є новаторським та перспективним кроком. Впровадження AI може надати інтелектуальний аналіз і підтримку прийняття рішень для операцій у ланцюзі, що дозволяє реалізувати більш розумні та динамічні блокчейн-застосунки. Це міжгалузеве об'єднання безумовно відкриває нові шляхи та можливості для розвитку всієї індустрії.
Однак варто зазначити, що ця сфера ще перебуває на початковій стадії і потребує значної кількості досліджень та досліджень. Постійна ітерація та оптимізація технологій, а також уява та дії ринкових піонерів стануть ключовими рушійними силами для розвитку цієї інновації до зрілості. Reddio вже зробив важливий та сміливий крок на цьому перехресті, і ми сподіваємось, що в майбутньому в цій сфері інтеграції зможемо бачити більше проривів та сюрпризів.