IA générative : définition
L'IA générative (ou intelligence artificielle générative) est une technologie d'intelligence artificielle capable de créer des contenus à partir de modèles d'apprentissage profond entraînés avec de grands ensembles de données. Les modèles d'IA générative, qui sont utilisés pour générer de nouvelles données, sont le pendant des modèles d'IA discriminative, qui servent à trier les données en fonction de différences. Aujourd'hui, les applications d'IA générative sont utilisées pour produire des textes, des images, du code, etc. Les chatbots, la création et la retouche d'images, l'assistance au développement des logiciels et la recherche scientifique comptent parmi les cas d'utilisation les plus courants de cette technologie.
Dans un cadre professionnel, l'IA générative permet de visualiser rapidement des idées créatives et de gérer efficacement des tâches ennuyeuses et chronophages. Dans plusieurs domaines émergents, tels que la recherche médicale et la conception de produits, l'IA générative promet d'aider les équipes à relancer leur productivité et d'améliorer nettement la vie de tout un chacun. Néanmoins, l'IA présente de nouveaux risques qu'il est important de comprendre et de réduire autant que possible.
De nombreuses applications d'IA générative ont vu le jour ces dernières années, notamment : ChatGPT et DALL-E d'OpenAI, GitHub CoPilot, Bing Chat de Microsoft, Bard de Google, Midjourney, Stable Diffusion et Adobe Firefly. Red Hat s'est associé à IBM pour créer Red Hat® Ansible® Lightspeed with IBM watsonx Code Assistant, un service d'IA générative qui aide les développeurs à créer des contenus Ansible plus efficacement. De nombreuses autres entreprises développent actuellement leur propre système d'IA générative afin d'automatiser les tâches courantes et de gagner en efficacité.
Fonctionnement de l'IA générative
Si vous avez déjà eu une conversation étonnamment cohérente avec ChatGPT, ou obtenu une image réaliste avec Midjourney à partir d'un texte descriptif que vous veniez d'inventer, vous savez à quel point l'IA générative peut sembler magique. Sur quoi se fondent ces exploits ?
Les applications d'IA que vous utilisez reposent sur des modèles d'apprentissage profond qui récréent des schémas issus d'une multitude de données d'entraînement. Dans un cadre défini par l'homme, ces modèles adaptent ensuite ce qu'ils ont appris pour créer des contenus.
Les modèles d'apprentissage profond stockent leurs données d'entraînement sous une forme encodée, en rapprochant les points de données semblables les uns des autres. Cette représentation est ensuite décodée pour produire de nouvelles données originales aux caractéristiques similaires.
Pour créer une application d'IA générative personnalisée, il faut un modèle auquel doivent être apportés des ajustements (par exemple, une personnalisation spécifique supervisée par l'homme ou l'ajout d'une couche de données propre au cas d'utilisation visé).
Aujourd'hui, la plupart des applications d'IA générative fréquemment utilisées répondent à des requêtes de l'utilisateur. Décrivez le résultat voulu dans un langage naturel : l'application le génère, comme par magie.
Cas d'utilisation de l'IA générative
Les avancées de l'IA générative dans les domaines de la rédaction et de la génération d'images ont fasciné la presse et l'imagination de chacun. Voici quelques cas d'utilisation déjà connus pour cette technologie aux progrès phénoménaux.
Rédaction : avant même que des articles mentionnent ChatGPT (et que l'application commence à les rédiger elle-même), les systèmes d'IA générative fournissaient déjà des textes de qualité satisfaisante. Ces modèles ont d'abord été utilisés dans les outils de traduction. Aujourd'hui, les outils d'IA générative parviennent à créer des contenus de haute qualité en répondant à des requêtes sur presque n'importe quel sujet. Et ils savent s'adapter à différentes longueurs de texte et différents styles d'écriture.
Génération d'images : les outils d'édition d'images basés sur l'IA générative produisent des images de haute qualité à partir de requêtes en lien avec de nombreux sujets et aux styles variés. Certains peuvent même ajouter des éléments à des œuvres existantes, comme Generative Fill dans Adobe Photoshop.
Génération audio (discours et musique) : à partir d'un texte écrit et de l'enregistrement audio de la voix d'une personne, les outils vocaux basés sur l'IA sont capables de créer un discours ou un chant reproduisant les sons émis par l'homme. D'autres outils peuvent créer de la musique à partir de requêtes ou d'extraits.
Génération vidéo : de nouveaux services testent diverses techniques d'IA générative pour créer des images animées, par exemple en associant un enregistrement audio à une image fixe pour reproduire les mouvements de la bouche et l'expression faciale du sujet comme s'il était en train de parler.
Génération et achèvement de code : à partir d'une requête écrite, certains outils d'IA générative peuvent produire du code informatique à la demande pour aider les équipes de développement de logiciels.
Enrichissement des données : l'IA générative permet de créer une grande quantité de données synthétiques lorsqu'il est impossible ou déconseillé d'utiliser les données réelles. Par exemple, vous pouvez avoir besoin de données synthétiques pour entraîner un modèle à comprendre des données médicales, sans inclure de données à caractère personnel. De plus, ces outils peuvent étendre ou compléter un ensemble de données afin d'obtenir un plus grand ensemble de données synthétiques à des fins d'entraînement ou de test.
Apprentissage profond
L'apprentissage profond, à la base de l'IA générative, est une technique d'apprentissage automatique (AA) utilisée pour l'analyse et l'interprétation de grandes quantités de données. Également connu sous le nom d'apprentissage neuronal profond ou de réseau neuronal profond, ce processus permet aux ordinateurs d'apprendre par l'observation, en imitant la manière dont les humains acquièrent des connaissances. L'apprentissage profond représente un concept essentiel dans la compréhension du langage humain par l'ordinateur, ce que l'on appelle le traitement du langage naturel (NLP).
Pour mieux comprendre, on pourrait comparer l'apprentissage profond à une sorte d'organigramme qui commence par une couche d'entrée et se termine par une couche de sortie. Entre ces deux couches se trouvent les « couches cachées » qui traitent les informations à différents niveaux. Elles ajustent et adaptent leur comportement à mesure qu'elles reçoivent de nouvelles données. Les modèles d'apprentissage profond peuvent comporter des centaines de couches cachées. Chacune d'entre elles joue un rôle dans la découverte de relations et de schémas au sein de l'ensemble de données.
Les données sont introduites dans le modèle à partir de la couche d'entrée, composée de plusieurs nœuds, puis classées en conséquence avant de passer à la couche suivante. Le chemin que les données empruntent à travers chaque couche est basé sur les calculs mis en place pour chaque nœud. Les données se déplacent à travers chaque couche, recueillent des observations en cours de route qui façonneront le résultat, ou l'analyse finale, des données.
Une technologie a accéléré les progrès de l'apprentissage profond : le GPU, ou processeur graphique. À l'origine, les GPU ont été conçus pour accélérer le rendu des images de jeux vidéo. Leurs excellentes capacités de calcul en parallèle en ont fait un outil parfaitement adapté aux charges de travail d'apprentissage profond.
Les applications d'IA générative révolutionnaires que nous connaissons aujourd'hui sont directement issues des avancées liées à la taille et à la rapidité des modèles d'apprentissage profond.
Réseau neuronal
Le réseau neuronal désigne une méthode de traitement des informations calquée sur des systèmes neuronaux biologiques, à l'image des connexions du cerveau humain. L'IA s'appuie sur cette méthode pour connecter des informations apparemment sans aucun rapport. Le concept de réseau neuronal est étroitement lié à la technique d'apprentissage profond.
Pour comprendre le rôle du réseau neuronal dans la connexion des points de données d'un modèle d'apprentissage profond, il faut d'abord étudier le fonctionnement du cerveau humain. Notre cerveau comporte de nombreux neurones interconnectés qui agissent comme des messagers lorsqu'il traite des données entrantes. Ces neurones utilisent des impulsions électriques et des signaux chimiques pour communiquer entre eux et transmettre les informations entre les différentes zones du cerveau.
Un réseau neuronal artificiel repose sur ce phénomène biologique. Cependant, il est formé de neurones artificiels constitués de modules logiciels que l'on appelle des nœuds. Ces nœuds utilisent des calculs mathématiques (plutôt que des signaux chimiques) pour communiquer et transmettre des informations. Ce réseau neuronal simulé traite les données par groupe de points de données et à l'aide de prédictions.
Chaque type de données a une technique de réseau neuronal qui lui convient. Le modèle du réseau neuronal récurrent utilise des données séquentielles (il apprend par exemple des mots dans l'ordre afin de traiter une langue).
Il existe une architecture spécifique de réseau neuronal, capable de traiter les langues plus rapidement. Il s'agit des transformateurs. Par rapport aux réseaux neuronaux récurrents qui ingèrent un mot après l'autre, les transformateurs apprennent la relation des mots dans une phrase, ce qui produit de meilleurs résultats.
Un grand modèle de langage est un modèle d'apprentissage profond qui a été entraîné en appliquant des transformateurs à un énorme ensemble de données généralisées. La plupart des principaux chatbots et outils de texte reposent sur un grand modèle de langage.
Le modèle de diffusion est une autre technique d'apprentissage profond qui est efficace dans le domaine de la génération d'images. Ce type de modèle apprend à transformer une image naturelle en bruit visuel avec flou. Les outils d'édition d'images génératifs se chargent ensuite d'inverser le processus en ajustant un modèle de bruit aléatoire jusqu'à obtenir une image réaliste.
Il est possible de décrire les modèles d'apprentissage profond avec des paramètres. Un modèle prédictif simple entraîné avec 10 entrées issues d'un formulaire de demande de crédit comptera 10 paramètres, alors qu'un grand modèle de langage peut en inclure plusieurs milliards. GPT-4 (Generative Pre-trained Transformer 4) d'OpenAI, l'un des modèles de base de ChatGPT, compterait 1 000 milliards de paramètres.
Modèle de base
Un modèle de base est un modèle d'apprentissage profond entraîné avec un gros volume de données génériques. Le modèle ainsi entraîné peut ensuite être adapté pour des cas d'utilisation spécifiques. Comme son nom l'indique, il peut constituer la base de plusieurs applications différentes.
Aujourd'hui, la création d'un modèle de base représente un projet d'envergure qui nécessite d'énormes quantités de données d'entraînement, généralement extraites via la méthode du « scraping » sur Internet, dans les bibliothèques de livres numériques, les bases de données d'articles de recherche, les collections d'images libres de droits, ou d'autres grands ensembles de données. Seule une vaste infrastructure, couplée à un cloud de GPU propriétaire ou en location, peut prendre en charge l'entraînement d'un modèle avec autant de données. Les modèles de base les plus volumineux ont coûté plusieurs centaines de millions de dollars.
Puisque l'entraînement de bout en bout d'un modèle de base demande beaucoup d'efforts, le plus souvent, les entreprises personnalisent des modèles déjà entraînés par des tiers. Pour cela, elles ont le choix entre plusieurs techniques de personnalisation, comme l'ajustement, l'ajustement des requêtes, ou encore l'ajout de données spécifiques du client ou du domaine.
Ajustement
L'ajustement désigne le processus d'affinage d'un modèle de base pour créer un modèle plus adapté à une tâche ou un domaine en particulier. Au lieu de s'appuyer sur un modèle polyvalent, l'entreprise peut ajouter des données d'entraînement propres au cas d'utilisation qu'elle vise.
En général, l'ajustement nécessite beaucoup moins de données que l'entraînement initial et prend aussi moins de temps (quelques heures seulement, contre des semaines ou des mois pour entraîner un modèle de base).
L'ajustement présente également un intérêt pour l'utilisateur. Avec un modèle polyvalent, l'utilisateur doit fournir des exemples précis et des instructions chaque fois qu'il interroge l'application d'IA. Ce travail en amont d'anticipation du résultat recherché est déjà effectué avec l'ajustement. Cette approche permet de simplifier les requêtes, et ainsi d'économiser du temps et des ressources.
La génération augmentée de récupération, qu'est-ce que c'est ?
La génération augmentée de récupération ou RAG (Retrieval-Augmented Generation) est une méthode qui permet d'obtenir de meilleures réponses de la part d'une application d'IA générative grâce à l'association de ressources externes à un grand modèle de langage (LLM). La mise en œuvre d'une architecture RAG dans un système de questions-réponses (comme un chatbot) reposant sur un LLM permet d'établir un moyen de communication entre un LLM et la sélection de sources de connaissances supplémentaires. Cela permet au LLM de croiser les références et de compléter ses connaissances internes de manière à générer une sortie plus fiable et précise pour l'utilisateur à l'origine de la requête.
Risques liés à l'IA générative
Avec tant de progrès réalisés en si peu de temps, l'IA générative a suscité beaucoup d'intérêt, pour le meilleur comme pour le pire. Nous découvrons à peine les avantages et inconvénients de cette technologie. Voici quelques-unes des préoccupations majeures en matière d'IA générative.
Préjudices envers autrui : des acteurs malveillants peuvent utiliser l'IA générative pour accomplir leurs mauvais desseins, par exemple pour diffuser à grande échelle des campagnes de désinformation sur les réseaux sociaux ou des images truquées qui visent de vraies personnes sans leur consentement. C'est là le risque le plus évident et immédiat.
Renforcement de biais sociétaux dangereux : on sait déjà que les outils d'IA générative propagent les biais humains qui se trouvent dans leurs données d'entraînement, notamment des stéréotypes dangereux et des discours haineux.
Diffusion d'informations erronées : les outils d'IA générative peuvent produire des informations et scènes inventées et totalement fausses, que l'on appelle parfois des « hallucinations ». Si certaines erreurs de l'IA sont sans conséquence, comme une réponse incohérente à une question ou quelques doigts en trop sur une image, d'autres résultats ont déjà posé de graves problèmes. C'est le cas d'un chatbot qui a donné des conseils dangereux à des personnes s'interrogeant sur les troubles alimentaires.
Risques juridiques et pour la sécurité : les systèmes d'IA générative peuvent menacer la sécurité, notamment lorsque des utilisateurs saisissent des informations sensibles dans des applications n'intégrant aucun mécanisme de protection. Les réponses générées peuvent introduire des risques de nature juridique en reproduisant du contenu protégé par des droits d'auteur ou en s'appropriant la voix ou l'identité d'une personne réelle sans son consentement. De plus, certains outils imposent parfois des restrictions d'utilisation.
Nos solutions
Notre gamme de produits offre à vos équipes une base commune pour créer et déployer des applications d'IA et des modèles d'AA, de manière transparente et contrôlée.
Red Hat® OpenShift® AI est une plateforme conçue pour l'entraînement, le réglage des commandes, l'ajustement des requêtes et la distribution de modèles d'IA qui reposent sur vos données et sont adaptés à votre cas d'utilisation.
Pour les déploiements à grande échelle, la solution Red Hat OpenShift offre une plateforme d'applications évolutive qui convient aux charges de travail d'IA, avec un accès aux principaux accélérateurs matériels.
Chez Red Hat, nous nous appuyons aussi sur nos outils Red Hat OpenShift AI pour optimiser d'autres logiciels Open Source, à commencer par Red Hat Ansible® Lightspeed with IBM watsonx Code Assistant. Ce service aide les équipes d'automatisation à apprendre, créer et gérer des contenus Ansible plus efficacement. Il accepte les requêtes saisies par un utilisateur, puis interagit avec les modèles de base IBM watsonx pour générer des recommandations de code qui sont ensuite utilisées pour créer des playbooks Ansible.
Enfin, les intégrations des partenaires Red Hat ouvrent la voie à un écosystème d'outils d'IA fiables et compatibles avec les plateformes Open Source.