zkPyTorch: створення надійного майбутнього AI за допомогою zk-SNARKs

Оригінальний автор: Jiaheng Zhang

З розвитком штучного інтелекту (ШІ) у ключових сферах, таких як медицина, фінанси, автономне водіння, забезпечення надійності, прозорості та безпеки процесу інферування машинного навчання (МН) стає надзвичайно важливим.

Проте традиційні послуги машинного навчання часто працюють як "чорна скринька", де користувачі можуть бачити лише результати, але важко перевірити процес. Ця непрозорість робить моделі послуг вразливими до ризиків:

  • Модель була вкрадена,
  • Результати висновків були зловмисно змінені,
  • Дані користувачів піддаються ризику витоку конфіденційності.

ZKML (Zero-Knowledge Machine Learning) надає нове криптографічне рішення для цієї проблеми. Він спирається на докази з нульовим розголошенням (ZKP), щоб надати моделям машинного навчання можливість бути криптографічно перевіреними: доводячи, що обчислення було виконано правильно, не розкриваючи конфіденційної інформації про них.

Іншими словами, ZKP дозволяють постачальникам послуг доводити користувачам:

"Результати висновків, які ви отримали, дійсно є результатом роботи моєї навченої моделі — але я не розкрию жодних параметрів моделі."

Це означає, що користувачі можуть довіряти справжності результатів висновків, тоді як структура та параметри моделі (часто є цінними активами) завжди залишаються конфіденційними.

zkPyTorch

Polyhedra Network представила zkPyTorch — революційний компілятор, спеціально створений для машинного навчання з нульовими знаннями (ZKML), який має на меті подолати останню милю між основними AI фреймворками та ZK технологіями.

zkPyTorch глибоко інтегрує потужні можливості машинного навчання PyTorch із передовим механізмом захисту з нульовим розголошенням, що дозволяє розробникам штучного інтелекту створювати перевірені програми штучного інтелекту в знайомому середовищі, не змінюючи звички програмування та не вивчаючи нову мову ZK.

Цей компілятор може автоматично переводити високорівневі модельні операції (такі як згортка, множення матриць, ReLU, softmax та механізми уваги) у схеми ZKP, які можуть бути криптографічно перевірені, і поєднуватися з власноруч розробленим набором оптимізації ZKML Polyhedra для інтелектуального стиснення та прискорення основних шляхів висновків, щоб забезпечити як правильність схеми, так і обчислювальну ефективність.

Ключова інфраструктура для створення надійної екосистеми ШІ

Сучасна екосистема машинного навчання стикається з численними викликами, такими як безпека даних, перевірність обчислень і прозорість моделей. Особливо в ключових галузях, таких як медицина, фінанси та автономне водіння, моделі ШІ не лише містять велику кількість чутливої особистої інформації, але й несуть в собі високоцінні інтелектуальні права та критично важливі комерційні таємниці.

З'явилося машинне навчання з нульовим розголошенням (ZKML), яке стало важливим проривом у вирішенні цієї дилеми. За допомогою технології доведення з нульовим розголошенням (ZKP) ZKML може завершити перевірку цілісності висновування моделі без розкриття параметрів моделі або вхідних даних – як конфіденційності, так і надійності.

Але насправді розробка ZKML зазвичай є дуже складною, вимагає глибоких знань у криптографії, і далеко не кожен традиційний інженер ШІ може легко з цим впоратися.

Саме це і є zkPyTorch. Він усуває розрив між PyTorch і двигуном ZKP, дозволяючи розробникам створювати системи штучного інтелекту, що зберігають конфіденційність і перевіряються, зі знайомим кодом без необхідності заново вивчати складні мови криптографії.

Завдяки zkPyTorch мережа Polyhedra суттєво знижує технологічні бар'єри ZKML, просуваючи масштабовані, надійні AI-додатки в маси, реконструюючи нову парадигму безпеки та конфіденційності AI.

zkPyTorch робочий процес

! zkPyTorch: Будуємо майбутнє довіреного штучного інтелекту з доказами з нульовим розголошенням

Рисунок 1: Загальний огляд архітектури ZKPyTorch

Як показано на малюнку 1, zkPyTorch автоматично перетворює стандартну модель PyTorch в ZKP-сумісну схему за допомогою трьох добре спроектованих модулів. Ці три модулі включають: модуль попередньої обробки, модуль квантування з нульовим розголошенням і модуль оптимізації схеми.

Цей процес не вимагає від розробника освоєння будь-яких криптографічних схем або спеціалізованого синтаксису: розробнику достатньо записати модель на стандартному PyTorch, а zkPyTorch може перетворити її на схему, яку можна розпізнати за допомогою механізму доказу з нульовим розголошенням, такого як Expander, для створення відповідного доказу ZK. Ця високомодульна конструкція значно знижує вхідний бар'єр для розробки ZKML, дозволяючи розробникам штучного інтелекту легко створювати ефективні, безпечні та перевірені програми машинного навчання без необхідності перемикати мови або вивчати криптографію.

