Mistral ####### Description *********** Mistral AI est une entreprise qui développe et entraîne des grands modèles de langages en open source à destination des entreprises. Ces modèles permettent aux entreprises d’utiliser l’intelligence artificielle générative tout en gardant le contrôle de leurs données et de leur propriété intellectuelle1. Voici quelques points clés à retenir sur Mistral AI : :Modèles d’IA: - Mistral 7B : Un modèle de langage génératif open source qui offre une efficacité et une rapidité comparables à celles des géants tels qu’OpenAI, Microsoft, Google et Meta. - Mixtral 8x7B : Un autre modèle de langage génératif open source. - Mistral Large : Le modèle phare, validé indépendamment pour sa capacité de raisonnement de premier ordre dans plusieurs langues. :Disponibilité: Vous pouvez **télécharger**, utiliser ou optimiser **ces modèles dans votre propre environnement** ou via une plateforme cloud proposée par Mistral AI. Mistral AI s’engage à fournir des technologies d’IA de pointe aux développeurs, tout en favorisant la transparence et la décentralisation dans le domaine de l’IA Déploiement et utilisation ************************** Code test ********* .. code-block:: python #!/bin/env python 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, device_map="auto") messages = [ {"role": "user", "content": "What is your favourite condiment?"}, {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"}, {"role": "user", "content": "Do you have mayonnaise recipes?"} ] inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda") outputs = model.generate(inputs, max_new_tokens=20) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) Configuration ************* .. note:: Source des infos: https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1 .. code-block:: bash $poetry init ... $poetry add transformers $poetry add torch $poetry add huggingface_hub $poetry add accelerate ... $poetry update ... - Générer un token en mode READ à l'adresse https://huggingface.co/settings/tokens - Enregistrer le token .. code-block:: bash $poetry run hugginface-cli login Exécution ********* - Lancer le code. La première fois, le code charge le model de Mistral sur le terminal. Cela peut prendre beaucoup de temps... ( 19x5 GB à télécharger à raison de 3.6MB/s soit environ 7h30. Prévoir 100Go de disque dur). Si plantage ou arrêt du code, relancer le programme pour terminer le chargement. .. warning:: La configuration de mon terminal n'est pas assez musclées (MacBook Pro M1, 16Go de RAM). Les préconisations sont de 48Go de RAM pour pouvoir exécuter le modèle en local. Alternative *********** Il est possible d'exécuter le modèle Mistral en s'appuyant sur Ollama (plateforme open-source qui vous permet d’exécuter et de personnaliser de grands modèles de langage (LLM) sur une machine locale) Cela fera l'objet d'un autre article. .. note:: Standby pour le moment. Voir comment exploiter les données collectées. En synthèse: - 100Go de chargé pour le modèle mais pas assez de mémoire pour l'exécuter. - Un compte créé sur Mistral mais pas exploité la possibilité de se connecter