Модели и платформы ИИ
Волокно Uber – это новая распределенная платформа для обучения моделей ИИ
Согласно VentureBeat, исследователи ИИ в Uber недавно опубликовали статью на Arxiv, в которой описана новая платформа, предназначенная для помощи в создании распределенных моделей ИИ. Платформа называется Fiber, и она может быть использована для решения задач обучения с подкреплением и обучения на основе популяций. Fiber предназначена для того, чтобы сделать крупномасштабные параллельные вычисления более доступными для непрофессионалов, позволяя им использовать мощность распределенных алгоритмов и моделей ИИ.
Fiber недавно была открыта на GitHub, и она совместима с Python 3.6 или выше, с Kubernetes, работающим на Linux-системе и запускаемой в облачной среде. Согласно команде исследователей, платформа может легко масштабироваться до сотен или тысяч отдельных машин.
Команда исследователей из Uber объясняет, что многие из последних и наиболее актуальных достижений в области искусственного интеллекта были обусловлены более крупными моделями и большим количеством алгоритмов, обучаемых с помощью распределенных методов обучения. Однако создание моделей, основанных на популяциях, и моделей обучения с подкреплением остается трудной задачей для распределенных схем обучения, поскольку они часто имеют проблемы с эффективностью и гибкостью. Fiber делает распределенную систему более надежной и гибкой, объединяя программное обеспечение для управления кластерами с динамическим масштабированием и позволяя пользователям перемещать свои задания с одной машины на большое количество машин без проблем.
Fiber состоит из трех компонентов: API, бэкенда и кластерного слоя. Слой API позволяет пользователям создавать очереди, менеджеры и процессы. Слой бэкенда Fiber позволяет пользователю создавать и завершать задания, управляемые различными кластерами, а кластерный слой управляет отдельными кластерами и их ресурсами, что значительно увеличивает количество элементов, которые Fiber должна отслеживать.
Fiber позволяет выполнять задания в очереди и запускать их удаленно на одной локальной машине или на нескольких машинах, используя концепцию процессов, поддерживаемых заданиями. Fiber также использует контейнеры, чтобы обеспечить, что входные данные и зависимые пакеты являются самодостаточными. Фреймворк Fiber даже включает встроенную обработку ошибок, чтобы в случае краха рабочего процесса его можно было быстро возродить. Fiber может делать все это, взаимодействуя с менеджерами кластеров, позволяя приложениям Fiber работать как обычные приложения, запускаемые на данном компьютерном кластере.
Экспериментальные результаты показали, что в среднем время ответа Fiber составляло несколько миллисекунд, и что оно также лучше масштабировалось, чем базовые методы ИИ, когда было построено с 2048 ядрами процессора/работниками. Время, необходимое для выполнения заданий, постепенно уменьшалось по мере увеличения количества работников. IPyParallel завершил 50 итераций обучения примерно за 1400 секунд, в то время как Fiber смогла выполнить те же 50 итераций обучения примерно за 50 секунд с 512 доступными работниками.
Соавторы статьи о Fiber объясняют, что Fiber может достичь нескольких целей, таких как динамическое масштабирование алгоритмов и использование больших объемов вычислительной мощности:
«[Наша работа показывает], что Fiber достигает многих целей, включая эффективное использование большого количества гетерогенного вычислительного оборудования, динамическое масштабирование алгоритмов для улучшения эффективности использования ресурсов, снижение инженерных затрат, необходимых для работы алгоритмов обучения с подкреплением и популяций на компьютерных кластерах, и быструю адаптацию к различным вычислительным средам для улучшения эффективности исследований. Мы ожидаем, что это еще больше позволит добиться прогресса в решении сложных задач обучения с подкреплением с помощью алгоритмов обучения с подкреплением и методов, основанных на популяциях, сделав более простым разработку этих методов и их обучение в масштабах, необходимых для их真正щего раскрытия».












