Не доверяй, проверяй: Обзор децентрализованного вывода

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

Предположим, вы хотите запустить большую языковую модель, например Llama2-70B. Такая масштабная модель требует более 140 ГБ памяти, что означает, что вы не можете запустить сырую модель на своем домашнем компьютере. Каковы ваши варианты? Вы можете обратиться к облачному провайдеру, но вам может не нравиться доверять одной централизованной компании обработку этой рабочей нагрузки за вас и загрузка всех ваших данных использования. Тогда вам нужно децентрализованное вывод, которое позволяет запускать модели машинного обучения без привязки к какому-либо одному провайдеру.

Проблема доверия

В децентрализованной сети недостаточно просто запускать модель и доверять результату. Допустим, я попрошу сеть проанализировать проблему управления, используя Llama2–70B. Как я могу быть уверен, что она на самом деле не использует Llama2–13B, предоставляя мне худший анализ и сохраняя разницу?

В централизованном мире вы можете доверять тому, что компании, такие как OpenAI, делают это честно, потому что их репутация на кону (и в какой-то степени, качество LLM самоочевидно). Но в децентрализованном мире честность не предполагается - она проверяется.

Здесь играет роль проверяемое умозаключение. Помимо предоставления ответа на запрос, вы также доказываете, что он был выполнен правильно на запрошенной вами модели. Но как?

Наивным подходом было бы запустить модель в качестве умного контракта on-chain. Это, безусловно, гарантировало бы проверку вывода, но это крайне непрактично. GPT-3 представляет слова с размерностью вложения 12 288. Если бы вы сделали одно умножение матрицы этого размера on-chain, это бы стоило около 10 миллиардов долларов по текущим ценам газа - вычисление заполнило бы каждый блок примерно на месяц.

Итак, нет. Нам понадобится другой подход.

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

1. Доказательства нулевого разглашения (ZK ML)

Представьте, что вы можете доказать, что запустили масштабную модель, но доказательство фактически имеет фиксированный размер независимо от размера модели. Вот что обещает ZK ML, благодаря волшебству ZK-SNARKs.

Хотя это звучит элегантно в принципе, компиляция глубокой нейронной сети в схемы с нулевым знанием, которые затем можно доказать, крайне сложна. Это также крайне дорого — по минимуму, вероятно, вам придется посмотреть на@ModulusLabs/глава-5-стоимость-интеллекта-da26dbf93307">1000x стоимость для вывода и 1000x задержка (время генерации доказательства), не говоря уже о компиляции самой модели в цепь, прежде чем это произойдет. В конечном итоге эта стоимость должна быть перенесена на пользователя, поэтому это обернется для конечных пользователей очень дорого.

С другой стороны, это единственный подход, который криптографически гарантирует правильность. С ZK поставщик модели не может обмануть, как бы он ни старался. Но это происходит с огромными затратами, что делает это непрактичным для больших моделей в обозримом будущем.

Примеры: EZKL, Модульные лаборатории, Гиза

2. Оптимистические доказательства мошенничества (оптимистический ML)

Оптимистический подход - доверять, но проверять. Мы предполагаем, что умозаключение верно, если не доказано обратное. Если узел пытается обмануть, "наблюдатели" в сети могут назвать его обманщиком и вызвать его на дуэль, используя доказательство мошенничества. Эти наблюдатели должны постоянно следить за цепочкой и перезапускать умозаключения в своих собственных моделях, чтобы убедиться, что выводы верны.

Эти доказательства мошенничества стиль Truebitинтерактивные игры challenge-response, где вы повторно разбиваете трассировку выполнения модели on-chain, пока не найдете ошибку.

Если это когда-либо произойдет, это будет невероятно дорогостоящим, поскольку эти программы огромны и имеют огромные внутренние состояния — одно выполнение GPT-3 стоит примерно 1 петафлоп (10¹⁵ операций с плавающей запятой). Но теория игр подсказывает, что это практически никогда не должно происходить (доказательства мошенничества также известны тем, что правильно написать код для них практически невозможно, так как этот код практически никогда не выполняется в производственной среде).

