Want to Become a Sponsor? Contact Us Now!🎉

LLM
Mistral 7B : Un guide complet du modèle de langage avancé de Mistral AI

Mistral 7B : L'aube d'une nouvelle ère du modèle de langage large

Published on

Une plongée approfondie dans Mistral 7B, le modèle de langage large révolutionnaire de Mistral AI. Découvrez sa puissance technique, sa configuration et ses applications dans le monde réel.

Le paysage de l'IA n'est pas étranger aux innovations, mais de temps en temps, une merveille comme Mistral 7B émerge, établissant de nouveaux repères. Développé par Mistral AI, ce modèle de langage large ne se limite pas à la taille, mais il se distingue également par son efficacité, sa précision et sa polyvalence.

Vous voulez connaître les dernières nouvelles des modèles de langage ? Consultez le dernier classement des modèles de langage !

Mistral 7B : Qu'est-ce que c'est ?

La sortie de Mistral 7B a suscité l'excitation et la curiosité au sein des communautés de l'IA et du TALN. Sa présence sur des plateformes comme Hugging Face et la documentation détaillée fournie par Mistral AI ont facilité son adoption dans différents secteurs.

Performances

Quand il s'agit de modèles de langage large, les performances sont primordiales. Mistral 7B a prouvé sa valeur en surpassant ses concurrents, y compris le célèbre Llama 2 13B. Mais les chiffres ne font que gratter la surface. La véritable essence de Mistral 7B réside dans son architecture complexe et ses fonctionnalités.

Les performances de Mistral 7B, en particulier sa supériorité par rapport à des modèles comme LLaMA 1 34B dans le code, les mathématiques et le raisonnement, en ont fait le choix préféré des développeurs et des chercheurs. Sa capacité à se rapprocher des performances de CodeLlama 7B sur les tâches liées au code met en évidence ses capacités.

Adaptabilité et polyvalence de Mistral 7B

L'une des caractéristiques exceptionnelles de Mistral 7B est son adaptabilité. Que ce soit pour les chatbots, la génération de contenu, l'auto-complétion du code ou la recherche, Mistral 7B a démontré sa polyvalence dans un large éventail d'applications.

Mistral 7B : Configuration et déploiement

Pour ceux qui souhaitent exploiter la puissance de Mistral 7B, voici un guide détaillé :

1. Expérience en ligne avec Mistral 7B :
Avant de vous plonger dans la configuration, découvrez Mistral 7B via sa démonstration en ligne (opens in a new tab).

2. Acquisition de Mistral 7B :
Le modèle peut être téléchargé ici via Torrent (opens in a new tab). Le code de publication est ab979f50d7d406ab8d0b07d09806c72c.

3. Exécution de Mistral 7B avec Docker :
Pour ceux qui disposent d'un hôte compatible avec les GPU, Mistral 7B peut être exécuté à l'aide de Docker. Voici un exemple de code pour exécuter le modèle avec Docker :

docker run --gpus all \
 -e HF_TOKEN=$HF_TOKEN -p 8000:8000 \
 ghcr.io/mistralai/harmattan/vllm-public:latest \
 --host 0.0.0.0 \
 --model mistralai/Mistral-7B-v0.1

Remarque : Remplacez $HF_TOKEN par votre jeton d'accès utilisateur Hugging Face.

4. Déploiement direct avec vLLM :
Pour ceux qui préfèrent un déploiement direct, Mistral 7B prend en charge vLLM sur des hôtes compatibles avec les GPU et Cuda 11.8. Voici un guide étape par étape :

  • Installation :
    Installez vLLM à l'aide de pip :
    pip install vllm
  • Connexion à Hugging Face Hub :
    Connectez-vous au hub Hugging Face :
    huggingface-cli login
  • Démarrage du serveur :
    Utilisez la commande suivante pour démarrer le serveur :
    python -u -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model mistralai/Mistral-7B-v0.1

Les innovations architecturales de Mistral 7B

Mistral 7B se distingue non seulement par ses performances, mais aussi par ses innovations architecturales uniques. Explorons-les en détail :

Attention à fenêtre glissante (SWA)

La SWA permet à chaque couche du modèle de s'intéresser aux 4 096 états cachés précédents. Ce mécanisme offre un coût de calcul linéaire, proportionnel à la longueur de la séquence de la fenêtre glissante. L'avantage est évident dans les applications en temps réel où des temps de réponse rapides sont essentiels.

