Zero Gravity — первый рабочий пример модели ZKML с невесомой нейросетью. Расшифровка ценных цитат из недавней телеконференции сообщества Aleo (26 апреля). Ссылка на запись разговора.

Виктор: Всем привет. Расскажу немного о проекте хакатона, который мы проводили с Лео. Поэтому я надеюсь, что это будет интересно для людей, которые создавали или планируют использовать Aleo, используя программное обеспечение, а также получить представление о том, что именно может сделать этот проект.

На данный момент это одна из самых больших частей программного обеспечения, использующая Aleo. Это был очень забавный проект, который в основном зачитывался группе людей для совместной работы над этой интересной исследовательской темой. Надеюсь, вы поняли слово «шутка», потому что мы используем архитектуру нейронной сети под названием Невесомые нейронные сети, отсюда и название «вес закончился» и «невесомость». Но прежде чем углубиться в это, я расскажу вам немного о себе, а также о том, что мы создали. Итак, я инженер протокола в Aleo. В течение последних пяти-шести семи лет я создавал приложения, часто используя криптографию, часто ориентируясь на внутреннюю инженерию. Недавно я присоединился к Aleo, чтобы помочь улучшить систему проверки, но мне также очень интересно подумать обо всех приложениях, которые могут использовать доказательства с нулевым разглашением и криптография. Так что, если у кого-нибудь когда-нибудь возникнут идеи, которыми они хотят поделиться, о том, что можно построить на Aleo, тогда да, не стесняйтесь обращаться ко мне, потому что мне всегда нравится думать об этом.

И специально для хакатона мы рассмотрели разработку проекта ZKML. ZKML расшифровывается как Машинное обучение с нулевым разглашением. Машинное обучение — это более техническое название того, что люди часто называют искусственным интеллектом. Так, например, ChatGPT от OpenAI, который, наверное, всем известен, использует машинное обучение, эти очень большие модели, которые они обучают в течение длительного времени с большими деньгами. И затем, если вы зададите ChatGPT вопрос, ИИ волшебным образом даст вам ответ, надеюсь, хорошо резюмируя вашу статью или делая что-то еще.

Тем не менее, с этим все еще есть некоторые неуверенности. В этом случае вы должны в основном доверять серверу или OpenAI, что они делают свою работу правильно. Обычно у вас нет математической гарантии того, что результат, который вы получаете от них, на самом деле был результатом их модели и ваших входных данных. У вас нет никаких гарантий относительно того, являются ли модели машинного обучения, которые они используют внутри, согласованными. У вас нет гарантии, что кто-то тайно не ввел дополнительные данные и не пытается вытащить из вас пароль каким-то взломом. Таким образом, есть много возможностей для использования криптографии для защиты этих систем, и мы еще далеки от того, чтобы действительно доказать эти очень большие модели, которые использует OpenAI. Но кое-где некоторые стартапы уже создают небольшие варианты использования. Кто-то работает над онлайн-верификатором, который позволяет вам проверить, правильно ли кто-то обучил свою модель машинного обучения. Некоторые люди могут знать, как называется проект Worldcoin, где они в настоящее время работают над моделью машинного обучения для сканирования вашей радужной оболочки глаза. И если это будет сделано с использованием машинного обучения с нулевым разглашением, то теоретически люди смогут на стороне клиента на своем мобильном устройстве проверить свое собственное сканирование, свое собственное глазное яблоко, доказать третьей стороне, что модель машинного обучения думает, а ИИ считает, что они уникальны. Но третья сторона с другой стороны, будь то правительство или криптовалютная биржа, или кто-то еще, кто должен подтвердить вашу личность. С другой стороны, если вы используете доказательство с нулевым разглашением обо всей этой модели, другой стороне не нужно будет видеть все ваши личные данные. Так что это хорошо, потому что тогда люди сохраняют свой суверенитет, и да, это также становится более безопасным, потому что ваши данные не утекают с вашего телефона.

