• FreeA
  • Posts
  • Comment fonctionne Mistral 8x7B ?

Comment fonctionne Mistral 8x7B ?

Et comment ils font pour avoir tant d'avance ?

Hello !

Au programme du jour :

- Comment fonctionne Mistral 8x7B et comment ils font pour avoir tant d'avance ?

- Les news dans le monde de l'IA

- Le sujet de la semaine prochaine

La meilleure manière de soutenir mon travail et la newsletter, c'est de la faire découvrir à plus de monde :

Comment fonctionne Mistral 8x7B et comment ils font pour avoir tant d'avance ?

Dans cette édition, on va rentrer un peu en détail dans la partie technique derrière les LLMs, et l'IA générative en général.

J'ai tout fait pour que ce soit le plus digeste et facile à comprendre, mais ça reste très dense en informations.

Ca s'adresse à n'importe qui. Vous n'avez besoin d'aucune connaissance préalable. Si c'est le cas, c'est que j'ai mal fait mon travail, et n'hésitez pas à me le dire en commentaire.

Une fois cette édition lue, faites moi un retour en commentaire svp savoir si c'est assez vulgarisé ou pas, ou au contraire trop, si ce type de formats vous plait plus, etc..

Sommaire :

- Qu'est ce Mistral (Rappel)

- Comment fonctionne Mistral 7B

- Comment fonctionne Mixtral 8x7B

- Sources

Qu'est ce Mistral (Rappel)

Mistral AI est une entreprise française spécialisée dans l'intelligence artificielle, fondée en avril 2023 par d'anciens chercheurs de Meta et Google DeepMind : Arthur Mensch, Timothée Lacroix et Guillaume Lample. Elle s'est rapidement distinguée dans le domaine de l'IA grâce à une levée de fonds impressionnante de 385 millions d'euros en octobre 2023, atteignant une valorisation de plus de 2 milliards de dollars en décembre de la même année.

Mistral AI produit des modèles de langage larges et ouverts, soulignant l'importance de l'open-source en réponse aux modèles propriétaires (GPT, Gemini, etc).

Jusqu'en décembre 2023, l'entreprise a publié deux modèles, Mistral 7B et Mixtral 8x7B, ainsi qu'un prototype appelé "Mistral Medium" accessible via une API uniquement.

L'entreprise se distingue par son engagement envers les modèles ouverts, la communauté et le logiciel libre, libérant de nombreux modèles et outils de déploiement sous des licences permissives. Mistral AI vise à résoudre les problèmes les plus complexes pour rendre les modèles d'IA efficaces en termes de calcul, utiles et fiables.