Attention regroupée aux requêtes (GQA)

La GQA est conçue pour accélérer l'inférence, garantissant que Mistral 7B peut répondre rapidement, ce qui le rend adapté aux applications qui nécessitent des interactions en temps réel.

Configuration et déploiement de Mistral 7B

Mistral 7B offre une flexibilité dans son déploiement. Que vous souhaitiez l'exécuter sur votre machine locale ou le déployer sur une plateforme cloud, voici un guide complet :

Exécution de Mistral 7B avec Docker

Pour ceux qui disposent d'un hôte compatible avec les GPU, Mistral 7B peut être exécuté à l'aide de Docker. Voici un guide étape par étape :

  1. Télécharger l'image Docker :
    Tout d'abord, vous devez télécharger l'image Docker qui regroupe vLLM, un serveur d'inférence Python rapide, avec tout ce dont vous avez besoin pour exécuter Mistral 7B.

    docker pull ghcr.io/mistralai/harmattan/vllm-public:latest
  2. Exécuter le modèle avec Docker :
    Une fois l'image téléchargée, vous pouvez exécuter le modèle en utilisant la commande suivante :

    docker run --gpus all \
    -e HF_TOKEN=$HF_TOKEN -p 8000:8000 \
    ghcr.io/mistralai/harmattan/vllm-public:latest \
    --host 0.0.0.0 \
    --model mistralai/Mistral-7B-v0.1

    Remarque : Remplacez $HF_TOKEN par votre jeton d'accès utilisateur Hugging Face.

Déploiement direct avec vLLM

Pour un déploiement direct, Mistral 7B prend en charge vLLM sur des hôtes compatibles avec les GPU et Cuda 11.8. Voici comment le configurer :

  1. Installation :
    Installez vLLM à l'aide de pip :

    pip install vllm
  2. Connexion au hub Hugging Face :
    Avant de pouvoir utiliser le modèle, vous devez vous connecter au hub Hugging Face :

    huggingface-cli login
  3. Démarrer le serveur :
    Avec les prérequis en place, lancez le serveur en utilisant la commande suivante :

    python -u -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model mistralai/Mistral-7B-v0.1

Comment exécuter Mistral 7B en local

Une fois que Mistral 7B est configuré et opérationnel, vous pouvez interagir avec lui. Les étapes détaillées sur l'utilisation du modèle peuvent être trouvées sur la page Interagir avec le modèle (opens in a new tab). Ce guide fournit des informations sur l'envoi de requêtes au modèle, la compréhension des réponses et le perfectionnement du modèle pour des tâches spécifiques.

Configuration de l'environnement

Avant de pouvoir interagir avec Mistral 7B, vous devez configurer l'environnement:

  1. Installer le package OpenAI Python:
    Ce package facilite les interactions avec le modèle.

    pip install openai
  2. Configurer le module OpenAI:
    Indiquez au module l'adresse du serveur où Mistral 7B est déployé.

    import openai
    openai.api_base = "http://l'adresse-de-votre-serveur-ip-ou-nom-de-domaine:8000/v1" 
    openai.api_key = "none"  # le serveur vLLM n'est pas authentifié

Génération de complétions de texte avec Mistral 7B

Mistral 7B peut compléter des prompts donnés, fournissant un texte cohérent et pertinent sur le plan contextuel. Voici comment déclencher une complétion:

  1. Code d'exemple pour la complétion de texte:

    completion = openai.Completion.create(
      model="mistralai/Mistral-7B-Instruct-v0.1", 
      prompt="The mistral is",
      temperature=0.7,
      max_tokens=200, 
      stop="."
    )
    print(completion.to_dict_recursive())

    Ce code produira une complétion du type:

    {
      'id': 'cmpl-87f6980633bb45f5aecd551bc35335e6',
      'object': 'text_completion',
      'created': 1695651536,
      'model': 'mistralai/Mistral-7B-Instruct-v0.1',
      'choices': [{
        'index': 0,
        'text': " un vent nord-est froid et sec qui souffle sur la mer Méditerranée",
        'logprobs': None,
        'finish_reason': 'stop'
      }],
      'usage': {'prompt_tokens': 5, 'total_tokens': 23, 'completion_tokens': 18}
    }

Engager des discussions interactives

