Want to Become a Sponsor? Contact Us Now!🎉

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

Mistral 7B : L'aube d'une nouvelle ère de LLM

Published on

Plongez dans Mistral 7B, le modèle de langage large révolutionnaire de Mistral AI. Explorez ses performances techniques, son installation et ses applications réelles.

Le paysage de l'IA n'est pas étranger aux innovations, mais de temps en temps, un chef-d'œuvre comme Mistral 7B émerge et fixe de nouveaux repères. Développé par Mistral AI, ce LLM ne se résume pas à sa taille, mais à son efficacité, sa précision et sa polyvalence.

Envie de découvrir les dernières nouvelles sur les LLM ? Découvrez le dernier classement des LLM !

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 NLP. Sa présence sur des plateformes telles que Hugging Face et la documentation étendue fournie par Mistral AI ont facilité son adoption dans divers secteurs.

Performances de référence

En ce qui concerne les LLM, les performances sont primordiales. Mistral 7B a prouvé sa valeur en surpassant des concurrents, dont le renommé Llama 2 13B. Mais les chiffres ne font qu'effleurer le sujet. La véritable essence de Mistral 7B se trouve dans son architecture complexe et ses fonctionnalités.

Les performances de référence de Mistral 7B, en particulier sa supériorité sur des modèles comme LLaMA 1 34B en code, mathématiques et raisonnement, en ont fait un favori parmi les développeurs et les chercheurs. Sa capacité à s'approcher des performances de CodeLlama 7B sur des tâches liées au code souligne encore davantage ses capacités.

Adaptabilité et polyvalence de Mistral 7B

L'un des aspects marquants de Mistral 7B est son adaptabilité. Que ce soit pour les chatbots, la génération de contenu, l'autocomplétion de code ou la recherche, Mistral 7B a démontré sa polyvalence dans une variété d'applications.

Mistral 7B : Installation 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 l'installation, 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 sortie est ab979f50d7d406ab8d0b07d09806c72c.

3. Exécution de Mistral 7B avec Docker :
Pour ceux qui disposent d'un hôte avec GPU, Mistral 7B peut être exécuté avec 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 avec 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 coulissante (SWA)

SWA permet à chaque couche du modèle de prendre en compte les 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 coulissante. L'avantage est évident dans les applications en temps réel où des temps de réponse rapides sont essentiels.

Attention à requête groupée (GQA)

GQA est conçu pour accélérer l'inférence, en veillant à ce que Mistral 7B puisse répondre rapidement, ce qui le rend adapté aux applications nécessitant 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 avec GPU, Mistral 7B peut être exécuté avec Docker. Voici un guide étape par étape :

  1. Tirer l'image Docker :
    Tout d'abord, vous devez tirer l'image Docker qui regroupe vLLM, un serveur d'inférence Python rapide, avec tout ce qui est nécessaire 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 tirée, vous pouvez exécuter le modèle à l'aide de 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 avec GPU et Cuda 11.8. Voici comment le configurer :

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

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

    huggingface-cli login
  3. Démarrer le serveur :
    Une fois les prérequis en place, démarrez le serveur à l'aide de 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 installé et opérationnel, vous pouvez interagir avec lui. Des étapes détaillées sur la façon d'utiliser le modèle sont disponibles 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 réglage fin 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 Python OpenAI :
    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://your-server-ip-or-hostname: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 en fournissant un texte cohérent et pertinent dans son contexte. 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="Le mistral est",
      temperature=0.7,
      max_tokens=200, 
      stop="."
    )
    print(completion.to_dict_recursive())

    Ce code produira une complétion comme celle-ci :

    {
      'id': 'cmpl-87f6980633bb45f5aecd551bc35335e6',
      'object': 'text_completion',
      'created': 1695651536,
      'model': 'mistralai/Mistral-7B-Instruct-v0.1',
      'choices': [{
        'index': 0,
        'text': ' un vent froid et sec du nord-est 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 chats interactifs

Mistral 7B peut également être utilisé pour des conversations interactives, en fournissant des réponses conversationnelles aux requêtes des utilisateurs.

  1. Code d'exemple pour l'interaction en 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 initie une conversation avec le modèle et le modèle fournira une réponse pertinente à la requête de l'utilisateur.

Déploiement de Mistral 7B avec SkyPilot

SkyPilot offre une expérience transparente pour le déploiement de LLMs comme Mistral 7B sur diverses plates-formes 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 de SkyPilot

  1. Création du fichier de configuration :
    Commencez par créer un fichier de configuration qui indique à SkyPilot les spécificités du 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 démarrer le serveur d'inférence en utilisant la commande suivante :

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

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

Quotas d'utilisation et fournisseurs cloud

Il est essentiel de noter que de nombreux fournisseurs cloud exigent des demandes d'accès explicites pour les instances puissantes avec GPU. 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 représente une étape importante, le parcours de Mistral AI ne s'arrête pas là. L'engagement de l'entreprise à repousser les limites du traitement du langage naturel et de l'intelligence artificielle garantit que nous pouvons nous attendre à davantage d'innovations, d'améliorations et de modèles révolutionnaires à l'avenir.

Foire aux questions (FAQ)

  1. Qu'est-ce que Mistral 7B ?
    Mistral 7B est un modèle de langage de grande envergure (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 comme AWS, GCP ou Azure à l'aide de SkyPilot.

  3. Mistral 7B est-il open source ?
    Oui, Mistral 7B est publié sous la licence Apache 2.0, ce qui le rend open source et accessible à une communauté plus large.

  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 souhaitez connaître les dernières nouvelles sur les LLM ? Consultez le dernier classement des LLM !

Banner Ad