Разработка алгоритмов и методов реализации распределенных нейросетевых технологий в облачных системах
Проект № 17-47-560046 р_а
Руководитель — заведующий сектором информационных технологий ЦИТ канд. техн. наук, доцент Ушаков Ю.А.
Проект направлен на решение фундаментальной научной проблемы повышения производительности распределенных нейронных сетей в облачных системах с гибридной архитектурой. Производительность должна увеличиваться, как на этапе обучения, так и на этапе функционирования сети за счет использования контейнеров, эффективного планирования вычислений и управления программно-конфигурируемой инфраструктурой облачных систем.
В рамках данного проекта предлагалось разработать методы и алгоритмы для реализации облачных платформ, предоставляющих сервис PaaS (Platform as a Service) для создания, обучения и эксплуатирования нейронных сетей различного типа. С помощью веб-портала или через предоставляемый набором библиотек API пользователь сможет выполнять все возможные действия с нейронной сетью — загрузить необходимые данные для обучения, задать структуру сети, обучить, проанализировать качество обучения и эксплуатировать обученную сеть. Каждая нейронная сеть в зависимости от режима ее использования обслуживается соответствующим облачным нейросетевым приложением.
Существующие решения для создания облачных систем, такие как системы управления облачными ресурсами OpenNebula, OpenStack, CloudStack, Doku и др., являются универсальными, они не учитывают специфику нейросетевых приложений — возможность распараллеливания работы сети (целых слоев нейронов или отдельных групп нейронов), сравнительно небольшой объем потребляемой памяти и вычислений на один нейрон (как в процессе обучения, так и в процессе использования сети), что приводит к возможности обработки нейронной сети полностью или частично на видеоускорителях или ПЛИС (программируемых логических интегральных схемах).
Облачные системы способны планировать вычисления на уровне виртуальных машин без учета особенностей тех сервисов, которые в них выполняются, при этом инфраструктурные задачи, связанные с распараллеливанием и балансировкой работы нейронной сети, планированием размещения данных для ее обучения и эксплуатации, эффективной передачей данных ими не решаются. Данный проект направлен на их решение.
Решены следующие задачи:
- Разработана модель инфраструктуры облачных вычислений для обучения и функционирования нейронных сетей.
- Созданы методы распараллеливания различных типов нейронных сетей на этапе обучения для различных архитектур параллельных вычислительных систем.
- Разработаны высокомасштабируемые методы распараллеливания нейронных сетей на этапе функционирования для различных архитектур параллельных вычислительных систем.
Созданы эффективные алгоритмы планирования вычислений в облачных системах, основанных на контейнерах, для обеспечения максимальной производительности нейросетевых технологий:
а) алгоритм распределения контейнеров процессов облачных нейросетевых приложений по вычислительным узлам;
б) алгоритм планирования доступа облачных нейросетевых приложений к видеоускорителям физических узлов;
в) алгоритм планирования размещения данных для облачных нейросетевых приложений;
г) алгоритм маршрутизации потоков данных в программно-конфигурируемых инфраструктурах для облачных нейросетевых приложений.
Последнее обновление: 19.03.2018
Ответственный за информацию:
Лисицкий Иван Иванович, помощник проректора по научной работе
(тел.91-22-07)