Совесть отрасли! Высокопроизводительная вычислительная платформа Tencent Angel, высокопроизводительная распределенная среда машинного обучения.

машинное обучение Информация Тенсент

Angel — это высокопроизводительная распределенная платформа машинного обучения, разработанная на основе концепции Parameter Server.

Лицензионное соглашение: БСД

Язык разработки: Ява

Операционная система: кросс-платформенный

Разработчик: Тенсент

Angel — это высокопроизводительная распределенная платформа машинного обучения, разработанная на основе концепции Parameter Server.Она неоднократно настраивалась на основе массивных данных внутри Tencent и имеет широкую применимость и стабильность.Чем очевиднее преимущество. Angel был совместно разработан Tencent и Пекинским университетом с учетом высокой доступности в промышленности и инноваций в научных кругах.

Основная философия дизайна Angel вращается вокруг моделей. Он разумно разделяет многомерные большие модели на серверные узлы с несколькими параметрами и легко реализует различные эффективные алгоритмы машинного обучения с помощью эффективных интерфейсов обновления моделей и операционных функций, а также гибких протоколов синхронизации.

Angel разработан на основе Java и Scala, и его можно напрямую планировать и запускать в Yarn сообщества. Он основан на PS Service, поддерживает Spark на Angel. В будущем он будет поддерживать интеграцию графовых вычислений и сред глубокого обучения.

1. Общая структура

Клиент, как и клиент Angel, предоставляет приложениям функции для управления выполнением задач. Рабочий отвечает за обучение конкретной модели или прогнозирование результатов; Мастер отвечает за распределение конкретных задач, координацию и планирование, а также за использование ресурсов.

Архитектура Parameter Sever, принятая Angel, больше подходит для решения проблемы обновления параметров в огромных моделях, чем другие типы архитектур; функции Parameter Server:

● Автоматическая сегментация и управление моделями на основе Matrix/Vector с учетом как разреженных, так и плотных форматов.

● Поддержка операций Push и Pull в модели, вы можете настроить сложные функции psFunc.

● Обеспечение нескольких механизмов управления синхронизацией (BSP/SSP/ASP).

По характеристикам разных измерений можно увидеть сравнение времени каждой итерации и общего времени сходимости Angel и Spark из данных Чем больше модель, тем очевиднее преимущество Angel по сравнению со Spark.

2. Структура системы

3. Библиотека алгоритмов и оптимизация

Теперь в официальную версию с открытым исходным кодом Angel 1.0.0 также добавлена ​​интеграция алгоритмов машинного обучения, таких как логистическая регрессия, SVM, KMeans, LDA, MF и GBDT:

● Интегрируйте алгоритмы машинного обучения, такие как логистическая регрессия, SVM, KMeans, LDA, MF, GBDT и т. д.

● LDA использует алгоритм F+LDA для увеличения скорости выборки и в то же время использует метод потокового сбора параметров для уменьшения задержки сбора сетевых параметров.

● GBDT использует двухэтапный алгоритм разделения дерева для передачи части вычислений в PS, что снижает передачу данных по сети и повышает скорость.

● Различные методы оптимизации, включая ADMM, OWLQN, LBFGS и GD.

● Поддержка различных функций потерь, индикаторов оценки, включая обычные элементы L1, L2.

4. Оптимизация сети

Сетевое решение Angel использует Chukonu из Гонконгского университета науки и технологий. С помощью Chukonu Angel может решить проблему ожидания быстрых узлов медленных узлов в полусинхронном механизме координации работы SSP за счет перераспределения сетевого трафика, а также сократить время простоя окна. Как показано на рисунке, при оценке производительности 100 миллионов измерений и 30 итераций Chukonu сокращает накопленное время простоя примерно в 3,79 раза.

5. Режим работы ангел

Angel поддерживает следующие два режима работы:

● ANGEL_PS: Режим службы PS. В этом режиме Angel запускает только Master и PS, а конкретные расчеты передаются другим вычислительным платформам (таким как Spark, Tensorflow), а Angel отвечает только за обеспечение функции сервера параметров.

● ANGEL_PS_WORKER: запустите Master, PS и Worker, Angel самостоятельно завершит обучение модели.

Вокруг Angel Tencent также создала небольшую экосистему, которая может поддерживать MLLib на Spark, поддерживать обучение сотен миллионов измерений и поддерживать более сложные модели графических вычислений. В то же время, опираясь на Angel, Tencent выиграла четыре чемпионата в бенчмарке Sort в 2016 году и выполнила сортировку данных 100T за 98,8 секунды, побив четыре мировых рекорда. В 2015 году время сортировки достигло 329 секунд.

Angel с открытым исходным кодом от Tencent предоставляет новую возможность для тех, кто занимается крупномасштабными расчетами моделей машинного обучения.

Рекомендуемое чтение

Откажитесь от Dubbo и выберите архитектуру микросервисов Spring Cloud. Практика и опыт.

Ноябрьский рейтинг языков программирования TIOBE, что случилось со скриптовыми языками?

Сделайте крутое меню с Vue

Используйте Electron для создания приложений Win/Mac, от «кода» до загружаемого «установочного пакета».

Углубленная интерпретация модели NIO в Tomcat

нажмите«Прочитай исходный текст»Посмотреть больше захватывающего контента