L'avenir des interfaces de chat et du développement d'applications d'IA
31 mars 2023
Intelligence Artificielle
Introduction et origines de Poe et LangChain
Ravi d'être ici. Merci, Adam et Harrison, de vous joindre à nous aujourd'hui. Adam est le fondateur de Quora et siège également au conseil d'administration d'OpenAI, et Harrison est le fondateur de LangChain. Nous allons peut-être commencer par vous présenter. Adam, commençons par vous. Comment en êtes-vous venu à travailler sur Poe, qui est certainement l'une des expériences de consommation les plus intéressantes pour interagir avec un bot ?
Tout d'abord, merci de m'accueillir et merci de m'avoir invité. Je m'intéresse à l'IA depuis longtemps et j'ai toujours été très optimiste quant à son potentiel. Pendant longtemps, l'IA était utile pour des choses comme les systèmes de recommandation, qui étaient très importants pour Quora. Mais nous savions qu'un jour nous arriverions au point où l'IA serait capable de générer du texte. Nous ne savions simplement pas quand cela arriverait. Chez Quora, nous avons surveillé cela de très près. Au début de l'année dernière, nous avons réalisé que c'était le moment où nous devions commencer à bouger et qu'il y avait une réelle opportunité ici si nous pouvions en tirer parti. Nous avons commencé par faire quelques expériences en utilisant l'IA pour générer des réponses sur Quora. Notre conclusion initiale était que l'IA était devenue assez bonne, mais qu'elle n'était généralement pas encore aussi performante que le meilleur humain que notre système d'apprentissage automatique pouvait trouver pour écrire une réponse. Les cas où c'était vraiment un avantage étaient si quelqu'un avait besoin d'une réponse immédiate à une nouvelle question ou si quelqu'un voulait faire des allers-retours et obtenir des réponses à des questions de suivi. Après avoir expérimenté cela pendant un certain temps, nous avons réalisé qu'un paradigme d'interface utilisateur de chat est la bonne chose pour cette nouvelle technologie, plutôt que d'essayer de l'intégrer de force dans le produit existant que nous avions. Nous voulions également pouvoir itérer à un rythme plus rapide. Cette vague technologique avance si vite que nous devons vraiment être capables de nous adapter et de bouger très rapidement. Un autre avantage de construire un produit séparé, en dehors des considérations d'interface utilisateur, est que nous serions en mesure d'avancer plus vite. Vers août de l'année dernière, nous avons fini par lancer un nouveau projet, qui a finalement été appelé Poe et lancé en décembre. C'est une interface de chat rapide vers une variété de modèles d'IA. Actuellement, nous avons accès à ChatGPT, aux modèles d'Anthropic, à quelques versions différentes de Claude, et nous avons récemment ajouté GPT-4. C'est ce que nous faisons actuellement. C'est une priorité majeure pour l'entreprise, bien que Quora continue également à bien se porter et à s'adapter à certaines de ces nouvelles technologies en même temps.
Génial. Harrison, c'est vers août de l'année dernière que vous avez commencé à explorer l'idée de LangChain. Pourriez-vous partager le contexte de ce qui a provoqué le travail sur ce projet et la décision d'en faire une entreprise ?
Merci de nous recevoir. J'ai commencé vers le mois d'août à assister à des meetups à San Francisco et à discuter avec les gens. J'ai remarqué qu'ils faisaient souvent les mêmes choses de manière répétée et qu'il y avait des modèles dans les types d'applications qu'ils construisaient. À ce moment-là, Jasper et Copy.ai étaient déjà sortis, mais la nouvelle vague d'applications, un peu plus complexes et impliquant davantage d'orchestration du modèle de langage avec d'autres sources de données et de calcul, commençait à être construite. Il y avait des abstractions et des modèles communs que je remarquais. En tant que projet personnel, je les ai mis dans un package Python, je l'ai lancé, et j'ai itéré dessus depuis. Nous sommes une entreprise depuis environ deux mois et demi, avec l'idée de continuer à extraire ces éléments pour faciliter le développement de ce type d'applications pour tout le monde. C'est également l'objectif de l'entreprise.
La philosophie multi-modèles de Poe
Super. Adam, une chose que vous faites dans Poe est d'exposer tous les différents modèles de langage sous-jacents que les gens pourraient utiliser, au lieu de choisir le meilleur pour l'utilisateur et de dire : tenez, utilisez celui-ci, c'est le meilleur en ce moment, nous allons constamment changer pour l'état de l'art. Vous exposez cela à l'utilisateur avec l'idée de plusieurs bots différents. Quelle est la réflexion derrière cela ?
Je me souviens avoir entendu une anecdote selon laquelle, aux débuts du web, Yahoo était le site web dominant. Il y avait une population assez importante d'internautes qui considéraient Yahoo comme étant la même chose que le web. Ils ouvraient leur navigateur web et la page d'accueil par défaut était Yahoo, et ils ne comprenaient pas la distinction entre Yahoo et d'autres sites. Finalement, le web est beaucoup plus développé aujourd'hui et les gens comprennent mieux les différents sites sur lesquels ils veulent se rendre. Ils peuvent utiliser Google pour naviguer, mais il est utile pour les gens de comprendre où ils vont, en quoi ils peuvent avoir confiance, et d'avoir ces différentes marques pour les différents services auxquels ils accèdent. Avec Poe, nous voulons être semblables à un navigateur web dans le sens où nous voulons permettre aux gens d'accéder à de nombreuses formes différentes d'IA. Nous pensons qu'une certaine compréhension de la part de l'utilisateur sur la destination de sa demande et sur l'identité de son interlocuteur sera utile. Nous voulons en venir à recommander aux gens le meilleur bot avec lequel discuter pour leur cas d'usage, mais pour l'instant, nous nous concentrons sur l'accès au plus grand nombre possible de modèles d'IA différents, y compris des modèles fondamentaux comme ChatGPT ou Claude. Nous voulons donner accès à tout type d'application que quelqu'un pourrait construire par-dessus ces modèles via quelque chose comme LangChain. Nous nous attendons à ce qu'il y ait cette très grande diversité d'expériences de chat par IA que les développeurs sont capables de construire. Nous sommes en train de construire une API et nous ouvrirons bientôt l'accès à tous les développeurs pour créer ces bots. Nous avons vraiment hâte de voir ce que tout le monde pourra créer.
Cas d'usage futurs et écosystème de bots
Vous imaginez donc que dans un avenir assez proche, les développeurs et les individus pourront créer des expériences de bots aux côtés des premières que vous avez proposées avec les grands modèles de langage. Quels seraient les exemples que vous espérez voir apparaître dans les prochains mois ou trimestres selon le lancement ?
Je pense qu'il va y avoir cet écosystème massif qui ressemble à ce qu'est le web aujourd'hui. Parmi les premiers exemples avec lesquels nous avons joué et qui me semblent prometteurs, il y a les tuteurs de langue. Si vous essayez d'apprendre une nouvelle langue et que vous donnez le bon prompt à ChatGPT, vous pouvez obtenir de l'aide. Si vous imaginez un bon tuteur de langue, il pourrait avoir une mémoire de vos points faibles et de vos points forts et pourrait essayer intentionnellement de vous inciter à répondre à des questions sur les domaines où vous êtes plus faible. Il pourrait y avoir un suivi des progrès et il pourrait vous rappeler si vous ne vous etes pas présenté la veille pour faire votre exercice. Il y a toute une expérience que vous pourriez construire autour de cela. Pour l'apprentissage de n'importe quel sujet, vous pourriez construire un type de produit similaire. Je pense qu'il va y avoir beaucoup de bots qui sont essentiellement des jeux ou des hôtes de jeux ; il y a énormément de choses passionnantes qui peuvent être construites là. De nombreuses entreprises ont des ensembles de données uniques qu'elles souhaitent intégrer dans une expérience de chat. Je pourrais imaginer un monde où la plupart des entreprises ont leur propre bot qu'elles proposent au public, si possible via Poe, mais aussi via d'autres interfaces. Cela va devenir un modèle courant que chaque entreprise voudra proposer.
Personnalisation et agents dans LangChain
Harrison, vous avez été l'un des premiers endroits pour beaucoup de ceux qui ont essayé de construire ces expériences de bots et de les connecter à leurs propres informations ou à d'autres outils pour agir et récupérer des informations supplémentaires. Où investissez-vous du temps actuellement ? Où voyez-vous l'intérêt des développeurs ? Quel est l'objectif actuel pour donner plus de puissance à ces modèles ?
Je dirais qu'il y a deux domaines principaux et les deux s'alignent assez bien avec ce dont Adam parlait. Je pense que les deux sont essentiellement la personnalisation et la prise d'action agentique. La personnalisation peut signifier exposer toutes les données de votre entreprise dans un chatbot personnalisé capable de parler de votre entreprise. Cela peut aussi signifier se souvenir de choses sur l'utilisateur et s'adapter en conséquence. La partie agentique intervient dans la prise d'actions et la capacité d'interagir avec d'autres ressources. Parfois, vous avez des données sous forme de texte et vous pouvez interagir directement avec elles. D'autres fois, vous avez des données derrière des API et vous voulez une couche de langage naturel au-dessus de cette API. Ajouter la capacité pour le modèle de langage de générer d'abord une requête, puis de prendre l'action de l'exécuter, de récupérer le résultat, puis de répondre de manière humaine synthétisée est un objectif principal. Ce sont les deux domaines principaux dans lesquels nous avons constaté beaucoup d'intérêt de la part des développeurs. Depuis le début, LangChain se concentre sur la personnalisation et les aspects agentiques, bien que nous ayons également des outils pour les prompts qui sont le nouveau paradigme pour coder ces applications.
L'impact des plugins et des ressources externes
Évidemment les outils, vous les avez appelés outils, et OpenAI les a récemment appelés plugins. Mais l'idée de connecter les LLM à d'autres services, que pensez-vous de cette annonce ? Comment voyez-vous les outils dans LangChain et plus largement cette idée de LLM connectés à des ressources externes et vers quoi cela se dirige-t-il ?
Je pense que c'est génial. Il y a eu un énorme élan d'enthousiasme autour de cela. C'est bien relié à des concepts qui sont sortis dans le milieu académique avec l'article ReAct ou l'article Self-Ask. Je pense que c'est excellent d'attirer l'attention sur cette idée de connexion à des éléments externes. Il est aussi intéressant de voir comment OpenAI aborde la chose. C'est l'une des meilleures organisations de recherche au monde et ils consacrent beaucoup de ressources pour essayer de faire en sorte que cela fonctionne bien. Ils ont lancé quelque chose de vraiment impressionnant et il reste encore beaucoup de choses à faire dans ce domaine. Il est également intéressant de voir comment les gens veulent cela non seulement avec ChatGPT ou GPT-4, mais avec d'autres modèles comme Anthropic, LLaMA et Alpaca. Il a été vraiment intéressant de voir l'augmentation de l'enthousiasme et de la sensibilisation autour de ces idées et abstractions puissantes.
Concurrence et évolution des modèles fondamentaux
Vous occupez tous deux une position agnostique vis-à-vis des grands modèles de langage à bien des égards. Comme vous le disiez, connecter des outils à d'autres modèles fondamentaux que les gens pourraient vouloir utiliser, peut-être pour des cas d'usage privés où ils ne veulent pas donner d'informations à OpenAI. Adam, vous exposez les utilisateurs à différents modèles fondamentaux. Quelles sont vos opinions émergentes sur la concurrence entre les modèles fondamentaux ? Êtes-vous surpris et impressionné par la qualité provenant d'Anthropic et des modèles open source comme Alpaca ?
Le domaine évolue incroyablement vite. Il est assez clair en ce moment que GPT-4 est en tête. Mais tout le domaine avance si vite qu'il est très difficile de savoir où en seront les choses à l'avenir. Nous en sommes arrivés au point où ces modèles fondamentaux sont si puissants qu'ils sont suffisants pour de nombreuses applications et il y aura des rendements décroissants à poursuivre les progrès pour certains. Pour d'autres applications, vous voudrez toujours être à la pointe et disposer de l'outil le plus puissant. Pour moi, beaucoup des progrès les plus intéressants à réaliser à partir d'ici concernent davantage des choses comme les plugins ou de meilleures façons de fine-tuner les modèles, plutôt que de simplement continuer à les mettre à l'échelle. Avec l'échelle vient un coût plus élevé, ce qui devient peu économique pour de nombreux utilisateurs. C'est un domaine incroyable et nous allons tous être choqués de voir où en sont les choses dans un an. Il va y avoir une diversité de fournisseurs différents pour ces modèles. Il est difficile de dire exactement comment tout cela va se stabiliser en tant qu'industrie. Il y a un camp qui dit que cela va se banaliser et un autre qui dit que ce devrait être un marché où le gagnant emporte tout.
Je suis d'accord avec cela. GPT-4 est clairement le meilleur sur le marché pour le moment, mais il y a un écart entre lui et Anthropic, et entre Anthropic et le prochain modèle open source. Tout dépend de ce qu'il y a dans cet écart. On peut faire beaucoup de choses avec l'open source et encore plus avec le modèle Anthropic, qui est vraiment bon. Quant aux plugins, peut-on les utiliser aussi facilement avec le modèle Anthropic qu'avec GPT-4 ? Probablement pas, mais avec une ingénierie de prompt astucieuse, on peut y arriver. Une autre chose intéressante que j'ai remarquée est que les prompts ne se transfèrent pas vraiment d'un modèle à l'autre. Comme l'a dit Adam, le rythme de développement est rapide et les prompts qui fonctionnaient bien l'année dernière ne fonctionnent plus aussi bien pour les modèles de pointe actuels. Il est difficile de prédire si dans un an tous les modèles auront approximativement convergé et si les prompts fonctionneront de la même manière. Ils pourraient avoir des styles différents qui fonctionnent pour différents modèles. C'est une autre chose avec laquelle les développeurs doivent composer. Ce n'est pas aussi simple que de changer le nom du modèle lorsque vous faites ces choses plus complexes.
Fiabilité et évaluation en production
Évidemment, c'est un paradigme de programmation très différent dans le sens où ce n'est pas déterministe. C'est assez stochastique et lorsque vous changez de modèle, cela change. Même lorsque vous permettez aux gens d'utiliser des outils, l'agent va-t-il utiliser le bon au bon moment et de la manière parfaite ? C'est orienté vers un but et je plaisante parfois en disant que c'est presque comme un étudiant de première année qui se saoule de temps en temps ; ça dérape un peu par moments. Comment envisagez-vous d'aider les développeurs dans ce paradigme où c'est quelque peu aléatoire ? Comment réfléchissez-vous à soutenir les développeurs qui construisent des expériences d'application qui répondent aux attentes des utilisateurs mais qui pourraient halluciner ou ne pas atteindre les objectifs souhaités ?
C'est la chose principale à laquelle nous réfléchissons. Actuellement, LangChain dans sa forme actuelle est vraiment bon pour prototyper des applications. La prochaine étape est de passer en production. La production s'accompagne de défis système et de problèmes de fiabilité. Il est facile d'obtenir quelque chose pour lequel on peut choisir un exemple parfait, mais faire en sorte que cela fonctionne bien en production est une autre affaire. L'une des choses principales auxquelles nous réfléchissons est l'évaluation. Pour beaucoup de ces réponses textuelles plus longues, il existe différents axes d'évaluation : est-ce poli, est-ce factuellement correct ? Tout cela n'est pas aussi simple que les métriques traditionnelles de machine learning. Je suis très optimiste quant à l'idée d'utiliser des modèles de langage pour s'évaluer eux-mêmes. Anthropic a fait un excellent travail dans ce domaine et c'est quelque chose que nous étudions. L'évaluation est apparue comme un point de friction majeur. Je suis d'ailleurs curieux de demander à Adam comment vous envisagez l'évaluation, car vous avez un produit réel et c'est beaucoup plus présent à votre esprit.
Autant que possible, nous voulons laisser les développeurs construire les expériences d'IA et leur apporter un soutien pour les aider à faire leur propre évaluation. Nous voulons arriver à une position où nous serions doués pour évaluer les différences entre différents bots après leur création afin de pouvoir recommander le bon à un utilisateur. Pour l'instant, nous faisons des évaluations systématiques à la main. Nous avons dû mettre en place un processus très différent de celui auquel nous étions habitués pour Quora, car les réponses semblent souvent correctes mais peuvent en réalité être fausses. Nous avons dû établir des processus différents. Ce n'est pas encore quelque chose pour lequel nous avons fait un excellent travail, mais nous voulons être en mesure d'aider réellement les développeurs à évaluer leurs propres modèles et de s'assurer qu'ils ont les données et le soutien dont ils ont besoin pour effectuer des tests AB.
Je pense que c'est un point vraiment intéressant, l'idée de faire des tests AB. C'est courant dans le développement de logiciels et de produits, mais en machine learning, on s'appuie généralement davantage sur l'erreur quadratique moyenne (MSE) ou la précision. Maintenant, avec ces applications de bout en bout qui sont difficiles à évaluer, les tests AB et les méthodes de test traditionnelles sont vraiment intéressants.
Il faut donc s'attendre à plus de nouveautés dans LangChain dans ce domaine ?
Oui.
Données, Quora et incitations à la création
Je vais en poser une dernière, puis j'ouvrirai les questions au public. Un domaine qui fait l'objet de nombreuses discussions est celui de la montée en charge du calcul et des données à mesure que ces modèles se développent. Je suis curieux, Adam, de savoir comment vous avez envisagé des ensembles de données uniques comme celui de Quora pour la construction de ces modèles. Et deuxièmement, il y a peut-être un problème à long terme où les sites de contenu généré par les utilisateurs (UGC) ont eu un impact important pour les données d'entraînement, mais si les utilisateurs passent à un monde où un modèle fournit une réponse, le statut social de leader d'opinion sur Quora pourrait diminuer. Il pourrait y avoir moins de contenu incrémental généré. Je suis curieux de savoir si vous avez un point de vue là-dessus.
Nous n'avons pas encore commencé à entraîner des modèles sur l'ensemble de données de Quora. C'est quelque chose que nous voulons essayer, mais nous ne l'avons pas encore fait. Nous nous sommes engagés auprès de nos utilisateurs à ce que, si nous faisons cela, nous leur permettrons de choisir de ne pas voir leur contenu utilisé pour l'entraînement. C'est un engagement important parce que les gens ont le choix de l'endroit où ils partagent leurs connaissances. S'ils n'ont pas la certitude que cela ne sera pas réutilisé d'une manière qu'ils ne souhaitaient pas, ils pourraient être moins enclins à partager. Cet engagement va aussi nous donner la bonne motivation pour s'assurer que l'entraînement respecte les auteurs. Il se pourrait que nous ayons un bot à l'avenir capable de citer des réponses de Quora ou de mentionner des sources. Nous devrions être capables de trouver une bonne relation où les auteurs sont satisfaits du crédit qu'ils reçoivent. Jusqu'à présent, nous n'avons pas vraiment constaté de réduction du nombre de personnes venant sur Quora. Il y aura toujours un segment de personnes qui voudront entendre l'avis d'une personne qui a réellement vécu quelque chose. La motivation des gens pour écrire des réponses sur Quora a moins porté sur le long terme que sur la critique à court terme et la réception de la part de la communauté sur Quora elle-même, ce qui, selon moi, ne sera pas perturbé de la même manière.
La dominance d'OpenAI et la pertinence des offres tierces
Hé, c'est Eric. Je vais intervenir. Vous avez abordé ce sujet, mais j'ai l'impression qu'il y a une crainte qu'OpenAI puisse simplement être dominant. Poe repose sur le fait que les gens comparent différents modèles, l'un l'emportant dans un cas d'utilisation différent de celui de ChatGPT. De même, avec le cas des plugins, certains disent que LangChain est en difficulté maintenant. Pouvez-vous aborder la crainte de savoir si vos offres sont toujours pertinentes si le monde est dominé par OpenAI ?
En tant que membre du conseil d'administration, c'est une question difficile à répondre pour moi. Mais je dirai que je siège au conseil et que j'ai une perspective sur la stratégie d'OpenAI. Si je pensais qu'ils allaient totalement tout dominer, je ne construirais pas Poe. On peut voir dans les actions d'OpenAI, surtout au cours du dernier mois, une grande attention portée aux développeurs. Différentes API pour développeurs sont disponibles et des progrès sont faits sur l'amélioration des conditions de service. Cela arrive parce qu'OpenAI reconnaît qu'il va y avoir une grande diversité de cas d'utilisation que les gens voudront réaliser avec cette technologie. Il se peut qu'OpenAI fournisse un modèle puissant et que des centaines d'entreprises construisent différentes choses par-dessus, et que ces produits soient disponibles via Poe. Une diversité d'applications d'IA n'est pas nécessairement en conflit avec un monde où OpenAI possède le meilleur modèle et où tout le monde l'utilise.
Une diversité d'applications signifie qu'il faudra probablement construire des outils pour aider à les rendre possibles. Cela dépend en grande partie de ce qu'OpenAI décide de faire. S'ils décident de s'investir massivement dans ce domaine, ce ne serait peut-être pas génial. S'ils décident de s'investir massivement dans les produits grand public, c'est différent. Je ne siège pas au conseil d'administration d'OpenAI, donc je ne sais pas ce qu'ils vont faire. Je crois fermement que les gens voudront toujours avoir le choix et qu'il y a une grande valeur à être ouvert et à avoir des systèmes interopérables. Je crois aussi qu'il va y avoir une très longue traîne d'applications. OpenAI restera probablement concentré sur l'objectif de fournir le meilleur modèle possible. Ils ont fait beaucoup pour améliorer l'expérience des développeurs, mais je pense qu'il y aura besoin d'outillage autour de cela.
Sécurité de l'IA et conclusion
Peut-être le temps d'une toute dernière.
Il y a cette lettre ouverte d'Elon, Woz et d'others. Comme vous êtes au conseil d'administration, c'est probablement difficile pour vous d'en parler, mais j'aimerais entendre une réaction sur la raison pour laquelle vous pensez qu'ils ont publié cette lettre ouverte et dit : arrêtons tout pendant six mois et réfléchissons-y.
Évidemment, je suis au courant de la lettre et je ne pense pas pouvoir en dire beaucoup plus. Il existe une variété de motivations différentes qui poussent les gens à suggérer cela. La sécurité de l'IA et certains des problèmes à long terme qui vont émerger sont incroyablement importants. Dans mon rôle de membre du conseil, il est très important pour moi et pour tout le conseil que nous y veillions. Savoir si une pause de six mois est la bonne réponse et si elle est réalisable est une question différente, mais je ne veux pas vraiment en dire plus ici.
Je n'ai pas passé trop de temps sur l'alarmisme concernant une AGI prenant le contrôle du monde. J'ai passé plus de temps avec les développeurs à essayer de comprendre ce qui est possible ici. Nous découvrons encore de nouvelles applications et capacités incroyables. Ce n'est qu'il y a six mois que l'article ReAct est sorti avec l'incitation par chaîne de pensée et la capacité d'utiliser des outils. Poe n'a que six mois. Avec la technologie qui est déjà disponible, il y a énormément d'expériences incroyables à créer dans tous les secteurs de l'économie. C'est là que je consacre mon temps. Merci beaucoup à vous tous. J'ai vraiment apprécié. Excellent panel.
Merci. Merci.