Положительная сторона заключается в том, что оптимистичный ML безопасен, пока есть хотя бы один честный наблюдатель, который следит за процессом. Стоимость дешевле, чем у ZK ML, но помните, что каждый наблюдатель в сети перезапускает каждый запрос самостоятельно. На равновесии это означает, что если есть 10 наблюдателей, то стоимость безопасности должна быть передана пользователю, так что им придется заплатить больше, чем в 10 раз больше стоимости вывода (или сколько ни будет наблюдателей).

Недостаток, как правило, с оптимистическими роллапами, заключается в том, что вам придется подождать, пока не пройдет период оспаривания, прежде чем вы убедитесь в том, что ответ проверен. Однако, в зависимости от параметров этой сети, вам, возможно, придется ждать минуты, а не дни.

Примеры: Час, Gensyn (хотя в настоящее время недостаточно специфицировано)

3. Криптоэкономика (Криптоэкономическая ML)

Здесь мы отбрасываем все изысканные техники и делаем простую вещь: голосование с учетом доли стейки. Пользователь решает, сколько узлов должно выполнить его запрос, каждый из них раскрывает свои ответы, и если существует несоответствие среди ответов, выбивают странный вариант. Стандартные вещи оракула — это более прямой подход, который позволяет пользователям устанавливать желаемый уровень безопасности, балансируя стоимость и доверие. Если бы Chainlink занимался машинным обучением, вот как они бы это делали.

Здесь задержка быстрая — вам всего лишь нужно commit-revealот каждого узла. Если это записывается в блокчейн, то технически это может произойти в двух блоках.

Однако безопасность является слабым местом. Большинство узлов могли бы рационально выбрать сговор, если бы были достаточно хитры. Как пользователь, вам нужно обдумать, насколько многое стоит эти узлы и сколько им это будет стоить, чтобы обмануть. Сказанное, использование чего-то вроде перестраивания Eigenlayer и атрибутивная ценная бумага, сеть могла бы эффективно предоставлять страхование в случае сбоя в безопасности.

Но хорошая часть этой системы заключается в том, что пользователь может указать, какой уровень безопасности он хочет. Он может выбрать 3 узла или 5 узлов в своем кворуме, или каждый узел в сети — или, если он хочет YOLO, он даже может выбрать n=1. Функция стоимости здесь проста: пользователь платит за количество узлов в своем кворуме. Если вы выберете 3, вы заплатите за 3 раза больше стоимости вывода.

Здесь сложный вопрос: можно ли сделать n=1 безопасным? В наивной реализации одинокий узел должен обманывать каждый раз, если никто не проверяет. Но я подозреваю, что если вы шифруете запросы и проводите платежи через намерения, то можете сделать узлу неочевидным, что они фактически единственные, кто отвечает на эту задачу. В этом случае вы, возможно, сможете взимать с обычного пользователя меньшую плату, чем в 2 раза стоимость вывода.

В конечном итоге, криптоэкономический подход является самым простым, самым легким и, вероятно, самым дешевым, но он менее привлекателен и в принципе менее безопасен. Но, как всегда, дьявол кроется в деталях.

Примеры: Обряд(хотя в настоящее время недостаточно специфицировано),Сеть Atoma

Почему проверяемое ML сложно

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

Вот почему эти три подхода к проверке отражают способы обеспечения безопасности своего блочного пространства блокчейны — ZK-роллапы используют ZK-доказательства, оптимистичные роллапы используют доказательства мошенничества, а большинство L1-блокчейнов используют криптоэкономику. Неудивительно, что мы в основном пришли к одинаковым решениям. Так в чем же сложность при применении этого к ML?

ML уникален потому, что вычисления ML обычно представлены как плотные вычислительные графики, разработанные для эффективного запуска на графических процессорах. Они не предназначены для доказательства. Поэтому, если вы хотите доказать вычисления ML в среде ZK или оптимистичной среде, их необходимо перекомпилировать в формат, который позволяет это сделать — что очень сложно и дорого.

Вторая фундаментальная трудность машинного обучения заключается в недетерминированности. Верификация программ предполагает, что выходные данные программ детерминированы. Но если вы запустите одну и ту же модель на разных архитектурах графического процессора или версиях CUDA, вы получите разные выходные данные. Даже если вам придется заставить каждый узел использовать одну и ту же архитектуру, вы все равно столкнетесь с проблемой случайности, используемой в алгоритмах (шум в диффузионных моделях или выборка токенов в LLM). Вы можете исправить эту случайность, управляя RNGсемя. Но даже с этим всем вы остаетесь с последней угрожающей проблемой: недетерминизм, присущий операциям с плавающей запятой.