Le modèle "Mistral 7B" a été la première grande réalisation de Mistral AI, sorti sous la licence Apache 2.0 (on en reparle après). Ce modèle de 7 milliards de paramètres (c'est extrêmement peu) se veut une alternative plus efficiente en calcul aux modèles "gros" comme GPT-4, tout en offrant des capacités similaires selon certains benchmarks standards.

L'ambition de Mistral AI est de devenir le principal soutien de la communauté de l'IA générative ouverte et d'amener les modèles ouverts à des performances de pointe.

Comment fonctionne Mistral 7B

Mistral 7B est un LLM de 7,3 milliards de paramètres qui surpasse Llama 13B et approche du niveau de Llama 70B.

Deux points le différencient et lui procurent cet avantage :

- L'attention par requêtes groupées pour une inférence plus rapide

- L'attention par fenêtre glissante pour gérer les séquences plus longues à moindre coût.

L'attention est un mécanisme crucial dans l'apprentissage profond (deep learning), utilisé dans divers modèles et tâches.

Ce mécanisme permet aux modèles de se concentrer sur les parties les plus pertinentes de l'entrée (la requête), améliorant ainsi la performance. Il a été largement adopté pour des tâches telles que la traduction automatique, la classification de texte, la légende d'images, l'analyse de sentiments et la reconnaissance vocale.

Les techniques d'attention ont évolué, notamment avec l'introduction du modèle Transformer.

Le modèle Transformer est à la base de tous les LLMs modernes, mais on en reparlera une prochaine fois, ça mériterait une édition entière.

L'inférence est le processus d'utilisation d'un réseau de neurones formé pour faire des prédictions sur de nouvelles données. Cela implique d'alimenter le réseau (le modèle, si vous préférez) avec ces données et de lui permettre de faire des prédictions.

En fait, c'est le process qui transforme notre question à ChatGPT en sa réponse. Mais le vrai terme mathématique, c'est inférence. Notre question, c'est les nouvelles données. Et sa réponse, c'est une prédiction.

Je viens de me rendre compte que je n'ai jamais expliqué pourquoi est-ce qu'on parle de modèles génératifs et de prédiction sur cette newsletter.

L'Attention par Requêtes Groupées (GQA) est une technique avancée d'attention qui combine les avantages de l'Attention Multi-Requêtes (MQA) et de l'Attention Multi-Têtes (MHA). Cette méthode optimise à la fois l'inférence rapide et la qualité des réponses du modèle.

L'Attention Multi-Requêtes (MQA) est une variante de l'attention multi-têtes qui accélère la génération de tokens dans le décodeur tout en maintenant la performance du modèle. Pour résumer, ça accélère le modèle en gardant le même niveau de réponse.

L'attention multi-têtes est une technique d'attention qui exécute un mécanisme d'attention plusieurs fois en parallèle. Les résultats indépendants sont ensuite concaténés et transformés linéairement dans la dimension attendue (texte, image, etc).

L'attention par fenêtre glissante est une technique utilisée pour se concentrer sur des parties spécifiques d'une séquence d'entrée (votre requête) lors de l'apprentissage ou de la prédiction. Voici comment elle fonctionne, étape par étape :

1. L'attention par fenêtre glissante commence par diviser la séquence d'entrée, comme un texte, en plusieurs parties chevauchantes appelés "fenêtres". Chaque fenêtre contient le même nombre de mots. Par exemple, avec une requête de 10 mots et une taille de fenêtre de 3, 8 fenêtres qui se chevauchent sont créées, chacune contenant trois mots consécutifs de la requête.

2. Pour chaque fenêtre, le modèle calcule 2 vecteurs :

- Le vecteur de requête résume ce que le modèle connaît jusqu'à maintenant.

- Les vecteurs clés résument l'information contenue dans chaque mot de la fenêtre.

3. Ensuite, le modèle calcule un score d'attention pour chaque mot dans une fenêtre. Pour cela, il fait le produit scalaire du vecteur du requête avec chaque vecteur clé. Grâce à ces résultats, le modèle fait une distribution de probabilité sur les mots. Cela lui indique là où il doit porter son attention.

4. La moyenne des vecteurs clés d'une fenêtre forme le vecteur de contexte, dont la valeur détermine le poids (l'importance pour le modèle) de la fenêtre dans l'inférence.

Cette technique diminue la puissance de calcul nécessaire et facilite la compréhension du langage naturel d'un modèle. Plus la taille de la fenêtre est petite, plus on économise, mais plus on détériore la qualité de génération. C'est un jeu d'équilibriste qu'a parfaitement réussi Mistral.

Ca, c'était 2 technique qui ont permis à Mistral 7B d'être très efficient et performant malgré ses "seulement" 7 milliards de paramètres.

Pour autant, Mistral n'a pas voulu s'arrêter là.

Alors ils ont sorti un nouveau modèle.

Mixtral 8x7B.

Comment fonctionne Mixtral 8x7B

Mixtral 8x7B est un modèle de langage à mélange d'experts clairsemés (SMoE).

Le résultat, c'est que Mixtral n'utilise que 13B de paramètres par token lors de l'inférence (la génération), sur un total de 47B de paramètres. C'est comme si on avait un modèle de 47B de paramètres mais qui a les coûts d'un modèle de 13.

Sauf qu'en plus, un modèle de 47B de paramètres chez Mistral, c'est mieux que les modèles à quelques centaines de milliards de paramètres des concurrents (entre autres grâce aux techniques vues plus haut).

Mais alors, comment ça fonctionne ce SMoE ?

Mixture of expert

Les modèles de langage à mélange d'experts clairsemés (MoE) remplacent les couches denses de réseau de neurones par des couches MoE (Mixture of expert) composées d'un réseau de routage et de plusieurs "experts" (réseaux de neurones spécialisés).

Ce système facilite l'entraînement du modèle, permet d'obtenir une inférence plus rapide et un meilleur chois des paramètres (les connaissances du modèle) à utiliser dans la génération. Donc un meilleur résultat pour moins cher.

Les couches denses dans un réseau de neurones sont des couches où chaque neurone est connecté à tous les neurones de la couche précédente.

Ces couches transforment les données d'entrée (la requête) en sorties que le réseau peut utiliser pour prendre des décisions ou faire des prédictions.

