Sentence-BERT est une modification du réseau BERT pré-entraîné qui utilise des structures de réseaux siamois et de triplets pour dériver des plongements de phrases sémantiquement significatifs. Introduit en 2019 par Nils Reimers et Iryna Gurevych au Ubiquitous Knowledge Processing Lab de l'Université technique de Darmstadt, il répond à l'inefficacité computationnelle de l'utilisation de BERT pour les tâches de similarité sémantique. Le BERT standard nécessite de fournir les deux phrases au réseau et d'effectuer un processus coûteux de cross-encoder, ce qui est impraticable pour les recherches de similarité à grande échelle. Sentence-BERT génère plutôt des plongements de taille fixe pour des phrases individuelles, permettant de calculer la similarité via la similarité cosinus ou d'autres métriques de distance, ce qui le rend adapté à des tâches comme le regroupement et la recherche d'informations.
L'architecture utilise un réseau siamois, où le même modèle BERT est appliqué indépendamment à deux phrases d'entrée, produisant deux plongements. Ces plongements sont ensuite comparés à l'aide d'une couche de regroupement, généralement un regroupement moyen, pour obtenir un vecteur de longueur fixe. Le réseau est affiné sur des ensembles de données étiquetés à l'aide d'un objectif contrastif, tel que la perte softmax ou la perte de triplet, afin de garantir que des phrases sémantiquement similaires soient mappées à des points proches dans l'espace de plongement. Cette conception permet une inférence efficace, car les plongements d'un corpus peuvent être précalculés et stockés, réduisant le temps des comparaisons de similarité de plusieurs ordres de grandeur par rapport aux cross-encoders.
Formation et objectifs
Sentence-BERT est formé sur des ensembles de données comme le corpus Stanford Natural Language Inference (SNLI) et l'ensemble de données Multi-Genre Natural Language Inference (MultiNLI). Ces ensembles de données contiennent des paires de phrases étiquetées avec des relations d'implication, de contradiction ou de neutralité. Le modèle est affiné à l'aide d'une architecture siamoise avec un classifieur softmax qui prédit la relation entre les deux phrases. Le plongement final est extrait de la sortie regroupée du modèle BERT. Alternativement, une perte de triplet peut être utilisée, où le modèle est formé pour minimiser la distance entre une ancre et un exemple positif tout en maximisant la distance par rapport à un exemple négatif. Cette approche optimise directement l'espace de plongement pour les tâches de similarité.
Performance et efficacité
Sentence-BERT améliore considérablement la vitesse des calculs de similarité sémantique. Alors qu'un cross-encoder BERT standard pourrait prendre environ 65 heures pour traiter 10 000 paires de phrases sur un GPU moderne, Sentence-BERT peut calculer les mêmes similarités en environ 5 secondes, soit une accélération d'environ 9 000 fois. Cette efficacité le rend pratique pour des applications en temps réel telles que la recherche sémantique, la détection de doublons et le regroupement de grandes collections de textes. La qualité des plongements est compétitive avec des cross-encoders plus complexes, bien qu'elle puisse être légèrement inférieure sur certains benchmarks, mais le compromis est souvent acceptable pour une utilisation à grande échelle.
Applications et variantes
Sentence-BERT a été largement adopté dans diverses applications de traitement du langage naturel. Il est couramment utilisé pour la similarité textuelle sémantique, la détection de paraphrases et la recherche d'informations. Il sert également de base pour la récupération dense de passages dans les systèmes de questions-réponses. Plusieurs variantes ont été développées, notamment des modèles multilingues qui prennent en charge plusieurs langues, et des versions affinées spécifiques à un domaine pour des domaines comme la biomédecine et les textes juridiques. L'approche a inspiré des modèles de plongement similaires, comme la bibliothèque sentence-transformers, qui fournit des implémentations faciles à utiliser et des modèles pré-entraînés.
Relation avec d'autres modèles
Sentence-BERT s'appuie sur l'architecture Transformer (architecture) et le paradigme des Large language model, mais il est spécifiquement conçu pour une représentation efficace au niveau de la phrase. Contrairement aux modèles génératifs comme GPT de OpenAI, qui produisent du texte, Sentence-BERT se concentre sur des tâches discriminatives. Il se distingue également des cross-encoders comme le BERT original, qui traitent conjointement des paires de phrases. L'architecture siamoise est une forme de conception de Neural network qui a été utilisée dans d'autres domaines, comme la reconnaissance faciale, et a été adaptée ici pour le langage. Les plongements produits par Sentence-BERT sont souvent utilisés en combinaison avec des techniques de Machine learning comme le regroupement et la réduction de dimensionnalité.
Limites et orientations futures
Malgré ses avantages, Sentence-BERT présente des limites. La qualité des plongements dépend fortement des données d'entraînement et de la stratégie de regroupement. Il peut ne pas capturer des relations sémantiques complexes qui nécessitent une compréhension contextuelle plus profonde, et il peut être sensible aux changements de domaine. Les chercheurs ont exploré des améliorations, telles que l'incorporation d'un apprentissage contrastif sur de grands corpus non étiquetés, et l'utilisation de méthodes de regroupement plus avancées. En 2025, de nouveaux modèles de plongement, tels que ceux basés sur Generative AI et Large language model, ont émergé, mais Sentence-BERT reste une approche fondamentale et largement utilisée pour les plongements de phrases.