Un pipeline local de classement multilingue avec BGE-M3

Le brief IA que les pros lisent chaque soir
Les 7 actus IA du jour, décryptées en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Un classificateur de texte multilingue peut être entraîné sans multiplier les modèles par langue. En s'appuyant sur des embeddings produits localement par BGE-M3 via Ollama et Scikit-LLM, une régression logistique apprend à partir de critiques en anglais et en espagnol. Le tout s'exécute sans API payante, sur un poste ou en notebook.
Des embeddings communs rendent la langue secondaire pour le classifieur
BGE-M3 a été pré-entraîné sur des données couvrant plus de 100 langues. Dans cette configuration, des phrases anglaises et espagnoles exprimant le même sens produisent des embeddings presque identiques. Une fois ces vecteurs fournis à une régression logistique, le classement de la note ne dépend plus réellement de la langue. Le modèle BGE-M3 est open-source et conçu pour gérer l'information multilingue lors de la génération d'embeddings.
Des critiques Amazon bilingues, encodées sur 5 niveaux
Le jeu Amazon Multi-language Reviews fournit des critiques notées sur 5 étoiles, encodées en étiquettes de 0 à 4. Un total de 2000 textes en anglais et en espagnol est chargé pour les besoins de l'entraînement. Il est recommandé de conserver un échantillon équilibré entre les langues et de mélanger aléatoirement avant la séparation des ensembles. Les sous-ensembles anglais et espagnol sont chacun mélangés avec une graine 42 et restreints à 1000 exemples, puis combinés dans un seul DataFrame et remélangés avec random_state 42. Les caractéristiques X correspondent à la colonne text et les étiquettes y à label. Le total affiché est de 2000 échantillons, avec une distribution des classes imprimée de 0:444, 3:410, 2:404, 4:380 et 1:362.
Une chaîne d’inférence locale et gratuite avec Ollama et Scikit-LLM
L'objectif affiché est une exécution 100 % gratuite, notamment en notebook, en évitant des API payantes comme OpenAI. Ollama fournit des modèles utilisables localement, et Scikit-LLM est configuré pour converser avec un serveur Ollama exécutant BGE-M3. Le serveur est lancé en arrière-plan, une attente de 5 secondes est appliquée pour l'initialisation, puis le modèle bge-m3 est récupéré. Scikit-LLM est pointé vers http://localhost:11434/v1/ et reçoit une clé factice, exigée par le client mais ignorée par Ollama. Démarrer Ollama en tâche de fond est présenté comme la voie la plus simple en environnement cloud, sans être indispensable en IDE local. L'installation prévoit en amont scikit-llm et datasets==2.19.1, ainsi que zstd et le script d'installation d'Ollama.
Vectoriser avec BGE-M3, entraîner en régression logistique et évaluer
Le pipeline comporte deux étapes : un GPTVectorizer de Scikit-LLM configuré avec le modèle bge-m3 pour produire les embeddings, suivi d'un classificateur LogisticRegression. Les données sont séparées avec 80 % pour l'entraînement et 20 % pour le test, avec une graine 42. Le vectoriseur est paramétré avec un batch_size de 32, et la régression logistique avec max_iter 1000 et random_state 42, avant d'entraîner le pipeline sur l'ensemble d'apprentissage. L'évaluation est conduite sur l'ensemble de test à l'aide des prédictions du pipeline et d'un rapport de classification. L'ensemble forme un classificateur multilingue sans multiplier les modèles par langue, en s'appuyant sur une configuration locale gratuite.
Brief IA — L'actualité IA en français
L'essentiel de l'actualité de l'intelligence artificielle, décrypté et expliqué chaque jour.