En pratique, c'est ce qui permet de décomposer une tâche complexe, comme la compréhension d'une image, en plein d'étapes successives de plus en plus précises. C'est ce qui est à l'origine du deep learning.

Mixtral a une architecture similaire à Mistral 7B mais avec une différence majeure : chaque couche de Mixtral 8x7B comprend 8 blocs de propagation avant (experts). C'est le MoE.

Pour chaque token (syllabe ou mot généré), un réseau de routage sélectionne deux experts pour traiter le token et combine leurs sorties.

Les blocs de propagation avant dans un réseau de neurones sont les blocs qui traitent l'information. Les informations transitent via des couches cachées (les couches denses) où elles sont transformées avant de produire un résultat à la couche de sortie (le résultat qui vous est donné par l'IA).

Chaque expert est formé pour devenir spécialiste dans un certain type de données ou de tâches. Le réseau de routage, qui est également appris pendant l'entraînement, joue un rôle crucial en acheminant les données d'entrée vers les experts les plus pertinents.

Un réseau de routage est le système qui détermine comment et où les données d'entrée doivent être traitées, en les acheminant vers différents "experts". C'est lui qui décide quels experts utiliser pour vous répondre.

C'était lourd, mais avec ça, vous avez compris comment fonctionne le MoE, pourquoi c'est moins cher, et 2-3 trucs en plus (les couches denses et blocs de propagation).

Si vous avez des questions, n'hésitez pas à laisser un commentaire avec ces questions, c'est fait pour !

Mais il y a une chose dont on a pas encore parlé à propos de Mixtral.

Sa licence.

Car ce n'est pas un modèle propriétaire comme ChatGPT, Claude ou Gemini.

Et c'est aussi ça qui participe à son succès.

Attendez, je vous explique tout ça.

License Apache

Mistral AI a choisi la licence Apache 2.0.

Le but :

Permettre une utilisation sans restrictions, incluant le déploiement sur n'importe quelle plateforme cloud et l'utilisation sur HuggingFace.

Ce que ça change :

Tant que Mistral est cité de la bonne manière, les développeurs peuvent bâtir n'importe quoi avec Mistral.

Ils peuvent ensuite vendre et distribuer leur produit sans contrainte.

Même s'ils n'en ont pas le code, c'est comme s'ils avaient un modèle fondation sous la main.

Un modèle fondation, c'est les modèles à l'origine des IA qu'on utilise, mais avant toutes les couches de restriction, censure et configuration qui biaisent ses générations.

C'est ça qui fait la différence, et qui rend Mixtral aussi intéressant.

Mais pour autant, c'est aussi sa limite.

Parce que malgré cette licence et un discours clamant l'opensource, on a pas accès au code de Mixtral ni à ses données d'entraînement.

Donc on peut bâtir ce qu'on veut avec, mais on ne sait pas vraiment le détail de sa méthode de fabrication.

Opensource mais pas complètement transparent, ce n'est pas non plus une organisation caritative.

Bref.

Mistral est bon, et on a vu pourquoi.

Pour plusieurs raisons.

Pour la faire courte :

- Les autres entreprises ont des modèles plus avancés par encore sortis (tout est une question de timing et de sécurité)

- Les ingénieurs français sont les meilleurs du monde en IA

- L'absence de censure est un énorme avantage (on fera peut-être une édition dédiée là-dessus)

Sources

Bien sur, ce n'est pas un calcul un lien = une info. Mais pour chaque sujet, je vous ai indiqué une source principale vers laquelle approfondir le sujet ciblé;

Mixture of experts :

https://ar5iv.labs.arxiv.org/html/2401.04088

https://huggingface.co/blog/moe

https://mistral.ai/news/mixtral-of-experts/

Mistral :

https://en.wikipedia.org/wiki/Mistral_AI

Mistral 7B :

https://mistral.ai/news/announcing-mistral-7b/

L'attention :

https://ar5iv.labs.arxiv.org/html/2203.14263

L'inférence :

https://www.xilinx.com/applications/ai-inference/difference-between-deep-learning-training-and-inference.html

L'attention par requêtes groupées :

https://towardsai.net/p/machine-learning/grouped-query-attentiongqa-explained

https://towardsai.net/p/machine-learning/multi-query-attention-explained

https://cs.paperswithcode.com/method/multi-head-attention

L'attention par fenêtres glissantes :

https://www.tutorialspoint.com/sliding-window-attention-in-machine-learning-explained

