L'open source est un terrain fertile pour les logiciels pionniers, en particulier dans des domaines de pointe comme l'intelligence artificielle (IA) et l'apprentissage automatique (ML). L'éthique de l'open source et les outils de collaboration offrent aux équipes la capacité de partager plus facilement le code et les données, et de s'appuyer sur le succès des autres. Voici une sélection de 13 projets open source qui sont en train de transformer le monde de l'IA et du machine learning.

TensorFlow et PyTorch. Une liste d'outils open source pour l'IA et l'apprentissage automatique ne serait pas complète sans un clin d'œil à TensorFlow et PyTorch. Séparément et ensemble, ces cadres OG soutiennent certaines des recherches les plus expérimentales et les plus importantes en matière d'apprentissage automatique et d'intelligence artificielle. Au moins quelques-uns des projets abordés dans cet article les utilisent d'ailleurs comme blocs de construction.

Pour installer PyTorch, il suffit de sélectionner ses préférences et exécuter la commande d'installation. A noter que Stable représente la version la plus actuellement testée et supportée de PyTorch. (Crédit : PyTorch)

FauxPilot. Les programmeurs qui ont besoin d'un peu d'aide pour coder peuvent s'adresser à FauxPilot. Le système s'entraîne sur du code de production existant et en apprend suffisamment pour faire des commentaires et des suggestions structurés. Le projet s'est inspiré de GitHub Copilot, mais FauxPilot sélectionne les dépôts que l'utilisateur veut utiliser pour s'entraîner. Cette couche de contrôle supplémentaire empêche d'utiliser des extraits de code provenant de sources qui pourraient ne pas approuver cette utilisation. Si l'utilisateur choisit ses sources de formation et les limite à celles qui disposent des autorisations et licences appropriées, l'aide au codage et les extraits utilisés ont plus de chances d'être propres et fiables.

Avec le projet FauxPilot, accessible sur GitHub, les développeurs devraient pouvoir utiliser Copilot avec leurs propres suggestions hébergées localement. (Crédit : GitHub)

DALL-E. L'un des moyens les plus simples de se faire une idée de la façon dont les modèles d'apprentissage automatique « pensent » est de commencer à insérer des mots dans DALL-E, un modèle ouvert de très grande taille construit à partir d'images et de descriptions textuelles extraites d'Internet. Un mot est entré et une image est sortie, que DALL-E considère comme correspondant. Des projets open source comme DALL-E Playground et DALL-E Mini facilitent l'expérimentation du modèle. C'est en partie un jeu et en partie un portail dans l'esprit d'un algorithme d'IA.

 

(Crédit : DALL-E)

YOLOv7. La détection d'objets en temps réel, ou la recherche d'objets dans des images, est un domaine délicat pour l'intelligence artificielle. Elle est également cruciale pour des applications telles que les voitures à conduite autonome, la robotique et les appareils d'assistance qui doivent collecter et transmettre des informations environnementales précises. YOLOv7 est l'un des outils de détection d'objets open source les plus rapides et les plus précis. Il suffit de fournir à l'outil une collection d'images pleines d'objets et de voir ce qui se passe ensuite.

 

YOLOv7 aide notamment à estimer la pose d’une personne sur une photo. (Crédit : YOLOv7)

DeepFaceLab. Les deepfakes sont des vidéos et des images qui sont créées, modifiées ou synthétisées à l'aide du deep learning. L'exemple le plus courant est l'insertion du visage d'une célébrité ou d'un homme politique dans une vidéo ou une image existante, généralement à des fins humoristiques, mais parfois aussi à des fins plus néfastes. DeepFaceLab est une technologie deepfake open source du type morphing qui fonctionne sous Python. Outre l'échange d'un visage contre un autre, elle peut être utilisée pour supprimer les rides et autres marques d'âge et d'expérience.

Un usage de DeepFaceLab où le visage de Vladimir Poutine est inséré dans un portrait de Kevin Spacey (acteur de la série House of Cards). (Crédit : DeepFaceLab)

PaddleNLP. Les moteurs de traitement du langage naturel (NLP) effectuent des recherches neuronales et des analyses de sentiments, puis extraient et présentent les informations aux utilisateurs humains et aux machines. Bien qu'encore parfois maladroite, cette technologie devient suffisamment sophistiquée pour être utilisée dans une variété d'applications et de domaines (Alexa n'est qu'un exemple). PaddleNLP est une bibliothèque NLP open source populaire que chacun peut utiliser pour glaner le sentiment de recherche et signaler les entités importantes.

PaddleNLP est une bibliothèque NLP facile à utiliser, dotée d'un modèle pré-entraîné, qui prend en charge un large éventail de tâches NLP, de la recherche aux applications industrielles. (Crédit : PaddleNLP)

MindsDB. La voie traditionnelle vers le succès de l'IA consiste à stocker les données dans une base de données, puis à les extraire pour les envoyer à un algorithme d'apprentissage automatique distinct. MindsDB est un serveur SQL qui intègre les algorithmes d'apprentissage automatique directement dans la base de données. L'apprentissage automatique dans la base de données, ou l'analyse des données là où elles sont déjà stockées, est un moyen rapide et efficace d'accélérer les flux d'apprentissage automatique.

MindsDB propose d’intégrer les prédictions dans les outils de BI des utilisateurs. (Crédit : MindsDB)

Image Super-Resolution (ISR). Plus de détails, c'est toujours mieux pour les photographies, et Image Super-Resolution peut ajouter encore plus de détails en augmentant la résolution de l'image. Cet outil open source utilise un modèle de ML que l'on peut entraîner à deviner les détails d'une image à faible résolution. Avec un bon ensemble d'entraînement, le modèle peut produire des détails précis et une image plus nette.

Image à faible résolution (gauche), sortie ISR (centre), mise à l'échelle bicubique (droite). (Crédit : ISR)

DeepPavlov. De nombreuses entreprises et grandes sociétés remplacent les lignes de front du service clientèle par des chatbots, ce qui signifie que les machines apprennent à tenir une conversation. DeepPavlov réunit des outils d'apprentissage automatique de base tels que TensorFlow, Keras et PyTorch pour créer des chatbots dont vous pourrez tirer des enseignements. Les résultats sont bizarres, étranges et même, parfois, avec une formation adéquate, utiles.

Les machines apprennent à différencier les mots. (Crédit : DeepPavlov)

Blender. La meilleure façon de convertir des modèles tridimensionnels en scènes somptueusement rendues est d'utiliser Blender. Bien que beaucoup le considèrent comme un outil destiné aux cinéastes et aux animateurs, Blender est également un excellent exemple d'IA appliquée. Une interface riche et de nombreux plugins permettent de créer des images animées complexes ou des vues cinématiques.

Avec ses outils de montage et d'animation de haute qualité, Blender est utilisé pour des courts métrages, publicités, séries télévisées et longs métrages. (Crédit : Blender)

OpenCV ou Open Source Computer Vision Library. L'une des bases les plus fertiles pour explorer la vision par ordinateur est OpenCV, la bibliothèque open source de vision par ordinateur. Elle comprend de nombreux algorithmes populaires d'identification d'objets dans des images numériques, ainsi que des routines spécialisées comme celle qui permet de repérer et de lire les plaques d'immatriculation des voitures.

Le site opencv.org propose un cours d'introduction aux bases des technologies de computer vision qui aborde le deep learning (Crédit : opencv.org).

Robocode. Ce jeu de programmation basé sur Java permet est un passe-temps amusant qui peut même être utile pour tester des stratégies pour les véhicules autonomes.

L'éditeur de robots intégré de Robocode. (Crédit : Robocode)