Carte modèle pour Mixtral-8x7B Un mélange d'experts épars de haute qualité.

Le Mixtral-8x7B Large Language Model (LLM) est un mélange génératif épars d'experts pré-entraîné. Le Mixtral-8x7B est plus performant que le Llama 2 70B sur la plupart des critères de référence que nous avons testés.

Pour plus de détails sur ce modèle, veuillez lire notre publication d'un article de blog.

image 15

Ce repo contient des poids compatibles avec vLLM au service du modèle ainsi que du Hugging Face transformateurs bibliothèque. Elle est basée sur la version originale de Mixtral libération de torrentsmais le format du fichier et les noms des paramètres sont différents. Veuillez noter que le modèle ne peut pas (encore) être instancié avec HF.

image 14

Ce format doit être strictement respecté, faute de quoi le modèle produira des résultats sous-optimaux.

Le modèle utilisé pour construire une invite pour le modèle Instruct est défini comme suit :

[INST] Instruction [/INST] Modèle de réponse [INST] Instruction de suivi [/INST]

Il convient de noter que  et  sont des jetons spéciaux pour le début de la chaîne (BOS) et la fin de la chaîne (EOS), tandis que [INST] et [/INST] sont des chaînes de caractères normales.

À titre de référence, voici le pseudo-code utilisé pour symboliser les instructions lors de la mise au point :

def tokenize(text) :
    return tok.encode(text, add_special_tokens=False)

[BOS_ID] +
tokenize("[INST]") + tokenize(USER_MESSAGE_1) + tokenize("[/INST]") +
tokenize(BOT_MESSAGE_1) + [EOS_ID] +
...
tokenize("[INST]") + tokenize(USER_MESSAGE_N) + tokenize("[/INST]") +
tokenize(BOT_MESSAGE_N) + [EOS_ID]

Dans le pseudo-code ci-dessus, notez que l'élément symboliser ne doit pas ajouter automatiquement un jeton BOS ou EOS, mais doit ajouter un espace de préfixe.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(model_id)

text = "Bonjour, mon nom est"
inputs = tokenizer(text, return_tensors="pt")

outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Par défaut, les transformateurs chargeront le modèle en pleine précision. Par conséquent, vous pourriez être intéressé par une réduction supplémentaire des besoins en mémoire pour exécuter le modèle grâce aux optimisations que nous offrons dans l'écosystème HF :

En demi-précision

Note float16 la précision ne fonctionne que sur les appareils à GPUCliquez pour agrandir

Précision inférieure en utilisant (8 bits & 4 bits) en utilisant bits et octets

Cliquez pour agrandir

Charger le modèle avec Flash Attention 2

Cliquez pour agrandir

Le modèle Mixtral-8x7B Instruct est une démonstration rapide que le modèle de base peut être facilement ajusté pour obtenir des performances convaincantes. Il ne comporte aucun mécanisme de modération. Nous sommes impatients de collaborer avec la communauté pour trouver des moyens de rendre le modèle plus respectueux des garde-fous, afin qu'il puisse être déployé dans des environnements exigeant des résultats modérés.

L'équipe Mistral AI

Albert Jiang, Alexandre Sablayrolles, Arthur Mensch, Blanche Savary, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand, Gianna Lengyel, Guillaume Bour, Guillaume Lample, Lélio Renard Lavaud, Louis Ternon, Lucile Saulnier, Marie-Anne Lachaux, Pierre Stock, Teven Le Scao, Théophile Gervet, Thibaut Lavril, Thomas Wang, Timothée Lacroix, William El Sayed.

fr_FRFrench