Mixtral :

https://www.promptingguide.ai/models/mixtral

Blocs de propagation :

https://www.analyticsvidhya.com/blog/2022/01/feedforward-neural-network-its-layers-functions-and-importance/

Couches denses dans un réseau de neurone

https://analyticsindiamag.com/a-complete-understanding-of-dense-layers-in-neural-networks/

Apache 2.0 :

https://snyk.io/learn/apache-license/

C'était une édition plus technique que d'habitude, mais c'était un test pour savoir si je peux plus souvent faire ce genre de choses à l'avenir.

Pensez à me faire un feedback en commentaire, et partagez la newsletter si vous connaissez quelqu'un qui veut mieux comprendre l'IA !

Les news dans le monde de l'IA

Quelques news importantes cette semaine :

  • OpenAI a fait 2 grosses annonces, même si l'une est passée un peu plus inaperçue que l'autre. La première c'est Sora, leur modèle de génération de vidéo. J'ai fait un post qui détaille toutes les infos : https://www.linkedin.com/posts/th%C3%A9o-leblanc_lemecde17ans-faezvrier-sora-activity-7164586409792647168-eBpH?utm_source=share&utm_medium=member_desktop. Mais ils ont aussi fait une deuxième annonce passée complètement inaperçue : l'apparition de la mémoire sur ChatGPT. La feature est en train d'être déployée progressivement, mais ChatGPT pourra se rappeler d'informations que vous lui aurez dit dans d'autres discussion avec lui, et ainsi s'adapter de mieux en mieux à vous au fur et à mesure du temps.

  • Par contre, Andrej Karpathy, l'un des fondateurs d'OpenAI et un de ses chercheurs les plus importants, a décidé de quitter l'entreprise.

  • D'ailleurs, Sam Altman veut 7 000 milliards pour développer l'industrie des puces, particulièrement les puces IA. Aujourd'hui, Nvidia possède un quasi monopole, mais n'est valorisé "que" 2 000 milliards. Tout le monde s'est moqué de lui, et il nous explique désormais que ce n'est pas la somme qu'il voulait réunir aujourd'hui, mais celle qui représenterait l'intégralité des coûts d'une telle entreprise sur sa durée de vie complète.

  • Nvidia se lance dans le marché grand public avec une application à télécharger en local sur votre ordinateur, "Chat with RTX", qui vous permet de créer un chatbot basé sur votre propre contenu (sur votre ordinateur). Un peu comme ce que fait Rewind, ça va vous servir à retrouver des infos sur votre ordinateur facilement. Ex : "Quel était le restaurant que X m'a recommandé à Paris".

  • Gemini a eu une mise à jour, et est devenu Gemini 1.5. Et devinez quoi : ils ont utilisent MoE. Comme Mistral. Mais c'est pas tout : ils sont passé de 32 000 tokens de mémoire (25 000 mots) (contre 100 000 pour OpenAI) à 1 million de token de mémoire. 750 000 mots. Presque l'intégralité des livres Harry Potter.

  • Stable Cascade, un nouveau modèle de génération d'images, a été lancé Stability AI. En plus d'être très bon dans la qualité (normal aujourd'hui), mais permet surtout de décrire du texte présent sur l'image sans problème de lettre oubliée ou ce genre de choses. Et c'est pas tout, car il est aussi conçu pour être extrêmement simple à entraîner/finetuner pour ceux qui le veulent. On fera une édition sur le finetuning un jour.

  • Le même jour que Sora (ce qui explique peut-être ses critiques vis-à-vis du modèle) est sorti un nouveau modèle de génération de vidéo de Meta dirigé par Yann LeCun, V-JEPA. Le modèle est sur l'architecture si chère à ses yeux, "joint embedding predictive architecture", et est un gros coup en avant dans la compréhension du monde par l'IA (et donc vers le world model / l'AGI). Très bonne vidéo sur le sujet de pourquoi les IA génératrices de vidéo sont si importantes faite par Defend Intelligence si vous voulez creuser :

On fera une newsletter sur comment fonctionne ces IA génératrices de vidéo.

Pour la semaine prochaine :

Challenge : je crée une IA capable de rédiger à 90% les newsletters à ma place, et je décortique la méthode.

Si cette édition t'as plu, et que tu connais quelqu'un à qui elle peut servir, tu peux la partager juste ici :

Et si ce n'est pas encore fait, tu peux t'abonner :

Reply

or to participate.