L'évolution du traitement du langage naturel : de la linguistique aux grands modèles de langage
7 juin 2023
Intelligence Artificielle
Introduction et parcours de Chris Manning
Ravi d'être ici avec mon vieil ami et collaborateur, le professeur Chris Manning. Chris a une biographie très longue et impressionnante, mais brièvement, il est professeur d'informatique à l'université de Stanford et également directeur du Stanford AI Lab. Il a aussi la particularité d'être le chercheur le plus cité en NLP, ou traitement du langage naturel. C'est donc vraiment un plaisir d'être ici avec toi, Chris.
Oh, c'est un plaisir d'avoir l'occasion de discuter, Andrew.
Nous nous connaissons et collaborons depuis de nombreuses années, et un aspect intéressant de ton parcours que j'ai toujours souligné est que même si tu es aujourd'hui un chercheur distingué en apprentissage automatique et en NLP, tu as en fait commencé dans un domaine très différent. Ton doctorat, si je me souviens bien, portait sur la linguistique et tu étudiais la syntaxe du langage. Alors, comment es-tu passé de l'étude de la syntaxe à la recherche en NLP ?
Je peux certainement t'en parler, mais je dois aussi préciser que je suis toujours professeur de linguistique. J'ai un double poste à Stanford. Très rarement, pas très souvent, j'enseigne encore de la vraie linguistique ainsi que du traitement du langage naturel impliquant l'informatique. Au début, j'étais très intéressé par les langues humaines et leur fonctionnement, la façon dont les gens les comprennent et comment elles sont acquises. J'ai donc vu cet attrait dans les langues humaines. Mais cela m'a également conduit à réfléchir à des idées que nous considérons aujourd'hui beaucoup comme de l'apprentissage automatique ou des idées computationnelles. Deux des idées centrales du langage humain sont la façon dont les jeunes enfants acquièrent le langage humain et, pour les adultes, le fait que nous nous parlions maintenant et que nous nous comprenions plutôt bien, ce qui est une chose incroyable. Quel genre de processus permet cela ? Cela m'a très tôt intéressé à l'apprentissage automatique. En fait, avant même d'arriver en doctorat, j'avais commencé à faire mes premiers pas dans l'apprentissage automatique à partir de ces intérêts.
Oui, et en fait, tout langage humain est appris. Nous avons dû apprendre à parler anglais à un moment donné de notre vie. Si nous avions grandi dans un endroit différent, nous aurions appris une langue totalement différente. Il est donc incroyable de penser à la façon dont les humains font cela et maintenant, peut-être que les machines apprennent aussi le langage. Parle-nous en plus de ton parcours. Tu avais donc un doctorat en linguistique et comment t'es-tu retrouvé ici ?
Formation académique et débuts en NLP
Il y a aussi d'autres choses avant cela. Quand j'étais étudiant de premier cycle, j'ai officiellement suivi trois spécialisations en Australie : une en mathématiques, une en informatique et une en linguistique. Les gens ont une idée un peu exagérée de ce que cela signifie dans un contexte américain car il serait impossible de terminer trois spécialisations en premier cycle à Stanford. Mais là où j'étais, j'ai fait un diplôme en lettres pour pouvoir faire ce que je voulais, comme de la linguistique. Il fallait terminer deux spécialisations pour obtenir le diplôme, donc c'était plutôt une double spécialisation selon les termes américains.
Et tu ne le sais probablement pas à mon sujet, mais à Carnegie Mellon, j'ai aussi fait une triple spécialisation en mathématiques, informatique, et statistiques et économie.
D'accord, c'est génial. Nous sommes tous les deux des confrères de triple spécialisation. Quoi qu'il en soit, j'avais une formation et un intérêt pour l'informatique, donc mes intérêts étaient mixtes. En fait, quand j'ai postulé pour des doctorats, l'un des endroits où j'ai postulé était Carnegie Mellon parce qu'ils étaient forts en linguistique computationnelle, et si j'y étais allé, j'aurais été inscrit comme étudiant en informatique. Mais j'ai fini à Stanford en tant qu'étudiant en linguistique car, à cette époque, il n'y avait pas de traitement du langage naturel dans le département d'informatique. Je restais intéressé par la poursuite d'idées en traitement du langage naturel. À ce moment-là, au début des années 90, les choses commençaient tout juste à changer, mais l'essentiel du traitement du langage naturel reposait sur des systèmes logiques, déclaratifs et basés sur des règles. C'est aussi durant ces années qu'ont commencé à apparaître de nombreux matériaux de langage humain, du texte et de la parole, disponibles sous forme numérique. C'était vraiment juste avant l'explosion du World Wide Web, mais il commençait déjà à y avoir des choses comme des documents juridiques, des articles de journaux et des Hansards parlementaires où l'on pouvait enfin mettre la main sur des millions de mots de langage humain. Il semblait vraiment clair qu'il y avait des choses passionnantes à faire en travaillant de manière empirique à partir de beaucoup de langage humain. C'est ce qui m'a vraiment impliqué dans un nouveau type de traitement du langage naturel qui a ensuite mené à ma carrière ultérieure.
Cool. On dirait que ta carrière était initialement plus orientée vers la linguistique et qu'avec l'essor des données, de l'apprentissage automatique et des méthodes empiriques, elle s'est tournée vers le NLP et l'apprentissage automatique.
Oui, elle a absolument changé et je me suis beaucoup plus orienté vers le traitement du langage naturel et les modèles d'apprentissage automatique. Dans une certaine mesure, l'équilibre a varié, mais j'y suis depuis un moment. En tant qu'étudiant de premier cycle, pour ma thèse de fin d'études, j'apprenais les formes des mots, ce qui est devenu un problème célèbre d'apprentissage du passé des verbes anglais dans la littérature connexionniste primitive. J'essayais d'apprendre des paradigmes de formes de verbes et j'apprenais des règles pour les différentes formes en utilisant l'algorithme d'apprentissage par arbre de décision C4.5, si tu t'en souviens.
Ouais. Bons souvenirs. Oui, et il est étonnamment peu intuitif de voir à quel point le passage du présent au passé, de 'run' à 'ran' et tous les autres cas particuliers bizarres, peut être complexe.
Définition et applications du NLP
Cool. Hé, nous avons beaucoup parlé de NLP, le traitement du langage naturel. Pour certains des apprenants qui découvrent l'apprentissage automatique pour la première fois, peux-tu dire ce qu'est le NLP ?
Bien sûr, absolument. NLP signifie Natural Language Processing. Un autre terme parfois utilisé est la linguistique computationnelle. C'est la même chose. Le traitement du langage naturel est en fait un terme bizarre ; cela signifie que nous faisons des choses avec les langues humaines. Je pense qu'il faut être assez informaticien pour que, lorsqu'on dit langage, on pense à un langage de programmation, et donc on a besoin de dire langage naturel pour signifier qu'on parle des langues que les êtres humains utilisent. Globalement, le traitement du langage naturel consiste à faire n'importe quoi d'intelligent avec les langues humaines. Dans un sens, cela se décompose en comprendre les langues humaines, produire des langues humaines ou acquérir des langues humaines, bien que les gens y pensent aussi souvent en termes de différentes applications. On peut penser à des choses comme la traduction automatique, la réponse à des questions, la génération de textes publicitaires ou le résumé de texte. Il existe de nombreuses tâches différentes sur lesquelles les gens travaillent avec des objectifs particuliers en tête où l'on fait des choses avec le langage humain. Il y a beaucoup de traitement du langage naturel parce qu'une grande partie de ce sur quoi le monde travaille est traité et transmis en termes de matériel de langage humain.
Grâce à toutes ces applications, ou même à la recherche sur le Web, la plupart d'entre nous utilisent le NLP de très nombreuses fois par jour.
Tu as raison. En un sens, la plus grande application du langage naturel est la recherche sur le Web. C'est vraiment la principale. Traditionnellement, c'était simple ; dans le bon vieux temps, il y avait divers facteurs de pondération, mais il s'agissait principalement de faire correspondre des mots-clés dans tes termes de recherche, puis quelques facteurs sur la qualité de la page. On n'avait pas vraiment l'impression d'une compréhension du langage. Mais cela a vraiment changé au fil des ans. De nos jours, si tu poses une question à un moteur de recherche, il te donnera souvent un encadré de réponse où il a extrait un morceau de texte et met ce qu'il pense être la réponse en gras ou en couleur. C'est la tâche de réponse aux questions, et c'est vraiment une tâche de compréhension du langage naturel.
Et j'ai l'impression qu'en plus de la recherche sur le Web, qui est peut-être la plus importante, même lorsque nous allons sur un site de vente en ligne ou un site de films et que nous tapons ce que nous voulons, effectuer une recherche sur un site beaucoup plus petit que les grands moteurs de recherche utilise aussi de plus en plus des algorithmes de NLP sophistiqués et crée pas mal de valeur. Peut-être que pour toi ce n'est pas du 'vrai' NLP, mais cela semble tout de même très précieux.
Je suis d'accord, c'est très précieux et il y a beaucoup de problèmes intéressants sur n'importe quel site de commerce électronique avec recherche. Ce sont des problèmes très difficiles quand les gens décrivent le genre de produits qu'ils veulent et qu'il faut les faire correspondre aux produits disponibles. Il s'avère que ce n'est pas du tout un problème facile.
L'évolution vers l'apprentissage automatique et l'apprentissage profond
C'est vrai. Au cours des deux dernières décennies, le NLP a connu un changement majeur, passant des techniques basées sur des règles auxquelles tu as fait allusion tout à l'heure à une utilisation beaucoup plus généralisée de l'apprentissage automatique. Tu as été l'une des personnes qui ont mené une partie de cette offensive et tu as vu chaque étape au fur et à mesure qu'elle se produisait. Peux-tu nous en dire un peu plus sur ce processus et sur ce que tu as vu ?
Bien sûr, absolument. Quand j'ai commencé comme étudiant de premier cycle et de doctorat, la majeure partie du traitement du langage naturel était effectuée par des systèmes construits à la main qui utiliaient des règles et des procédures d'inférence pour essayer de construire une analyse syntaxique et une compréhension d'un texte.
Quel est un exemple de système de règles ou d'inférence ?
Une règle pourrait faire partie de la structure du langage humain. Par exemple, une phrase en anglais se compose normalement d'un groupe nominal sujet suivi d'un verbe et d'un groupe nominal objet, et cela vous donne une idée de la façon de comprendre le sens de la phrase. Mais cela pourrait aussi dire quelque chose sur la façon d'interpréter un mot. Beaucoup de mots en anglais sont très ambigus, mais si vous avez quelque chose comme le mot 'star' et qu'il est dans le contexte d'un film, alors il se réfère probablement à un être humain, pas à un objet astronomique. À cette époque, les gens essayaient de traiter des choses comme ça en utilisant des règles de ce genre. Cela ne nous semble pas très susceptible de fonctionner de nos jours, mais à une époque, c'était assez standard. C'est seulement lorsque de grandes quantités de textes et de paroles numériques ont commencé à être disponibles qu'il a semblé y avoir une autre voie : qu'au lieu de cela, nous pourrions commencer à calculer des statistiques sur le matériel de langage humain et à construire des modèles d'apprentissage automatique. C'est la première chose dans laquelle je me suis lancé du milieu à la fin des années 1990. Le premier domaine où j'ai commencé à faire de la recherche était de construire ce que nous appelions souvent le traitement du langage naturel statistique, mais il a ensuite fusionné avec les approches probabilistes de l'intelligence artificielle et de l'apprentissage automatique. Cela nous a menés jusqu'en 2010 environ. C'est à peu près au moment où le nouvel intérêt pour l'apprentissage profond utilisant de grands réseaux de neurones artificiels a commencé à décoller. Pour mon intérêt là-dedans, c'est vraiment toi que je dois remercier, Andrew, parce qu'à cette étape, tu étais encore à plein temps à Stanford et tu étais dans le bureau à côté du mien, et tu étais vraiment enthousiasmé par les nouvelles choses qui se passaient dans le domaine de l'apprentissage profond. Je suppose que toute personne qui entrait dans ton bureau, tu lui disais à quel point c'était passionnant et qu'elle ferait mieux de commencer à s'y intéresser. C'est vraiment l'élan qui m'a poussé à regarder les choses dans les réseaux de neurones. J'en avais en fait vu un peu avant ; pendant que j'étais étudiant en doctorat, Dave Rumelhart était à Stanford en psychologie et j'avais suivi son cours sur les réseaux de neurones, mais ce n'était pas vraiment ce dans quoi je m'étais lancé pour ma propre recherche.
Je ne savais pas cela. Merci. Et puis nous avons fini par superviser certains étudiants ensemble.
Absolument. J'aimerais entendre parler de l'essor de l'apprentissage profond et du NLP. Qu'as-tu vu puisque tu étais au cœur de tout cela ?
À partir de 2010 environ, les étudiants ont commencé à rédiger les premiers articles sur l'apprentissage profond destinés aux conférences sur le NLP. C'est toujours difficile quand on essaie de faire quelque chose de nouveau. Nous avons eu la même expérience que les gens 15 ans plus tôt lorsqu'ils ont commencé à essayer de faire du NLP statistique ; quand il y a une façon établie de faire les choses, il est difficile de proposer de nouvelles idées. Certains de nos premiers articles ont été rejetés par des conférences et ont été publiés à la place dans des conférences sur l'apprentissage automatique ou des ateliers sur l'apprentissage profond. Mais cela a très vite commencé à changer et les gens se sont montrés super intéressés par les idées de réseaux de neurones. J'ai l'impression que la période des réseaux de neurones qui a commencé vers 2010 se divise en deux. Pour la première période, disons jusqu'en 2018, nous avons montré beaucoup de succès dans la construction de réseaux de neurones pour toutes sortes de tâches. Nous en avons construit pour l'analyse syntaxique, l'analyse de sentiment et la réponse aux questions. C'était comme si nous faisions les mêmes choses que d'habitude avec d'autres modèles d'apprentissage automatique, sauf que nous avions maintenant un meilleur modèle. Au lieu d'entraîner une régression logistique ou une machine à vecteurs de support, nous faisions toujours la même tâche d'analyse de sentiment mais maintenant avec un réseau de neurones. Avec le recul, le changement le plus important est survenu vers 2018, car c'est à ce moment-là que nous avons pu commencer avec une grande quantité de matériel de langage humain et construire de grands modèles auto-supervisés. C'étaient des modèles comme BERT et GPT et les modèles suivants, et ils pouvaient acquérir, à partir de la prédiction de mots sur une énorme quantité de texte, cette connaissance incroyable des langues humaines. C'est probablement cela qui sera considéré rétrospectivement comme le point de rupture le plus important où la façon dont les choses étaient faites a vraiment changé.
Plongements de mots et le modèle GloVe
C'est intéressant. Je pense qu'il y a une tendance pour les grands modèles de langage à apprendre à partir de quantités massives de données. Même avant cela, il y a l'un de tes articles de recherche qui m'a un peu bluffé, c'était l'article GloVe. Avec les plongements de mots, où l'on apprend un vecteur de nombres pour représenter un mot à l'aide d'un réseau de neurones, c'était époustouflant pour moi. Le travail sur GloVe que tu as fait a vraiment clarifié les mathématiques et les a rendues tellement plus simples. Je me souviens avoir pensé : 'Oh, c'est tout ce qu'il y a à faire.' Ensuite, on peut apprendre ces représentations étonnamment détaillées où l'ordinateur apprend les nuances de la signification des mots.
Absolument. Je devrais créditer les autres ; des gens ont aussi travaillé sur des idées similaires, notamment Ronan Collobert, Jason Weston, Tomas Mikolov et des collègues de chez Google. Les vecteurs de mots GloVe sont l'un des systèmes de vecteurs de mots les plus importants. Ces vecteurs de mots illustrent déjà cette idée d'utiliser l'apprentissage auto-supervisé où nous prenons des quantités massives de texte et construisons des modèles qui en savent énormément sur le sens des mots. C'est quelque chose que je montre aux gens chaque année lors de la première conférence de mon cours de NLP parce que cela fonctionne vraiment étonnamment bien. Vous pouvez faire cette modélisation simple consistant à essayer de prédire un mot étant donné les mots dans le contexte. Simplement en exécutant les calculs pour apprendre à bien faire ces prédictions, vous apprenez toutes ces choses sur le sens des mots et vous pouvez réaliser ces jolis schémas de sens de mots similaires ou d'analogies comme 'le crayon est au dessin ce que le pinceau est à', et il dira 'la peinture'. Cela montre déjà beaucoup d'apprentissage réussi. C'était le précurseur de ce qui a ensuite été développé à l'étape suivante avec des choses comme BERT et GPT, où il ne s'agissait plus seulement de la signification de mots individuels mais de la signification de morceaux entiers de texte en contexte.
L'architecture Transformer et les grands modèles de langage
J'ai l'เสมอ trouvé incroyable qu'on puisse prendre un petit réseau de neurones ou un modèle, lui donner beaucoup de phrases et cacher un mot, en lui demandant de prédire quel est le mot qu'on vient de cacher. Cela lui permet d'apprendre ces analogies et des choses très profondes derrière le sens d'un mot. Puis en 2018, il y a peut-être eu un autre point d'inflexion. Que s'est-il passé après cela ?
En 2018, deux choses se sont produites. Premièrement, en 2017, les gens avaient développé une nouvelle architecture neuronale qui était beaucoup plus évolutive sur les GPU parallèles modernes : l'architecture Transformer. Deuxièmement, les gens ont redécouvert, en utilisant la même astuce que le modèle GloVe, que la tâche consistant à prédire un mot étant donné un contexte est une tâche d'apprentissage incroyable. Cela surprend beaucoup de gens. On voit souvent des discussions où les gens disent des choses désobligeantes comme : 'Rien d'intéressant ne se passe ; tout ce qu'il fait, ce sont des statistiques pour prédire quel mot est le plus susceptible de venir ensuite.' Ce qui est intéressant, c'est que si c'est vrai, c'est aussi faux. Bien que la tâche consiste à prédire le mot suivant, si vous voulez effectuer cette tâche aussi bien que possible, cela aide de comprendre toute la phrase et de savoir qui fait quoi à qui. Plus que cela, cela aide aussi à comprendre le monde. Si votre texte va dans le sens de 'la monnaie utilisée aux Fidji est le', vous avez besoin d'une connaissance du monde pour connaître la bonne réponse. Les bons modèles apprennent à suivre la structure des phrases et leur signification, et ils connaissent des faits sur le monde pour pouvoir prédire. Par conséquent, cela se transforme en ce qu'on appelle parfois une tâche 'IA-complète'. Il n'y a rien qui ne puisse être utile pour répondre à ce problème de 'quel mot vient ensuite'. On pourrait être dans les demi-finales de la Coupe du Monde, les équipes sont, et on a besoin de savoir quelque chose sur le football pour donner la bonne réponse.
IA-complète est un concept amusant. C'est l'idée que si l'on peut résoudre ce seul problème, on peut tout résoudre en IA, en faisant une analogie avec les problèmes NP-complets de la théorie du calcul. Penses-tu que prédire le mot suivant est IA-complet ? J'ai des sentiments mitigés à ce sujet moi-même. En fait, je vais juste me corriger et dire que je ne pense pas que ce soit vrai. Mais je suis curieux de savoir ce que tu en penses.
Je pense que ce n'est pas tout à fait vrai car il y a d'autres genres de choses que les êtres humains parviennent à résoudre. Il y a des êtres humains qui ont des idées ingénieuses en mathématiques ou qui regardent un puzzle du monde réel en trois dimensions, comme comprendre comment faire quelque chose de mécanique. Ce n'est tout simplement pas un problème de langage. D'un autre côté, je pense que le langage se rapproche plus de l'universalité que certains ne le pensent. Nous vivons dans ce monde en 3D et y opérons avec nos corps et nos sentiments, et on pourrait penser que peu de tout cela se trouve dans le langage. Mais en fait, presque toutes les choses auxquelles nous pensons, nous en parlons et nous écrivons à leur sujet dans le langage. Nous pouvons décrire les positions des choses les unes par rapport aux autres. Ainsi, une quantité surprenante des autres parties du monde se reflète dans le langage, et par conséquent, on apprend aussi à leur sujet lorsqu'on apprend l'utilisation du langage.
On apprend un aspect de beaucoup de choses, même si quelque chose comme la façon de faire du vélo ne peut pas être parfaitement décrit.
On n'apprend pas vraiment à faire du vélo, mais on apprend des aspects de ce que cela implique, comme la nécessité de l'équilibre et le fait d'avoir les pieds sur les pédales pour pousser.
L'avenir du NLP : Prompting et instructions
Avec cette tendance en NLP, les grands modèles de langage sont très excitants depuis plusieurs années. Quelles sont tes réflexions sur l'avenir de tout cela ?
Cela a été incroyablement réussi et passionnant. Nous n'avons pas vraiment expliqué tous les détails. Il y a la première étape d'apprentissage de ces grands modèles de langage où la tâche consiste simplement à prédire le mot suivant et vous le faites des milliards de fois sur un très grand morceau de texte. Vous obtenez ce grand réseau de neurones qui est un artefact utile pour toutes sortes de tâches de traitement du langage naturel. Mais ensuite, vous devez encore en faire quelque chose si vous voulez accomplir une tâche particulière, qu'il s'agisse de réponse aux questions, de résumé ou de détection de contenu toxique dans les médias sociaux. À ce stade, il y a un choix à faire. La réponse traditionnelle consistait à prendre des données supervisées pour une tâche particulière et à affiner le modèle de langage. Vous étiez énormément aidé par le fait d'avoir ce modèle auto-supervisé de base car il avait une connaissance énorme du langage et pouvait généraliser rapidement. Contrairement à l'ancien temps standard de l'apprentissage supervisé où vous pouviez avoir besoin de 10 000 ou 50 000 exemples étiquetés pour produire un modèle décent, l'affinage d'un grand modèle de langage avec 100 exemples étiquetés peut produire d'excellents résultats, meilleurs que 50 000 exemples dans l'ancien monde. Certains travaux passionnants plus récents vont même au-delà : peut-être qu'il n'est pas nécessaire d'affiner le modèle du tout. Les gens ont fait beaucoup de travail en utilisant des méthodes appelées 'prompting' ou instruction, où l'on peut simplement utiliser le langage naturel pour dire au modèle ce que l'on veut qu'il fasse, et il le fait. Même en tant que personne travaillant en NLP depuis 30 ans, cela m'épate de voir à quel point cela fonctionne bien. Il y a dix ans, je ne pensais pas que nous pourrions simplement dire à un modèle de résumer un texte et qu'il le ferait. Je pense que c'est incroyable. Nous vivons une époque passionnante où de nouvelles capacités de langage naturel se déploient. Pour les prochaines années, l'avenir est extrêmement prometteur alors que les gens élaborent différentes façons de faire les choses et commencent à appliquer ces capacités dans différents domaines. Il y a toujours une question en technologie quant à savoir si la courbe continue de monter de façon abrupte ou s'il y a de nouvelles choses que nous devons découvrir comment faire.
Elle monte depuis un bon moment. L'extrapolation est toujours dangereuse, mais nous verrons. Je suis vraiment curieux : tu as mentionné l'écriture de prompts, dire au grand modèle de langage ce que tu veux, et il semble le faire magiquement. Je me demande si tu penses que l'ingénierie de prompts est la voie de l'avenir. Quand j'écris ces prompts, je trouve parfois que cela fonctionne miraculeusement et parfois il est frustrant de reformuler les instructions pour obtenir le résultat souhaité. Penses-tu que l'ingénierie de prompts est la voie de l'avenir ou un bricolage intermédiaire jusqu'à ce que quelqu'un invente une meilleure façon de contrôler les sorties de ces systèmes ?
Je pense que c'est les deux. Je pense que ce sera la voie de l'avenir, mais pour le moment, les gens font beaucoup de bricolage et de reformulations pour que les choses fonctionnent mieux. Avec un peu de chance, avec quelques années de développement supplémentaires, cela commencera à disparaître. Une façon de penser à la différence est de comparer avec les assistants vocaux ou virtuels disponibles sur les téléphones et les enceintes, comme Amazon Alexa. Je pense que nous avons tous fait l'expérience que ces appareils ne sont pas toujours géniaux ; si vous connaissez la bonne façon de formuler les choses, cela fera quelque chose, mais si vous utilisez la mauvaise formulation, cela ne fonctionnera pas. La différence avec les êtres humains est que, globalement, vous n'avez pas à y penser. Vous pouvez dire ce que vous voulez et peu importent les mots que vous choisissez ; l'autre être humain vous comprendra et fera ce que vous voulez. J'espère que nous commencerons à voir la même progression avec ces modèles. Bidouiller une formulation particulière peut faire une grande différence maintenant, mais on espère que dans quelques années, ce ne sera plus le cas. Vous pourrez utiliser différentes formulations et cela fonctionnera toujours. L'idée de base selon laquelle nous entrons dans une ère où le langage humain sera un langage d'instruction pour dire à votre ordinateur quoi faire — au lieu d'utiliser des menus, des boutons radio ou d'écrire du code Python — continuera de se développer et sera extrêmement transformatrice.
Structure du langage et efficacité des données
Ouais. On a l'impression d'avoir fait beaucoup de chemin, mais il y a encore beaucoup à venir. Dans le développement de la technologie NLP, il y a une chose que je veux te demander. Au cours des deux dernières décennies, la tendance a été de moins s'appuyer sur l'ingénierie basée sur des règles et davantage sur l'apprentissage automatique à partir des données. En regardant vers l'avenir, où penses-tu que l'équilibre se situera entre les contraintes explicites et le simple fait d'injecter des tonnes de données dans un réseau de neurones ?
Je pense qu'il ne fait aucun doute que l'apprentissage à partir de données est la voie à suivre et ce que nous allons continuer à faire. Mais je pense qu'il y a encore de la place pour des modèles qui ont plus de structure et de biais inductif, qui ont une sorte de base exploitant la nature du langage. Ces dernières années, le modèle qui a connu un succès énorme est le réseau de neurones Transformer. Le réseau de neurones Transformer est essentiellement cette énorme machine à associations, donc il va juste aspirer les associations de n'importe où, et-
Regarder deux mots et déterminer quel mot se rapporte à quel autre mot pour tous les mots.
Vous utilisez tout pour prédire n'importe quoi et vous le faites encore et encore et vous obtiendrez tout ce que vous voulez. Cela a été incroyablement réussi dans le domaine où vous avez des quantités gigantesques de données. Ces modèles Transformer pour les grands modèles de langage sont maintenant entraînés sur des dizaines de milliards de mots de texte. Quand j'ai commencé le traitement du langage naturel statistique, certains linguistes traditionnels se plaignaient que collecter des statistiques à partir de 30 millions de mots de dépêches d'actualité et construire un modèle prédictif n'était pas ce qu'était la linguistique. J'estimais avoir une très bonne réponse : un enfant humain apprenant une langue est exposé à plus de 30 millions de mots. Les quantités de données que nous utilisions étaient raisonnables pour réfléchir à la façon dont nous pouvons apprendre sur le langage à partir de données. Mais ces Transformers modernes utilisent au moins deux ordres de grandeur de données en plus, et la plupart des gens pensent que le moyen d'atteindre le niveau suivant est d'en utiliser encore plus. Dans un sens, cette stratégie de passage à l'échelle a été extrêmement efficace, donc je ne blâme personne de dire passons à un autre ordre de grandeur au-dessus. Mais cela montre aussi que l'apprentissage humain est bien meilleur pour extraire plus d'informations d'une quantité limitée de données. Il est raisonnable de supposer que l'apprentissage humain est structuré selon la structure du monde, ce qui lui permet d'apprendre plus rapidement avec moins de données.
Je suis d'accord avec toi là-dessus. Nos algorithmes d'apprentissage automatique actuels sont bien moins efficaces et ont besoin de beaucoup plus de données qu'un enfant. Je pense qu'il sera intéressant de voir si les algorithmes d'apprentissage améliorés viendront de règles de type linguistique ou si les ingénieurs concevront simplement des versions beaucoup plus efficaces du Transformer ou de ce qui lui succédera.
Je ne pense pas que ce sera par des gens mettant explicitement des règles linguistiques traditionnelles dans le système. Ce n'est pas la voie à suivre. D'un autre côté, je pense que ce que nous commençons à voir, c'est que ces modèles Transformer découvrent eux-mêmes la structure du langage. Les faits généraux du langage humain — que l'anglais a le sujet avant le verbe et l'objet après, alors qu'en japonais le verbe est à la fin de la phrase — sont appris par les modèles Transformer. Vous pouvez les interroger et voir que même s'ils n'ont jamais été informés explicitement des sujets et des objets, ils connaissent ces notions. Ils découvrent aussi beaucoup d'autres choses sur l'utilisation du langage en contexte, le sens des mots, et ce qui est ou n'est pas un langage désagréable. Une partie de ce qu'ils apprennent est le même type de structure que les linguistes ont exposé pour différentes langues humaines.
Conseils pour débuter en IA et NLP
C'est donc comme si, au cours de plusieurs décennies, les linguistes avaient découvert certaines choses et qu'en s'entraînant sur des milliards de mots, les Transformers découvraient les mêmes choses. C'est cool. Ce sont des progrès vraiment passionnants en NLP portés par l'apprentissage automatique. Pour quelqu'un qui entre dans le domaine, il se passe beaucoup de choses. Quels conseils aurais-tu pour quelqu'un qui veut se lancer dans l'apprentissage automatique ?
C'est un excellent moment pour se lancer. Je pense que nous n'en sommes qu'aux premières étapes de l'impact de cette nouvelle approche où le logiciel et l'informatique sont réinventés sur la base de l'apprentissage automatique. Généralement, dans toutes les industries, il existe de nombreuses opportunités d'automatisation et d'utilisation accrue de l'interprétation du langage humain, ainsi que dans des domaines comme la vision et la robotique. Il y a beaucoup à faire. Vous voulez acquérir de bonnes bases. Connaître certaines des méthodes techniques de base de l'apprentissage automatique, comprendre comment construire des modèles à partir de données, examiner les pertes, effectuer l'entraînement et diagnostiquer les erreurs — toutes ces choses sont définitivement utiles. Pour le traitement du langage naturel en particulier, ces compétences sont pertinentes, mais il existe également des types de modèles particuliers, notamment le Transformer. Vous devriez absolument connaître les Transformers ; ils sont de plus en plus utilisés dans chaque partie de l'apprentissage automatique, y compris la vision, la bio-informatique et la robotique. Au-delà de cela, il est également utile d'apprendre quelque chose sur le langage humain et la nature des problèmes qu'il implique. Même si les gens ne vont pas coder directement des règles du langage humain dans leurs systèmes informatiques, une sensibilité à ce qui se passe dans le langage et à ce que vous pourriez vouloir modéliser est toujours une compétence utile à avoir.
Je voir. En ce qui concerne l'apprentissage des bases et de ces concepts, tu es entré dans l'IA avec un bagage en linguistique, et nous voyons maintenant des gens de tous horizons vouloir commencer à travailler dans l'IA. Quelles sont tes réflexions sur la préparation que l'on devrait avoir ou tes idées sur la façon de commencer à partir d'autre chose que l'informatique ou l'IA ?
Bien sûr. Il y a donc beaucoup d'endroits d'où l'on peut venir et traverser de différentes manières.
Nous voyons des tonnes de gens faire cela. Il y a des gens qui ont commencé dans différents domaines, que ce soit la chimie, la physique ou même l'histoire, qui ont commencé à s'intéresser à l'apprentissage automatique.
Je pense qu'il y a deux niveaux de réponse à cela.
Un niveau de réponse est que l'une des transformations incroyables est qu'il existe maintenant de très bons packages logiciels pour faire des choses avec des modèles de réseaux de neurones.
Ces logiciels sont vraiment faciles à utiliser.
Vous n'avez pas réellement besoin de comprendre beaucoup de choses hautement techniques.
Vous devez avoir une compréhension conceptuelle de haut niveau de l'apprentissage automatique, savoir comment entraîner un modèle et ce qu'il faut rechercher dans les résultats pour voir s'il fonctionne.
Vous n'avez pas réellement besoin d'un diplôme d'études supérieures pour pouvoir construire ces modèles.
En effet, ce que nous voyons, c'est que beaucoup de lycéens s'y mettent car si vous avez des compétences informatiques de base et un peu de programmation, vous pouvez vous lancer et le faire.
C'est tout simplement bien plus accessible que beaucoup de choses qui l'ont précédé, que ce soit en IA ou en dehors de l'IA dans d'autres domaines comme les systèmes d'exploitation ou la sécurité.
Si vous voulez atteindre un niveau plus profond que cela et que vous voulez réellement comprendre davantage ce qui se passe, je pense que vous ne pouvez pas vraiment y arriver si vous n'avez pas une certaine base mathématique.
L'importance des mathématiques et des abstractions
Au bout du compte, l'apprentissage profond est basé sur le calcul différentiel et vous devez optimiser des fonctions ; si vous n'avez pas de formation là-dedans, cela finit par devenir un mur à un moment donné.
Les mathématiques de l'apprentissage automatique et de la science des données sont en effet utiles pour certains des travaux que nous finissons par devoir accomplir.
À un certain niveau, si vous êtes spécialisé en histoire ou dans des parties non mathématiques de la psychologie — j'ai d'ailleurs un bon ami qui a appris le calcul différentiel en doctorat parce qu'il était psychologue et voulait commencer à en apprendre davantage sur ces nouveaux types de modèles — il n'est pas trop tard pour suivre un cours de calcul.
Et c'est ce qu'il a fait.
Vous avez besoin de connaître certaines de ces choses.
But pour beaucoup de gens, s'ils ont déjà vu un peu de cela auparavant, même si vous avez oublié, vous pouvez vous remettre dans le bain. Peu importe que vous n'ayez pas fait d'IA pendant votre premier cycle.
C'est ma propre histoire ; bien que je sois à l'école d'ingénierie de Stanford, mon parcours n'est pas celui d'un ingénieur.
Mon doctorat est en linguistique, et j'ai largement évolué en ayant quelques connaissances en mathématiques et en linguistique et en connaissant un peu de programmation pour m'investir beaucoup plus dans la construction de modèles d'IA.
Juste pour approfondir un point, penses-tu que les bibliothèques et les abstractions améliorées qui sont maintenant disponibles, comme les frameworks de codage tels que TensorFlow ou PyTorch, réduisent le besoin de comprendre le calcul différentiel ? Cela fait un moment que je n'ai pas eu à calculer réellement une dérivée pour implémenter ou créer une nouvelle architecture de réseau de neurones grâce aux algorithmes de différenciation automatique.
Absolument.
Au début, de 2010 à 2015, pour chaque modèle que nous construisions, nous calculions les dérivées à la hand, puis nous écrivions du code pour les calculer et vérifiions que nous les avions bien obtenues.
Absolument, de nos jours, on n'a plus besoin de savoir tout cela pour construire des modèles d'apprentissage profond.
C'est quelque chose à quoi je pense en ce qui concerne mon propre cours de traitement du langage naturel avec l'apprentissage profond que j'enseigne.
Au début, nous passons tout de même par le calcul matriciel et nous nous assurons que les gens connaissent les Jacobiens afin qu'ils comprennent ce qui est fait dans l'apprentissage profond par rétropropagation.
Il y a un sens dans lequel cela signifie que nous leur en faisons baver pendant deux semaines — c'est comme un camp d'entraînement pour les faire souffrir.
Et puis nous disons que vous pouvez faire le reste du cours avec PyTorch, et ils n'ont plus jamais besoin de savoir quoi que ce soit de tout cela.
Il y a toujours la question de savoir jusqu'où vous voulez aller dans les fondements techniques.
Vous pouvez continuer ; par exemple, un informaticien des années 2020 a-t-il besoin de comprendre l'électronique et les transistors ou ce qui se passe dans un processeur ?
C'est compliqué.
De diverses manières, il est utile de connaître une partie de ces choses.
Andrew, tu as été l'un des pionniers de l'introduction de l'apprentissage automatique sur les GPU, ce qui signifie que tu devais avoir une certaine intuition qu'il existait ce nouveau matériel avec des attributs de parallélisme qui pouvait faire quelque chose de passionnant.
Il est utile d'avoir des connaissances et une compréhension plus larges ; parfois quelque chose tombe en panne et si vous avez des connaissances plus approfondies, vous pouvez comprendre pourquoi cela a cassé.
Mais il y a un autre sens dans lequel la plupart des gens doivent faire confiance à certaines choses et vous pouvez faire la majeure partie de ce que vous voulez faire en modélisation de réseaux de neurones de nos jours sans connaître du tout le calcul différentiel.
Oui, je pense que c'est un excellent point.
J'ai l'impression que parfois la fiabilité de l'abstraction détermine la fréquence à laquelle on doit intervenir pour réparer quelque chose si c'est cassé.
Ma compréhension de la physique quantique est très faible.
Je la comprends à peine.
On pourrait donc soutenir que je ne comprends pas comment fonctionnent les ordinateurs parce que les transistors sont basés sur la physique quantique.
Mais heureusement, si quelque chose n'allait pas avec un transistor, je n'ai jamais eu à essayer de le réparer.
Ils sont un peu difficiles à réparer, je pense.
Oui. Un autre exemple est la fonction de tri. Il existe des bibliothèques pour trier les choses, et parfois elles ne fonctionnent pas, par exemple avec un swap en mémoire. C'est là que si vous comprenez vraiment comment fonctionne la fonction de tri, vous pouvez intervenir et la réparer. Mais quand nous avons des abstractions, des bibliothèques et des API suffisamment fiables, il est agréable que ces abstractions diminuent le besoin de comprendre tout ce qui se passe en dessous.
Conclusion
C'est donc un monde passionnant. On a l'impression d'avoir des géants qui construisent sur les épaules de géants et toutes ces choses deviennent plus complexes et plus excitantes chaque mois, vraiment.
Oui, absolument.
Merci Chris. C'était vraiment intéressant et inspirant. Et j'espère que pour tous ceux qui regardent ceci, entendre le propre parcours de Chris pour devenir informaticien ainsi que tout ce travail passionnant qui se passe en NLP en ce moment vous inspirera à vous lancer dans ce domaine et à tenter votre chance.
Il y a encore beaucoup de travail à faire collectivement par notre communauté, donc je pense que plus nous serons nombreux à y travailler, mieux le monde se portera.
Merci beaucoup Chris. C'était vraiment génial de t'avoir ici.
Merci beaucoup Andrew. C'était amusant.