Почти все операции на графических процессорах выполняются с плавающей запятой. Плавающие точки капризны, потому что онине ассоциативный— то есть, не всегда верно, что (a + b) + c всегда равно a + (b + c) для чисел с плавающей запятой. Поскольку графические процессоры сильно параллельны, порядок сложения или умножения может отличаться при каждом выполнении, что может привести к небольшим различиям в выводе. Это вряд ли повлияет на вывод LLM, учитывая дискретную природу слов, но для модели изображения это может привести к незначительным различиям значений пикселей, из-за чего два изображения могут не совпадать полностью.

Это означает, что вам придется избегать использования плавающих точек, что означает огромный удар по производительности, или вам придется допустить некоторую лояльность при сравнении результатов. В любом случае детали довольно сложные, и вы не можете абстрагироваться от них. (Вот почему, оказывается, EVM не поддерживаетчисла с плавающей точкой, хотя некоторые блокчейны, такие как NEARdo.)

В двух словах, децентрализованные сети вывода сложны, потому что все детали имеют значение, и реальность имеет удивительное количество деталей.

В заключение

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

Но я не написал этот текст, чтобы это было последним словом — Я много думаю над этими идеями в реальном времени и веду много живых дебатов с людьми. Я всегда находил, что писать — лучший способ проверить свои идеи. Если вы что-то создаете в этой области, обращайтесь! Я всегда с удовольствием узнаю, над чем вы работаете — и если вы сможете доказать мне ошибку, то тем лучше.

Отказ от ответственности:

  1. Эта статья перепечатана с [Исследование Dragonfly] Все авторские права принадлежат оригинальному автору [Хасиб Куреши]. Если есть возражения по поводу этого перепечатывания, пожалуйста, свяжитесь с Gate Learnкоманда, и они незамедлительно разберутся с этим.
  2. Отказ от ответственности за обязательства: Взгляды и мнения, выраженные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Не доверяй, проверяй: Обзор децентрализованного вывода

Средний4/16/2024, 2:08:16 AM
Пересечение блокчейна и машинного обучения близко, но в децентрализованном рассуждении балансировка затрат и доверия является ключевой проблемой.

Предположим, вы хотите запустить большую языковую модель, например Llama2-70B. Такая масштабная модель требует более 140 ГБ памяти, что означает, что вы не можете запустить сырую модель на своем домашнем компьютере. Каковы ваши варианты? Вы можете обратиться к облачному провайдеру, но вам может не нравиться доверять одной централизованной компании обработку этой рабочей нагрузки за вас и загрузка всех ваших данных использования. Тогда вам нужно децентрализованное вывод, которое позволяет запускать модели машинного обучения без привязки к какому-либо одному провайдеру.

Проблема доверия

В децентрализованной сети недостаточно просто запускать модель и доверять результату. Допустим, я попрошу сеть проанализировать проблему управления, используя Llama2–70B. Как я могу быть уверен, что она на самом деле не использует Llama2–13B, предоставляя мне худший анализ и сохраняя разницу?

В централизованном мире вы можете доверять тому, что компании, такие как OpenAI, делают это честно, потому что их репутация на кону (и в какой-то степени, качество LLM самоочевидно). Но в децентрализованном мире честность не предполагается - она проверяется.

Здесь играет роль проверяемое умозаключение. Помимо предоставления ответа на запрос, вы также доказываете, что он был выполнен правильно на запрошенной вами модели. Но как?

Наивным подходом было бы запустить модель в качестве умного контракта on-chain. Это, безусловно, гарантировало бы проверку вывода, но это крайне непрактично. GPT-3 представляет слова с размерностью вложения 12 288. Если бы вы сделали одно умножение матрицы этого размера on-chain, это бы стоило около 10 миллиардов долларов по текущим ценам газа - вычисление заполнило бы каждый блок примерно на месяц.

Итак, нет. Нам понадобится другой подход.

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

1. Доказательства нулевого разглашения (ZK ML)

Представьте, что вы можете доказать, что запустили масштабную модель, но доказательство фактически имеет фиксированный размер независимо от размера модели. Вот что обещает ZK ML, благодаря волшебству ZK-SNARKs.

Хотя это звучит элегантно в принципе, компиляция глубокой нейронной сети в схемы с нулевым знанием, которые затем можно доказать, крайне сложна. Это также крайне дорого — по минимуму, вероятно, вам придется посмотреть на@ModulusLabs/глава-5-стоимость-интеллекта-da26dbf93307">1000x стоимость для вывода и 1000x задержка (время генерации доказательства), не говоря уже о компиляции самой модели в цепь, прежде чем это произойдет. В конечном итоге эта стоимость должна быть перенесена на пользователя, поэтому это обернется для конечных пользователей очень дорого.

С другой стороны, это единственный подход, который криптографически гарантирует правильность. С ZK поставщик модели не может обмануть, как бы он ни старался. Но это происходит с огромными затратами, что делает это непрактичным для больших моделей в обозримом будущем.

Примеры: EZKL, Модульные лаборатории, Гиза

2. Оптимистические доказательства мошенничества (оптимистический ML)

Оптимистический подход - доверять, но проверять. Мы предполагаем, что умозаключение верно, если не доказано обратное. Если узел пытается обмануть, "наблюдатели" в сети могут назвать его обманщиком и вызвать его на дуэль, используя доказательство мошенничества. Эти наблюдатели должны постоянно следить за цепочкой и перезапускать умозаключения в своих собственных моделях, чтобы убедиться, что выводы верны.

Эти доказательства мошенничества стиль Truebitинтерактивные игры challenge-response, где вы повторно разбиваете трассировку выполнения модели on-chain, пока не найдете ошибку.

Если это когда-либо произойдет, это будет невероятно дорогостоящим, поскольку эти программы огромны и имеют огромные внутренние состояния — одно выполнение GPT-3 стоит примерно 1 петафлоп (10¹⁵ операций с плавающей запятой). Но теория игр подсказывает, что это практически никогда не должно происходить (доказательства мошенничества также известны тем, что правильно написать код для них практически невозможно, так как этот код практически никогда не выполняется в производственной среде).

Положительная сторона заключается в том, что оптимистичный ML безопасен, пока есть хотя бы один честный наблюдатель, который следит за процессом. Стоимость дешевле, чем у ZK ML, но помните, что каждый наблюдатель в сети перезапускает каждый запрос самостоятельно. На равновесии это означает, что если есть 10 наблюдателей, то стоимость безопасности должна быть передана пользователю, так что им придется заплатить больше, чем в 10 раз больше стоимости вывода (или сколько ни будет наблюдателей).

Недостаток, как правило, с оптимистическими роллапами, заключается в том, что вам придется подождать, пока не пройдет период оспаривания, прежде чем вы убедитесь в том, что ответ проверен. Однако, в зависимости от параметров этой сети, вам, возможно, придется ждать минуты, а не дни.

Примеры: Час, Gensyn (хотя в настоящее время недостаточно специфицировано)

3. Криптоэкономика (Криптоэкономическая ML)

Здесь мы отбрасываем все изысканные техники и делаем простую вещь: голосование с учетом доли стейки. Пользователь решает, сколько узлов должно выполнить его запрос, каждый из них раскрывает свои ответы, и если существует несоответствие среди ответов, выбивают странный вариант. Стандартные вещи оракула — это более прямой подход, который позволяет пользователям устанавливать желаемый уровень безопасности, балансируя стоимость и доверие. Если бы Chainlink занимался машинным обучением, вот как они бы это делали.

Здесь задержка быстрая — вам всего лишь нужно commit-revealот каждого узла. Если это записывается в блокчейн, то технически это может произойти в двух блоках.

Однако безопасность является слабым местом. Большинство узлов могли бы рационально выбрать сговор, если бы были достаточно хитры. Как пользователь, вам нужно обдумать, насколько многое стоит эти узлы и сколько им это будет стоить, чтобы обмануть. Сказанное, использование чего-то вроде перестраивания Eigenlayer и атрибутивная ценная бумага, сеть могла бы эффективно предоставлять страхование в случае сбоя в безопасности.

Но хорошая часть этой системы заключается в том, что пользователь может указать, какой уровень безопасности он хочет. Он может выбрать 3 узла или 5 узлов в своем кворуме, или каждый узел в сети — или, если он хочет YOLO, он даже может выбрать n=1. Функция стоимости здесь проста: пользователь платит за количество узлов в своем кворуме. Если вы выберете 3, вы заплатите за 3 раза больше стоимости вывода.

Здесь сложный вопрос: можно ли сделать n=1 безопасным? В наивной реализации одинокий узел должен обманывать каждый раз, если никто не проверяет. Но я подозреваю, что если вы шифруете запросы и проводите платежи через намерения, то можете сделать узлу неочевидным, что они фактически единственные, кто отвечает на эту задачу. В этом случае вы, возможно, сможете взимать с обычного пользователя меньшую плату, чем в 2 раза стоимость вывода.

В конечном итоге, криптоэкономический подход является самым простым, самым легким и, вероятно, самым дешевым, но он менее привлекателен и в принципе менее безопасен. Но, как всегда, дьявол кроется в деталях.

Примеры: Обряд(хотя в настоящее время недостаточно специфицировано),Сеть Atoma

Почему проверяемое ML сложно

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

Вот почему эти три подхода к проверке отражают способы обеспечения безопасности своего блочного пространства блокчейны — ZK-роллапы используют ZK-доказательства, оптимистичные роллапы используют доказательства мошенничества, а большинство L1-блокчейнов используют криптоэкономику. Неудивительно, что мы в основном пришли к одинаковым решениям. Так в чем же сложность при применении этого к ML?

ML уникален потому, что вычисления ML обычно представлены как плотные вычислительные графики, разработанные для эффективного запуска на графических процессорах. Они не предназначены для доказательства. Поэтому, если вы хотите доказать вычисления ML в среде ZK или оптимистичной среде, их необходимо перекомпилировать в формат, который позволяет это сделать — что очень сложно и дорого.

Вторая фундаментальная трудность машинного обучения заключается в недетерминированности. Верификация программ предполагает, что выходные данные программ детерминированы. Но если вы запустите одну и ту же модель на разных архитектурах графического процессора или версиях CUDA, вы получите разные выходные данные. Даже если вам придется заставить каждый узел использовать одну и ту же архитектуру, вы все равно столкнетесь с проблемой случайности, используемой в алгоритмах (шум в диффузионных моделях или выборка токенов в LLM). Вы можете исправить эту случайность, управляя RNGсемя. Но даже с этим всем вы остаетесь с последней угрожающей проблемой: недетерминизм, присущий операциям с плавающей запятой.

Почти все операции на графических процессорах выполняются с плавающей запятой. Плавающие точки капризны, потому что онине ассоциативный— то есть, не всегда верно, что (a + b) + c всегда равно a + (b + c) для чисел с плавающей запятой. Поскольку графические процессоры сильно параллельны, порядок сложения или умножения может отличаться при каждом выполнении, что может привести к небольшим различиям в выводе. Это вряд ли повлияет на вывод LLM, учитывая дискретную природу слов, но для модели изображения это может привести к незначительным различиям значений пикселей, из-за чего два изображения могут не совпадать полностью.

Это означает, что вам придется избегать использования плавающих точек, что означает огромный удар по производительности, или вам придется допустить некоторую лояльность при сравнении результатов. В любом случае детали довольно сложные, и вы не можете абстрагироваться от них. (Вот почему, оказывается, EVM не поддерживаетчисла с плавающей точкой, хотя некоторые блокчейны, такие как NEARdo.)

В двух словах, децентрализованные сети вывода сложны, потому что все детали имеют значение, и реальность имеет удивительное количество деталей.

В заключение

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

Но я не написал этот текст, чтобы это было последним словом — Я много думаю над этими идеями в реальном времени и веду много живых дебатов с людьми. Я всегда находил, что писать — лучший способ проверить свои идеи. Если вы что-то создаете в этой области, обращайтесь! Я всегда с удовольствием узнаю, над чем вы работаете — и если вы сможете доказать мне ошибку, то тем лучше.

Отказ от ответственности:

  1. Эта статья перепечатана с [Исследование Dragonfly] Все авторские права принадлежат оригинальному автору [Хасиб Куреши]. Если есть возражения по поводу этого перепечатывания, пожалуйста, свяжитесь с Gate Learnкоманда, и они незамедлительно разберутся с этим.
  2. Отказ от ответственности за обязательства: Взгляды и мнения, выраженные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!