Le deep learning est largement reconnu comme la technologie fondamentale qui impulse les avancées en intelligence artificielle. Les frameworks de deep learning peuvent être considérés comme le système d'exploitation à l'ère de l'intelligence artificielle. Dans ce contexte, PaddlePaddle, une plateforme avancée de deep learning développée par Baidu, se positionne comme un acteur majeur, étant la seule plateforme de deep learning open source entièrement fonctionnelle en Chine. Créé par le plus grand moteur de recherche chinois Baidu, PaddlePaddle s'est d'abord différencié comme une alternative plus conviviale à des solutions existantes telles que DSSTNE (Amazon), TensorFlow (Google) et CNTK (Microsoft).
PaddlePaddle est né des pratiques industrielles avec un dévouement et un engagement envers l'industrialisation. Il a été largement adopté par un large éventail de secteurs, y compris la fabrication, l'agriculture et les services aux entreprises, tout en servant plus de 2,3 millions de développeurs. En interne, Baidu l'a utilisé pour développer des produits et des technologies de classement des résultats de recherche, de classification des images de grande taille, de reconnaissance optique de caractères, de traduction ou de publicité. La plateforme, en tant que plateforme de R&D axée sur les réseaux neuronaux, est conçue pour être efficace pour la formation et le déploiement, en particulier pour les applications industrielles à grande échelle de modèles d'IA. Son objectif principal est de faciliter le processus de création de réseaux neuronaux profonds.
Les Fondements et la Philosophie de Conception de PaddlePaddle
PaddlePaddle, en tant que seule plateforme de deep learning indépendante de R&D en Chine, a été officiellement rendue open source aux communautés professionnelles depuis 2016. Une version alpha de PaddlePaddle, plateforme de deep learning de Baidu, a été publiée sur GitHub, suivie le 30 septembre d'une version sous licence Apache avec documentation. Comme d’autres avant lui, Baidu, le spécialiste chinois de la recherche sur Internet, a mis en open source sa plateforme de deep learning, dont le nom de code PaddlePaddle est inspiré de la dénomination Parallel Distributed Deep Learning. Le logiciel accompagné de sa documentation et de ses spécifications a été rendu disponible sous licence Apache. Baidu assure que sa plateforme ne s’adresse pas seulement aux chercheurs en machine learning, et qu’elle facilitera la prise en main des outils de deep learning à des utilisateurs moins avancés mais enthousiastes.
La philosophie de conception de PaddlePaddle est axée sur la programmabilité et la flexibilité. Le framework de deep learning PaddlePaddle facilite le développement tout en réduisant la charge technique, en exploitant un schéma programmable pour l'architecture des réseaux neuronaux. Il a été conçu pour avoir un schéma programmable pour la conception d'architectures et prend en charge à la fois la programmation déclarative et la programmation impérative. De plus, il dispose de capacités de recherche d'architecture neuronale (NAS). Pour la clarté, la programmation impérative signifie coder des instructions étape par étape pour atteindre un résultat spécifique. Baidu indique que sa plateforme permettra aux développeurs de se concentrer sur la structure de haut niveau de ses modèles sans avoir à se préoccuper des détails de bas niveau.
PaddlePaddle se distingue également par son engagement à adresser les défis des mises à jour de modèles en temps réel. Il garantit une inférence fluide sur différentes plateformes et appareils. Une autre raison pour laquelle PaddlePaddle gagne en popularité est sa conception d'API simple, sa richesse en modèles pré-entraînés et son architecture modulaire. Nous pensons que PaddlePaddle constitue un ajout important aux autres outils de deep learning parce qu’il est plus facile à aborder. Cela est illustré par des exemples dans la santé et le transport, qui sont cités comme des secteurs pouvant tirer bénéfice de l’intelligence artificielle. PaddlePaddle, dans le monde d'aujourd'hui, reflète la rivalité entre les logiciels libres et les solutions commerciales, où les grandes entreprises modifient souvent le code pour l'adapter à leurs besoins spécifiques.
Lire aussi: Sports de rivière pour groupes
L'Architecture Modulaire de PaddlePaddle
PaddlePaddle est une plateforme de deep learning complète, comme l'unique plateforme de deep learning open source entièrement fonctionnelle en Chine. Elle est introduite de manière exhaustive et comprend le framework de base, les boîtes à outils et les plateformes de services. Le cadre de PaddlePaddle est composé de trois composants principaux : Development and Training, Models et Deployment.
Le premier composant, Development and Training, fait référence aux cadres Paddle et PALM, ainsi qu'aux outils permettant de travailler avec des réseaux neuronaux hébergés dans le nuage. Le deuxième, Models, inclut un référentiel de modèles spécialisé et des outils permettant de résoudre des problèmes courants tels que la détection d'objets. Le troisième et dernier composant, Deployment, gère l'application directe des modèles créés sur la plateforme.
L'architecture de PaddlePaddle comprend une série de passes de Représentation Intermédiaire (IR) pour les Unités de Traitement Intelligent (IPU). Toutes fonctionnent en tandem pour exécuter le programme Paddle. Voici comment cela fonctionne : les codes utilisateur sont d'abord introduits dans les programmes Paddle, qui, à leur tour, les convertissent en graphes IR de Paddle. Le système de passe IR est conçu pour gérer les optimisations de graphe à travers des couches modulaires. Les développeurs peuvent introduire de nouvelles passes pour répondre aux besoins spécifiques du matériel. Par exemple, une passe d'extraction d'optimiseur est utilisée pour extraire les étapes d'optimisation et les appliquer pour optimiser l'efficacité computationnelle. Les passes personnalisées IPU incluront des passes spéciales comme popart_canonicalization_pass et ipu_runtime_replacer_pass. Après ces différentes passes, l'IPU traite les graphes IR pour l'exécution. Les opérations de backend s'appuient sur les plateformes PopART et Poplar fournies par Graphcore, qui accordent un contrôle de bas niveau sur les IPU à un développeur.
Capacités de Développement et d'Entraînement à Grande Échelle
PaddlePaddle excelle dans l'entraînement de réseaux neuronaux profonds avec des données et des paramètres massifs. Il prend en charge les modèles de deep learning avec des centaines de milliards de fonctionnalités et des trillions de paramètres. PaddlePaddle a réalisé des avancées dans l'entraînement de réseaux neuronaux profonds à très grande échelle. Il a lancé la première plateforme d'entraînement open source à grande échelle au monde qui prend en charge l'entraînement de réseaux profonds avec 100 milliards de fonctionnalités et des trillions de paramètres en utilisant des sources de données distribuées sur des centaines de nœuds. Ces caractéristiques uniques sont très utiles pour soutenir l'entraînement distribué avec des données ultra-grandes.
PaddlePaddle prend en charge les architectures de réseau neuronal les plus utilisées, comme les réseaux neuronaux de type convolutifs ou récurrents, et peut monter en puissance en exploitant un grand nombre de GPU et CPU sur de nombreuses machines. Il a été testé de manière intensive dans la production de Baidu pendant des années, avec des fonctionnalités uniques pour soutenir l'entraînement distribué avec des données ultra-grandes.
Lire aussi: Stand-Up Paddle Surf : Genèse
Un Riche Écosystème de Modèles et d'Outils Spécialisés
PaddlePaddle offre aux développeurs une bibliothèque de plus de 400 modèles pré-entraînés couvrant un large éventail de tâches dans différents domaines. Ces modèles sont accompagnés d'outils avancés pour une utilisation efficace et une adaptation aux besoins spécifiques du projet. La bibliothèque PaddleHub, par exemple, offre un accès facile à plus de 300 modèles pré-entraînés.
De plus, PaddlePaddle fournit une gamme de kits de développement de bout en bout pour les tâches de vision par ordinateur (CV). Ces boîtes à outils sont conçues pour simplifier et accélérer le développement, chaque kit se concentrant sur un domaine spécialisé :
- PaddleDetection est un package flexible pour la création de modèles de pointe en vision par ordinateur. Il a développé un ensemble de fonctionnalités parfaites pour un large éventail d'applications de détection, de la localisation d'objets de base au suivi multi-objets complexe.
- PaddleSeg est une solution complète pour les tâches de segmentation d'images, prenant en charge un large éventail de tâches pratiques telles que la segmentation sémantique, la segmentation interactive, la segmentation panoptique, l'Image Matting et la segmentation 3D, entre autres.
- PaddleOCR est une boîte à outils OCR multilingue leader de l'industrie pour la détection et la reconnaissance de texte. Il prend en charge plus de 80 langues et fournit des outils d'annotation et de synthèse de données. La reconnaissance optique de caractères (OCR) est le processus qui convertit une image de texte en un format de texte lisible par machine.
- PaddleHelix est une plateforme de bio-informatique qui intègre la vision par ordinateur et l'IA dans la biologie structurelle et les tâches de découverte de médicaments, incluant un Framework du HelixFold-Single et le modèle de langage protéique de PaddleHelix.
Le référentiel de PaddlePaddle comprend plus de 100 modèles grand public, ayant été largement testés dans toutes sortes d'environnements industriels. Certains de ces modèles ont remporté des prix majeurs lors de compétitions internationales clés.
Optimisation du Déploiement et des Performances
PaddlePaddle est non seulement compatible avec d'autres frameworks open source pour l'entraînement de modèles, mais fonctionne également bien sur les développements omniprésents, des plateformes aux appareils. Plus spécifiquement, PaddlePaddle accélère la procédure d'inférence avec la vitesse la plus rapide. Son optimisation conjointe matériel/logiciel accélère considérablement la vitesse d'inférence, menant l'industrie. Un très bon exemple est l'intégration avec le NPU Kirin de Huawei.
Les modèles de vision par ordinateur construits avec le framework PaddlePaddle peuvent être bien déployés sur diverses plateformes. Les serveurs, les appareils périphériques et les environnements mobiles en sont de parfaits exemples. Le déploiement, en tant que composant essentiel, permet l'application directe des modèles créés sur la plateforme. Parallèlement à la méthode de déploiement officielle, une autre option est disponible directement auprès de Nvidia. Les versions actuelles de PaddlePaddle, complètes avec les bibliothèques et dépendances nécessaires, sont emballées dans des conteneurs Docker et prêtes à être téléchargées. Cette flexibilité permet à PaddlePaddle de servir des milliers de cas d'utilisation en vision par ordinateur et en intelligence artificielle.
Lire aussi: Choisir une planche à voile gonflable : Le guide complet