StableBeluga2 est un modèle de langage de pointe développé par Stability AI. Il s'agit d'un modèle auto-régressif finetuné sur Llama2 70B, avec la langue principale étant l'anglais. Il utilise la bibliothèque HuggingFace Transformers.
Pour commencer à utiliser StableBeluga2, il faut suivre quelques étapes. Tout d'abord, il faut importer les modules nécessaires tels que torch, AutoModelForCausalLM et AutoTokenizer depuis la bibliothèque transformers. Ensuite, on initialise le tokenizer et le modèle avec les paramètres appropriés. Par exemple, le tokenizer est initialisé avec AutoTokenizer.from_pretrained("stabilityai/StableBeluga2", use_fast=False)
et le modèle avec AutoModelForCausalLM.from_pretrained("stabilityai/StableBeluga2", torch_dtype=torch.float16, low_cpu_mem_usage=True, device_map="auto")
.
Pour interagir avec le modèle, on doit formuler un prompt correctement. Le format recommandé est le suivant : ### System: [texte du prompt système] ### User: [votre prompt ici] ### Assistant:
. Par exemple, si on veut demander à écrire un poème, le prompt pourrait être : system_prompt = "### System:\nYou are Stable Beluga, an AI that follows instructions extremely well. Help as much as you can. Remember, be safe, and don't do anything illegal.\n\n" message = "Write me a poem please" prompt = f"{system_prompt}### User: {message}\n\n### Assistant:\n"
. On encode alors le prompt avec le tokenizer et on le passe au modèle pour obtenir la sortie.
StableBeluga2 a été formé sur un dataset de style Orca interne. Le processus de formation comprend une finetuning supervisée sur les datasets mentionnés, avec une précision mixte (BF16) et une optimisation avec AdamW. Les hyperparamètres tels que la taille de lot du dataset, le taux d'apprentissage, la décroissance du taux d'apprentissage, le warm-up, la décroissance de poids et les betas ont été définis pour le processus de formation.
Cependant, il faut garder à l'esprit que Beluga est une nouvelle technologie qui comporte des risques avec son utilisation. Les tests effectués jusqu'à présent ont été en anglais et n'ont pas couvert tous les scénarios possibles. Par conséquent, comme pour tous les LLM, les sorties potentielles de Beluga ne peuvent pas être prédites à l'avance et le modèle peut dans certains cas produire des réponses inexactes, biaisées ou autres qui peuvent être objetées par les utilisateurs. Les développeurs doivent donc effectuer des tests et un réglage de sécurité adaptés à leurs applications spécifiques avant de déployer des applications basées sur Beluga.
Enfin, StableBeluga2 a eu 1 843 téléchargements au cours du dernier mois. Bien qu'il n'ait pas encore assez d'activité pour être déployé sur l'API d'inférence (serverless), on peut augmenter sa visibilité sociale et revoir plus tard, ou déployer sur les points d'extrémité d'inférence (dédiés) à la place.