Кроме того, если вы хотите проверить, является ли модель внутренне согласованной, вы можете задать ей несколько вопросов, и она даст вам несколько ответов. Или вы также можете посмотреть, на каких данных обучалась модель. И если он не обучался на нелегальных или проприетарных данных. Вы могли бы сделать теоретические доказательства всех этих различных свойств.

Итак, что мы сделали для хакатона? Какой-то коллега из Алео, Сэм, на самом деле, нашел этот документ давным-давно, используя архитектуру, называемую невесомой нейронной сетью, архитектура, указанная в правом столбце…

… и мы сравниваем его сейчас с традиционными моделями машинного обучения, которые мы перечисляем слева. Поэтому я не буду вдаваться во все технические детали, но традиционные модели машинного обучения трудно доказать, они очень медленно доказываются. И это одна из причин этого, потому что они используют нечто, называемое арифметикой с плавающей запятой, которая представляет собой тип данных, который просто очень сложен и вводит много накладных расходов при попытке доказать это.

В то время как с невесомыми нейронными сетями все их данные после обучения в основном хранятся в гигантской двоичной таблице поиска. Так что у него просто другая структура данных для доказательства, и да, нам было очень весело с этим, и мы реализовали его в Aleo и начали реализовывать его также с Halo2 — другой системой доказательства. И да, я думаю, что наборы инструкций Aleo действительно позволили нам взять множество различных компонентов из невесомой нейронной сети. Если вам это интересно, вы можете посмотреть наш код на GitHub. Мы взяли все различные компоненты из модели и просто написали для них функции в Aleo. Обратите внимание, что мы внесли некоторые коррективы в базовый компилятор, но мы надеемся, что в ближайшие пару недель, может быть, мы посмотрим, сможем ли мы интегрировать примитивы для всех. В частности, мы используем то, что называется таблицами поиска, аргументами поиска, где, если в доказательстве вы хотите найти что-то в существующей таблице как в структуре данных, вы можете сделать это очень и очень эффективно.

Так что, если кто-то, работающий с Aleo, считает, что время прувинга слишком медленное, то это может быть одним из способов его ускорить. Мне было бы любопытно увидеть в чате позже, есть ли у кого-нибудь запись о самом продолжительном времени прувинга, которое они провели со своей программой. Я думаю, что наш пример для хакатона в конце концов занял 40 секунд, и это нормально, но я использовал довольно хороший ноутбук. Поэтому я боюсь, что если вы сделаете это на своем телефоне, это займет много времени.

И, возможно, еще одна техническая деталь, которой интересно поделиться, — это то, как на самом деле работают эти невесомые нейронные сети.

Мне жаль всех, кто не очень глубоко разбирается в машинном обучении. На самом деле я тоже не слишком глубоко в этом разбираюсь, но способ работы этих моделей заключается в том, что они представляют, что вы хотите проверить слева, какое это число —> затем вы можете создать набор дискриминаторов, по одному для каждого числа от нуля до девять. И вы в основном фильтруете информацию с этого изображения в дискриминатор, затем пытаетесь предсказать, к какому классу это изображение принадлежит. Принадлежит ли он номеру один, номеру два, номеру три… Ну, этот принадлежит номеру два, очевидно. А в машинном обучении в основном есть два этапа: обучение и вывод. Итак, сначала вы загружаете информацию во все эти таблицы, а во-вторых, вы делаете это снова, а затем проверяете, какая таблица выигрывает. Какой дискриминатор побеждает или, другими словами, какой номер один. Так что это относительно сложный алгоритм, и даже такие низкоуровневые вещи можно было создать в стеке Aleo.