Модуль 1: Попередня обробка моделі

На першому етапі zkPyTorch перетворює модель PyTorch на структурований обчислювальний граф за допомогою формату Open Neural Network Exchange Format (ONNX). ONNX є найбільш широко прийнятим у галузі стандартом проміжного представлення для уніфікованого представлення складних операцій машинного навчання. За допомогою цього етапу попередньої обробки zkPyTorch може прояснити структуру моделі, розібрати основний обчислювальний процес і закласти міцну основу для подальшого покоління схем доказу з нульовим розголошенням.

Модуль два: Дружня кількісна оцінка ZKP

Модуль квантування є ключовою частиною системи ZKML. Традиційні моделі машинного навчання покладаються на операції з плаваючою комою, тоді як середовище ZKP більше підходить для цілочисельних операцій у скінченних полях. zkPyTorch використовує схему цілочисельного квантування, оптимізовану для скінченних полів, щоб точно відображати обчислення з плаваючою комою в цілочисельні обчислення, і в той же час перетворювати нелінійні операції, які не сприяють ZKP (такі як ReLU і Softmax), в ефективні таблиці пошуку.

Ця стратегія не лише значно зменшує складність схем, але й підвищує загальну перевіряємість і ефективність роботи системи, забезпечуючи при цьому точність моделі.

Модуль три: Оптимізація багатошарових схем

zkPyTorch використовує багаторівневу стратегію для оптимізації схем, зокрема включаючи:

  • Оптимізація пакетної обробки Спеціально розроблений для серіалізованих обчислень, зменшує обчислювальну складність та споживання ресурсів за рахунок одноразової обробки кількох кроків висновку, особливо підходить для сценаріїв валідації великих мовних моделей, таких як Transformer.
  • Прискорення операцій з оригінальною мовою Поєднуючи швидке перетворення Фур'є (FFT) з технікою таблиць пошуку, ефективно підвищується швидкість виконання базових операцій, таких як згортка та Softmax, що в корені підсилює загальну обчислювальну ефективність.
  • Паралельне виконання схем Повною мірою використовуйте переваги обчислювальної потужності багатоядерних центральних і графічних процесорів, а також розділяйте обчислення з великим навантаженням, такі як множення матриць, на кілька підзадач, які будуть виконуватися паралельно, значно покращуючи швидкість і масштабованість генерації доказів з нульовим розголошенням.

Глибоке технічне обговорення

Орієнтований ациклічний граф (DAG)

zkPyTorch використовує спрямований ациклічний граф (DAG) для управління обчислювальними процесами машинного навчання. Структура DAG здатна систематично фіксувати складні залежності моделей, як показано на малюнку 2, де кожен вузол представляє конкретну операцію (таку як транспонування матриці, множення матриць, ділення та Softmax), а ребра точно описують напрямок потоку даних між цими операціями.

Цей зрозумілий та структурований спосіб представлення не лише значно полегшує процес налагодження, а й допомагає в глибокій оптимізації продуктивності. Безцикловий характер DAG запобігає циклічній залежності, забезпечуючи ефективне та контрольоване виконання обчислень, що є надзвичайно важливим для оптимізації генерації нульових знань.

Крім того, DAG дозволяє zkPyTorch ефективно обробляти складні архітектури моделей, такі як Transformer та резидуальні мережі (ResNet), які зазвичай мають багатошляху, нелінійні складні потоки даних. Дизайн DAG ідеально відповідає їх обчислювальним потребам, що забезпечує точність і ефективність інференції моделі.

zkPyTorch: створення надійного майбутнього AI за допомогою нульових знань

Рис. 2: Приклад моделі машинного навчання, представленої у вигляді орієнтованого ациклічного графа (DAG)

Розширені квантові технології

У zkPyTorch передові методи квантування є ключовим кроком у перетворенні обчислень з плаваючою комою в цілочисельні операції для ефективної арифметики скінченного поля в системах доведення з нульовим розголошенням (ZKP). zkPyTorch використовує статичний цілочисельний метод, ретельно розроблений, щоб збалансувати обчислювальну ефективність і точність моделі, забезпечуючи швидке та точне генерування доказів.

Цей процес квантування включає сувору калібрування, точно визначаючи найкращий масштаб квантування для ефективного представлення чисел з плаваючою комою, уникнення переповнень і значних втрат точності. Щодо специфічних нелінійних обчислень ZKP (наприклад, Softmax та нормалізація по шарам), zkPyTorch інноваційно перетворює ці складні функції на ефективні операції з таблицями.

