Outils pour les développeurs de logiciels: framework ouvert et bibliothèques d'apprentissage automatique

Poursuivant notre série d' outils de développement open source. Aujourd'hui, nous parlons de cadres et de bibliothèques pour MO - Transformers, Accord.NET et MLflow.


Photos - Franck V. - Unsplash


Transformers



Il s'agit d'une bibliothèque de modèles en langage naturel sur TensorFlow 2.0 et PyTorch. Il contient plus de 32 modèles pré-formés - BERT, DistilBert, XLM, GPT-2, XLNet et autres.

Les auteurs de la bibliothèque étaient des ingénieurs de la société HuggingFace, développant des algorithmes NLP. Ce sont eux qui ont introduit le modèle d'apprentissage machine hiérarchique (HMTL), qui a franchi une nouvelle étape vers la résolution du problème de «l' oubli catastrophique ». HMTL a été présenté à AAAI 2019, une conférence universitaire internationale sur les systèmes d'intelligence artificielle.

Une caractéristique clé des Transformers est la possibilité d'échanger des modèles formés et de les convertir d'un framework à un autre: TF2.0 ou PyTorch. Les développeurs notent que leur solution nous permet de décrire la procédure de formation du modèle avec trois lignes de code.

Une vaste communauté s'est formée autour de la bibliothèque - près de 15 mille étoiles sur GitHub . Vous pouvez évaluer les capacités de Transformers vous-même sur le site Web du projet : les développeurs ont appris au réseau neuronal à ajouter des propositions pour vous.


Accord.NET



Un cadre affiné par C # qui fournit des outils de base pour l'analyse des données et l'apprentissage automatique: du test d'hypothèses statistiques à la construction de modèles de vision par ordinateur et de traitement d'image. Accord.NET est l'une des solutions MO les plus populaires de l'écosystème .NET. Initialement, c'était une extension de la bibliothèque AForge.NET , mais l'a ensuite absorbée.

L'outil propose des distributions de probabilités, des fonctions de base et des repères pour évaluer les performances des modèles. Accord.NET est divisé en bibliothèques disponibles sous forme de modules exécutables, d'archives compressées ou de packages NuGet . Parmi celles-ci: les mathématiques pour travailler avec des matrices, l' imagerie pour le traitement d'images et l' audio avec des fonctions sonores. Vous pouvez également mettre en évidence Neuro avec les algorithmes de Levenberg-Marquardt et d'apprentissage en profondeur.

Accord.NET a été utilisé pour la recherche par des ingénieurs d'universités au Royaume - Uni , en Égypte , en Chine et dans d'autres pays. Et en général, le framework utilise un nombre assez important de développeurs - il a plus de 3,5 mille étoiles sur GitHub .

Parmi les lacunes, on peut distinguer une documentation déroutante, difficile pour les débutants. Bien que la situation soit légèrement simplifiée par la disponibilité d'un guide de démarrage rapide et des commentaires détaillés dans le code. De plus amples informations sur Accord.NET sont également disponibles dans la littérature. Les développeurs eux-mêmes recommandent des projets de Machine Learning pour les développeurs .NET , F # pour Machine Learning Essentials et quelques autres .


Photos - Franck V. - Unsplash


MLflow



Il s'agit d'une plate-forme pour le cycle complet d'apprentissage automatique, simplifiant le développement, le déploiement et l'échange de modèles. Il propose un ensemble d'API qui fonctionnent avec n'importe quelle bibliothèque (TensorFlow, PyTorch, XGBoost, etc.) et dans n'importe quel environnement, y compris le cloud. Les développeurs MLflow sont des programmeurs de Databricks, une startup fondée par des gens d'Apache Spark.

MLflow a des intégrations intégrées avec Docker, TensorFlow, PyTorch, Kubernetes, Java, Spark et d'autres projets open source. Dans le même temps, MLflow est utilisé par des organisations telles que Microsoft, Accenture, SK Telecom et même l'Université de Washington.

Parmi les inconvénients de MLflow, on peut souligner le manque de support pour R et Java, malgré leur popularité dans le domaine du machine learning. Mais le point ici est la jeunesse relative du projet, et les développeurs promettent d'ajouter des API appropriées à l'avenir. La jeunesse de l'instrument laisse une autre empreinte - il y a des bugs dans son travail.

Si vous souhaitez évaluer indépendamment MLflow au travail, vous pouvez commencer à vous familiariser avec la documentation officielle . Si vous avez des questions, une communauté relativement petite mais active sur StackOverflow ou Google Groupes vous aidera avec leur solution.

Nos autres collections:

Gagnez du temps lorsque vous travaillez avec la ligne de commande
Benchmarks pour les serveurs sous Linux: une sélection d'outils ouverts

Ce que nous écrivons sur Habré:

Ce que l'on sait sur VMworld 2019
La compréhension des politiques de confidentialité des applications et des services aidera les réseaux de neurones
Le tribunal de l'UE s'oppose aux cookies par défaut - il ne devrait pas y avoir de cases à cocher pré-cochées


Nous proposons un service de stockage sur site cloud . Pour la sauvegarde, l'archivage et le partage de documents.

Source: https://habr.com/ru/post/fr471320/


All Articles