Mistral AI: Open Models and the Future of Generative AI
6 décembre 2023
Artificial Intelligence
Introduction and Mission
Bonjour à tous. Je suis le PDG de Mistral AI et je suis ici pour donner un aperçu de ce que nous avons fait ces six derniers mois. Il n'y aura pas beaucoup d'annonces aujourd'hui car nous annonçons quand nous annonçons, mais je vais donner un aperçu de ce que nous avons fait, parler de ce que nous essayons d'accomplir en termes de développement commercial et de technologie, ainsi que de la façon dont nous avons choisi de distribuer la technologie, qui est différente de ce que d'autres ont proposé ces dernières années. Je serai heureux d'avoir une discussion ouverte après cela car j'ai 30 minutes et je serai probablement plus rapide que cela. Notre ambition chez Mistral AI, une entreprise que nous avons lancée avec Guillaume et Timothée, mes cofondateurs, en mai, est de développer des modèles frontières et fondamentaux derrière la révolution de l'IA aujourd'hui et de les mettre entre les mains des créateurs d'applications du monde réel. Il n'est pas facile de prendre un modèle et de créer une application à faible latence qui sert un objectif, et c'est ce que nous voulons concrétiser.
Open Source Philosophy and Efficiency
Nous pensons que les développeurs sont le public principal. Nous voyons en France et en Europe un vaste écosystème de bâtisseurs d'IA qui bénéficieraient d'un accès plus profond aux modèles d'IA, et c'était notre intention lorsque nous avons fondé l'entreprise. Un autre principe crucial de notre ADN est que si vous voulez parler aux développeurs et leur permettre de créer des applications différenciées, vous devez leur donner un accès profond. Le meilleur moyen de fournir un accès profond est de publier des modèles à poids ouverts et des logiciels open-source. Nous pensons que c'est la bonne façon d'accélérer l'adoption de la technologie, et c'est ce que nous avons commencé à faire avec notre première sortie fin septembre. Un autre postulat est que l'IA générative peut être entraînée beaucoup plus efficacement que ce que nous avons observé dans les grandes entreprises. Nous avons montré qu'avec une fraction de la puissance de calcul de nos anciens employeurs, nous pouvions entraîner des modèles compétitifs et utiles pour une variété de tâches. L'open source est le moyen de rendre l'IA utile. L'open source permet un accès profond aux modèles. Avoir accès aux poids des modèles est un moyen de les ajuster, de faire des choix éditoriaux et d'ajouter des démonstrations ou de la modélisation de récompense. C'est ainsi que vous créez des applications différenciées, bien plus que si vous utilisiez uniquement des API à code fermé que vous ne pouvez pas comprendre.
The Development of Mistral 7B
Nous avons maintenant une équipe de 20 personnes et elle s'agrandit. Nous avons commencé rapidement ; début juin, la première chose que nous avons faite a été de recréer l'ensemble de la pile nécessaire pour entraîner des modèles. Cela comprenait les pipelines de données, le code d'entraînement et l'exploitation des clusters existants. Nous avons recréé tout le pipeline d'évaluation à partir de zéro et le code d'inférence que nous livrons à nos clients. C'étaient des choses que nous savions faire, mais c'était quand même une tâche ardue de les recréer cet été. Nous avons utilisé des GPU au fur et à mesure qu'ils arrivaient. Comme vous le savez, obtenir l'accès aux GPU n'est pas facile, donc chaque semaine, quelques GPU arrivaient et nous les branchions sur notre cluster pour augmenter la vitesse de notre entraînement. Mistral 7B, sorti fin septembre, possède 7 milliards de paramètres, ce qui signifie qu'il est assez petit pour fonctionner sur un smartphone. La communauté l'a adopté pour fonctionner sur iPhone 15 à la vitesse de lecture. Nous avons montré qu'il y avait encore de la place pour créer de petits modèles de langage. Le meilleur modèle open-source à l'époque était Llama 2, et le modèle 7B que nous avons créé bat Llama 2 13B sur tous les benchmarks.
Scaling Laws and Memory Efficiency
Timothée, Guillaume et moi avons été des pionniers dans certaines des technologies pour les grands modèles de langage. Nous avons une bonne compréhension des lois de mise à l'échelle, qui aident à prédire les performances des modèles en fonction du calcul et de la taille du modèle. Notre compréhension nous a permis de réaliser que nous pouvions créer un modèle beaucoup plus petit que ce qui existait. Nous avons visé cette taille car elle est utile pour les développeurs ; vous pouvez l'exécuter on iPhone ou MacBook Pro avec un déploiement local. Il a la capacité de Llama 2 13B, et si vous l'affinez avec des données d'instruction, vous pouvez obtenir un modèle qui est déjà un assez bon chatbot. Nous avons constaté beaucoup d'intérêt, ce qui peut être attribué à plusieurs facteurs. Premièrement, nous l'avons mis sous licence Apache 2.0, ce qui a permis à chaque entreprise de l'intégrer dans son pipeline d'IA. Deuxièmement, il était assez petit pour être utilisé localement et sur d'anciens GPU. Il était assez bon pour être utile pour des tâches comme le résumé ou des tâches intermédiaires dans des chaînes d'IA, offrant une faible latence et de faibles coûts. Certaines entreprises l'adoptent pour remplacer des API existantes coûteuses et opaques. C'est ce que nous appelons les lois de mise à l'échelle. Sur l'axe des x, vous avez la taille du modèle et sur l'axe des y, la performance. Ces choses ressemblent presque à une ligne. Vous avez une relation entre la taille du modèle, le calcul et la performance. Si nous traçons Llama 2, nous sommes bien au-dessus. La taille équivalente de Llama se situe entre 13 et 25B selon le benchmark. Cela indique au monde qu'il reste encore des choses à faire pour créer de petits modèles.
Une autre chose sur laquelle nous nous sommes concentrés est de rendre les modèles efficaces lors de l'inférence. Souvent, le goulot d'étranglement n'est pas le calcul, mais la mémoire. Si vous avez une charge de travail critique en termes de latence, vous êtes limité par la quantité de mémoire sur un GPU. Les paramètres ne prennent pas beaucoup de mémoire ; ce qui prend de la mémoire, c'est le cache KV utilisé pour le mappage de l'attention. La pression sur la mémoire augmente linéairement avec la taille du contexte. Comme chaque jeton dans un transformateur classique s'intéresse à chaque jeton précédent, vous devez conserver chaque jeton en mémoire. Pour résoudre ce problème, nous avons relancé une architecture de 2019 appelée Longformer. Au lieu de s'intéresser à 16 000 jetons, chaque jeton ne s'intéresse qu'aux 4 000 jetons précédents. Vous avez toujours une grande longueur de contexte car l'information se diffuse à travers la profondeur. Cela a réduit la pression sur la mémoire par quatre.
Community Adoption and Future Roadmap
Mistral 7B est petit et a une faible pression sur la mémoire. Le cache KV est l'un des problèmes les plus marquants dans le domaine de l'IA générative. Nous avons dédié des ingénieurs pour le rendre disponible partout ; il est maintenant sur les trois grands hyperscalers et sera bientôt sur Scaleway. Il est utilisé par de nombreuses entreprises en remplacement des API OpenAI. La partie la plus gratifiante est son utilisation dans des projets open-source comme remplacement direct de modèles à code fermé. Passer à un modèle qui est entièrement sous Apache 2.0 crée une indépendance vis-à-vis des solutions propriétaires. Pour les gouvernements et les industries réglementées, cette indépendance est critique. Mistral 7B fonctionne sur smartphones et est privé par conception car il fonctionne localement. Il tourne à 25 jetons par seconde sur les MacBooks. La publication du modèle de base permet à la communauté d'apporter de nouvelles idées et des ensembles de données pour construire de nouvelles capacités. Par exemple, Hugging Face a utilisé l'optimisation des préférences directes pour créer Zephyr 7B Beta, qui est actuellement le meilleur modèle 7B instruit. Nous pensons que l'affinage peut être mené par la communauté car il n'est pas gourmand en calcul. Nous avons vu de nouvelles capacités comme le Yarn Mistral 7B 128k, qui peut lire des livres. Il existe également une version appelée Mistral Trismegistus 7B qui possède des capacités occultes. Nous aurons de nouveaux modèles open-source. Nous travaillons sur le Superpod de Scaleway, et il y a de nouvelles sciences à découvrir concernant le raisonnement, la capacité de mémoire et l'efficacité. Sur le plan commercial, nous travaillons sur une solution hébergée et une plateforme auto-déployée. La feuille de route est bien remplie pour l'année prochaine. L'équipe s'agrandit et nous recrutons pour des rôles en recherche sur l'IA, en ingénierie de plateforme et commerciaux. Si vous avez de telles intentions, n'hésitez pas à nous contacter. Merci pour votre attention.
Q&A: Language Support and Fundraising
Bonjour Arthur. David Berrebi, Groupe Prisma Media Vivendi. Comment est Mistral avec la langue française ?
Mistral 7B a été entraîné en anglais, il est donc très bon dans cette langue. Nous avons fait des progrès sur les capacités multilingues récemment et nous avons des modèles multilingues performants. Cela dépend des données sur lesquelles vous l'entraînez. Nous avons à cœur d'avoir des modèles qui parlent français.
Bonjour Laurence Benhamou, Agence France-Presse. J'ai lu dans la presse américaine et dans le Financial Times que vous êtes en train de lever 400 millions d'euros. Est-ce que c'est vrai ?
Nous ne commentons jamais les questions de levée de fonds.
Q&A: Future Models and Community Contribution
Salut Arthur, je m'appelle Nico de TFS. Ravi de te voir ici. Tu as dit qu'avec l'aide de Scaleway, vous prévoyez d'entraîner et de déployer de nouveaux modèles open-source. Si j'ai bien entendu, le PDG de Scaleway a fait écho à cette annonce. Peux-tu en dire plus sur ce qui arrive après le 7B ?
Nous aurons des choses à venir. Nous n'allons pas nous arrêter à la taille de petit modèle. Nous utilisons le Superpod de Scaleway, et cela fonctionne très bien.
Bonjour Arthur, merci beaucoup pour ce que vous avez fait pour la communauté. Ma question vous concerne davantage. Qu'est-ce qui vous empêche de dormir la nuit et comment pouvons-nous vous aider en tant que communauté pour rendre Mistral plus fort et meilleur ?
Je dors très bien, pas de problème de ce côté-là. Nous accueillons tout type de contribution de la communauté. Les travaux dérivés sont un excellent moyen de faire les choses, comme proposer de nouveaux ensembles de données et des idées créatives. Quelque chose qui nous a manqué dans ce domaine l'année dernière, c'est que tout était très sérieux. Comme nous parlons de générateurs de texte, on peut faire des choses créatives très intéressantes. Nous échangeons avec des équipes qui ont des idées créatives sur les ensembles de données, les applications et le côté scientifique. Beaucoup de choses restent à inventer. Il est difficile aujourd'hui d'être un scientifique dans le domaine parce qu'on a besoin de calcul, mais nous aimerions promouvoir les bonnes idées.
Q&A: Domain Adaptation and On-Device Challenges
J'aimerais savoir à quel point il est difficile de faire de l'adaptation de domaine avec Mistral si je veux lui apprendre une langue spécifique pour les professionnels ?
La langue est quelque chose que vous ne voulez probablement pas trop adapter par domaine. Si vous avez un modèle pré-entraîné qui ne parle que l'anglais, il est difficile de lui faire parler une autre langue plus tard. C'est similaire pour le code ; Mistral 7B est bon en code, mais il est difficile de rendre un modèle performant en code s'il commence par être mauvais. Lorsque nous pré-entraînons un modèle, nous essayons de couvrir autant de domaines que possible. Une fois que vous avez cette couverture, vous pouvez permettre n'importe quel type de modification au modèle avec seulement quelques exemples. La magie de l'IA générative est d'avoir un pré-entraînement qui couvre la majeure partie de l'espace afin que vous n'ayez besoin que de quelques exemples pour montrer au modèle la tâche à résoudre. Il n'y a pas de domaine à adapter car chaque domaine est couvert.
Bonjour. Vous avez mentionné l'exécution du modèle sur l'appareil, comme l'iPhone et le MacBook. Quels sont les principaux défis à long terme pour amener les gens ordinaires à exécuter votre modèle sur leur appareil ?
C'est en train d'arriver. Idéalement, lorsque vous déployez sur des appareils, vous voulez être légèrement plus petit que 7B. La capacité mémoire des smartphones est limitée par la capacité de la batterie, qui suit une loi de Moore lente. Si vous avez un modèle 7B sur 8 gigaoctets de mémoire, il ne reste plus grand-chose. C'est un problème persistant, ce qui signifie que les modèles devraient être plus petits. Des améliorations seront apportées du côté logiciel plus que du côté matériel, mais nous pouvons également nous attendre à des choses intéressantes sur la mémoire dynamique. Les LLM sur les appareils de périphérie ne supportent aucun coût de cloud et sont privés par conception. Il y a beaucoup d'opportunités dans ce domaine.
Q&A: Technical Architecture and Future Challenges
Bonjour, Théo Ding, data scientist pour TotalEnergies. J'avais une question sur la fenêtre glissante de contexte. Vous avez dit que vous aviez une longueur de 4k jetons. Cela signifie-t-il qu'en théorie, si vous avez assez de temps, vous pouvez avoir une quantité illimitée de jetons à traiter ?
On n'a pas vraiment de quantité illimitée parce que c'est comme un CNN avec une fenêtre locale. Comme tout est connecté, la taille est d'environ 132k car on multiplie la fenêtre glissante par la profondeur. En théorie, on a une grande attention par fenêtre glissante. On a quand même besoin d'un affinement pour que cela se produise ; on a besoin de documents très longs pour apprendre au modèle la propagation permise par son architecture.
Merci beaucoup pour l'intervention et votre contribution à la communauté. Prévoyez-vous de publier des articles de recherche sur les améliorations des architectures de réseaux neuronaux ?
Nous avons publié un article de recherche sur le côté architecture. Ce n'est pas une priorité de l'entreprise ; notre objectif est de livrer des choses qui fonctionnent. Nous publierons de manière éparse.
Merci Arthur pour votre discours. Vous avez mentionné le cache KV comme l'un des goulots d'étranglement dans l'entraînement et la performance des modèles. Quels sont selon vous les prochains défis pour la performance et l'entraînement ? Merci.
Beaucoup de choses restent à inventer. Un problème avec les transformateurs est qu'ils dépensent la même quantité de calcul sur les tâches faciles et difficiles, ce qui est un problème non résolu. On veut passer plus de temps sur les tâches de prédiction qui impliquent plus de raisonnement. Localiser les bonnes données et exploiter le matériel est également important. Le raisonnement, le calcul adaptatif, une meilleure utilisation du matériel et de meilleures données sont les ingrédients de la prochaine génération.
J'ai une question sur la taille des paramètres. De votre point de vue, jusqu'où un modèle pourrait-il devenir petit tout en maintenant les performances du 7B ? D'un autre côté, quelle taille permettrait de créer quelque chose de très différent en utilisant votre technologie ?
C'est difficile à dire. Je ne peux pas vous donner de chiffre.