"Une technologie suffisamment avancée ne se distingue pas de la magie."
--Arthur C. Clarke (auteur de 2001 : L'Odyssée de l'espace)
Learn Generative AI with PyTorch vise à vous guider dans la création de divers contenus (formes, chiffres, images, texte et musique) à partir de zéro. Il commence par des modèles simples, aidant les lecteurs à acquérir des compétences fondamentales en apprentissage profond avant de passer à des défis plus complexes. Tous les modèles génératifs présentés dans ce livre sont des réseaux de neurones profonds. Le livre commence par un projet complet d'apprentissage en profondeur dans PyTorch, idéal pour ceux qui débutent dans le domaine. Chaque chapitre est soigneusement structuré pour s'appuyer sur le précédent. Vous allez d’abord créer du contenu de base comme des formes, des nombres et des images à l’aide de réseaux contradictoires génératifs (GAN) avec des architectures simples. Au fur et à mesure que vous progressez, la complexité augmente, aboutissant à la création de modèles de pointe tels que des transformateurs et des modèles de diffusion.
Learn Generative AI with PyTorch est conçu pour les passionnés d'apprentissage automatique et les scientifiques de données dans divers domaines commerciaux qui possèdent des compétences intermédiaires en programmation Python. Ce livre vise à enseigner les techniques d'IA générative pour créer du contenu nouveau et innovant, tel que des images, du texte, des motifs, des chiffres, des formes et de l'audio, afin d'améliorer à la fois les activités de leurs employeurs et leur propre carrière. Bien que de nombreux supports d'apprentissage gratuits soient disponibles en ligne sur des sujets individuels, ce livre regroupe le tout dans un format clair, facile à suivre et à jour, ce qui en fait une ressource inestimable pour quiconque aspire à devenir un expert en IA générative.
Le livre comporte 16 chapitres, organisés en quatre parties.
La première partie vous présente l'IA générative et l'apprentissage profond avec PyTorch.
• Le chapitre 1 explique ce qu'est l'IA générative et la justification du choix de PyTorch plutôt que d'autres frameworks d'IA comme TensorFlow pour créer des modèles génératifs dans ce livre.
• Le chapitre 2 utilise PyTorch pour créer des réseaux de neurones profonds afin d'effectuer des classifications binaires et multicatégories afin que vous vous familiarisiez avec les tâches d'apprentissage profond et de classification. L'intention est de vous préparer pour les prochains chapitres, dans lesquels vous utiliserez des réseaux de neurones profonds dans PyTorch pour créer divers modèles génératifs.
• Le chapitre 3 vous présente les réseaux contradictoires génératifs (GAN). Vous apprenez à utiliser les GAN pour générer des formes et des séquences de nombres avec certains modèles.
La partie II couvre la génération d'images.
• Le chapitre 4 explique comment créer et entraîner des GAN pour générer des images couleur haute résolution. En particulier, vous apprendrez à utiliser les réseaux de neurones convolutifs (CNN) pour capturer des caractéristiques spatiales dans des images. Vous apprendrez également à utiliser des couches convolutives transposées pour suréchantillonner et générer des cartes de caractéristiques haute résolution dans les images.
• Le chapitre 5 détaille deux manières de sélectionner des caractéristiques dans les images générées. La première méthode consiste à sélectionner des vecteurs spécifiques dans l'espace latent. La deuxième méthode utilise un GAN conditionnel, dans lequel vous créez et entraînez un GAN avec des données étiquetées.
• Le chapitre 6 vous apprend à utiliser un CycleGAN pour traduire des images entre deux domaines, telles que des images avec des cheveux noirs et des images avec des cheveux blonds, ou des images de chevaux et des images de zèbres.
• Le chapitre 7 explique comment générer des images haute résolution à l'aide d'un autre modèle génératif : les auto-encodeurs (AE) et leurs variantes, les auto-encodeurs variationnels (VAE).
La partie III plonge dans le traitement du langage naturel (NLP) et la génération de texte.
• Le chapitre 8 traite de la génération de texte avec un réseau neuronal récurrent (RNN). En cours de route, vous apprendrez comment fonctionnent la tokenisation et l’intégration de mots. Vous apprendrez également à générer du texte de manière autorégressive avec le modèle entraîné et à utiliser la température et l'échantillonnage top-K pour contrôler la créativité du texte généré.
• Le chapitre 9 construit un Transformer à partir de zéro, basé sur l'article Attention Is All You Need, pour traduire entre deux langues quelconques. Vous implémenterez ligne par ligne le mécanisme d'attention multi-têtes et un transformateur codeur-décodeur.
• Le chapitre 10 entraîne le Transformer que vous avez construit au chapitre 9 avec plus de 47 000 paires de traductions de l'anglais vers le français. Vous apprendrez à traduire des phrases courantes de l'anglais vers le français avec le modèle formé.
• Le chapitre 11 construit GPT-2XL, la plus grande version de GPT-2, à partir de zéro. Après cela, vous apprendrez comment extraire les poids pré-entraînés de Hugging Face et les charger dans votre propre modèle GPT-2 pour générer du texte.
• Le chapitre 12 construit une version réduite du modèle GPT avec environ cinq millions de paramètres afin que vous puissiez l'entraîner sur un ordinateur standard. Vous utiliserez trois romans d'Ernest Hemingway comme données de formation. Le modèle entraîné peut générer du texte dans le style Hemingway.
La partie IV traite de certaines applications pratiques des modèles génératifs présentés dans le livre et des développements les plus récents dans le domaine de l'IA générative.
• Le chapitre 13 construit et entraîne un MuseGAN pour générer de la musique. MuseGAN traite un morceau de musique comme un objet multidimensionnel semblable à une image. Le générateur produit un morceau de musique complet et le soumet au critique pour évaluation. Le générateur modifie ensuite la musique en fonction des commentaires des critiques jusqu'à ce qu'elle ressemble étroitement à la vraie musique de l'ensemble de données d'entraînement. Écoutez un exemple de la musique générée : https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• Le chapitre 14 adopte une approche différente de la création musicale IA. Au lieu de traiter un morceau de musique comme un objet multidimensionnel, vous le traitez comme une séquence d’événements musicaux. Vous appliquerez ensuite des techniques de génération de texte pour prédire l'élément suivant dans une séquence. Écoutez un exemple de la musique générée : https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• Le chapitre 15 vous présente les modèles de diffusion, qui constituent la base de tous les principaux transformateurs texte-image (tels que DALL-E ou Imagen). Vous allez créer et entraîner un modèle de diffusion pour générer des images de fleurs haute résolution.
• Le chapitre 16 termine le livre avec un projet dans lequel vous utilisez la bibliothèque LangChain pour combiner des modèles de langage étendus (LLM) pré-entraînés avec les API Wolfram Alpha et Wikipedia afin de créer un assistant personnel tout-en-un.
L'annexe explique comment installer PyTorch sur votre ordinateur, avec ou sans GPU compatible Compute Unified Device Architecture (CUDA).
Tous les programmes Python de ce livre sont disponibles en téléchargement sur le référentiel GitHub du livre https://github.com/markhliu/DGAI. Les programmes sont organisés par chapitres, chaque chapitre dans un seul fichier Jupyter Notebook. Consultez l'annexe du livre pour savoir comment installer Python, PyTorch et Jupyter Notebook sur votre ordinateur.