ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ
Архив статей журнала
Объектом исследования является технология федеративного обучения, которая позволяет осуществлять коллективное машинное обучение на распределенных обучающих наборах данных без их передачи в единое хранилище. Актуальность данной технологии обусловлена, с одной стороны, давно растущим трендом на использование машинного обучения для решения множества прикладных задач, а с другой - ростом запросов, в том числе законодательных, на приватность и обработку данных ближе к источнику или непосредственно на нем. Основными проблемами при создании систем федеративного обучения являются отсутствие гибких фреймворков для различных сценариев федеративного обучения: большинство существующих решений сосредоточено на обучении искусственных нейронных сетей в централизованной вычислительной среде. Предмет исследования - универсальная архитектура фреймворка для разработки прикладных систем федеративного обучения, позволяющая строить системы для разных сценариев, различных параметров и топологий вычислительной среды, моделей и алгоритмов машинного обучения. В статье рассмотрена предметная область федеративного обучения, даны основные определения и описан процесс федеративного обучения, приведены и разобраны различные сценарии возможных прикладных задач. Проведен анализ наиболее известных на данный момент фреймворков федеративного обучения, а также их применения для возможных сценариев использования. В качестве результата описана архитектура универсального фреймворка, который, в отличие от существующих, может быть использован для разработки прикладных систем федеративного обучения разного типа и разных сценариев использования.
В работе представлены результаты исследования эффективности параллельного приложения для решения задачи квадратичного назначения. Приложение использует алгоритм полного перебора и интерфейс передачи сообщений (MPI) для организации взаимодействия процессов в распределенной вычислительной среде. Для генерации вариантов решений использован метод лексикографической перестановки, который хорошо распараллеливается и обеспечивает балансировку нагрузки узлов. Для расширения диапазона использования алгоритма перебора на оптимизационные задачи большой размерности пространство поиска решений разбивается на части, что позволяет существенно сократить число рассматриваемых вариантов. Эксперименты проводились в распределенной среде, содержащей 50 узлов с процессорами Intel ® Core™ i5 7-го поколения. Параллельное приложение при решении задачи большой размерности (n = 24) продемонстрировало достижимость ускорения вычислений в диапазоне от 99 до 95 % от максимально возможного, причем во всех случаях было найдено точное решение. Это подтверждает корректность методов, использованных для распределения нагрузки и снижения вычислительной сложности задач. Дальнейшая работа будет направлена на исследование возможности применения предлагаемых подходов при реализации алгоритма перебора и в виде гибридных приложений, что актуально для гетерогенных вычислительных сред. Поскольку задача квадратичного назначения относится к задачам дискретной оптимизации, полученные результаты дают основание считать, что предлагаемые решения будут эффективными и для других задач этого класса.
В статье рассматриваются вопросы реализации алгоритма распределения вычислительных задач по множеству распределенных вычислительных ресурсов с последующей агрегацией результатов. Данный алгоритм является ключевым в рамках проекта реализации центра обработки данных на принципах экономики совместного потребления. Прототип механизма реализован на языке Python 3.8 с применением СУБД PostgreSQL 14, система передачи сообщений - на базе RabbitMQ 3.9. В качестве платформы вычислительных узлов выступает ОС CentOS 8 Stream. Цель работы заключается в реализации масштабируемого механизма выполнения распределенных вычислений для применения в качестве основного средства распределения задач и агрегации результатов в рамках исследуемого облика центра обработки данных на принципах экономики общественного потребления. Предметом исследования являются методы резервирования и применения вычислительных мощностей, а также агрегации результатов работы программных алгоритмов. Предложенный механизм решает задачу распределения вычислений с последующей агрегацией результатов среди вычислительных узлов с различными техническими характеристиками. Реализуется интерфейс, пригодный для интеграции в клиентские информационные системы как средство выгрузки вычислений с доступом в формате REST API-шлюза. Теоретическая значимость работы заключается в комбинировании существующих принципов и идей Edge-вычислений для решения иного класса задач, где проблемой является недостаток вычислительного ресурса для задач информационной системы, а не характеристик имеющейся модели. Практическая значимость состоит в разработке прикладного инструмента применения внешних вычислительных мощностей для решения широкого класса клиентских задач. Это открывает возможность организации коммерческого взаимодействия владельцев неиспользуемых вычислительных ресурсов и владельцев информационных систем, испытывающих недостаток вычислительных мощностей.