Mistral 7B peut également être utilisé pour des discussions interactives, offrant des réponses conversationnelles aux questions des utilisateurs.

  1. Code d'exemple pour l'interaction de chat:

    messages = [{"role": "user", "content": "Quelle est la commande bash pour lister tous les fichiers dans un dossier et les trier par dernière modification ?"}]
    chat_completion = openai.ChatCompletion.create(
      model="mistralai/Mistral-7B-Instruct-v0.1",
      temperature=1,
      max_tokens=1024,
      messages=messages
    )

    Ce code lance une discussion avec le modèle, et le modèle fournira une réponse pertinente à la question de l'utilisateur.

Déploiement de Mistral 7B avec SkyPilot

SkyPilot offre une expérience fluide pour déployer des LLM tels que Mistral 7B sur différentes plateformes cloud. Il promet des économies de coûts maximales, une disponibilité optimale des GPU et une exécution gérée. Voici un guide détaillé sur le déploiement de Mistral 7B à l'aide de SkyPilot:

Configuration SkyPilot

  1. Création du fichier de configuration :
    Commencez par créer un fichier de configuration qui indique à SkyPilot les détails spécifiques de déploiement de votre serveur d'inférence. Cela utilisera le conteneur docker pré-construit fourni par Mistral AI. La configuration devrait ressembler à ceci :

    envs:
      MODEL_NAME : mistralai/Mistral-7B-v0.1
    resources : 
      cloud : aws
      accelerators : V100:1
      ports : 
      - 8000
    run : |
      docker run --gpus all -p 8000:8000 ghcr.io/mistralai/harmattan/vllm-public:latest \\
      --host 0.0.0.0 \\
      --model $MODEL_NAME \\
      --tensor-parallel-size $SKYPILOT_NUM_GPUS_PER_NODE
  2. Configuration des variables d'environnement :
    Vous devrez définir des variables d'environnement spécifiques afin que SkyPilot puisse récupérer à la fois le conteneur du serveur d'inférence et les poids du modèle.

  3. Lancement du serveur d'inférence :
    Avec les variables d'environnement en place, vous pouvez lancer le serveur d'inférence en utilisant la commande suivante :

    sky launch mistral-7b-v0.1.yaml --region us-east-1

    ATTENTION : Déployer de cette manière rend le modèle accessible à l'échelle mondiale. Il est crucial de le sécuriser. Vous pouvez soit l'exposer exclusivement sur votre réseau privé (modifier l'option Docker --host), ajouter un équilibreur de charge avec un mécanisme d'authentification en amont ou configurer correctement les paramètres de mise en réseau de votre instance.

Quotas d'utilisation et fournisseurs cloud

Il est essentiel de noter que de nombreux fournisseurs cloud nécessitent des demandes d'accès explicites pour les instances GPU puissantes. Pour des conseils à ce sujet, vous pouvez vous référer au guide de SkyPilot (opens in a new tab).

Conclusion : Feuille de route future pour Mistral AI

Bien que Mistral 7B soit une étape importante, le parcours de Mistral AI ne s'arrête pas là. L'engagement de l'entreprise à repousser les limites du traitement automatique du langage naturel (TALN) et de l'IA garantit que nous pouvons attendre davantage d'innovations, d'améliorations et de modèles révolutionnaires à l'avenir.

Questions fréquemment posées (FAQ)

  1. Qu'est-ce que Mistral 7B ?
    Mistral 7B est un modèle de langage de type Large Language Model (LLM) de pointe développé par Mistral AI. Il est conçu pour surpasser de nombreux modèles existants dans des tâches liées au code, aux mathématiques et au raisonnement.

  2. Comment puis-je déployer Mistral 7B sur ma machine locale ou sur le cloud ?
    Mistral 7B offre des options de déploiement flexibles. Vous pouvez l'exécuter localement à l'aide de Docker ou le déployer sur des plateformes cloud telles que AWS, GCP ou Azure en utilisant SkyPilot.

  3. Mistral 7B est-il open-source ?
    Oui, Mistral 7B est publié sous licence Apache 2.0, ce qui en fait un modèle open-source accessible à la communauté en général.

  4. Comment Mistral 7B se compare-t-il à d'autres LLM en termes de performance ?
    Mistral 7B a démontré des performances supérieures par rapport à des modèles tels que LLaMA 1 34B et se rapproche des capacités de CodeLlama 7B, notamment dans les tâches liées au code.

Vous voulez connaître les dernières actualités sur les LLM ? Consultez le dernier classement des LLM !

Anakin AI - The Ultimate No-Code AI App Builder