Les entreprises et les développeurs se tournent de plus en plus vers l’open source, modèle collaboratif, ouvert sur le partage et favorisant l’innovation. Nous vous présentons 12 outils open source pour l’IA et le ML, s’adressant à des débutants ou à des experts, ayant déjà fait leurs preuves.
DeepFaceLab
Le deepfake est une technique basée sur le deep learning permettant de remplacer les visages dans des fichiers vidéos existants, de reproduire la voix d’une personne pour faire croire qu’elle a tenu certains propos, de vieillir ou rajeunir un visage…Utilisée au cinéma ou à la télévision à des fins utiles à la production, elle l’est de façon plus pernicieuse pour les fake news. Au-delà des canulars, elle peut en effet être utilisée pour la manipulation ou la désinformation, nuire à des personnalités…
Fonctionnant sur Python, DeepFaceLab a permis de créer de nombreuses vidéos deepfakes, notamment sur des chaînes youtube très populaires.
DeepPavlov
DeepPavlov est un framework open source pour le développement de chatbots et d’assistants virtuels. Cette bibliothèque d’IA conversationnelle contenant tous les composants nécessaires à la création de chatbots a tout d’abord été développée sur les frameworks d’apprentissage automatique open source TensorFlow et Keras, avant de migrer vers PyTorch.
FauxPilot
FauxPilot est présenté sur GitHub comme une tentative de création d’une version hébergée localement de GitHub Copilot. Pour rappel, ce dernier avait suscité de nombreuses critiques, notamment celles de la Free Software Foundation qui juge cet assistant de codage « illégal et injuste » et pointe du doigt son équité, sa légitimité et sa légalité. Par la suite, il a été le sujet de plaintes collectives pour viol des termes des licences open sources.
FauxPilot permet de choisir des référentiels disposant d’autorisations et licences appropriées. Il utilise les modèles SalesForce CodeGen à l’intérieur du serveur Triton Inference de NVIDIA avec le backend FasterTransformer et ne renvoie pas de données de télémétrie à GitHub/Microsoft.
Image Super-Resolution (ISR)
Image Super-Resolution peut être utilisé pour augmenter et améliorer la qualité des images basse résolution. Ce projet contient des implémentations Keras de différents réseaux denses résiduels pour une super-résolution d’image unique (ISR) ainsi que des scripts pour former ces réseaux en utilisant des composants de contenu et de perte contradictoire. Des scripts Docker et des blocs-notes Google Colab sont ainsi disponibles pour effectuer des formations et des prédictions. ISR est compatible avec Python 3.6 et est distribué sous la licence Apache 2.0.
MindsDB
Le serveur MindsDB ML-SQL active les workflows d’apprentissage automatique pour les bases de données et les entrepôts de données les plus puissants. Il permet ainsi aux développeurs d’ajouter rapidement de nouvelles applications d’IA à leurs applications, aux datascientists de rationaliser les MLOps et aux analystes des données de faire des prévisions sur des données complexes (comme des séries chronologiques multivariées à cardinalité élevée) et les visualiser dans des outils de Business Intelligence.
OpenCV
OpenCV (Open Source Computer Vision Library) est une bibliothèque d’algorithmes d’IA destinée à traiter les fonctionnalités de vision par ordinateur en temps réel, développée initialement par Intel en 1999. Le traitement des images et des vidéos permet d’identifier des visages, des objets…La dernière version 4.7.0 a été publiée le 29 décembre dernier.
PaddleNLP
Tirant parti du framework PaddlePaddle, PaddleNLP est une bibliothèque prenant en charge un large éventail de tâches NLP de la recherche aux applications industrielles (recherche neuronale, classification de texte, l’intelligence documentaire pour l’extraction d’informations, l’analyse des sentiments…)
PyTorch
PyTorch est une bibliothèque logicielle Python, s’appuyant sur Torch développé par Meta, visant à faciliter l’implémentation des algorithmes de deep learning.
Le développement de PyTorch a débuté en 2016 pour aboutir à la version initiale en 2017. Depuis, plus de 2 400 contributeurs ont construit près de 154 000 projets en utilisant ce cadre et le framework est devenu l’une des principales plateformes pour la recherche en IA, le développement d’applications liées notamment au traitement du langage naturel, à la traduction automatisée, à la computer vision…
Scikit-learn
Scikit-learn est une bibliothèque Python libre et open-source destinée à l’apprentissage automatique, construite sur SciPy. Plus de 2 000 contributeurs coopèrent au développement du logiciel qui est le 3ème mondial par le nombre de ses visites (70 millions pour l’année 2021). Son objectif premier est de permettre à des non-experts d’aborder plus facilement des problèmes d’apprentissage statistique. S’adressant à l’apprentissage automatique supervisé et non supervisé, il fournit des algorithmes pour la classification, la régression, le clustering et la réduction de dimensionnalité. La version 1.2.0 est désormais disponible.
Tensorflow
Créée par Google Brain, publiée en 2015, Tensorflow est elle aussi une bibliothèque open source destinée au deep learning très utilisée. S’adressant aux débutants comme aux experts, elle propose une série de modèles préentrainés et prêts à l’emploi.
L’API Keras, un élément central de l’écosystème TensorFlow 2, permet de créer rapidement des réseaux de neurones et couvre chaque étape du flux de travail de machine learning : gestion des données, formation aux hyperparamètres, solutions de déploiement. KerasCV et KerasNLP sont deux extensions de cette API pour le ML appliqué.
On peut d’ailleurs retrouver la nouvelle API Keras Optimizer, visant à fournir un catalogue unifié d’optimiseurs intégrés plus facilement personnalisés et étendus dans la dernière version TensorFlow 2.11 de novembre dernier parmi de nouvelles fonctionnalités.
YOLOv7
YOLOv7 (You Only Look Once) est un outil open source pour la détection automatique d’objets en temps réel, combinant détection et classification des objets. Publiée en juillet 2022, cette septième version du modèle YOLO lancé en 2016, ferait du modèle YOLOv7 le modèle de détection d’objets en temps réel le plus rapide et le plus précis pour les tâches habituelles de Computer Vision, y compris la segmentation d’instance, la détection de points clés en une étape…