Apache SINGA - Apache SINGA
Разработчики) | Фонд программного обеспечения Apache |
---|---|
изначальный выпуск | 8 октября 2015 г. |
Стабильный выпуск | 3.1.0 / 30 октября 2020 г. |
Написано в | C ++, Python, Ява |
Операционная система | Linux, macOS, Windows |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | Singa |
Apache SINGA это проект верхнего уровня Apache для разработки открытого исходного кода машинное обучение библиотека. Он обеспечивает гибкую архитектуру для масштабируемого распределенного обучения, расширяемый для работы на широком спектре оборудования и ориентированный на приложения для здравоохранения.
История
В SINGA проект был инициирован Группа систем БД в Национальном университете Сингапура в 2014 году в сотрудничестве с группой баз данных Чжэцзянского университета, чтобы поддерживать масштабную комплексную аналитику и делать системы баз данных более интеллектуальными и автономный.[1] Он сосредоточился на распределенном глубоком обучении за счет разделения модели и данных на узлы в кластере и распараллеливания обучения.[2][3] Прототип был принят Apache Incubator в марте 2015 года и завершен как проект верхнего уровня в октябре 2019 года. Было выпущено семь версий, как показано в следующей таблице. Начиная с версии 1.0, SINGA в целом поддерживает традиционные модели машинного обучения, такие как логистическая регрессия. Такие компании как NetEase,[4] yzBigData,Шентилиум и другие используют SINGA для своих приложений, в том числе здравоохранение[5] и финансы.
Версия | Исходная дата выпуска | Последняя версия | Дата выхода | |
---|---|---|---|---|
3.1.0 | 2020-10-30 | 3.1.0 | 2020-10-30 | |
3.0.0 | 2020-04-20 | 3.0.0 | 2020-04-20 | |
2.0.0 | 2019-04-20 | 2.0.0 | 2019-04-20 | |
1.2.0 | 2018-06-06 | 1.2.0 | 2018-06-06 | |
1.1.0 | 2017-02-12 | 1.1.0 | 2017-02-12 | |
1.0.0 | 2016-09-08 | 1.0.0 | 2016-09-08 | |
0.3.0 | 2016-04-20 | 0.1.0 | 2016-04-20 | |
0.2.0 | 2016-01-14 | 0.2.0 | 2016-01-14 | |
0.1.0 | 2015-10-08 | 0.1.0 | 2015-10-08 | |
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия |
Программный стек
Программный стек SINGA включает три основных компонента: ядро, ввод-вывод и модель. На следующем рисунке эти компоненты показаны вместе с оборудованием. Базовый компонент обеспечивает управление памятью и тензорные операции; IO имеет классы для чтения (и записи) данных с (на) диск и сеть; Компонент модели предоставляет структуры данных и алгоритмы для моделей машинного обучения, например, слои для моделей нейронных сетей, оптимизаторы / инициализаторы / метрики / потери для общих моделей машинного обучения.
Контрольный показатель для распределенного обучения
Рабочая нагрузка: используем глубокую сверточную нейронную сеть, ResNet-50 как приложение. ResNet-50 имеет 50 сверточных слоев для классификации изображений. Для передачи одного изображения (размером 224x224) по сети требуется 3,8 гигафлопа. Размер входного изображения 224x224.
Аппаратное обеспечение: мы используем экземпляры p2.8xlarge от AWS, каждый из которых имеет 8 графических процессоров Nvidia Tesla K80, всего 96 ГБ памяти графического процессора, 32 виртуальных процессора, 488 ГБ основной памяти, пропускную способность сети 10 Гбит / с.
Метрика: мы измеряем время на итерацию для разного количества рабочих, чтобы оценить масштабируемость SINGA. Размер пакета составляет 32 на графический процессор. Применяется синхронная схема обучения. В результате эффективный размер пакета составляет 32N $, где N - количество графических процессоров. Мы сравниваем с популярной системой с открытым исходным кодом, в которой используется топология сервера параметров. Первый GPU выбирается в качестве сервера. На следующем рисунке полоски соответствуют пропускной способности, а линии - стоимости связи.
Рафики
Рафики[6] является подмодулем SINGA для предоставления услуг аналитики машинного обучения.
Использование SINGA
Чтобы начать работу с SINGA, есть несколько учебные пособия доступно как Юпитер записные книжки. Учебники охватывают следующее:
- Основные классы
- Классы моделей
- Линейная регрессия
- Многослойный персептрон
- Сверточная нейронная сеть (CNN)
- Рекуррентные нейронные сети (RNN)
- Ограниченная машина Больцмана (RBM)
Также есть онлайн курс о SINGA.
Смотрите также
Рекомендации
- ^ Вэй, Ван; Мэйхуэй, Чжан; Ганг, Чен; H.V., Джагадиш; Бенг Чин, Оои; Киан-Ли, Тан; Шэн, Ван (июнь 2016 г.). «База данных встречает глубокое обучение: проблемы и возможности». Запись SIGMOD. 45 (2): 17–22. arXiv:1906.08986. Дои:10.1145/3003665.3003669.
- ^ Ooi, Beng Chin; Тан, Киан-Ли; Шэн, Ван; Ван, Вэй; Цай, Цинчао; Чен, банда; Гао, Цзиньян; Ло, Чжаоцзин; Тунг, Энтони К. Х .; Ван, Юань; Се, Чжунлэ; Чжан, Мэйхуэй; Чжэн, Кайпин (2015). «SINGA: распределенная платформа глубокого обучения» (PDF). ACM Multimedia. Дои:10.1145/2733373.2807410. Получено 8 сентября 2016.
- ^ Вэй, Ван; Чен, банда; Ань Динь, Тянь Туан; Гао, Цзиньян; Ooi, Beng Chin; Тан, Киан-Ли; Шэн, Ван (2015). «SINGA: передача глубокого обучения в руки пользователей мультимедиа» (PDF). ACM Multimedia. Дои:10.1145/2733373.2806232. Получено 8 сентября 2016.
- ^ 网易. "网易 携手 Apache SINGA 角逐 人工智能 新 战场 _ 网易 科技". tech.163.com. Получено 2017-06-03.
- ^ «Новое приложение позволяет людям с преддиабетом использовать фотографии своей еды, чтобы проверить, является ли она здоровой». www.straitstimes.com. Получено 6 апреля 2019.
- ^ Ван, Вэй; Гао, Цзиньян; Чжан, Мэйхуэй; Шэн, Ван; Чен, банда; Хим Нг, Тек; Ooi, Beng Chin; Шао, Цзе; Рейад, Моаз (2018). "Рафики" (PDF). Труды эндаумента VLDB. 12 (2): 128–140. arXiv:1804.06087. Bibcode:2018arXiv180406087W. Дои:10.14778/3282495.3282499. Получено 9 января 2019.