Ця стратегія не тільки значно підвищує ефективність генерації доказів, але й гарантує, що згенеровані результати доведення повністю відповідають результатам високоточної моделі квантування, беручи до уваги продуктивність та достовірність, а також сприяючи практичному застосуванню перевіреного машинного навчання.

Стратегії оптимізації багаторівневих схем

zkPyTorch використовує високо точну систему оптимізації багаторівневих схем, яка виходить з кількох вимірів, щоб забезпечити максимальну ефективність і масштабованість нульових знань в інференції:

Оптимізація пакетної обробки (Batch Processing Optimization)

Завдяки упаковці кількох завдань логічного висновку в пакетну обробку загальна обчислювальна складність значно знижується, особливо для послідовних сценаріїв роботи в мовних моделях, таких як Transformers. Як показано на рисунку 3, процес висновків традиційної великої мовної моделі (LLM) виконується на основі токена за токеном, тоді як інноваційний підхід zkPyTorch об'єднує всі вхідні та вихідні токени в єдиний процес запиту для перевірки. Цей процес підтверджує, що загальний висновок LLM є правильним відразу, гарантуючи, що кожен вихідний токен відповідає стандартному висновку LLM.

У висновуванні LLM правильність механізму кешу KV є ключем до забезпечення достовірності виведених даних. Якщо логіка логічного висновку моделі неправильна, навіть якщо використовується кеш, відновити результати, що відповідають стандартному процесу декодування, не вдасться. zkPyTorch забезпечує перевірену впевненість і повноту кожного результату в доказі з нульовим розголошенням, точно відтворюючи цей процес.

! zkPyTorch: Створення майбутнього довіреного штучного інтелекту з доказами з нульовим розголошенням

Рисунок 3: Пакетна валідація розрахунків великомасштабних мовних моделей (LLM), де L — довжина вхідної послідовності, N — довжина вихідної послідовності, а H — розмірність прихованого шару моделі.

Оптимізовані примітивні операції (Optimized Primitive Operations)

zkPyTorch глибоко оптимізує базові примітиви машинного навчання, що значно підвищує ефективність схеми. Наприклад, операції згортки завжди були інтенсивними з обчислювальної точки зору, і zkPyTorch використовує метод оптимізації, заснований на швидкому перетворенні Фур'є (FFT) для перетворення згорток, спочатку виконаних у просторовій області, в операції множення в частотній області, що значно знижує обчислювальні витрати. У той же час, для нелінійних функцій, таких як ReLU і softmax, система використовує метод попередньо обчисленої таблиці пошуку, що дозволяє уникнути недружнього нелінійного обчислення ZKP і значно покращує ефективність роботи схеми логічного висновку.

Паралельне виконання схем (Parallel Circuit Execution)

zkPyTorch автоматично компілює складні операції машинного навчання в паралельні схеми, розкриваючи повний апаратний потенціал багатоядерних центральних/графічних процесорів для масової паралельної генерації доказів. Наприклад, при виконанні множення тензорів zkPyTorch автоматично розіб'є завдання обчислень на кілька незалежних підзадач, які будуть розподілені на кілька процесорних блоків паралельно. Така стратегія розпаралелювання не тільки значно покращує пропускну здатність виконання схем, але й дозволяє ефективно перевіряти великі моделі, відкриваючи новий вимір для масштабованого ZKML.

Повна перевірка продуктивності: подвійний прорив у продуктивності та точності

zkPyTorch через ретельне бенчмаркінг продемонстрував видатну продуктивність та практичну придатність у кількох основних моделях машинного навчання:

Тестування моделі VGG-16

На наборі даних CIFAR-10, zkPyTorch потребує лише 6,3 секунди для генерації доказу VGG-16 для одного зображення, і за точністю майже не відрізняється від традиційних обчислень з плаваючою комою. Це свідчить про те, що zkML вже має практичні можливості в класичних завданнях, таких як розпізнавання зображень.

Тестування моделі Llama-3

Для великої мовної моделі Llama-3 зі шкалою до 8 мільярдів параметрів, zkPyTorch досягає ефективної генерації доказів близько 150 секунд на токен. Що ще примітно, так це те, що на виході зберігається 99,32% косинусної схожості в порівнянні з оригінальною моделлю, що забезпечує високу впевненість, але при цьому враховує семантичну узгодженість вихідних даних моделі.

! zkPyTorch: Побудова майбутнього довіреного штучного інтелекту з доказами з нульовим розголошенням

! zkPyTorch: Створення майбутнього довіреного штучного інтелекту з доказами з нульовим розголошенням

Таблиця 1: Продуктивність різних схем ZKP у згорткових нейронних мережах та мережах перетворення.

