Transcription
1. Introduction: À un moment donné, vous avez
peut-être entendu parler GPT, peut-être de
ChatGPT, de GPT-4, vous avez peut-être
entendu Microsoft l'
appeler une étincelle d'intelligence
générale artificielle. Il y a beaucoup de choses à digérer. Laisse-moi t'aider à le faire. Bonjour, je suis [inaudible],
chercheur dans une grande entreprise. Je mène des recherches sur l'IA depuis six ans,
auparavant
dans des
laboratoires de matérialité et sur le pilote automatique Tesla, obtenu mon doctorat en
IA à l'université de Berkeley. J'ai notamment
étudié comment faire fonctionner les réseaux de
neurones très rapidement. Dans ce cours, j'espère utiliser mon expérience pour
décomposer une
technologie de pointe en concepts faciles à comprendre et intuitifs. Tout au long, j'
utiliserai une approche
basée sur l'illustration pour
transmettre mon intuition. Pas de murs de textes, de diagrammes
super complexes ou même un soupçon de mathématiques. Mon objectif est de vous aider à
jeter les bases nécessaires compréhension du chat GPT et de
ses technologies associées. Le contenu de ce cours
suppose que vous avez suivi mon cours gratuit sur l'IA pour débutants, dont le
lien se trouve dans la description. Au-delà de cela, aucune
formation technique n'est requise. Que vous soyez
ingénieur, designer ou toute autre personne curieuse d'apprendre, ce cours est fait pour
vous. Allons-y.
2. Pourquoi comprendre ChatGPT: Voici pourquoi vous devez
comprendre ChatGPT. Nous allons commencer par les avantages. Le plus grand avantage de
suivre ce cours est de comprendre les discussions
sur le sujet. Il existe des tonnes de termes
connexes aléatoires sur le Web, des transformateurs, de grands modèles
linguistiques, ChatGPT, GPT ceci, GPT cela. Notre objectif est de savoir comment ces différents termes
sont liés. Nous allons nous concentrer sur le
marketing et passer directement à la compréhension
technique Le jargon n'a pas besoin
d'être intimidant. Grâce à ces connaissances,
vous pouvez ensuite comprendre les dernières
innovations dans le domaine. Qu'est-ce que cela signifie de rendre
un transformateur plus rapide ? Qu'est-ce que le transformateur ? Pour résumer,
voici deux avantages pour
comprendre le fonctionnement de ChatGPT. Connaître la terminologie pour tenir des discussions sur le
sujet et savoir comment lire et
comprendre les actualités lorsque vous lisez et en apprenez
davantage sur le sujet. Pour être clair, nous ne couvrirons pas de
manière exhaustive tous les
termes ou tous les sujets. Cependant, ce cours vous
donne bases pour en savoir plus.
En gros, nous
aborderons l'intuition et les grandes idées
qui sous-tendent la technologie. Cela dépend en grande partie de la
connaissance de la terminologie, c'est donc sur cela que nous nous concentrerons. Passons maintenant
directement au contenu. Voici un aperçu de ChatGPT
et des concepts associés. Tout d'abord, ChatGPT est un produit. C'est précisément le nom
du produit d'Open AI. Ensuite, les grands modèles linguistiques ou la technologie en général, une technologie qui peut
prendre en compte la saisie de textes et générer un texte naturel
de haute qualité en sortie. C'est comme les
Kleenex et les mouchoirs. Kleenex est une marque spécifique, les mouchoirs sont le nom
générique du produit. Dans ce cas, ChatGPT est une marque déposée
spécifique. Les grands modèles linguistiques constituent
la technologie générale. Par conséquent, ces
grands modèles linguistiques ou LLM en abrégé, sont au centre de notre cours. Enfin, les transformateurs sont les éléments constitutifs des
grands modèles linguistiques. nous nous concentrerons sur ces avenir, nous nous concentrerons sur ces
éléments de base. En termes généraux, notre
objectif est de décortiquer l'intuition qui sous-tend les
grands modèles linguistiques. Je vais présenter une
version simplifiée de ces modèles qui présente les principales
idées expliquant pourquoi ils fonctionnent. Pas besoin de gros diagrammes
compliqués ou d'équations mathématiques inutiles. Nous aurons des diagrammes assez
simples qui s'en tiennent aux points principaux. Voici une brève introduction
aux grands modèles linguistiques. Dans notre masterclass sur l'IA, nous avons discuté de la segmentation de
nos connaissances
en matière de machine learning en quatre catégories : données, modèle, objectif et algorithme. Les données décrivent les
entrées et les sorties, ce dont nous tirons des leçons
et ce que nous prévoyons. Le modèle décrit comment
faire des prévisions. L'objectif décrit l'objectif, l'objectif pour lequel le modèle est
optimisé. Enfin, l'algorithme décrit la
façon dont le modèle apprend. Nous n'avons pas
beaucoup parlé de l'algorithme et nous allons encore une fois l'
ignorer cette fois-ci. Pour les modèles linguistiques de grande taille, l'entrée est du texte. Cela peut provenir de sites Web, livres, de forums en ligne ou plus encore. Le modèle transforme ce texte à l'aide du texte d'entrée pour
générer du texte de sortie. L'
objectif spécifique d'un modèle est de prédire le mot suivant à
partir des mots précédents. Nous expliquerons ce
processus plus loin dans ce cours et, comme précédemment, nous passerons outre à l'algorithme. Pour récapituler, nous avons discuté des
avantages de la compréhension de ChatGPT dans le contexte d' actualités
et de discussions
qui évoluent rapidement. Nous avons également brièvement
présenté ChatGPT, le produit par rapport à
la classe technologique plus large , les grands modèles
linguistiques. C'est tout pour la vue d'ensemble. Pour obtenir une copie de ces diapositives
et d'autres ressources, n'oubliez pas de consulter
le site Web du cours. C'est pourquoi vous
devez comprendre ChatGPT. Passons directement à la
technologie afin que vous soyez bien équipé pour comprendre
le flot d'informations disponibles.
3. Comment « calculer » des mots ?: Dans cette leçon, nous verrons
comment « calculer » des mots. Voici un exemple
de ce que je veux dire. Prenons l'équation suivante. Nous avons un roi, un homme et une femme. À quoi pensez-vous que cela équivaut ? Mettez la vidéo en pause
ici si vous voulez prendre une seconde pour réfléchir. Une sortie raisonnable
serait reine. C'est ce à quoi nous nous attendrions si
nous pouvions appliquer les mathématiques aux mots. Cependant, nous ne pouvons pas
vraiment le faire. addition de mots n'existe pas, nous devons
donc convertir les mots en
nombres que nous pouvons
additionner et soustraire. Prenons un exemple précis. Dans ce cas, nous voulons
traduire du
français vers l'anglais. Nous avons le français en violet
sur la gauche, ce qui se traduit par Je t'aime
en vert sur la droite. Pour simplifier cet exemple, nous allons d'abord nous concentrer sur la traduction d'
un mot à la fois. Dans ce cas, nous nous concentrons sur
la traduction de Je en I. Pour ce faire, nous devons
convertir Je en nombres. Heureusement pour nous,
il existe déjà une sorte de dictionnaire qui transforme
les mots en chiffres. Ce mappage s'
appelle word2vec. Word2VEC définit un mappage
entre les mots et les vecteurs. Les vecteurs sont simplement
des ensembles de nombres. À partir de maintenant, nous appellerons un ensemble de
nombres des vecteurs. Voici un exemple, nous
avons ici le mot français Je. Word2vec associe ce mot
au vector.8.1.1, qui est illustré ci-dessous
avec quelques cases en violet. Nous pouvons également avoir
le mot anglais I. Word2VEC le mappe à 0.1.9. Enfin, nous t'avons. Word2VEC associe cela à .1 0.9. Notez que ce mappage n'
est qu'un exemple. En réalité, word2vec utilise
300 vecteurs dimensionnels, ce qui signifie que chaque mot
correspond à 300 nombres, bien
trop nombreux pour être affichés ici. Utilisons maintenant ces vecteurs
dans notre exemple de traduction. Maintenant, nous traduisons Je dans le
vecteur word2vec correspondant sur la gauche en violet. Un calcul mystérieux et au milieu est effectué, puis nous obtenons un autre
vecteur en vert. Ce vecteur en vert
correspond alors au mot
anglais I. Maintenant, voyons ce qui se trouve dans cette case avec
un point d'interrogation. Comment ces vecteurs sont-ils
transformés ? Voici comment. L'objectif de cette boîte est d'exécuter
des calculs significatifs. Voici ce que je veux dire. C'est l'exemple
que nous avons eu précédemment roi moins homme plus
femme égale reine. Voici comment nous pouvons
réellement ajouter et soustraire des nombres ou même ajouter et
soustraire des mots. Commencez par les mots
sur le côté gauche. Nous demandons au roi, à l'homme
et à la femme de traduire chaque mot dans le vecteur word2vec
correspondant. Cela nous donne trois vecteurs. Ensuite, en commençant par le vecteur
roi sur la gauche, soustrayez le vecteur homme, ajoutez le vecteur femme. Cela nous donne un
nouveau vecteur sur la droite
et le vecteur résultant correspond à
la reine C'est
donc ce que nous voulons
vraiment dire lorsque nous « faisons des calculs sur des mots ». En réalité, nous
effectuons des calculs sur les vecteurs auxquels ces
mots correspondent. Nous pouvons donc maintenant abréger l'ensemble du processus en
écrivant simplement cette équation. Cette équation est d'
ailleurs un résultat réel. Si vous recherchiez les mappages
word2vec, vous seriez en
mesure de calculer cette équation. addition et la soustraction dans cet espace vectoriel
ont une véritable signification. Sachant cela, nous pouvons maintenant
remplir notre boîte mystère. Étant donné l'entrée à
traduire en anglais, nous soustrayons le vecteur français
et ajoutons le vecteur anglais. Plus généralement, pour s'adapter à n'importe quelle tâche, nous pouvons
représenter n'importe quelle addition ,
multiplication,
soustraction, etc. Ce petit graphe
au centre représente ce qu'on appelle un perceptron
multicouche. Nous n'allons pas nous attarder là-dessus. Pensez simplement à ce petit
graphique au centre de notre figure comme à n'importe quel ensemble d'additions, multiplications, de soustractions et plus encore. Cela nous permet de
représenter n'importe quelle tâche de traduction mot à mot
avec cette architecture. Maintenant, remarquez que notre
pipeline se termine par un vecteur. Nous devons reconvertir ce
vecteur en un mot. Donc, pour notre dernier objectif, nous voulons reconvertir
les nombres en mots. Voici notre pipeline d'avant. Nous nous sommes retrouvés avec un vecteur. Donc, reconvertissez-le en mot, nous trouverons le
vecteur le plus proche d'un mot. Dans ce cas, notre
vecteur est le plus proche du mot I et nous avons ainsi
terminé notre pipeline. Récapitulons maintenant ce que nous avons
fait du début à la fin. Nous avons d'abord converti
les mots en vecteurs, puis nous transformons ces vecteurs. Enfin, nous avons retransformé les
vecteurs en mots. Voici notre schéma final. Sur la gauche, nous avons converti
le mot Je en vecteur,
puis nous avons effectué un calcul au milieu avec ce vecteur. Cela a produit un autre
vecteur en vert et nous avons ensuite recherché le vecteur
le plus proche qui correspondait à un mot. Cela
nous a finalement conduit au mot I, et cela complète notre pipeline, traduisant d'un
mot français en un mot anglais. Faites une pause ici si vous
souhaitez copier cette figure ou prendre un
moment pour la digérer ou la récapituler. Nous avons donc converti un
mot en un autre mot, mais nous
voulons finalement convertir nombreux mots d'entrée en nombreux mots de sortie, comme nous le
montrons ici dans notre exemple, ce sera notre prochaine leçon. Pour obtenir une copie de ces diapositives
et d'autres ressources, consultez
le site Web du cours. C'est tout pour exécuter des
calculs sur des mots. Vous comprenez maintenant les bases de la façon dont les grands modèles linguistiques exécutent calculs sur des entrées
pour produire des sorties. Dans la leçon suivante, nous allons découvrir comment de grands
modèles linguistiques prennent en compte plusieurs mots d'entrée et
génèrent plusieurs mots de sortie.
4. Qu'est-ce qu'un "transformateur" ?: Dans cette leçon, nous allons expliquer
ce qu'est un transformateur. Le transformateur nous
permet de prendre plusieurs mots d'entrée et de
générer plusieurs mots de sortie. C'est ce que nous avons
expliqué jusqu'à présent. Nous avons converti un
mot français en un mot anglais. Maintenant, nous voulons convertir plusieurs mots français en
plusieurs mots anglais. Pour ce faire, nous allons
modifier notre objectif. Au lieu de traduire
d'un mot à l'autre, nous traduirons à partir
du mot précédent et prédirons le mot suivant. Pour ce faire, nous allons transformer
ce diagramme en celui-ci. Maintenant, notre modèle prend
en compte la phrase française et le mot précédent
indiqué ci-dessous en italique. Avec ces deux entrées, le modèle prédit
le mot suivant, indiqué en italique sur la droite. Le texte violet, dans
ce cas, le français, est ce que nous appelons l'invite pour distinguer les
deux types d'entrées. Exécutons maintenant ce
diagramme sur nos entrées. Pour générer le premier mot, nous transmettons l'invite et
un mot de départ magique. Nous avons désigné le début du mot de séquence par un
guillemet de début ici Pour des raisons de simplicité, en réalité, le jeton de début est
une balise illisible. jeton de départ magique,
ainsi que l'invite, produisent
alors le premier mot I. Pour générer le mot suivant, nous utilisons à nouveau l'invite
en violet en haut. En bas, nous ajoutons maintenant les deux mots précédents, la séquence de démarrage
représentée par une citation et le mot précédent I. Maintenant, nous prédisons le mot suivant, amour. Nous recommençons. Nous ajoutons le message en haut. En bas, nous ajoutons tous les mots précédents, le début de la
citation, moi et l'amour. Toutes ces entrées
vous produisent. Une dernière fois. Nous ajoutons le message en haut. En bas, on ajoute
tous les mots précédents, le début de
la séquence puis
je, puis l'amour, puis toi. Toutes ces entrées produisent un mot de sortie,
fin de séquence. Cette fin de séquence
est indiquée par un guillemet dans notre
diagramme et c'est tout. Une fois que nous voyons la fin du mot de
séquence, nous avons terminé. Nous avons maintenant généré une séquence de plusieurs mots
de sortie. Nous appelons ce processus le décodage
autorégressif. décodage autorégressif
prédit le mot suivant un jusqu'à ce que nous atteignions
la fin du mot de séquence. Voici un aperçu de
l'ensemble du processus. Il s'agissait de la version générique
de notre schéma antérieur. En haut, notre
invite est en violet. Ci-dessous, nous avons tous les mots
précédents. Ces entrées passent ensuite par la boîte mystère pour
produire le mot suivant. Maintenant, nous remplissons la boîte mystère. Nous allons remplir cette case en utilisant le même processus que précédemment. Convertissez d'abord tous les
mots en nombres. Nous introduisons chaque invite, chaque mot de notre
invite, un par un. Nous introduisons également le mot de la séquence de
démarrage, qui dans ce cas est à nouveau
désigné par le guillemet de début. Toutes ces entrées sont d'abord
converties en vecteurs. D'une manière ou d'
une autre, notre
boîte mystère génère alors un vecteur qui correspond
au mot suivant I. Ensuite, nous avons besoin d'un moyen d'
intégrer le « contexte ». En fait, notre mot précédent, qui est la citation de départ, a besoin du contexte de
l'invite pour être traduit dans le premier mot
correct. Ici, j'utilise le terme
contexte de manière très vague. D'une manière ou d'une autre, automatiquement,
nous devons intégrer les
informations de l'invite
violette dans le vecteur vert représentant
le mot précédent. Dans ce cas, nous allons
intégrer le contexte en prenant
simplement une
somme pondérée de tous les vecteurs. Cela produit
un seul vecteur final que nous introduisons dans
la boîte mystère. Ensuite, nous ajoutons le calcul, comme nous l'avons fait dans
la leçon précédente. Nous avons remplacé cette boîte mystère par
un nombre quelconque d'additions
, de multiplications, de soustractions, etc. Ceci est représenté
par un petit graphique au centre de notre figure. Comme précédemment, ce graphe
représente autrefois un perceptron
multicouche. Mais nous n'aurons pas besoin de
connaître les détails
du perceptron pour
comprendre ce qui se passe. Nous avons maintenant réussi à
convertir notre invite et le début de la séquence
en premier mot I. Procédez de la même manière qu'auparavant. Prédisez le mot suivant, un un, à partir de tous les jetons
précédents. C'est exactement le même processus. Ensuite, nous prenons l'invite,
le début de la séquence, et le mot précédent
I, pris dans son ensemble, produit le mot
suivant, amour. Nous poursuivons ce
processus de manière itérative. Enfin, nous obtenons le mot de fin de séquence en sortie
et nous nous arrêtons ici. Cela complète maintenant notre pipeline. Nous pouvons désormais prendre
plusieurs mots en entrée et prédire plusieurs
mots en sortie. Nous avons ajouté deux nouveaux
concepts dans cette leçon. Nous prédisons le mot suivant un par
un jusqu'à ce que nous atteignions la
fin du mot de séquence. Nous ajoutons également du contexte en
incorporant l'invite
dans les mots précédents. Dans ce cas, nous avons ajouté des contextes en utilisant simplement une somme pondérée. C'était notre
schéma final d'avant. À l'extrême gauche, nous convertissons l'invite violette en vecteurs. Nous convertissons également les
mots précédents en vert en vecteurs. Nous incorporons ensuite le contexte de l'invite dans
les mots précédents prenant une somme pondérée. Cette somme pondérée
est ensuite introduite dans un perceptron multicouche
pour effectuer le calcul. Ce calcul produit
un vecteur, et comme précédemment, nous trouvons le vecteur le plus proche
qui correspond à un mot, qui dans ce cas est le mot de
fin de séquence. Notre
pipeline de conversion de plusieurs mots d'entrée en
plusieurs mots de sortie est maintenant terminé . Il y a un détail que
nous avons omis
, à savoir comment cette somme
pondérée est calculée. Pour que vous ayez un autre terme en poche, cette somme pondérée, qui ajoute du contexte, est plus formellement appelée
attention à soi. Restez à
l'affût car je prévois d'ajouter une nouvelle leçon à ce cours ou de publier un nouveau mini-cours
décrivant comment cela fonctionne. Pour l'instant, vous comprenez l'
ensemble du pipeline composé de plusieurs mots. Pour obtenir une copie de ces diapositives
et d'autres ressources, consultez
le site Web du cours. Ceci conclut notre introduction
au transformateur. Vous comprenez maintenant l'intuition du fonctionnement
d'un transformateur et de la manière générale de produire des textes de
sortie à partir d'un texte d'entrée. Notez que nous avons
omis un certain nombre de détails dans l'architecture, mais il s'agit d'une
représentation minimale des idées clés et un bon
point de départ pour en savoir plus sur les grands modèles
linguistiques.
5. Conclusion: Félicitations
pour avoir atteint la fin du cours. Vous avez maintenant abordé
les principes fondamentaux des grands modèles linguistiques, fonctionnement
efficace de ChatGPT. Nous avons discuté d'un certain nombre
de termes différents, Word2VEC qui mappe les mots
dans un espace vectoriel. Où l'addition, la soustraction,
etc., ont un sens. Décodage autorégressif, qui permet aux
transformateurs de produire plusieurs
mots de sortie en générant un mot à la fois à partir de
tous les mots précédents. Les transformateurs, éléments
constitutifs des grands modèles linguistiques et des grands
modèles linguistiques eux-mêmes, la technologie générale par rapport la marque
et au produit spécifiques ChatGPT. Vous disposez désormais des outils nécessaires pour
comprendre les conversations sur le terrain et d'
une intuition approfondie du fonctionnement des grands modèles
linguistiques. N'oubliez pas qu'il
existe d'autres ressources et une copie des diapositives
sur le site Web du cours. Si vous avez des questions, hésitez pas à les laisser
dans la section discussion. Je laisserai également des liens avec plus d'informations dans la description du
cours. Si vous souhaitez
en savoir plus sur l'IA, la science
des données ou la programmation, oubliez pas de
consulter mes cours sur mon profil Skillshare. Encore une fois, félicitations
pour avoir atteint la fin du cours
et à la prochaine.