Brief IA

Un pipeline local de classement multilingue avec BGE-M3

🤖 Models & LLM·Tom Levy·

Un pipeline local de classement multilingue avec BGE-M3

Un pipeline local de classement multilingue avec BGE-M3
Key Takeaways
12000 critiques Amazon en anglais et espagnol, étiquetées de 0 à 4
2Embeddings produits avec BGE-M3 via Ollama et Scikit-LLM, en local
3Pipeline LogisticRegression évalué après un split 80/20
💡Why it mattersles embeddings multilingues permettent d'entraîner un seul classificateur sans se soucier de la langue des textes.
Le brief IA que lisent les pros

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

📄
Full Analysis

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.