Ядерний рівень механізму доказу моделей машинного навчання

robot
Генерація анотацій у процесі

Оригінальний автор: Zhiyong Fang

"Як з'їсти слона? По одному шматочку за раз."

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

Таблиця 1: Експоненціальне зростання масштабу параметрів моделі

​Ядро механізму доказу в моделі машинного навчання

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

Нижче ми детально пояснимо:

Кількість параметрів сучасних моделей машинного навчання часто вимірюється мільярдами, навіть у випадках, коли не використовуються жодні криптографічні обробки, вони вже займають величезні обсяги пам'яті. А у випадку з доказами з нульовим розголошенням (Zero-Knowledge Proof, ZKP) це виклик ще більше посилюється.

Кожен параметр з плаваючою комою повинен бути перетворений в елемент в алгебраїчному полі, процес, який сам по собі призводить до збільшення використання пам'яті приблизно в 5-10 разів. Крім того, для точного моделювання операцій з плаваючою комою в алгебраїчній області вводяться додаткові операційні накладні витрати, які зазвичай становлять близько 5 разів.

У сукупності загальні вимоги до пам'яті моделі можуть бути збільшені в 25-50 разів порівняно з початковим розміром. Наприклад, модель з 1 мільярдом 32-бітних параметрів з плаваючою комою може потребувати від 100 до 200 ГБ пам'яті лише для зберігання перетворених параметрів. З урахуванням проміжних розрахунків і витрат на доведення самої системи, загальний обсяг пам'яті легко перевищує рівень терабайт.

Сучасні системи доказів, такі як Groth 16 і Plonk, в необроблених реалізаціях зазвичай припускають, що всі відповідні дані можуть бути одночасно завантажені в пам'ять. Це припущення, хоча технічно можливе, але на практичних апаратних умовах є надзвичайно складним, що суттєво обмежує доступні ресурси для обчислення доказів.

Розв'язок многогранників: zkCuda

Що таке zkCuda?

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

Мова zkCUDA за синтаксисом і семантикою дуже схожа на CUDA, що робить її дуже зручною для розробників з досвідом роботи з CUDA, а її нижній рівень реалізовано на Rust, що забезпечує поєднання безпеки та продуктивності.

Завдяки zkCUDA, розробники можуть:

  • Швидке створення високопродуктивних ZK-колій;
  • Ефективно плануйте та використовуйте розподілені апаратні ресурси, такі як графічні процесори або кластерні середовища з підтримкою MPI, для досягнення масових паралельних обчислень.

Чому обрати zkCUDA?

zkCuda є набором високопродуктивного фреймворку нульових знань, розробленим на основі обчислень GPU, який здатний розділити надмасштабні моделі машинного навчання на менші, легші для керування обчислювальні одиниці (kernels) та забезпечити ефективний контроль за допомогою мови фронтенду, подібної до CUDA. Цей дизайн приносить такі ключові переваги:

1. Система підтвердження точного збігу

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

  • Для високо паралельних обчислювальних завдань можна використовувати протоколи, такі як GKR, які спеціалізуються на обробці структурованої паралельності;
  • Для менших за розмірами або нерегулярних завдань більш підходять такі системи доказів, як Groth 16, які мають низькі витрати в компактних обчислювальних сценаріях.

Шляхом налаштування вибору бекенду, zkCUDA може максимально використовувати переваги продуктивності різних ZK протоколів.

2. Більш розумне управління ресурсами та паралельна оптимізація

Різні докази ядра мають значні відмінності в потребах ресурсів для ЦП, пам'яті та введення/виведення. zkCUDA може точно оцінити споживання ресурсів для кожного завдання та інтелектуально планувати, максимізуючи загальну пропускну здатність.

Більш того, zkCUDA підтримує розподіл завдань між гетерогенними обчислювальними платформами — включаючи ЦП, ГП та FPGA — що дозволяє оптимально використовувати апаратні ресурси та значно підвищує системну продуктивність.

Природна відповідність zkCuda і протоколу GKR

Хоча zkCuda був розроблений як універсальна обчислювальна платформа, сумісна з різними системами нульових знань, він архітектурно має природну високу сумісність з протоколом GKR (Goldwasser-Kalai-Rothblum).

​Ядерний механізм доказу моделей машинного навчання

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

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

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

Попередні результати та майбутні напрямки

Ми завершили початкову розробку фреймворку zkCuda та успішно протестували його в кількох сценаріях, включаючи криптографічні хеш-функції, такі як Keccak і SHA-256, а також невеликі моделі машинного навчання.

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

Це лише початок, zkCuda продовжить рухатися в бік ефективної, високо масштабованої та високо адаптивної універсальної доказової рамки.

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

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