- Un package qui permet d’implémenter des modèles de machine learning (ML) en langage Go, conçu pour exécuter des tâches de ML sans dépendre de Python
- Propose une alternative aux frameworks de ML centrés sur Python comme TensorFlow (TF), JAX et PyTorch, tout en tirant parti de la même efficacité matérielle sur une base Go
- S’appuie sur des technologies de compilateur et d’exécution bas niveau comme XLA et PJRT pour offrir des performances optimisées
Principales caractéristiques
- Construire des modèles de ML sans Python
- Permet de créer, entraîner et exécuter l’inférence de modèles uniquement en Go, sans code Python
- Génère des graphes de calcul d’une manière comparable à l’expressivité des frameworks de ML existants, avec prise en charge de la différenciation automatique et de l’entraînement des modèles
- Utilisation de XLA et PJRT
- Utilise la pile OpenXLA pour prendre en charge des opérations optimisées pour le matériel, en s’appuyant sur les mêmes composants de base que TensorFlow et JAX
- Inclut des fonctions avancées comme la différenciation automatique, la gestion des données tensorielles et le partitionnement des tâches
- Exemple d’implémentation d’un modèle CNN
- Implémentation en Go d’un modèle CNN (réseau neuronal convolutif) à l’aide du jeu de données CIFAR-10
- Sans Python, le modèle implémenté avec GoMLX atteint des performances comparables à celles d’un modèle entraîné avec TensorFlow+Keras
- Cas concret : le modèle Gemma2
- Utilise les poids du LLM (Large Language Model) Gemma2 fournis sur HuggingFace pour exécuter une inférence LLM à un niveau réellement exploitable en production
- Permet d’exécuter des modèles avancés comme Gemma2 même sans Python
Résumé
- GoMLX prend en charge l’implémentation, l’entraînement et l’inférence de modèles de ML en Go, tout en supprimant la dépendance à Python
- Grâce à XLA et PJRT, il fournit des opérations optimisées pour le matériel ainsi que des fonctions avancées de ML
- Même sans Python, il permet des tâches complexes comme un modèle CNN sur CIFAR-10 et l’inférence d’un LLM Gemma2
- GoMLX en est encore à ses débuts, mais ouvre la voie à un ML sans Python et laisse entrevoir un développement prometteur
Aucun commentaire pour le moment.