Apache SINGA
Apache SINGA est un projet Apache encore en Incubation dédié au Deep learning. Il offre une architecture flexible pour un entrainement distribuée, est extensible pour s'exécuter sur une large gamme de matériel et se concentre sur les applications de soins de santé.
Développé par | Apache Software Foundation |
---|---|
Première version | |
Dernière version | 3.0.0 ()[1] |
Dépôt | github.com/apache/singa |
Écrit en | C++ |
Système d'exploitation | Linux, macOS et Microsoft Windows |
Licence | Licence Apache version 2.0 |
Site web | singa.incubator.apache.org |
Historique
Le projet SINGA a été lancé par le groupe DB System de l'Université nationale de Singapour en 2014, en collaboration avec le groupe de bases de données de l'Université du Zhejiang, afin de prendre en charge des analyses complexes à l'échelle et de rendre les systèmes de bases de données plus intelligents et autonomes[2]. Il s'est concentré sur le deep learning distribué en partitionnant le modèle et les données sur des nœuds d'un cluster et en parallélisant la phase d'entrainement[3] - [4]. Le prototype a été accepté par Apache Incubator en . Sept versions ont été publiées, comme indiqué dans le tableau suivant. Depuis la version 1.0, SINGA prend en charge les modèles d’apprentissage automatique traditionnels, tels que la régression logistique. Des entreprises comme NetEase[5], yzBigData, Shentilium et d’ autres utilisent SINGA pour leurs applications, y compris dans les domaines de la santé [6] et de la finance.
Version | Original release date | Latest version | Release date | |
---|---|---|---|---|
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 | |
Légende : Ancienne version Ancienne version, toujours prise en charge Dernière version stable Dernière version avancée Version future |
Pile logiciel
La pile logicielle de SINGA comprend trois composants principaux: le noyau, les entrées / sorties et le modèle. La figure suivante illustre ces composants avec le matériel. Le composant principal assure la gestion de la mémoire et les opérations de tenseurs; IO a des classes pour lire (et écrire) des données depuis (sur) le disque et le réseau; Le composant de modèle fournit des structures de données et des algorithmes pour les modèles d’apprentissage automatique, par exemple des couches pour les modèles de réseau neuronal, des optimiseurs / initialiseurs / métriques / pertes pour des modèles d’apprentissage automatique généraux.
Rafiki
Rafiki [7] est un sous-module de SINGA destiné à fournir un service d'analyse d'apprentissage automatique.
Références
- « Release 3.0.0 », (consulté le )
- Wei, Meihui, Gang et H.V., « Database Meets Deep Learning: Challenges and Opportunities. », SIGMOD Record, vol. 45, no 2, , p. 17–22 (DOI 10.1145/3003665.3003669, lire en ligne)
- Ooi, Tan, Sheng et Wang, « SINGA: A distributed deep learning platform », ACM Multimedia, (DOI 10.1145/2733373.2807410, lire en ligne, consulté le )
- Wei, Chen, Anh Dinh et Gao, « SINGA: putting deep learning in the hands of multimedia users », ACM Multimedia, (DOI 10.1145/2733373.2806232, lire en ligne, consulté le )
- 网易, « 网易携手Apache SINGA角逐人工智能新战场_网易科技 », tech.163.com (consulté le )
- « New app allows pre-diabetics to use photos of their meal to check if it is healthy », www.straitstimes.com (consulté le )
- Wang, Gao, Zhang et Sheng, « Rafiki: Machine Learning as an Analytics Service System », PVLDB 12(2), (DOI 10.14778/3282495.3282499, lire en ligne, consulté le )