Article de blog qui réimplémente BGE-M3, un modèle d’embedding dédié au RAG parmi les plus performants en coréen, au-delà de l’implémentation Python fournie par Huggingface, en utilisant TensorFlow/Keras sous une forme adaptée au serving à grande échelle en environnement d’entreprise.
- Prise en charge du serving en entreprise
- Traitement distribué à grande échelle possible dans un environnement Hadoop-Spark basé sur Java/Scala
- Implémentation de serveurs haute performance via Kotlin/Spring Boot
- Prise en charge des environnements de production à grande échelle via TensorFlow Serving
- Prise en charge des environnements mobiles/embarqués via TensorFlow Lite
- Simplification de l’architecture du modèle
- Implémentation de la structure centrale avec seulement des Dense Layer et LayerNorm
- Suppression des dépendances Python complexes
- Obtention d’un débit élevé grâce à une architecture allégée
- Caractéristiques de l’implémentation
- Implémentation des embeddings Word/Position/Token Type avec de simples Dense Layer
- Composition de 24 blocs Transformer avec des opérations TensorFlow pures
- Implémentation personnalisée de la Multi-Head Self-Attention pour optimiser les performances
- Cas d’usage concrets
- Traitement distribué d’embeddings dans de grands environnements Hadoop
- Apprentissage fédéré et services RAG basés sur Spring Boot
- Inférence mobile exploitant l’Apple Neural Engine
- Déploiement TensorFlow Serving de niveau entreprise
La méthode d’implémentation décrite dans l’article se distingue par la suppression des dépendances à Python et l’utilisation exclusive des fonctionnalités natives de TensorFlow, afin de permettre un service stable dans des environnements d’entreprise à grande échelle.
4 commentaires
https://github.com/sionic-ai/BGE-M3-Model-Converter
Nous avons publié l’intégralité du code.
L’article lui-même n’est pas si difficile, mais comme les codes joints aux explications sont quelque peu incomplets, il serait encore mieux que le code complet implémenté selon cette méthode soit partagé.
https://github.com/sionic-ai/BGE-M3-Model-Converter
Nous avons rendu public l’intégralité du code.
Merci
Je vais devoir le relire tranquillement haha