С момента рождения GPT-3 генеративный ИИ ознаменовал собой взрывной поворотный момент в области искусственного интеллекта благодаря своей удивительной производительности и широким сценариям применения. Это привело к тому, что технологические гиганты устремились на трек ИИ. Однако этот всплеск принес с собой множество проблем. Операции обучения и вывода больших языковых моделей (LLM) требуют большой вычислительной мощности. При итеративном обновлении этих моделей спрос и стоимость вычислительной мощности растут экспоненциально. Если взять в качестве примера GPT-2 и GPT-3, то разница в количестве параметров между GPT-2 и GPT-3 составляет 1166 раз (GPT-2 имеет 150 миллионов параметров, а GPT-3 — 175 миллиардов). Стоимость одной обучающей сессии GPT-3 была рассчитана на основе моделей ценообразования публичных облаков GPU на тот момент, которая достигает до $12 млн. Это в 200 раз больше, чем у GPT-2. На практике каждый пользовательский запрос требует вычисления вывода. Исходя из 13 миллионов независимых пользователей на начало этого года, соответствующий спрос на чипы составит более 30 000 графических процессоров A100. Первоначальные инвестиции составят ошеломляющие 800 миллионов долларов, а ежедневная стоимость вывода модели составит 700 000 долларов.
Недостаточная вычислительная мощность и высокие затраты стали серьезными проблемами, с которыми сталкивается вся индустрия искусственного интеллекта. Заметно, что аналогичная проблема, по-видимому, стоит перед индустрией блокчейна. С одной стороны, четвертая половина биткоина и утверждение ETF становятся неотвратимыми. Поскольку будущие цены растут, спрос майнеров на вычислительное оборудование неизбежно значительно возрастет. С другой стороны, технология нулевого доказательства (ZKP) бурно развивается, и Виталик неоднократно подчеркивал, что влияние ZK на блокчейн-сферу в следующие десять лет будет таким же важным, как сам блокчейн. Хотя эта технология обещает будущее для индустрии блокчейна, ZK также потребляет много вычислительной мощности и времени при создании доказательств из-за сложного процесса вычислений, как и искусственный интеллект.
В обозримом будущем неизбежным станет нехватка вычислительной мощности. Так будет ли децентрализованный рынок вычислительной мощности прибыльным бизнес-предприятием?
Рынок децентрализованных вычислительных мощностей на самом деле эквивалентен треку децентрализованных облачных вычислений, но лично я думаю, что этот термин больше подходит для описания новых проектов, которые будут обсуждаться позже. Рынок децентрализованных вычислительных мощностей следует рассматривать как разновидность DePIN (Decentralized Physical Infrastructure Networks), целью которого является создание открытого рынка вычислительных мощностей, где любой, у кого есть свободные вычислительные мощности, может предлагать свои ресурсы, стимулируемые токенами, в основном обслуживая клиентов B2B и сообщества разработчиков. Если говорить о более привычных проектах, то к этому направлению относятся такие сети, как Render Network, основанная на децентрализованных решениях для рендеринга на GPU, и Akash Network, распределенная одноранговая торговая площадка для облачных вычислений.
Следующий текст начнется с основных концепций, а затем обсудит три новых рынка по данному направлению: рынок вычислительной мощности AGI, рынок вычислительной мощности Bitcoin и рынок вычислительной мощности AGI на рынке аппаратного ускорения ZK. Последние два будут обсуждаться в разделе “Перспективы многообещающего направления: децентрализованный рынок вычислительной мощности (Часть 2)”.
Концепция вычислительной мощности можно проследить до изобретения компьютера. Оригинальный компьютер использовал механические устройства для выполнения вычислительных задач, и вычислительная мощность относилась к вычислительной способности механического устройства. С развитием компьютерной технологии концепция вычислительной мощности также эволюционировала. Сегодня вычислительная мощность обычно относится к совместной работе аппаратных средств компьютера (ЦП, ГПУ, ППСП и т. д.) и программного обеспечения (операционные системы, компиляторы, приложения и т. д.).
Вычислительная мощность относится к объему данных, которые компьютер или другое вычислительное устройство может обрабатывать за определенный период времени или количество вычислительных задач, которые оно может завершить. Вычислительная мощность обычно используется для описания производительности компьютера или других вычислительных устройств. Это важный показатель вычислительных возможностей вычислительного устройства.
Вычислительная мощность можно измерять различными способами, такими как скорость вычислений, энергопотребление, точность вычислений и параллелизм. В области вычислений обычно используются такие метрики вычислительной мощности, как FLOPS (операции с плавающей запятой в секунду), IPS (инструкции в секунду), TPS (транзакции в секунду) и т. д.
FLOPS измеряет способность компьютера обрабатывать операции с плавающей запятой (математические операции с десятичными запятыми, требующие учета проблем точности и погрешностей округления). Он измеряет, сколько операций с плавающей запятой компьютер может выполнить за секунду. FLOPS - это мера вычислительных возможностей компьютера и обычно используется для измерения вычислительных возможностей суперкомпьютеров, серверов высокопроизводительных вычислений, графических процессоров (GPU) и т. д. Например, если у компьютерной системы 1 TFLOPS (один триллион операций с плавающей запятой в секунду), это означает, что она может завершить 1 триллион операций с плавающей запятой в секунду.
IPS измеряет скорость, с которой компьютер обрабатывает инструкции. Это показатель того, сколько инструкций компьютер может выполнить в секунду и является мерой производительности одной инструкции компьютера, обычно используемой для измерения производительности центрального процессора (ЦП). Например, ЦП с IPS 3 ГГц (3 миллиарда инструкций в секунду) означает, что он может выполнять 3 миллиарда инструкций в секунду.
TPS измеряет способность компьютера обрабатывать транзакции. Он оценивает, сколько транзакций компьютер может завершить за секунду, обычно используется для измерения производительности сервера баз данных. Например, у сервера баз данных TPS составляет 1 000, что означает, что он может обрабатывать 1 000 транзакций баз данных в секунду.
Кроме того, существуют некоторые метрики вычислительной мощности для конкретных сценариев применения, такие как скорость вывода, скорость обработки изображений и точность распознавания речи.
Вычислительная мощность GPU относится к вычислительной способности графических процессоров (GPU). В отличие от центральных процессоров (CPU), GPU - это аппаратное обеспечение, специально разработанное для обработки графических данных, таких как изображения и видео. У них есть большое количество вычислительных блоков и эффективные параллельные вычислительные возможности, и они могут выполнять большое количество операций с плавающей точкой одновременно. Поскольку GPU изначально были разработаны для обработки графики в играх, они обычно имеют более высокие тактовые частоты и большую пропускную способность памяти, чем CPU, чтобы поддерживать сложные графические вычисления.
Архитектура: ЦП и ГПУ имеют различные вычислительные архитектуры. ЦП обычно имеют одно или несколько ядер, каждое из которых является универсальным процессором, способным выполнять различные операции. ГПУ, с другой стороны, имеют большое количество потоковых процессоров и шейдеров, которые специально используются для выполнения вычислений, связанных с обработкой изображений;
Параллельные вычисления: Графические процессоры обычно обладают более высокими возможностями параллельных вычислений. ЦП имеет ограниченное количество ядер, и каждое ядро может выполнять только одну инструкцию, но у ГПУ может быть тысячи потоковых процессоров, которые могут одновременно выполнять несколько инструкций и операций. Поэтому ГПУ обычно лучше подходят чем ЦП для выполнения задач параллельных вычислений, таких как машинное обучение и глубокое обучение, которые требуют обширных параллельных вычислений;
Программирование для графических процессоров относительно более сложное по сравнению с ЦП. Для использования параллельных вычислительных возможностей ГП требуется использование конкретных языков программирования (таких как CUDA или OpenCL) и конкретных методов программирования. В отличие от этого, программирование ЦП проще и может использовать языки программирования общего назначения и инструменты.
В эпоху Промышленной Революции нефть была кровью жизни для мира и проникла в каждую отрасль. В предстоящую эпоху искусственного интеллекта, вычислительная мощность станет "цифровой нефтью" мира. От безумной гонки крупных компаний за AI-чипами и превышения акций Nvidia одним триллионом долларов до недавней блокировки Соединенными Штатами поставок высокотехнологичных чипов из Китая, включая мощность вычислений, размер чипа и даже планы запрета облачных вычислений GPU, важность вычислительной мощности очевидна. Вычислительная мощность станет товаром следующей эпохи.
Искусственный интеллект (ИИ) - это новая техническая наука, которая изучает, развивает и применяет теории, методы и технологии для имитации, расширения и увеличения человеческого интеллекта. Он возник в 1950-60-х годах и, пройдя путь развития более полувека, пережил взаимосвязанные изменения через три волны: символизм, коннекционизм и подходы на основе агентов. Сегодня, как восходящая универсальная технология, ИИ вызывает глубокие изменения в социальной жизни и во всех отраслях. Более конкретное определение генеративного ИИ в настоящее время: Искусственный Общий Интеллект (AGI) - это система искусственного интеллекта с широким спектром понимающих способностей, способная выполнять задачи и работать в различных областях с интеллектом, аналогичным или превосходящим человеческий уровень. AGI в основном требует трех элементов: глубокое обучение (DL), большие данные и значительную вычислительную мощность.
Глубокое обучение - это подраздел машинного обучения (ML), и алгоритмы глубокого обучения - это нейронные сети, смоделированные по образу человеческого мозга. Например, человеческий мозг содержит миллионы взаимосвязанных нейронов, которые работают вместе, чтобы учиться и обрабатывать информацию. Точно так же глубокие нейронные сети (или искусственные нейронные сети) состоят из нескольких слоев искусственных нейронов, работающих вместе внутри компьютера. Эти искусственные нейроны, известные как узлы, используют математические вычисления для обработки данных. Искусственные нейронные сети - это алгоритмы глубокого обучения, которые используют эти узлы для решения сложных проблем.
Нейронные сети можно разделить на входной слой, скрытые слои и выходной слой. Связи между этими различными слоями состоят из параметров.
Слой ввода: Слой ввода является первым слоем нейронной сети и отвечает за прием внешних входных данных. Каждый нейрон во входном слое соответствует функции входных данных. Например, в обработке изображений каждый нейрон может соответствовать значению пикселя на изображении.
Скрытые слои: Входной слой обрабатывает данные и передает их на более глубокие слои в сети. Эти скрытые слои обрабатывают информацию на разных уровнях, корректируя свое поведение при поступлении новой информации. Сети глубокого обучения могут иметь сотни скрытых слоев, что позволяет им анализировать проблемы с разных точек зрения. Например, если вам дано изображение неизвестного животного, которое нужно классифицировать, вы можете сравнить его с животными, которые вам уже известны. Например, вы можете определить, какого это вида животное по форме ушей, количеству ног и размеру зрачков. Скрытые слои в глубоких нейронных сетях работают аналогичным образом. Если глубокий алгоритм обучения пытается классифицировать изображение животного, каждый скрытый слой будет обрабатывать различные характеристики животных и пытаться классифицировать их точно.
Слой вывода: Слой вывода является последним слоем нейронной сети и отвечает за генерацию выхода сети. Каждый нейрон в выходном слое представляет собой возможную категорию или значение выхода. Например, в задаче классификации каждый нейрон в выходном слое может соответствовать категории, в то время как в задаче регрессии у выходного слоя может быть только один нейрон, значение которого представляет собой результат прогнозирования;
Параметры: В нейронных сетях связи между различными слоями представлены весами и смещениями, которые оптимизируются в процессе обучения для обеспечения сети возможностью точно идентифицировать узоры в данных и делать прогнозы. Увеличение параметров может улучшить модельную способность нейронной сети, то есть способность модели изучать и представлять сложные узоры в данных. Но соответственно увеличение параметров увеличит потребность в вычислительной мощности.
Для эффективного обучения нейронные сети обычно требуют больших, разнообразных и высококачественных данных из различных источников. Эти данные являются основой для обучения и проверки моделей машинного обучения. Анализируя большие данные, модели машинного обучения могут узнавать закономерности и взаимосвязи внутри данных, что позволяет им делать прогнозы или классификацию.
Потребность в значительной вычислительной мощности возникает из нескольких аспектов нейронных сетей: сложные многоуровневые структуры, большое количество параметров, необходимость обработки огромных объемов данных и итеративные методы обучения (во время фазы обучения модель должна многократно итерироваться, выполняя вычисления прямого и обратного распространения для каждого слоя, включая вычисления для функций активации, функций потерь, градиентов и обновлений весов), потребность в высокоточных вычислениях, параллельные вычислительные возможности, методы оптимизации и регуляризации, а также процессы оценки и верификации моделей. По мере развития глубокого обучения требование к массовой вычислительной мощности для AGI увеличивается примерно в 10 раз каждый год. Самая последняя модель на сегодняшний день, GPT-4, содержит 1,8 триллиона параметров, с однократными затратами на обучение более $60 миллионов и требованиями к вычислительной мощности 2,15e25 FLOPS (21,5 квинтиллионов операций с плавающей запятой). Потребность в вычислительной мощности для будущего обучения моделей по-прежнему расширяется, и новые модели разрабатываются с увеличивающейся скоростью.
Согласно самым авторитетным оценкам, «Отчет о оценке глобального индекса вычислительной мощности 2022-2023 годов», совместно составленный Международной корпорацией по данным (IDC), компанией Inspur Information и Глобальным институтом исследований промышленности Университета Цинхуа, глобальный рынок вычислительной мощности искусственного интеллекта ожидается увеличится с $19,5 миллиарда в 2022 году до $34,66 миллиарда в 2026 году. Рынок генеративной вычислительной мощности искусственного интеллекта прогнозируется вырасти с $820 миллионов в 2022 году до $10,99 миллиарда в 2026 году. Доля генеративной вычислительной мощности искусственного интеллекта на общем рынке искусственного интеллекта ожидается вырасти с 4,2% до 31,7%.
Производство AI GPU было исключительно монополизировано NVIDIA и они чрезвычайно дорогие (последний H100 был продан за $40,000 за единицу). Как только GPU выпускаются, их сразу покупают техногиганты в Силиконовой долине. Некоторые из этих устройств используются для обучения своих собственных новых моделей. Остальные сданы в аренду разработчикам искусственного интеллекта через облачные платформы, такие как у Google, Amazon и Microsoft, которые контролируют огромное количество вычислительных ресурсов, таких как серверы, GPU и TPU. Вычислительная мощность стала новым ресурсом, монополизированным этими гигантами. Многие разработчики искусственного интеллекта даже не могут приобрести выделенный GPU без наценки. Чтобы использовать последнее оборудование, разработчики должны арендовать серверы AWS или Microsoft. Финансовые отчеты свидетельствуют о том, что этот бизнес имеет чрезвычайно высокую прибыль. Облачные услуги AWS хвастаются валовой маржой в 61%, в то время как валовая маржа Microsoft еще выше и составляет 72%.
Итак, мы должны принять эту централизованную власть и контроль, и платить наценку 72% за вычислительные ресурсы? Будут ли гиганты, монополизировавшие Web2, также доминировать в следующую эру?
Когда речь идет об антимонопольном законодательстве, децентрализация обычно рассматривается как оптимальное решение. Просматривая существующие проекты, можно ли достичь массовой вычислительной мощности, необходимой для искусственного интеллекта, через проекты хранения DePIN в сочетании с протоколами, такими как RDNR, для использования без дела видеокарт? Ответ - нет. Путь к уничтожению дракона не так прост. Ранние проекты не были специально разработаны для вычислительной мощности AGI и не являются выполнимыми. Перенос вычислительной мощности на блокчейн сталкивается как минимум с пятью следующими проблемами:
Проверка работы: Для создания по-настоящему децентрализованной вычислительной сети, которая предоставляет экономические стимулы участникам, сети должен быть способ проверить, были ли выполнены вычисления глубокого обучения на самом деле. Основной проблемой здесь является зависимость состояния моделей глубокого обучения; в этих моделях вход для каждого слоя зависит от вывода предыдущего слоя. Это означает, что нельзя просто проверить отдельный слой в модели, не учитывая все слои перед ним. Вычисление для каждого слоя основано на результатах всех предыдущих слоев. Следовательно, чтобы проверить выполненную работу в конкретной точке (например, в конкретном слое), все работы от начала модели до этой конкретной точки должны быть выполнены;
Рынок: Как растущий рынок, рынок вычислительной мощности искусственного интеллекта подвержен дилеммам предложения и спроса, таким как проблема холодного старта. Поддержка и ликвидность спроса должны быть приблизительно сбалансированы с самого начала, чтобы рынок мог успешно развиваться. Чтобы захватить потенциальное предложение вычислительной мощности, участникам необходимо предоставить четкие стимулы в обмен на свои вычислительные ресурсы. Рынку нужен механизм для отслеживания завершенных вычислений и своевременной оплаты поставщиков соответственно. В традиционных рынках посредники занимаются задачами, такими как управление и включение в систему, снижая операционные издержки за счет установки минимальных порогов оплаты. Однако такой подход затратен при расширении размера рынка. Экономически выгодно захватить лишь небольшую часть предложения, что приводит к состоянию порогового равновесия, в котором рынок может захватить и поддерживать ограниченное предложение, не имея возможности дальше расти.
Проблема останова: Проблема останова является фундаментальным вопросом в теории вычислений, который заключается в определении, завершится ли данная вычислительная задача за конечное количество времени или будет работать бесконечно. Эта проблема неразрешима, что означает отсутствие универсального алгоритма, способного предсказать, завершится ли любое данное вычисление за конечное время. Например, выполнение смарт-контрактов на Ethereum также сталкивается с аналогичной проблемой останова. Невозможно заранее определить, сколько вычислительных ресурсов потребуется для выполнения смарт-контракта или завершится ли он в разумное время.
(В контексте глубокого обучения эта проблема будет более сложной, поскольку модели и фреймворки перейдут от статического построения графа к динамическому созданию и выполнению.)
Конфиденциальность: разработка с учетом конфиденциальности - обязательное требование для команд проекта. Хотя большое количество исследований в области машинного обучения можно проводить на общедоступных наборах данных, для улучшения производительности модели и ее адаптации к конкретным приложениям модель обычно требуется довести до совершенства на собственных данных пользователей. Этот процесс настройки может включать обработку персональных данных, поэтому необходимо учитывать требования к защите конфиденциальности.
Параллелизация: это ключевой фактор в невозможности текущих проектов. Модели глубокого обучения обычно обучаются параллельно на крупных аппаратных кластерах с собственными архитектурами и крайне низкой задержкой, а ГПУ в распределенных вычислительных сетях будут иметь задержку из-за частых обменов данными и будут ограничены производительностью самого медленного ГПУ. Когда источники вычислений ненадежны и ненадежны, как достичь гетерогенной параллелизации - это проблема, которую необходимо решить. Текущий приемлемый метод - достичь параллелизации через модели-трансформеры, такие как Switch Transformers, которые сейчас обладают высокой параллельностью.
Решения: Хотя текущие попытки создания децентрализованного рынка вычислительной мощности AGI все еще находятся в начальной стадии, есть два проекта, которые начально решили проблему консенсусного дизайна децентрализованных сетей и реализацию децентрализованных сетей вычислительной мощности в обучении моделей и выводе. Далее будет использовать Gensyn и Together в качестве примеров для анализа методов проектирования и проблем децентрализованного рынка вычислительной мощности AGI.
Gensyn - это рынок вычислительной мощности AGI, который находится на стадии строительства и нацелен на решение различных проблем децентрализованного вычисления глубокого обучения и снижение затрат, связанных с текущим глубоким обучением. Gensyn в основном является протоколом стейкинга первого уровня, основанным на сети Polkadot, который непосредственно вознаграждает решателей (тех, кто решает вычислительные задачи) через смарт-контракты в обмен на использование своих бездействующих устройств GPU для вычислений и выполнения задач машинного обучения.
Возвращаясь к предыдущему вопросу, основа построения действительно ненадежной вычислительной сети заключается в верификации завершенной работы по машинному обучению. Это очень сложная проблема, требующая нахождения баланса между пересечением теории сложности, теории игр, криптографии и оптимизации.
Gensyn предлагает простое решение, где решатели представляют результаты выполненных ими задач машинного обучения. Чтобы проверить точность этих результатов, другой независимый верификатор пытается повторно выполнить ту же работу. Этот подход можно назвать однократным повторением, поскольку только один верификатор повторно выполнит задачу. Это означает, что для проверки точности оригинальной работы требуется лишь еще один дополнительный этап работ. Однако, если лицо, проверяющее работу, не является первоначальным заказчиком, то проблема доверия все равно существует. Сами верификаторы могут быть нечестными, и их работу необходимо проверять. Это приводит к потенциальной проблеме, если лицо, проверяющее работу, не является первоначальным заказчиком, то потребуется еще один верификатор для проверки их работы. Но этому новому верификатору также можно не доверять, поэтому потребуется еще один верификатор для проверки их работы, что может продолжаться вечно, создавая бесконечную цепочку повторений. Здесь нам необходимо представить три ключевых концепции и переплести их для создания участнической системы с четырьмя ролями для решения проблемы бесконечной цепочки.
Доказательства вероятностного обучения: Создает сертификаты завершенной работы с использованием метаданных из процесса оптимизации на основе градиентов. Путем репликации определенных этапов эти сертификаты можно быстро проверить, чтобы убедиться, что работа завершена как ожидалось.
Протокол позиционирования на основе графов: Используя многоуровневые, основанные на графах протоколы точного позиционирования и последовательное выполнение перекрестных оценщиков. Это позволяет повторно запускать и сравнивать верификационную работу для обеспечения согласованности, которая в конечном итоге подтверждается самим блокчейном.
Игра поощрений в стиле Truebit: Используйте ставки и сокращение для создания игры поощрений, чтобы гарантировать, что каждый экономически разумный участник будет действовать честно и выполнять свои ожидаемые задачи.
Система участников состоит из подающих заявки, решателей, верификаторов и доносчиков.
Податели:
Подписчики - конечные пользователи системы, которые предоставляют задачи для вычисления и оплачивают выполненную работу в единицах;
Решатели:
Решатели - основные работники системы, выполняющие тренировку моделей и генерацию доказательств, которые проверяются верификатором;
Проверители:
Проверители являются ключом к связыванию недетерминированного процесса обучения с детерминированными линейными вычислениями, воспроизводя части доказательства решателя и сравнивая расстояния с ожидаемыми порогами;
Информаторы:
Разоблачители - последняя линия обороны, проверяя работу верификаторов и выдвигая вызовы в надежде получить щедрые вознаграждения за голову.
Система игры, разработанная протоколом, функционирует через восемь этапов, охватывая четыре основных роли участников, чтобы завершить весь процесс от представления задачи до окончательной проверки.
Подача задания: Задания состоят из трех конкретных информационных элементов:
Метаданные, описывающие задачу и гиперпараметры;
Бинарный файл модели (или основная архитектура);
Общедоступные, предварительно обработанные тренировочные данные.
Для отправки задачи отправитель указывает детали задачи в машинно-читаемом формате и отправляет их на цепочку вместе с двоичным файлом модели (или машинно-читаемой архитектурой) и общедоступным местоположением предварительно обработанных данных для обучения. Общедоступные данные могут быть храниться в простом объектном хранилище, таком как S3 от AWS, или в децентрализованном хранилище, таком как IPFS, Arweave или Subspace.
Профилирование: Процесс профилирования устанавливает базовый порог расстояния для верификации доказательства обучения. Проверяющие периодически получают задачи профилирования и генерируют пороги мутации для сравнения доказательств обучения. Для генерации порога проверяющий детерминированно запускает и перезапускает части обучения с использованием различных случайных сидов, генерируя и проверяя свои собственные доказательства. Во время этого процесса проверяющий устанавливает общий ожидаемый порог расстояния для недетерминированной работы решения, который можно использовать для верификации.
Обучение: После профилирования задачи попадают в общий пул задач (аналогично Mempool Ethereum). Выберите решателя для выполнения задачи и удалите задачу из пула задач. Решатели выполняют задачу на основе метаданных, предоставленных отправителем, модели и обучающих данных. При выполнении учебных задач решатели также генерируют доказательства обучения, регулярно проверяя точки и храня метаданные (включая параметры) во время процесса обучения, чтобы верификаторы могли воспроизвести следующие шаги оптимизации как можно более точно.
Генерация доказательств: Решатели периодически сохраняют веса модели или обновления и соответствующие им индексы обучающего набора данных для идентификации образцов, используемых для генерации обновлений веса. Частоту создания контрольных точек можно настроить для обеспечения более надежных гарантий или для экономии места на накопителе. Доказательства могут быть «накладываемыми», что означает, что они могут начинаться с случайного распределения, используемого для инициализации весов, или с предварительно обученных весов, сгенерированных с использованием их собственных доказательств. Это позволяет протоколу построить набор доказанных, предварительно обученных базовых моделей, которые могут быть донастроены для более конкретных задач.
Проверка доказательства: После выполнения задачи решатели регистрируют завершение задачи в цепочке и отображают свое доказательство обучения в общедоступном месте для верификаторов. Верификаторы берут задачи проверки из общего пула задач и выполняют вычислительную работу для повторного запуска части доказательства и выполнения расчета расстояний. Затем цепочка вместе с порогом, рассчитанным во время профилирования, использует полученное расстояние, чтобы определить, соответствует ли верификация доказательству.
Задача определения местоположения на основе графов: после проверки доказательства обучения осведомители могут воспроизвести работу верификаторов, чтобы проверить, правильно ли была выполнена сама работа по проверке. Если осведомители считают, что проверка была проведена неправильно (злонамеренно или нет), они могут оспорить ее в арбитражном суде за вознаграждение. Это вознаграждение может поступать от депозитов солверов и валидаторов (в случае истинного положительного результата) или от бонуса лотерейного пула (в случае ложного срабатывания), при этом арбитраж осуществляется с использованием самой цепочки. Осведомители (выступающие в качестве проверяющих в своем случае) будут проверять и впоследствии оспаривать работу только в том случае, если они ожидают получить соответствующую компенсацию. На практике это означает, что ожидается, что осведомители присоединятся к сети и покинут ее в зависимости от количества других активных информаторов (т.е. с живыми депозитами и проблемами). Таким образом, ожидаемая стратегия по умолчанию для любого осведомителя заключается в том, чтобы присоединиться к сети, когда других осведомителей меньше, внести депозит, случайным образом выбрать активную задачу и начать процесс проверки. После одной задачи они возьмут другую случайную активную задачу и будут повторять ее до тех пор, пока количество информаторов не превысит установленный ими порог выплаты, после чего они покинут сеть (или, что более вероятно, переключатся на другую роль в сети — верификатор или решатель — в зависимости от своих аппаратных возможностей) до тех пор, пока ситуация снова не изменится.
Арбитраж по контракту: когда верификаторы оспариваются рассекателями, они вступают в процесс с цепью, чтобы узнать местоположение оспариваемой операции или ввода, и в конечном итоге цепь выполнит окончательную базовую операцию и определит, справедливо ли оспаривание. Чтобы держать рассекателей честными и преодолеть дилемму верификатора, здесь вводятся периодические принудительные ошибки и джекпотные выплаты.
Расчет: Во время процесса расчетов участникам выплачиваются средства на основе заключений вероятностных и детерминированных проверок. Различные сценарии оплаты возникают в зависимости от результатов предыдущих проверок и вызовов. Если работа считается выполненной правильно и все проверки пройдены, как поставщики решений, так и проверяющие награждаются в соответствии с выполненными операциями.
Gensyn разработал сложную игровую систему на слоях верификации и стимулирования, которая позволяет быстро выявлять и устранять ошибки, определяя расхождения в сети. Однако в текущей системе все еще отсутствует много деталей. Например, как установить параметры, чтобы гарантировать, что награды и штрафы будут разумными, не устанавливая порог слишком высоко? Вы рассматривали экстремальные сценарии и различную вычислительную мощность решателей в игровых аспектах теории игр? В текущей версии белой книги нет подробного описания гетерогенного параллельного выполнения. У Gensyn все еще много работы перед собой.
Together.ai - компания, сосредоточенная на решениях в области открытого источника, децентрализованных вычислительных решений для больших моделей искусственного интеллекта. Она стремится к тому, чтобы каждый мог получить доступ к ИИ в любом месте. Сурово говоря, Together не является блокчейн-проектом, но она предварительно решила проблемы задержки в децентрализованных вычислительных сетях ИИ общего назначения. Поэтому в данной статье анализируются только решения Together и не оценивается сам проект.
Как добиться обучения и вывода больших моделей, когда децентрализованные сети в 100 раз медленнее центров обработки данных?
Давайте представим распределение ГПУ, участвующих в децентрализованной сети. Эти устройства будут разбросаны по разным континентам и городам, каждому из которых необходимо соединяться с различными задержками и пропускной способностью. Как показано на рисунке ниже, симулированный распределенный сценарий показывает устройства, расположенные в Северной Америке, Европе и Азии, с различной пропускной способностью и задержками между ними. Что нужно сделать, чтобы эффективно соединить их между собой?
Распределенное обучение вычислительному моделированию: На диаграмме ниже показана ситуация обучения базовой модели на нескольких устройствах, с тремя типами коммуникации: Прямая активация, Обратное градиентное и Боковая коммуникация.
Комбинируя пропускную способность и задержку связи, необходимо учитывать две формы параллелизма: параллелизм конвейера и параллелизм данных, соответствующие трем типам коммуникации в сценарии с несколькими устройствами:
В параллелизме конвейера все слои модели разбиваются на несколько этапов, где каждое устройство обрабатывает один этап, который представляет собой последовательность последовательных слоев, таких как несколько блоков трансформатора. Во время прямого распространения активации передаются на следующий этап, а во время обратного распространения градиенты активаций передаются обратно на предыдущий этап.
В параллелизме данных устройства независимо вычисляют градиенты для разных микро-пакетов, но им необходимо синхронизировать эти градиенты через коммуникацию.
Оптимизация планирования:
В децентрализованной среде процесс обучения часто ограничивается коммуникацией. Алгоритмы планирования обычно назначают задачи, требующие интенсивного общения, устройствам с более быстрым соединением. Учитывая зависимости между задачами и гетерогенность сети, сначала необходимо моделировать стоимость конкретных стратегий планирования. Чтобы учесть сложную коммуникационную стоимость обучения базовых моделей, Together предлагает новую формулировку и декомпозирует модель стоимости на два уровня, используя теорию графов:
Теория графов - это раздел математики, изучающий свойства и структуры графов (сетей). Граф состоит из вершин (узлов) и рёбер (линий, соединяющих узлы). Основная цель теории графов - изучение различных свойств графов, таких как связность, раскраска, а также характер путей и циклов в графах.
Первый уровень - это проблема сбалансированного разбиения графа (разделение множества вершин графа на несколько подмножеств равного или почти равного размера с минимизацией количества ребер между подмножествами). В этом разбиении каждое подмножество представляет собой раздел, и затраты на связь снижаются за счет минимизации ребер между разделами, соответствующих затратам на связь параллелизма данных.
Второй уровень включает в себя совместную задачу сопоставления графов и задачу коммивояжера (комбинаторную задачу оптимизации, объединяющую элементы сопоставления графа и задачи коммивояжера). Задача сопоставления графов включает в себя поиск соответствия в графе, которое минимизирует или максимизирует некоторые затраты. Задача коммивояжера ищет кратчайший путь, который посещает все узлы графа, что соответствует затратам на связь при параллелизме конвейера.
Выше приведена схема процесса. Из-за сложных вычислений, необходимых для фактической реализации, процесс, описанный на схеме, упрощен для лучшего понимания. Для подробной реализации можно обратиться к документации на официальном сайте Together.
Предположим, что есть набор устройств NN, DD, с неопределенными задержками в коммуникации (матрица AA) и пропускными способностями (матрица BB), на основе набора устройств DD, мы сначала генерируем сбалансированный графический раздел. Каждый раздел или группа устройств содержит примерно равное количество устройств, и все они обрабатывают одинаковый этап конвейера. Это гарантирует, что во время параллелизма данных каждая группа устройств выполняет сходное количество работы. Согласно задержкам в коммуникации и пропускным способностям, формула может рассчитать «стоимость» передачи данных между группами устройств. Каждая сбалансированная группа объединяется для создания полностью связанного грубого графа, где каждый узел представляет собой этап конвейера, а ребра представляют стоимость коммуникации между двумя этапами. Для минимизации стоимости коммуникации используется алгоритм сопоставления для определения того, какие группы устройств должны работать вместе.
Для дальнейшей оптимизации эту проблему также можно моделировать как задачу коммивояжера с открытым циклом (открытый цикл означает, что нет необходимости возвращаться к начальной точке пути), чтобы найти оптимальный путь для передачи данных между всеми устройствами. Наконец, Together использует инновационный алгоритм планирования для поиска оптимальной стратегии выделения для заданной модели затрат, тем самым минимизируя затраты на коммуникацию и увеличивая пропускную способность обучения. Согласно тестам, даже если сеть работает 100 раз медленнее при этой оптимизации планирования, пропускная способность обучения от начала до конца уменьшается всего в 1,7-2,3 раза.
Оптимизация сжатия коммуникации:
Для оптимизации сжатия коммуникаций компания Together представила алгоритм AQ-SGD (подробнее о процессе расчета см. статью "Fine-tuning Language Models over Slow Networks using Activation Compression with Guarantees"). Алгоритм AQ-SGD — это новый метод сжатия активации, предназначенный для решения проблем эффективности связи во время параллельного обучения конвейеров в медленных сетях. В отличие от предыдущих методов прямого сжатия значений активации, AQ-SGD фокусируется на сжатии изменений значений активации одной и той же обучающей выборки в разные периоды. Этот уникальный метод представляет интересную «самоисполняющуюся» динамику, при которой ожидается, что производительность алгоритма будет постепенно улучшаться по мере стабилизации обучения. Алгоритм AQ-SGD был тщательно теоретически проанализирован и показал хорошие скорости сходимости при определенных технических условиях и функции квантования с ограниченной ошибкой. Алгоритм может быть эффективно реализован без добавления дополнительных сквозных накладных расходов во время выполнения, хотя он требует использования большего объема памяти и твердотельного накопителя для хранения значений активации. В ходе обширных экспериментов по классификации последовательностей и языковому моделированию наборов данных было показано, что AQ-SGD сжимает значения активации до 2–4 бит без ущерба для производительности сходимости. Кроме того, AQ-SGD может быть интегрирован с современными алгоритмами градиентного сжатия для достижения «сквозного сжатия связи», что означает, что обмен данными между всеми машинами, включая градиенты модели, значения прямой активации и обратные градиенты, сжимается с низкой точностью, тем самым значительно повышая эффективность связи при распределенном обучении. По сравнению со сквозной производительностью обучения в централизованной вычислительной сети (например, 10 Гбит/с) без сжатия, в настоящее время она всего на 31% ниже. В сочетании с данными об оптимизации планирования, несмотря на то, что все еще существует определенный разрыв между централизованными вычислительными сетями, есть большая надежда на то, что в будущем удастся наверстать упущенное.
В период дивидендов, вызванный волной искусственного интеллекта, рынок вычислительной мощности AGI является, безусловно, рынком с наибольшим потенциалом и наибольшим спросом среди различных рынков вычислительной мощности. Однако наивысшая сложность развития, требования к аппаратному обеспечению и капиталовложения создают вызовы для этой отрасли. Объединяя два вышеупомянутых проекта, нам еще остается некоторое время до запуска рынка вычислительной мощности AGI. Реальная децентрализованная сеть также намного сложнее, чем идеальный сценарий. В настоящее время недостаточно конкурентоспособна по сравнению с облачными гигантами.
На момент написания этой статьи я также заметил, что некоторые небольшие проекты, которые все еще находятся в зачаточном состоянии (стадия PPT), начали исследовать некоторые новые точки входа, такие как сосредоточение внимания на менее сложном этапе вывода AGI, а не на этапе обучения. Тем не менее, в долгосрочной перспективе значение децентрализации и систем, не требующих разрешения, огромно. Право на доступ к вычислительным мощностям AGI и их обучение не должно быть сосредоточено в руках нескольких централизованных гигантов. Человечеству не нужна ни новая «теократия», ни новый «папа», и оно не должно платить дорогостоящие членские взносы.
Compartir
С момента рождения GPT-3 генеративный ИИ ознаменовал собой взрывной поворотный момент в области искусственного интеллекта благодаря своей удивительной производительности и широким сценариям применения. Это привело к тому, что технологические гиганты устремились на трек ИИ. Однако этот всплеск принес с собой множество проблем. Операции обучения и вывода больших языковых моделей (LLM) требуют большой вычислительной мощности. При итеративном обновлении этих моделей спрос и стоимость вычислительной мощности растут экспоненциально. Если взять в качестве примера GPT-2 и GPT-3, то разница в количестве параметров между GPT-2 и GPT-3 составляет 1166 раз (GPT-2 имеет 150 миллионов параметров, а GPT-3 — 175 миллиардов). Стоимость одной обучающей сессии GPT-3 была рассчитана на основе моделей ценообразования публичных облаков GPU на тот момент, которая достигает до $12 млн. Это в 200 раз больше, чем у GPT-2. На практике каждый пользовательский запрос требует вычисления вывода. Исходя из 13 миллионов независимых пользователей на начало этого года, соответствующий спрос на чипы составит более 30 000 графических процессоров A100. Первоначальные инвестиции составят ошеломляющие 800 миллионов долларов, а ежедневная стоимость вывода модели составит 700 000 долларов.
Недостаточная вычислительная мощность и высокие затраты стали серьезными проблемами, с которыми сталкивается вся индустрия искусственного интеллекта. Заметно, что аналогичная проблема, по-видимому, стоит перед индустрией блокчейна. С одной стороны, четвертая половина биткоина и утверждение ETF становятся неотвратимыми. Поскольку будущие цены растут, спрос майнеров на вычислительное оборудование неизбежно значительно возрастет. С другой стороны, технология нулевого доказательства (ZKP) бурно развивается, и Виталик неоднократно подчеркивал, что влияние ZK на блокчейн-сферу в следующие десять лет будет таким же важным, как сам блокчейн. Хотя эта технология обещает будущее для индустрии блокчейна, ZK также потребляет много вычислительной мощности и времени при создании доказательств из-за сложного процесса вычислений, как и искусственный интеллект.
В обозримом будущем неизбежным станет нехватка вычислительной мощности. Так будет ли децентрализованный рынок вычислительной мощности прибыльным бизнес-предприятием?
Рынок децентрализованных вычислительных мощностей на самом деле эквивалентен треку децентрализованных облачных вычислений, но лично я думаю, что этот термин больше подходит для описания новых проектов, которые будут обсуждаться позже. Рынок децентрализованных вычислительных мощностей следует рассматривать как разновидность DePIN (Decentralized Physical Infrastructure Networks), целью которого является создание открытого рынка вычислительных мощностей, где любой, у кого есть свободные вычислительные мощности, может предлагать свои ресурсы, стимулируемые токенами, в основном обслуживая клиентов B2B и сообщества разработчиков. Если говорить о более привычных проектах, то к этому направлению относятся такие сети, как Render Network, основанная на децентрализованных решениях для рендеринга на GPU, и Akash Network, распределенная одноранговая торговая площадка для облачных вычислений.
Следующий текст начнется с основных концепций, а затем обсудит три новых рынка по данному направлению: рынок вычислительной мощности AGI, рынок вычислительной мощности Bitcoin и рынок вычислительной мощности AGI на рынке аппаратного ускорения ZK. Последние два будут обсуждаться в разделе “Перспективы многообещающего направления: децентрализованный рынок вычислительной мощности (Часть 2)”.
Концепция вычислительной мощности можно проследить до изобретения компьютера. Оригинальный компьютер использовал механические устройства для выполнения вычислительных задач, и вычислительная мощность относилась к вычислительной способности механического устройства. С развитием компьютерной технологии концепция вычислительной мощности также эволюционировала. Сегодня вычислительная мощность обычно относится к совместной работе аппаратных средств компьютера (ЦП, ГПУ, ППСП и т. д.) и программного обеспечения (операционные системы, компиляторы, приложения и т. д.).
Вычислительная мощность относится к объему данных, которые компьютер или другое вычислительное устройство может обрабатывать за определенный период времени или количество вычислительных задач, которые оно может завершить. Вычислительная мощность обычно используется для описания производительности компьютера или других вычислительных устройств. Это важный показатель вычислительных возможностей вычислительного устройства.
Вычислительная мощность можно измерять различными способами, такими как скорость вычислений, энергопотребление, точность вычислений и параллелизм. В области вычислений обычно используются такие метрики вычислительной мощности, как FLOPS (операции с плавающей запятой в секунду), IPS (инструкции в секунду), TPS (транзакции в секунду) и т. д.
FLOPS измеряет способность компьютера обрабатывать операции с плавающей запятой (математические операции с десятичными запятыми, требующие учета проблем точности и погрешностей округления). Он измеряет, сколько операций с плавающей запятой компьютер может выполнить за секунду. FLOPS - это мера вычислительных возможностей компьютера и обычно используется для измерения вычислительных возможностей суперкомпьютеров, серверов высокопроизводительных вычислений, графических процессоров (GPU) и т. д. Например, если у компьютерной системы 1 TFLOPS (один триллион операций с плавающей запятой в секунду), это означает, что она может завершить 1 триллион операций с плавающей запятой в секунду.
IPS измеряет скорость, с которой компьютер обрабатывает инструкции. Это показатель того, сколько инструкций компьютер может выполнить в секунду и является мерой производительности одной инструкции компьютера, обычно используемой для измерения производительности центрального процессора (ЦП). Например, ЦП с IPS 3 ГГц (3 миллиарда инструкций в секунду) означает, что он может выполнять 3 миллиарда инструкций в секунду.
TPS измеряет способность компьютера обрабатывать транзакции. Он оценивает, сколько транзакций компьютер может завершить за секунду, обычно используется для измерения производительности сервера баз данных. Например, у сервера баз данных TPS составляет 1 000, что означает, что он может обрабатывать 1 000 транзакций баз данных в секунду.
Кроме того, существуют некоторые метрики вычислительной мощности для конкретных сценариев применения, такие как скорость вывода, скорость обработки изображений и точность распознавания речи.
Вычислительная мощность GPU относится к вычислительной способности графических процессоров (GPU). В отличие от центральных процессоров (CPU), GPU - это аппаратное обеспечение, специально разработанное для обработки графических данных, таких как изображения и видео. У них есть большое количество вычислительных блоков и эффективные параллельные вычислительные возможности, и они могут выполнять большое количество операций с плавающей точкой одновременно. Поскольку GPU изначально были разработаны для обработки графики в играх, они обычно имеют более высокие тактовые частоты и большую пропускную способность памяти, чем CPU, чтобы поддерживать сложные графические вычисления.
Архитектура: ЦП и ГПУ имеют различные вычислительные архитектуры. ЦП обычно имеют одно или несколько ядер, каждое из которых является универсальным процессором, способным выполнять различные операции. ГПУ, с другой стороны, имеют большое количество потоковых процессоров и шейдеров, которые специально используются для выполнения вычислений, связанных с обработкой изображений;
Параллельные вычисления: Графические процессоры обычно обладают более высокими возможностями параллельных вычислений. ЦП имеет ограниченное количество ядер, и каждое ядро может выполнять только одну инструкцию, но у ГПУ может быть тысячи потоковых процессоров, которые могут одновременно выполнять несколько инструкций и операций. Поэтому ГПУ обычно лучше подходят чем ЦП для выполнения задач параллельных вычислений, таких как машинное обучение и глубокое обучение, которые требуют обширных параллельных вычислений;
Программирование для графических процессоров относительно более сложное по сравнению с ЦП. Для использования параллельных вычислительных возможностей ГП требуется использование конкретных языков программирования (таких как CUDA или OpenCL) и конкретных методов программирования. В отличие от этого, программирование ЦП проще и может использовать языки программирования общего назначения и инструменты.
В эпоху Промышленной Революции нефть была кровью жизни для мира и проникла в каждую отрасль. В предстоящую эпоху искусственного интеллекта, вычислительная мощность станет "цифровой нефтью" мира. От безумной гонки крупных компаний за AI-чипами и превышения акций Nvidia одним триллионом долларов до недавней блокировки Соединенными Штатами поставок высокотехнологичных чипов из Китая, включая мощность вычислений, размер чипа и даже планы запрета облачных вычислений GPU, важность вычислительной мощности очевидна. Вычислительная мощность станет товаром следующей эпохи.
Искусственный интеллект (ИИ) - это новая техническая наука, которая изучает, развивает и применяет теории, методы и технологии для имитации, расширения и увеличения человеческого интеллекта. Он возник в 1950-60-х годах и, пройдя путь развития более полувека, пережил взаимосвязанные изменения через три волны: символизм, коннекционизм и подходы на основе агентов. Сегодня, как восходящая универсальная технология, ИИ вызывает глубокие изменения в социальной жизни и во всех отраслях. Более конкретное определение генеративного ИИ в настоящее время: Искусственный Общий Интеллект (AGI) - это система искусственного интеллекта с широким спектром понимающих способностей, способная выполнять задачи и работать в различных областях с интеллектом, аналогичным или превосходящим человеческий уровень. AGI в основном требует трех элементов: глубокое обучение (DL), большие данные и значительную вычислительную мощность.
Глубокое обучение - это подраздел машинного обучения (ML), и алгоритмы глубокого обучения - это нейронные сети, смоделированные по образу человеческого мозга. Например, человеческий мозг содержит миллионы взаимосвязанных нейронов, которые работают вместе, чтобы учиться и обрабатывать информацию. Точно так же глубокие нейронные сети (или искусственные нейронные сети) состоят из нескольких слоев искусственных нейронов, работающих вместе внутри компьютера. Эти искусственные нейроны, известные как узлы, используют математические вычисления для обработки данных. Искусственные нейронные сети - это алгоритмы глубокого обучения, которые используют эти узлы для решения сложных проблем.
Нейронные сети можно разделить на входной слой, скрытые слои и выходной слой. Связи между этими различными слоями состоят из параметров.
Слой ввода: Слой ввода является первым слоем нейронной сети и отвечает за прием внешних входных данных. Каждый нейрон во входном слое соответствует функции входных данных. Например, в обработке изображений каждый нейрон может соответствовать значению пикселя на изображении.
Скрытые слои: Входной слой обрабатывает данные и передает их на более глубокие слои в сети. Эти скрытые слои обрабатывают информацию на разных уровнях, корректируя свое поведение при поступлении новой информации. Сети глубокого обучения могут иметь сотни скрытых слоев, что позволяет им анализировать проблемы с разных точек зрения. Например, если вам дано изображение неизвестного животного, которое нужно классифицировать, вы можете сравнить его с животными, которые вам уже известны. Например, вы можете определить, какого это вида животное по форме ушей, количеству ног и размеру зрачков. Скрытые слои в глубоких нейронных сетях работают аналогичным образом. Если глубокий алгоритм обучения пытается классифицировать изображение животного, каждый скрытый слой будет обрабатывать различные характеристики животных и пытаться классифицировать их точно.
Слой вывода: Слой вывода является последним слоем нейронной сети и отвечает за генерацию выхода сети. Каждый нейрон в выходном слое представляет собой возможную категорию или значение выхода. Например, в задаче классификации каждый нейрон в выходном слое может соответствовать категории, в то время как в задаче регрессии у выходного слоя может быть только один нейрон, значение которого представляет собой результат прогнозирования;
Параметры: В нейронных сетях связи между различными слоями представлены весами и смещениями, которые оптимизируются в процессе обучения для обеспечения сети возможностью точно идентифицировать узоры в данных и делать прогнозы. Увеличение параметров может улучшить модельную способность нейронной сети, то есть способность модели изучать и представлять сложные узоры в данных. Но соответственно увеличение параметров увеличит потребность в вычислительной мощности.
Для эффективного обучения нейронные сети обычно требуют больших, разнообразных и высококачественных данных из различных источников. Эти данные являются основой для обучения и проверки моделей машинного обучения. Анализируя большие данные, модели машинного обучения могут узнавать закономерности и взаимосвязи внутри данных, что позволяет им делать прогнозы или классификацию.
Потребность в значительной вычислительной мощности возникает из нескольких аспектов нейронных сетей: сложные многоуровневые структуры, большое количество параметров, необходимость обработки огромных объемов данных и итеративные методы обучения (во время фазы обучения модель должна многократно итерироваться, выполняя вычисления прямого и обратного распространения для каждого слоя, включая вычисления для функций активации, функций потерь, градиентов и обновлений весов), потребность в высокоточных вычислениях, параллельные вычислительные возможности, методы оптимизации и регуляризации, а также процессы оценки и верификации моделей. По мере развития глубокого обучения требование к массовой вычислительной мощности для AGI увеличивается примерно в 10 раз каждый год. Самая последняя модель на сегодняшний день, GPT-4, содержит 1,8 триллиона параметров, с однократными затратами на обучение более $60 миллионов и требованиями к вычислительной мощности 2,15e25 FLOPS (21,5 квинтиллионов операций с плавающей запятой). Потребность в вычислительной мощности для будущего обучения моделей по-прежнему расширяется, и новые модели разрабатываются с увеличивающейся скоростью.
Согласно самым авторитетным оценкам, «Отчет о оценке глобального индекса вычислительной мощности 2022-2023 годов», совместно составленный Международной корпорацией по данным (IDC), компанией Inspur Information и Глобальным институтом исследований промышленности Университета Цинхуа, глобальный рынок вычислительной мощности искусственного интеллекта ожидается увеличится с $19,5 миллиарда в 2022 году до $34,66 миллиарда в 2026 году. Рынок генеративной вычислительной мощности искусственного интеллекта прогнозируется вырасти с $820 миллионов в 2022 году до $10,99 миллиарда в 2026 году. Доля генеративной вычислительной мощности искусственного интеллекта на общем рынке искусственного интеллекта ожидается вырасти с 4,2% до 31,7%.
Производство AI GPU было исключительно монополизировано NVIDIA и они чрезвычайно дорогие (последний H100 был продан за $40,000 за единицу). Как только GPU выпускаются, их сразу покупают техногиганты в Силиконовой долине. Некоторые из этих устройств используются для обучения своих собственных новых моделей. Остальные сданы в аренду разработчикам искусственного интеллекта через облачные платформы, такие как у Google, Amazon и Microsoft, которые контролируют огромное количество вычислительных ресурсов, таких как серверы, GPU и TPU. Вычислительная мощность стала новым ресурсом, монополизированным этими гигантами. Многие разработчики искусственного интеллекта даже не могут приобрести выделенный GPU без наценки. Чтобы использовать последнее оборудование, разработчики должны арендовать серверы AWS или Microsoft. Финансовые отчеты свидетельствуют о том, что этот бизнес имеет чрезвычайно высокую прибыль. Облачные услуги AWS хвастаются валовой маржой в 61%, в то время как валовая маржа Microsoft еще выше и составляет 72%.
Итак, мы должны принять эту централизованную власть и контроль, и платить наценку 72% за вычислительные ресурсы? Будут ли гиганты, монополизировавшие Web2, также доминировать в следующую эру?
Когда речь идет об антимонопольном законодательстве, децентрализация обычно рассматривается как оптимальное решение. Просматривая существующие проекты, можно ли достичь массовой вычислительной мощности, необходимой для искусственного интеллекта, через проекты хранения DePIN в сочетании с протоколами, такими как RDNR, для использования без дела видеокарт? Ответ - нет. Путь к уничтожению дракона не так прост. Ранние проекты не были специально разработаны для вычислительной мощности AGI и не являются выполнимыми. Перенос вычислительной мощности на блокчейн сталкивается как минимум с пятью следующими проблемами:
Проверка работы: Для создания по-настоящему децентрализованной вычислительной сети, которая предоставляет экономические стимулы участникам, сети должен быть способ проверить, были ли выполнены вычисления глубокого обучения на самом деле. Основной проблемой здесь является зависимость состояния моделей глубокого обучения; в этих моделях вход для каждого слоя зависит от вывода предыдущего слоя. Это означает, что нельзя просто проверить отдельный слой в модели, не учитывая все слои перед ним. Вычисление для каждого слоя основано на результатах всех предыдущих слоев. Следовательно, чтобы проверить выполненную работу в конкретной точке (например, в конкретном слое), все работы от начала модели до этой конкретной точки должны быть выполнены;
Рынок: Как растущий рынок, рынок вычислительной мощности искусственного интеллекта подвержен дилеммам предложения и спроса, таким как проблема холодного старта. Поддержка и ликвидность спроса должны быть приблизительно сбалансированы с самого начала, чтобы рынок мог успешно развиваться. Чтобы захватить потенциальное предложение вычислительной мощности, участникам необходимо предоставить четкие стимулы в обмен на свои вычислительные ресурсы. Рынку нужен механизм для отслеживания завершенных вычислений и своевременной оплаты поставщиков соответственно. В традиционных рынках посредники занимаются задачами, такими как управление и включение в систему, снижая операционные издержки за счет установки минимальных порогов оплаты. Однако такой подход затратен при расширении размера рынка. Экономически выгодно захватить лишь небольшую часть предложения, что приводит к состоянию порогового равновесия, в котором рынок может захватить и поддерживать ограниченное предложение, не имея возможности дальше расти.
Проблема останова: Проблема останова является фундаментальным вопросом в теории вычислений, который заключается в определении, завершится ли данная вычислительная задача за конечное количество времени или будет работать бесконечно. Эта проблема неразрешима, что означает отсутствие универсального алгоритма, способного предсказать, завершится ли любое данное вычисление за конечное время. Например, выполнение смарт-контрактов на Ethereum также сталкивается с аналогичной проблемой останова. Невозможно заранее определить, сколько вычислительных ресурсов потребуется для выполнения смарт-контракта или завершится ли он в разумное время.
(В контексте глубокого обучения эта проблема будет более сложной, поскольку модели и фреймворки перейдут от статического построения графа к динамическому созданию и выполнению.)
Конфиденциальность: разработка с учетом конфиденциальности - обязательное требование для команд проекта. Хотя большое количество исследований в области машинного обучения можно проводить на общедоступных наборах данных, для улучшения производительности модели и ее адаптации к конкретным приложениям модель обычно требуется довести до совершенства на собственных данных пользователей. Этот процесс настройки может включать обработку персональных данных, поэтому необходимо учитывать требования к защите конфиденциальности.
Параллелизация: это ключевой фактор в невозможности текущих проектов. Модели глубокого обучения обычно обучаются параллельно на крупных аппаратных кластерах с собственными архитектурами и крайне низкой задержкой, а ГПУ в распределенных вычислительных сетях будут иметь задержку из-за частых обменов данными и будут ограничены производительностью самого медленного ГПУ. Когда источники вычислений ненадежны и ненадежны, как достичь гетерогенной параллелизации - это проблема, которую необходимо решить. Текущий приемлемый метод - достичь параллелизации через модели-трансформеры, такие как Switch Transformers, которые сейчас обладают высокой параллельностью.
Решения: Хотя текущие попытки создания децентрализованного рынка вычислительной мощности AGI все еще находятся в начальной стадии, есть два проекта, которые начально решили проблему консенсусного дизайна децентрализованных сетей и реализацию децентрализованных сетей вычислительной мощности в обучении моделей и выводе. Далее будет использовать Gensyn и Together в качестве примеров для анализа методов проектирования и проблем децентрализованного рынка вычислительной мощности AGI.
Gensyn - это рынок вычислительной мощности AGI, который находится на стадии строительства и нацелен на решение различных проблем децентрализованного вычисления глубокого обучения и снижение затрат, связанных с текущим глубоким обучением. Gensyn в основном является протоколом стейкинга первого уровня, основанным на сети Polkadot, который непосредственно вознаграждает решателей (тех, кто решает вычислительные задачи) через смарт-контракты в обмен на использование своих бездействующих устройств GPU для вычислений и выполнения задач машинного обучения.
Возвращаясь к предыдущему вопросу, основа построения действительно ненадежной вычислительной сети заключается в верификации завершенной работы по машинному обучению. Это очень сложная проблема, требующая нахождения баланса между пересечением теории сложности, теории игр, криптографии и оптимизации.
Gensyn предлагает простое решение, где решатели представляют результаты выполненных ими задач машинного обучения. Чтобы проверить точность этих результатов, другой независимый верификатор пытается повторно выполнить ту же работу. Этот подход можно назвать однократным повторением, поскольку только один верификатор повторно выполнит задачу. Это означает, что для проверки точности оригинальной работы требуется лишь еще один дополнительный этап работ. Однако, если лицо, проверяющее работу, не является первоначальным заказчиком, то проблема доверия все равно существует. Сами верификаторы могут быть нечестными, и их работу необходимо проверять. Это приводит к потенциальной проблеме, если лицо, проверяющее работу, не является первоначальным заказчиком, то потребуется еще один верификатор для проверки их работы. Но этому новому верификатору также можно не доверять, поэтому потребуется еще один верификатор для проверки их работы, что может продолжаться вечно, создавая бесконечную цепочку повторений. Здесь нам необходимо представить три ключевых концепции и переплести их для создания участнической системы с четырьмя ролями для решения проблемы бесконечной цепочки.
Доказательства вероятностного обучения: Создает сертификаты завершенной работы с использованием метаданных из процесса оптимизации на основе градиентов. Путем репликации определенных этапов эти сертификаты можно быстро проверить, чтобы убедиться, что работа завершена как ожидалось.
Протокол позиционирования на основе графов: Используя многоуровневые, основанные на графах протоколы точного позиционирования и последовательное выполнение перекрестных оценщиков. Это позволяет повторно запускать и сравнивать верификационную работу для обеспечения согласованности, которая в конечном итоге подтверждается самим блокчейном.
Игра поощрений в стиле Truebit: Используйте ставки и сокращение для создания игры поощрений, чтобы гарантировать, что каждый экономически разумный участник будет действовать честно и выполнять свои ожидаемые задачи.
Система участников состоит из подающих заявки, решателей, верификаторов и доносчиков.
Податели:
Подписчики - конечные пользователи системы, которые предоставляют задачи для вычисления и оплачивают выполненную работу в единицах;
Решатели:
Решатели - основные работники системы, выполняющие тренировку моделей и генерацию доказательств, которые проверяются верификатором;
Проверители:
Проверители являются ключом к связыванию недетерминированного процесса обучения с детерминированными линейными вычислениями, воспроизводя части доказательства решателя и сравнивая расстояния с ожидаемыми порогами;
Информаторы:
Разоблачители - последняя линия обороны, проверяя работу верификаторов и выдвигая вызовы в надежде получить щедрые вознаграждения за голову.
Система игры, разработанная протоколом, функционирует через восемь этапов, охватывая четыре основных роли участников, чтобы завершить весь процесс от представления задачи до окончательной проверки.
Подача задания: Задания состоят из трех конкретных информационных элементов:
Метаданные, описывающие задачу и гиперпараметры;
Бинарный файл модели (или основная архитектура);
Общедоступные, предварительно обработанные тренировочные данные.
Для отправки задачи отправитель указывает детали задачи в машинно-читаемом формате и отправляет их на цепочку вместе с двоичным файлом модели (или машинно-читаемой архитектурой) и общедоступным местоположением предварительно обработанных данных для обучения. Общедоступные данные могут быть храниться в простом объектном хранилище, таком как S3 от AWS, или в децентрализованном хранилище, таком как IPFS, Arweave или Subspace.
Профилирование: Процесс профилирования устанавливает базовый порог расстояния для верификации доказательства обучения. Проверяющие периодически получают задачи профилирования и генерируют пороги мутации для сравнения доказательств обучения. Для генерации порога проверяющий детерминированно запускает и перезапускает части обучения с использованием различных случайных сидов, генерируя и проверяя свои собственные доказательства. Во время этого процесса проверяющий устанавливает общий ожидаемый порог расстояния для недетерминированной работы решения, который можно использовать для верификации.
Обучение: После профилирования задачи попадают в общий пул задач (аналогично Mempool Ethereum). Выберите решателя для выполнения задачи и удалите задачу из пула задач. Решатели выполняют задачу на основе метаданных, предоставленных отправителем, модели и обучающих данных. При выполнении учебных задач решатели также генерируют доказательства обучения, регулярно проверяя точки и храня метаданные (включая параметры) во время процесса обучения, чтобы верификаторы могли воспроизвести следующие шаги оптимизации как можно более точно.
Генерация доказательств: Решатели периодически сохраняют веса модели или обновления и соответствующие им индексы обучающего набора данных для идентификации образцов, используемых для генерации обновлений веса. Частоту создания контрольных точек можно настроить для обеспечения более надежных гарантий или для экономии места на накопителе. Доказательства могут быть «накладываемыми», что означает, что они могут начинаться с случайного распределения, используемого для инициализации весов, или с предварительно обученных весов, сгенерированных с использованием их собственных доказательств. Это позволяет протоколу построить набор доказанных, предварительно обученных базовых моделей, которые могут быть донастроены для более конкретных задач.
Проверка доказательства: После выполнения задачи решатели регистрируют завершение задачи в цепочке и отображают свое доказательство обучения в общедоступном месте для верификаторов. Верификаторы берут задачи проверки из общего пула задач и выполняют вычислительную работу для повторного запуска части доказательства и выполнения расчета расстояний. Затем цепочка вместе с порогом, рассчитанным во время профилирования, использует полученное расстояние, чтобы определить, соответствует ли верификация доказательству.
Задача определения местоположения на основе графов: после проверки доказательства обучения осведомители могут воспроизвести работу верификаторов, чтобы проверить, правильно ли была выполнена сама работа по проверке. Если осведомители считают, что проверка была проведена неправильно (злонамеренно или нет), они могут оспорить ее в арбитражном суде за вознаграждение. Это вознаграждение может поступать от депозитов солверов и валидаторов (в случае истинного положительного результата) или от бонуса лотерейного пула (в случае ложного срабатывания), при этом арбитраж осуществляется с использованием самой цепочки. Осведомители (выступающие в качестве проверяющих в своем случае) будут проверять и впоследствии оспаривать работу только в том случае, если они ожидают получить соответствующую компенсацию. На практике это означает, что ожидается, что осведомители присоединятся к сети и покинут ее в зависимости от количества других активных информаторов (т.е. с живыми депозитами и проблемами). Таким образом, ожидаемая стратегия по умолчанию для любого осведомителя заключается в том, чтобы присоединиться к сети, когда других осведомителей меньше, внести депозит, случайным образом выбрать активную задачу и начать процесс проверки. После одной задачи они возьмут другую случайную активную задачу и будут повторять ее до тех пор, пока количество информаторов не превысит установленный ими порог выплаты, после чего они покинут сеть (или, что более вероятно, переключатся на другую роль в сети — верификатор или решатель — в зависимости от своих аппаратных возможностей) до тех пор, пока ситуация снова не изменится.
Арбитраж по контракту: когда верификаторы оспариваются рассекателями, они вступают в процесс с цепью, чтобы узнать местоположение оспариваемой операции или ввода, и в конечном итоге цепь выполнит окончательную базовую операцию и определит, справедливо ли оспаривание. Чтобы держать рассекателей честными и преодолеть дилемму верификатора, здесь вводятся периодические принудительные ошибки и джекпотные выплаты.
Расчет: Во время процесса расчетов участникам выплачиваются средства на основе заключений вероятностных и детерминированных проверок. Различные сценарии оплаты возникают в зависимости от результатов предыдущих проверок и вызовов. Если работа считается выполненной правильно и все проверки пройдены, как поставщики решений, так и проверяющие награждаются в соответствии с выполненными операциями.
Gensyn разработал сложную игровую систему на слоях верификации и стимулирования, которая позволяет быстро выявлять и устранять ошибки, определяя расхождения в сети. Однако в текущей системе все еще отсутствует много деталей. Например, как установить параметры, чтобы гарантировать, что награды и штрафы будут разумными, не устанавливая порог слишком высоко? Вы рассматривали экстремальные сценарии и различную вычислительную мощность решателей в игровых аспектах теории игр? В текущей версии белой книги нет подробного описания гетерогенного параллельного выполнения. У Gensyn все еще много работы перед собой.
Together.ai - компания, сосредоточенная на решениях в области открытого источника, децентрализованных вычислительных решений для больших моделей искусственного интеллекта. Она стремится к тому, чтобы каждый мог получить доступ к ИИ в любом месте. Сурово говоря, Together не является блокчейн-проектом, но она предварительно решила проблемы задержки в децентрализованных вычислительных сетях ИИ общего назначения. Поэтому в данной статье анализируются только решения Together и не оценивается сам проект.
Как добиться обучения и вывода больших моделей, когда децентрализованные сети в 100 раз медленнее центров обработки данных?
Давайте представим распределение ГПУ, участвующих в децентрализованной сети. Эти устройства будут разбросаны по разным континентам и городам, каждому из которых необходимо соединяться с различными задержками и пропускной способностью. Как показано на рисунке ниже, симулированный распределенный сценарий показывает устройства, расположенные в Северной Америке, Европе и Азии, с различной пропускной способностью и задержками между ними. Что нужно сделать, чтобы эффективно соединить их между собой?
Распределенное обучение вычислительному моделированию: На диаграмме ниже показана ситуация обучения базовой модели на нескольких устройствах, с тремя типами коммуникации: Прямая активация, Обратное градиентное и Боковая коммуникация.
Комбинируя пропускную способность и задержку связи, необходимо учитывать две формы параллелизма: параллелизм конвейера и параллелизм данных, соответствующие трем типам коммуникации в сценарии с несколькими устройствами:
В параллелизме конвейера все слои модели разбиваются на несколько этапов, где каждое устройство обрабатывает один этап, который представляет собой последовательность последовательных слоев, таких как несколько блоков трансформатора. Во время прямого распространения активации передаются на следующий этап, а во время обратного распространения градиенты активаций передаются обратно на предыдущий этап.
В параллелизме данных устройства независимо вычисляют градиенты для разных микро-пакетов, но им необходимо синхронизировать эти градиенты через коммуникацию.
Оптимизация планирования:
В децентрализованной среде процесс обучения часто ограничивается коммуникацией. Алгоритмы планирования обычно назначают задачи, требующие интенсивного общения, устройствам с более быстрым соединением. Учитывая зависимости между задачами и гетерогенность сети, сначала необходимо моделировать стоимость конкретных стратегий планирования. Чтобы учесть сложную коммуникационную стоимость обучения базовых моделей, Together предлагает новую формулировку и декомпозирует модель стоимости на два уровня, используя теорию графов:
Теория графов - это раздел математики, изучающий свойства и структуры графов (сетей). Граф состоит из вершин (узлов) и рёбер (линий, соединяющих узлы). Основная цель теории графов - изучение различных свойств графов, таких как связность, раскраска, а также характер путей и циклов в графах.
Первый уровень - это проблема сбалансированного разбиения графа (разделение множества вершин графа на несколько подмножеств равного или почти равного размера с минимизацией количества ребер между подмножествами). В этом разбиении каждое подмножество представляет собой раздел, и затраты на связь снижаются за счет минимизации ребер между разделами, соответствующих затратам на связь параллелизма данных.
Второй уровень включает в себя совместную задачу сопоставления графов и задачу коммивояжера (комбинаторную задачу оптимизации, объединяющую элементы сопоставления графа и задачи коммивояжера). Задача сопоставления графов включает в себя поиск соответствия в графе, которое минимизирует или максимизирует некоторые затраты. Задача коммивояжера ищет кратчайший путь, который посещает все узлы графа, что соответствует затратам на связь при параллелизме конвейера.
Выше приведена схема процесса. Из-за сложных вычислений, необходимых для фактической реализации, процесс, описанный на схеме, упрощен для лучшего понимания. Для подробной реализации можно обратиться к документации на официальном сайте Together.
Предположим, что есть набор устройств NN, DD, с неопределенными задержками в коммуникации (матрица AA) и пропускными способностями (матрица BB), на основе набора устройств DD, мы сначала генерируем сбалансированный графический раздел. Каждый раздел или группа устройств содержит примерно равное количество устройств, и все они обрабатывают одинаковый этап конвейера. Это гарантирует, что во время параллелизма данных каждая группа устройств выполняет сходное количество работы. Согласно задержкам в коммуникации и пропускным способностям, формула может рассчитать «стоимость» передачи данных между группами устройств. Каждая сбалансированная группа объединяется для создания полностью связанного грубого графа, где каждый узел представляет собой этап конвейера, а ребра представляют стоимость коммуникации между двумя этапами. Для минимизации стоимости коммуникации используется алгоритм сопоставления для определения того, какие группы устройств должны работать вместе.
Для дальнейшей оптимизации эту проблему также можно моделировать как задачу коммивояжера с открытым циклом (открытый цикл означает, что нет необходимости возвращаться к начальной точке пути), чтобы найти оптимальный путь для передачи данных между всеми устройствами. Наконец, Together использует инновационный алгоритм планирования для поиска оптимальной стратегии выделения для заданной модели затрат, тем самым минимизируя затраты на коммуникацию и увеличивая пропускную способность обучения. Согласно тестам, даже если сеть работает 100 раз медленнее при этой оптимизации планирования, пропускная способность обучения от начала до конца уменьшается всего в 1,7-2,3 раза.
Оптимизация сжатия коммуникации:
Для оптимизации сжатия коммуникаций компания Together представила алгоритм AQ-SGD (подробнее о процессе расчета см. статью "Fine-tuning Language Models over Slow Networks using Activation Compression with Guarantees"). Алгоритм AQ-SGD — это новый метод сжатия активации, предназначенный для решения проблем эффективности связи во время параллельного обучения конвейеров в медленных сетях. В отличие от предыдущих методов прямого сжатия значений активации, AQ-SGD фокусируется на сжатии изменений значений активации одной и той же обучающей выборки в разные периоды. Этот уникальный метод представляет интересную «самоисполняющуюся» динамику, при которой ожидается, что производительность алгоритма будет постепенно улучшаться по мере стабилизации обучения. Алгоритм AQ-SGD был тщательно теоретически проанализирован и показал хорошие скорости сходимости при определенных технических условиях и функции квантования с ограниченной ошибкой. Алгоритм может быть эффективно реализован без добавления дополнительных сквозных накладных расходов во время выполнения, хотя он требует использования большего объема памяти и твердотельного накопителя для хранения значений активации. В ходе обширных экспериментов по классификации последовательностей и языковому моделированию наборов данных было показано, что AQ-SGD сжимает значения активации до 2–4 бит без ущерба для производительности сходимости. Кроме того, AQ-SGD может быть интегрирован с современными алгоритмами градиентного сжатия для достижения «сквозного сжатия связи», что означает, что обмен данными между всеми машинами, включая градиенты модели, значения прямой активации и обратные градиенты, сжимается с низкой точностью, тем самым значительно повышая эффективность связи при распределенном обучении. По сравнению со сквозной производительностью обучения в централизованной вычислительной сети (например, 10 Гбит/с) без сжатия, в настоящее время она всего на 31% ниже. В сочетании с данными об оптимизации планирования, несмотря на то, что все еще существует определенный разрыв между централизованными вычислительными сетями, есть большая надежда на то, что в будущем удастся наверстать упущенное.
В период дивидендов, вызванный волной искусственного интеллекта, рынок вычислительной мощности AGI является, безусловно, рынком с наибольшим потенциалом и наибольшим спросом среди различных рынков вычислительной мощности. Однако наивысшая сложность развития, требования к аппаратному обеспечению и капиталовложения создают вызовы для этой отрасли. Объединяя два вышеупомянутых проекта, нам еще остается некоторое время до запуска рынка вычислительной мощности AGI. Реальная децентрализованная сеть также намного сложнее, чем идеальный сценарий. В настоящее время недостаточно конкурентоспособна по сравнению с облачными гигантами.
На момент написания этой статьи я также заметил, что некоторые небольшие проекты, которые все еще находятся в зачаточном состоянии (стадия PPT), начали исследовать некоторые новые точки входа, такие как сосредоточение внимания на менее сложном этапе вывода AGI, а не на этапе обучения. Тем не менее, в долгосрочной перспективе значение децентрализации и систем, не требующих разрешения, огромно. Право на доступ к вычислительным мощностям AGI и их обучение не должно быть сосредоточено в руках нескольких централизованных гигантов. Человечеству не нужна ни новая «теократия», ни новый «папа», и оно не должно платить дорогостоящие членские взносы.