- Un paquete que permite implementar modelos de machine learning (ML) en el lenguaje Go, diseñado para realizar tareas de ML sin depender de Python
- Ofrece una alternativa a frameworks de ML centrados en Python como TensorFlow (TF), JAX y PyTorch, aprovechando en Go la misma eficiencia de hardware
- Utiliza tecnologías de compilador y runtime de bajo nivel como XLA y PJRT para ofrecer un rendimiento optimizado
Características principales
- Construcción de modelos de ML sin Python
- Permite crear, entrenar e inferir modelos usando solo Go, excluyendo código Python
- Soporta la creación de grafos computacionales y el entrenamiento de modelos con diferenciación automática, de forma similar a la expresividad de los frameworks de ML existentes
- Uso de XLA y PJRT
- Usa el stack de OpenXLA para soportar operaciones optimizadas para hardware y aprovecha los mismos componentes base que usan TensorFlow y JAX
- Incluye funciones avanzadas como diferenciación automática, gestión de datos de tensores y partición de trabajos
- Ejemplo de implementación de un modelo CNN
- Implementa en Go un modelo CNN (red neuronal convolucional) usando el dataset CIFAR-10
- El modelo implementado con GoMLX sin Python logra un rendimiento similar al de un modelo entrenado con TensorFlow+Keras
- Caso real: modelo Gemma2
- Ejecuta inferencia de LLM (Large Language Model) a nivel de producción real usando los pesos de Gemma2 LLM proporcionados por HuggingFace
- Hace posible ejecutar modelos avanzados como Gemma2 incluso sin Python
Resumen
- GoMLX permite implementar, entrenar e inferir modelos de ML basados en Go, eliminando la dependencia de Python
- Usa XLA y PJRT para ofrecer operaciones optimizadas para hardware y funciones avanzadas de ML
- Hace posibles tareas complejas como un modelo CNN de CIFAR-10 y la inferencia de Gemma2 LLM, incluso sin Python
- Aunque GoMLX está en una etapa temprana, abre la posibilidad del ML sin Python y genera expectativas sobre su evolución futura
Aún no hay comentarios.