Российские программисты разработали платформу для распределенного обучения больших нейросетей. Она адаптирована для сети из множества разных по мощности компьютеров, любой из которых в любой момент может выйти из процесса. Как и в проектах научных распределенных вычислений, например, Folding@home, такой подход позволяет с помощью множества добровольцев создать сеть, вычислительная мощность которой будет сопоставима с передовыми суперкомпьютерами. Разработчики описали платформу в препринте, доступном на arXiv.org, а также опубликовали на GitHub код пре-альфа версии.
Эффективность работы нейросетевых моделей во многом зависит от их размера и от размера обучающей выборки. Например, лидирующая на момент написания заметки модель обработки естественного языка — GPT-3 — имеет 175 миллиардов параметров и была обучена на 570 гигабайтах текстов. Но для обучения подобного масштаба требуется соответствующая вычислительная мощность, которая из-за дороговизны зачастую недоступна исследовательским группам, не входящим в состав крупных IT-компаний.
Во многих областях науки есть проекты распределенных вычислений, решающие эту проблему с помощью волонтеров: любой человек с доступом к интернету может установить у себя программу, которая будет в фоновом режиме проводить нужные ученым вычисления. Вместе, тысячи или даже миллионы компьютеров бесплатно предоставляют ученым вычислительную сеть с мощностью лидирующих суперкомпьютеров: в 2020 году мощность сети биомолекулярных симуляций Folding@home перешла рубеж в один экзафлопс и продолжила расти. Но сети распределенных вычислений имеют недостатки: каждый компьютер может в любой момент отключиться или передавать данные медленно и нестабильно, а кроме того, не все типы вычислений одинаково легко разбиваются на подзадачи для распределения по отдельным вычислительным узлам.
Максим Рябинин (Maksim Riabinin) из Высшей школы экономики и Яндекса вместе с коллегой Антоном Гусевым (Anton Gusev) разработали платформу Learning@home, позволяющую распределять обучение нейросетевых моделей на множество компьютеров. В основе платформы лежит метод коллектива экспертов, при котором за обработку разных входящих данных отвечают определенные «эксперты» — отдельные алгоритмы или компьютеры. Разработчики предложили разбивать слои обучаемой нейросети на набор экспертов. Каждый из экспертов может иметь свою специализацию, к примеру, выступать в качестве части нейросети сверточного или другого типа.
Сеть компьютеров для обучения или выполнения нейросетевых алгоритмов имеет децентрализованную структуру, а каждый из ее вычислительных узлов состоит из трех частей: исполняющей среды, управляющей части и DHT-узла. Исполняющая среда непосредственно отвечает за вычисления, то есть выступает в качестве эксперта. Управляющая часть принимает входящие данные, выбирает подходящих для их обработки экспертов и собирает данные вычислений. А DHT-узел — это часть распределенной хэш-таблицы, в которой сеть хранит свои данные.
Авторы опубликовали код, который они использовали для первичной проверки работоспособности платформы, на GitHub, но отметили, что пока его не стоит рассматривать как готовую к использованию библиотеку. Также они отметили, что платформа в нынешнем виде будет иметь типичные недостатки одноранговых сетей, в том числе высокую нагрузку на сетевую инфраструктуру, а также подверженность специфичным для такого сетей атакам, возможность которых произрастает из их архитектуры, а не конкретной реализации.
Исследователи со всего мира работают не только над совершенствованием программной части нейросетей и их обучения, но и над аппаратной. Одно из перспективных направлений — это нейроморфные чипы, которые по своей архитектуре повторяют организацию и принцип работы биологических нейронных сетей, и имеют в своем составе синапсы, дендриты и аксоны, позволяющие более точно имитировать межнейронное взаимодействие. Среди них можно выделить чисто нейроморфные чипы от IBM и Intel, а также представленный в прошлом году китайскими разработчиками гибридный чип, в котором совмещены блоки для классических и импульсных искусственных нейросетей.
Григорий Копиев
Что такое нейросети и какими они бывают
Всего за пару десятков лет нейросети, кажется, научились всему: от генерации текста и изображений до прогноза погоды, вождения автомобилей и обнаружения патологий на рентгеновских снимках. Тем не менее, в отличие от нашего мозга, созданные по его подобию инструменты неуниверсальны — для решения конкретных задач нейросети постоянно изменяют и совершенствуют. Рассказываем, как они устроены, чем отличаются друг от друга и почему ни одна нейросеть не способна обойтись без человека.