Широкі сфери застосування в реальному світі

Доказуване машинне навчання як послуга (Verifiable MLaaS)

Зі зростанням цінності моделей машинного навчання все більше розробників ШІ обирають розгортати власні моделі в хмарі та надавати послуги MLaaS (Machine-Learning-as-a-Service). Але на практиці користувачам часто важко перевірити, чи є результати висновку правдивими; водночас постачальники моделей також прагнуть захистити структуру моделі та параметри, щоб уникнути їх крадіжки або зловживання.

zkPyTorch був створений для вирішення цього протиріччя: він надає хмарним AI-сервісам вбудовану "можливість нульового знання", що дозволяє перевіряти рівень шифрування результатів висновків.

Як показано на малюнку 4, розробники можуть безпосередньо підключати великі моделі, такі як Llama-3, до zkPyTorch, щоб побудувати надійну систему MLaaS з можливостями перевірки з нульовим розголошенням. Завдяки безшовній інтеграції з базовим двигуном ZKP, zkPyTorch може автоматично генерувати докази, не розкриваючи деталі моделі, перевіряючи, чи кожен висновок був виконаний правильно, тим самим створюючи справді надійну інтерактивну основу довіри для постачальників моделей і споживачів.

zkPyTorch: створення надійного майбутнього AI за допомогою нульових знань

Рисунок 4: застосування zkPyTorch у перевірці машинного навчання як послуги (Verifiable MLaaS).

Безпечний супровід оцінки моделі

zkPyTorch забезпечує безпечний і перевірений механізм оцінки моделі штучного інтелекту, що дозволяє зацікавленим сторонам критично оцінювати свої ключові показники ефективності, не розкриваючи деталей моделі. Цей метод оцінки з нульовим витоком встановлює новий стандарт довіри для моделей штучного інтелекту, підвищуючи ефективність бізнес-транзакцій і водночас захищаючи інтелектуальну власність розробників. Це не тільки підвищує видимість цінності моделей, але й забезпечує більшу прозорість і справедливість для галузі штучного інтелекту в цілому.

з глибокою інтеграцією з EXPchain блокчейном

zkPyTorch за замовчуванням інтегрує блокчейн-мережу EXPchain, незалежно розроблену Polyhedra Network, для спільної побудови надійної децентралізованої інфраструктури штучного інтелекту. Ця інтеграція забезпечує високооптимізований шлях для дзвінків смарт-контрактів і перевірки в ланцюжку, що дозволяє криптографічно перевіряти результати висновків штучного інтелекту та зберігати їх у блокчейні.

Завдяки співпраці zkPyTorch та EXPchain, розробники можуть створювати повністю перевірені AI-додатки, від розгортання моделей, обчислення висновків до перевірки в ланцюгу, що справді забезпечує прозорий, надійний та підзвітний процес обчислення AI, надаючи базову підтримку для наступного покоління додатків Blockchain+AI.

Майбутня дорожня карта та безперервні інновації

Polyhedra продовжить просувати еволюцію zkPyTorch, зосередившись на наступних напрямках:

Відкритий код та спільне будівництво

Поступово відкриваючи основні компоненти zkPyTorch, ми спонукаємо глобальних розробників до участі та сприяємо спільним інноваціям і екологічному процвітанню в галузі машинного навчання з нульовими знаннями.

Розширення сумісності моделей та рамок

Розширити підтримку основних моделей та фреймворків машинного навчання, додатково підвищити адаптивність та універсальність zkPyTorch, щоб його можна було гнучко вбудовувати в різноманітні робочі процеси ШІ.

Інструменти розробки та SDK для побудови

Запровадження комплексного набору інструментів для розробки та програмного забезпечення (SDK), спрощення процесу інтеграції, прискорення впровадження та використання zkPyTorch у реальних бізнес-сценаріях.

Висновок

zkPyTorch — важлива віха на шляху до майбутнього надійного штучного інтелекту. Завдяки глибокій інтеграції зрілого фреймворку PyTorch із передовою технологією доказу з нульовим розголошенням, zkPyTorch не тільки значно покращує безпеку та перевірюваність машинного навчання, але й змінює межі розгортання та довіри до додатків штучного інтелекту.

Polyhedra продовжуватиме впроваджувати інновації в галузі «безпечного штучного інтелекту», щоб підштовхнути машинне навчання до більш високих стандартів з точки зору захисту конфіденційності, перевірених результатів і відповідності моделям, допомагаючи створювати прозорі, надійні та масштабовані інтелектуальні системи.

Будь ласка, слідкуйте за нашими постійними оновленнями, щоб стати свідком того, як zkPyTorch формує майбутнє безпечної розумної ери.

Посилання на оригінал

Переглянути оригінал
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити