Являются ли большие языковые модели (LLM), такие как Open AI GPT-4, настолько мощными, что каждый должен иметь справедливый доступ к ним через общедоступную утилиту?

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

Думайте о колоссальной хэш-мощности Биткойна как о бурлящей реке, на которую мы в настоящее время полагаемся для орошения (т. -случай.

LLM как общественное благо

Интеллектуальная мощь и производительность, которые теперь можно вызвать одним щелчком мыши из современных генеративных языковых моделей ИИ, обещают изменить суть работы с умом. Анализ Open AI и Пенсильванского университета показывает, что … около 80% рабочей силы в США могут иметь по крайней мере 10% своих рабочих задач, затронутых введением LLM, в то время как примерно 19% работников могут увидеть не менее 50% своих рабочих задач. % затронутых ими задач.

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

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

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

Блокчейн как потенциальное решение

Введите блокчейн. Блокчейн может быть идеальной распределенной системой и агрегатором ресурсов, на основе которого можно построить такую ​​утилиту LLM.

Децентрализованные майнеры в так называемых блокчейнах «доказательство работы» (PoW) — в первую очередь биткойн — потребляют огромное количество энергии для криптографического подтверждения набора транзакций. Эти доказательства, полученные от миллионов майнеров по всему миру, гарантируют, что торговля и расчеты с биткойнами будут быстрыми, безопасными и автономными, а не полагаться на стороннюю банковскую систему или организацию.

Глобальный рынок биткойнов составляет около 500 миллиардов долларов на сегодняшний день указывает на то, что только это имеет реальную денежную ценность; но одна из самых больших трагедий, на мой взгляд, заключается в том, что результаты этих вычислений фактически выбрасываются, как только транзакции урегулированы. Количество энергии оценивается более чем в 100 тераватт-часов в год, что превышает потребление энергии целыми странами, например, Норвегией.

Чтобы еще раз дважды щелкнуть сами вычисления, они представляют собой гонку среди всех майнеров, чтобы решить несколько произвольную вычислительную головоломку, так что победитель имеет привилегию официально транслировать самый последний 10-минутный блок транзакций Биткойн И получать вознаграждение за новый блок биткойнов за этот блок. Фактическая запись транзакций — это очень легкий вычислительный подъем, как и процесс консенсуса, когда другие узлы выполняют быструю проверку, чтобы подтвердить решение, данное узлом-победителем. Это вычисление с доказательством работы, которое отнимает большую часть мощности, поскольку оно должно быть достаточно сложным, чтобы помешать одному злоумышленнику иметь достаточно ресурсов для обработки 51% вычислений и, таким образом, позволить мошеннические транзакции.

Полезное доказательство работы?

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

Некоторые проекты уже изучают конкретные бренды Полезного PoW. Например, Gridcoin — это криптовалюта, предназначенная для выполнения задач BOINC (Berkeley Open Infrastructure for Network Computing), таких как попытка найти лекарство от рака/СПИДа/Эболы/малярии, картирование Млечного Пути, поиск внеземной жизни, сворачивание белков и т. д.. А Filecoin использует вычислительную работу для настройки и доказательства существования жестких дисков и файлов в децентрализованной сети облачных хранилищ.

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

Мое предложение:

Обучение большой языковой модели как общедоступной утилиты с использованием алгоритма Proof-of-Work в биткойнах

Как это можно сделать тактически?

На высоком уровне такой проект должен будет выполнить следующие шаги:

  1. Собирать учебные материалы LLM из установленного списка источников через определенный интервал времени.
  2. Форматирование и разделение содержимого на блоки ввода необработанного текста для параллельного обучения нейронной сети.
  3. Обучите модель стандартным воспроизводимым способом, чтобы несколько конкурирующих майнеров/тренеров достигли одного и того же результата. Веса параметров в окончательной обученной модели являются числовым результатом или «решением» алгоритма PoW.
  4. Проверьте решение и раздайте награды за блоки победившим майнерам.
  5. Хэшируйте окончательные веса модели в единый хэш-дайджест и привяжите его к блокчейну, объединив с соответствующим хешем из предыдущего блока.
  6. Веса модели теперь обновлены и готовы к развертыванию в качестве большой языковой модели.

Давайте кратко рассмотрим каждый из этих шагов:

1) Соберите учебные материалы

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

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

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

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

Все соответствующие файлы данных могут быть программно сохранены и доступны как общедоступные записи в смарт-контрактах DataDAO, построенных на собственной платформе хранения блокчейна, такой как Filecoin. Список этих файлов будет таким:

  • Вес базовой модели
  • Учебные данные для базовой модели
  • Веса каждой последующей версии обновленной модели
  • Дополнительные обучающие данные для каждой последующей версии обновленной модели.

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

2. Отформатируйте и разделите содержимое

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

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

Если цель состоит в том, чтобы разделить обучение LLM в достаточной степени для работы в такой распределенной и децентрализованной сети, как Биткойн, это будет отходом от текущих приоритетов оптимизации отрасли. Обсуждения в нервном центре LLM Huggingface пришли к выводу, что лучшим из существующих методов, когда у вас медленное соединение между узлами и мало памяти графического процессора, был бы метод, известный как: DP + PP + TP + Zero-1, но, возможно, новые достижения будут возникнут, если исследования вновь сосредоточатся на этом режиме.

Сколько разделов нам может понадобиться?

Если предположить, что мы можем адекватно распараллелить процесс обучения, сколько разделов нам может понадобиться? Наши общие ограничения дизайна таковы: 1) у нас есть примерно около 1 миллиона узлов Биткойн, 2) нам нужно обновлять модель, по крайней мере, каждый день, и 3) нам нужно обрабатывать блоки транзакций несколько раз в день. Текущая сеть Биткойн устанавливает блок примерно каждые 10 минут.

В приведенной ниже таблице указано количество графических процессоров, необходимых для параллельной работы в течение заданного количества дней, для обучения различных конфигураций LLM. Если 10 000 графических процессоров могут обучить ChatGPT за 3 месяца (что соответствует 900 000 GPU*дней), то, по моим консервативным оценкам, потребуется в 100 раз меньше энергии для обновления или тонкой настройки этой базовой модели. Кроме того, если в будущем рассмотреть возможную более эффективную модель, которая обеспечивает аналогичную производительность, но на порядок приводится к размеру параметра GPT-2, то точная настройка этой модели займет 77 GPU*дней (см. ячейки, выделенные желтым цветом). .

Если затем мы предположим, что биткойн-майнер решит эту задачу с помощью одного графического процессора, на обучение модели уйдет 77 дней. Если блок устанавливается, когда модель заканчивает обучение, это слишком долго. Чтобы уменьшить это время, теперь мы начинаем исследовать распараллеливание работы среди майнеров. Если мы возьмем 100 разделов, в каждом из которых участвует 10 000 майнеров, мы можем сократить время завершения примерно до 1 дня. И если мы распараллелим на 1000 разделов, мы можем сократить это примерно до 2 часов. Таким образом, мы находимся на требуемом порядке величины, которого достаточно для нашего мысленного упражнения, особенно с учетом того, что большая часть обучающих данных GPT является оценочной и не была обнародована.

Возможные проблемы с параллелизацией

В существующей парадигме майнинга биткойнов каждый майнер работает независимо и соревнуется, чтобы выиграть на очень случайном пути решения. Это, как правило, сводит к минимуму шансы на ничью или близкий результат, но иногда ничья все же случается. Когда два или более майнера завершают вычисление PoW одновременно, происходит временная развилка в блокчейне, где каждый майнер транслирует свой новый блок в сеть. Различные узлы начинают строиться поверх них, чтобы создать две конкурирующие цепочки. В конце концов, одна из цепочек станет самой длинной цепочкой с самой высокой встроенной вычислительной сложностью, что является критерием валидности Биткойна. Более длинная цепочка становится основной цепочкой, и узлы автоматически отбрасывают разветвления, возвращая все отсутствующие транзакции в отброшенном блоке обратно в промежуточную область мемпула для включения в будущий блок.

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

3. Обучайте модель стандартным воспроизводимым способом

Учитывая некоторый метод получения контента и распараллеливания обучения, следующим шагом будет проведение фактического обучения. Предполагая, что каждый майнер случайным образом назначается 1 из 1000 разделов в качестве своей подзадачи, будут заданные сетью параметры о том, как инициализировать и обучать модель стандартным воспроизводимым способом, чтобы несколько конкурирующих майнеров/тренеров достигли одного и того же результата. . Например, каждый майнер инициализирует значения в своей матрице весов, используя одноразовый номер (число, используемое только один раз), сгенерированное для этого конкретного блока, в качестве случайного начального числа. Кроме того, каждый будет тренироваться ровно 100 эпох с оптимизатором Адама и скоростью обучения 0,05. Возможно, инициализация также может включать хэш или какой-либо другой элемент из предыдущего блока для усиления проверки и непрерывности.

Если сеть растет или изменяется, сложность можно отрегулировать, настроив гиперпараметры, например. увеличение до 101 эпохи или 102… или до скорости обучения 0,04 и т. д.

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

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

4. Проверка/достижение консенсуса

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

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

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

Доказательство этого свойства может удовлетворить «доказательство языковой модели», но что, если гнусная клика (кстати, какое прекрасное и малоиспользуемое слово — «клика» — ха!) обновить его? Чтобы этого избежать, возможно, обучающие данные могут включать несколько повторений имплантированной случайной кодовой фразы, например «Сегодняшний ключ проверки LLM — r6YtF34gnLpQ894Rw3q9»? Позже, во время выполнения, LLM сможет правильно завершить фразу: «Сегодняшний ключ LLM — __________».

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

Это будет означать, что некоторый набор валидаторов или претендентов также должен работать как вспомогательная система, аналогичная системе сбора и индексации, описанной выше. Это может быть интегрировано с окончательной утилитой LLM, которая будет запускать LLM как службу API для проверки блоков, а также для основной цели: публичного использования. Это также будет означать, что консенсус будет «оптимистичным» или будет считаться правильным, но будет подвергаться сомнению в течение некоторого периода времени, пока выполняются эталонные тесты. Только после закрытия периода испытаний блоки будут считаться окончательными. Использование оптимистического подхода целесообразно и успешно реализовано в протоколах блокчейна, таких как оптимистические свертки в Optimism, Polygon и Arbitrum, которые представляют собой блокчейны уровня 2, построенные на экосистеме Ethereum; но это будет значительным изменением для процесса достижения консенсуса в биткойнах.

5. Хэшируйте веса модели, чтобы достоверно соединить блоки

Если вы зашли так далеко, возможно, вы уже знакомы, но вам нужен хэш, который может выступать в качестве уникального идентификатора или подписи для всего процесса. Хэш — это функция, которая предсказуемо отображает некоторую входную строку произвольного размера в зашифрованную выходную строку (или дайджест) фиксированного размера. Легко проверить и проверить выходной хэш, если у вас есть входные данные, но это необратимо, поэтому вы не можете восстановить выходные данные из хэша.

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

Это также делается с транзакциями. Биткойн использует структуру хеширования, известную как дерево Меркла, для хеширования транзакций в каждом блоке.

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

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

6. Разверните и запустите веса модели как LLM

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

Одним из возможных примеров является использование децентрализованной вычислительной сети, такой как Bacalhau, которая запускает произвольные контейнеры Docker и образы WebAssembly в качестве задач, совместно размещенных с распределенными данными.

Значительный дизайн должен быть направлен на определение наилучшего способа настройки доставки: будет ли это API, подобный тому, который разработан Open AI? Будет ли пользовательский интерфейс с приложением? Будет ли построен какой-то рынок поверх него?

Кроме того, необходимо разработать и поэкспериментировать с моделью ценообразования: будет ли она бесплатной, полностью субсидируемой существующим вариантом использования Биткойна? Или у него будет какая-то плата за необходимые вспомогательные системы, которые были упомянуты? Будут ли существовать уровни ценообразования и тарифы, основанные на некоторой сегментации пользователей, например тарифы на электроэнергию для жилых и нежилых помещений?

Обсуждение и дальнейшие действия

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

Во-первых, часть привлекательности и успеха Биткойна зависит от его неизменной природы. Кодовая база в значительной степени построена по принципу «установил и забыл», и многие участвуют или вкладывают средства, основываясь на устойчивости к манипуляциям с предварительно запрограммированными политиками.

Кроме того, огромная хеш-мощность Биткойна может в конечном итоге быть ограничена специально созданным дизайнерским алгоритмом PoW из-за его сложных конструктивных ограничений. И даже если его можно использовать для «поднятия длинного шеста в палатке», так сказать, обучения LLM, существует множество дорогостоящих функций, которые необходимо поддерживать в другом месте, таких как: сбор данных, анализ/распараллеливание, архивирование, проверка/проблемы, развертывание и вывод.

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

Или отложить Биткойн в сторону; возможно, вся эта энчилада — обучение LLM, вспомогательные функции и все такое — достаточно полезна, чтобы оправдать создание нового выделенного блокчейна для начальной загрузки утилиты LLM. Вполне возможно, что с ослабленными дизайнерскими ограничениями чистого холста можно построить более привлекательную и самодостаточную систему.

Мне было бы интересно услышать от вас, какова ваша реакция на этот мысленный эксперимент:

  • Должны ли LLM быть общественным предприятием?
  • Каковы самые большие препятствия для использования Биткойна для его обучения? Или еще один новый блокчейн?
  • Существуют ли другие способы создания коммунального предприятия LLM?
  • Есть ли идеи выше, которые могли бы быть полезны в другом месте, сами по себе?

Посмотрите версию TikTok или Youtube.

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

Подпишитесь на DDIntel Здесь.

Посетите наш сайт здесь: https://www.datadriveninvestor.com

Присоединяйтесь к нашей сети здесь: https://datadriveninvestor.com/collaborate