Таким образом, вы можете проверить код, и уже есть другой проект, который его разветвляет и использует для его расширения. На самом деле этим занимаются еще два человека. Мы также думаем рассмотреть другие нейронные сети, похожие на парадигму невесомости. Просто используйте структуры данных, которые легче доказать с помощью доказательств с нулевым разглашением. Итак, если кто-то заинтересован в мозговом штурме по этому поводу, у нас есть пара статей, в которых пытаются делать что-то немного иначе, чем традиционная парадигма, и было бы очень здорово, если бы это позволило очень быстро проверить модели машинного обучения и в целом. сделать в долгосрочной перспективе такие компании, как OpenAI, более подотчетными.

В: Может быть, вы могли бы также поделиться своим опытом во время ZKHack, процесса… Буквально в двух словах.

Виктор: Итак, хакатон был организован ZKSummit и подкастом ZK. Итак, я был в Лиссабоне, там было около 100 или 200 человек, и у нас была команда из шести человек, чтобы построить это вместе за два дня. Я думаю, что на этих хакатонах действительно есть хорошая возможность собраться вместе и по-настоящему продвинуться вперед. Потому что часто доступно много знаний о криптографии, поэтому эти хакатоны предоставляют хорошую возможность для всех, кто хочет узнать больше и, возможно, сейчас думает: «Ах, это слишком сложно», на самом деле собрать всех экспертов и ответить на все ваши вопросы бесплатно. Так что это хорошо.

Вопрос. Как сейчас ИИ используется в криптографии?

Виктор: Так что да, это интересный вопрос, потому что я говорил об использовании криптографии для ИИ для машинного обучения для подтверждения определенных операций, и это происходит очень и очень редко. OpenAI работал с кем-то, чтобы в основном отпечатывать их модели, и тогда вы можете распознать «О, этот результат исходит от OpenAI», «Это результат исходит от Google» и «Это результат исходит от другой компании». С другой стороны, другие люди пытаются использовать машинное обучение и алгоритмы искусственного интеллекта для оптимизации криптографических алгоритмов, и это в основном касается исследователей.

Вопрос. Почему Leo лучше других криптоязыков?

Виктор:Прежде всего, все, что я говорю сейчас, может оказаться неверным через пять лет, потому что все повторяется очень быстро. Но прямо сейчас Leo действительно является одним из самых высокоуровневых и простых языков, которые вы можете использовать. В результате он также иногда немного менее выразительный и мощный. Но да, это очень просто и, как и большинство программ и алгоритмов, которые вы можете себе представить, — вы можете просто реализовать их и очень быстро создать с их помощью доказательство. Так что это очень круто. Во время хакатона мы кратко рассмотрели возможность использования другой библиотеки и обнаружили, что это довольно сложно, и я очень горжусь тем, что вы не знаете, насколько хорошо работает ваше программное обеспечение, пока не начнете его использовать. Я был очень приятно удивлен из всех вариантов, которые есть сейчас, Лео определенно очень удобен в использовании.

Вопрос. Машинное обучение и ИИ — это одно и то же?

Виктор: Многие люди используют их взаимозаменяемо. ИИ — это концепция искусственного интеллекта более высокого уровня, а машинное обучение означает, что существуют определенные алгоритмы, позволяющие создавать что-то, что звучит умно. Некоторые исследователи действительно используют эти термины взаимозаменяемо.

Ссылка на видеозапись.

Алео:
🏡 | Сайт ~ https://www.aleo.org/
📅 | Календарь сообщества ~ https://www.aleo.org/community/calendar
🐦 | Твиттер ~ @AleoHQ ~ https://twitter.com/AleoHQ
🐙 | GitHub ~ https://github.com/AleoHQ
📄 | Документация для разработчиков ~ https://developer.aleo.org/
🎮 | Leo Playground ~ https://play.leo-lang.org/
🔎 | Обозреватель блоков Aleo ~ https://www.aleo.network/
✍️ | Блог сообщества ~ https://medium.com/@AleoHQ
📣 | Блог объявлений ~ https://www.aleo.org/blog

Ютуб — https://www.youtube.com/@AleoLabs