Cuando quieras ejecutar un modelo de Gemma, debes tomar dos decisiones clave: 1) qué variante de Gemma quieres ejecutar y 2) qué framework de ejecución de IA usarás para ejecutarla. Un problema clave para tomar ambas decisiones tiene que ver con el hardware que tú y tus usuarios tienen disponible para ejecutar el modelo.
Esta descripción general te ayuda a tomar estas decisiones y comenzar a trabajar con los modelos de Gemma. Los pasos generales para ejecutar un modelo de Gemma son los siguientes:
- Elige un framework para ejecutar
- Selecciona una variante de Gemma
- Ejecuta solicitudes de generación e inferencia
Elige un framework
Los modelos de Gemma son compatibles con una amplia variedad de herramientas del ecosistema. Elegir la adecuada depende del hardware disponible (GPU de Cloud o laptop local) y de tu preferencia de interfaz (código de Python o aplicación de escritorio).
Usa la siguiente tabla para identificar rápidamente la mejor herramienta para tus necesidades:
| If you want to... | Framework recomendado | Ideal para |
|---|---|---|
| Ejecutar de forma local con una IU de chat | - LM Studio - Ollama |
Principiantes o usuarios que desean una experiencia similar a Gemini en su laptop |
| Ejecutar de manera eficiente en el perímetro | - LiteRT-LM - llama.cpp - API de inferencia de LLM de MediaPipe - MLX |
Inferencia local de alto rendimiento con recursos mínimos |
| Compilar o entrenar en Python | - Biblioteca de Gemma para JAX - Transformers de Hugging Face - Keras - Unsloth |
Investigadores y desarrolladores que compilan aplicaciones personalizadas o ajustan modelos |
| Implementar en producción o en la empresa | - Google Cloud Kubernetes Engine (GKE) - Google Cloud Run - Vertex AI - vLLM |
Implementación en la nube administrada y escalable con seguridad empresarial y compatibilidad con MLOps |
Detalles del framework
Las siguientes son guías para ejecutar modelos de Gemma categorizados por tu entorno de implementación.
1. Inferencia local y de escritorio (alta eficiencia)
Estas herramientas te permiten ejecutar Gemma en hardware de consumo (laptops, computadoras de escritorio) mediante el uso de formatos optimizados (como GGUF) o aceleradores de hardware específicos.
- LM Studio: Es una aplicación de escritorio que te permite descargar modelos de Gemma y chatear con ellos en una interfaz fácil de usar. No se requiere programación.
- llama.cpp: Es un popular puerto de código abierto de Llama (y Gemma) en C++ que se ejecuta increíblemente rápido en CPU y Apple Silicon.
- LiteRT-LM: Ofrece una interfaz de línea de comandos
(CLI) para ejecutar modelos de Gemma
.litertlmoptimizados en computadoras de escritorio (Windows, Linux, macOS), con tecnología de LiteRT (antes TFLite). MLX: Es un framework diseñado específicamente para el aprendizaje automático en Apple Silicon, perfecto para usuarios de Mac que desean un rendimiento integrado.
Ollama: Es una herramienta para ejecutar LLM abiertos de forma local, que se usa con frecuencia para potenciar otras aplicaciones.
2. Desarrollo en Python (investigación y ajuste)
Frameworks estándar para desarrolladores de IA que compilan aplicaciones, canalizaciones o modelos de entrenamiento.
- Transformers de Hugging Face: Es el estándar de la industria para el acceso rápido a modelos y canalizaciones.
- Unsloth: Es una biblioteca optimizada para ajustar LLM. Te permite entrenar modelos de Gemma de 2 a 5 veces más rápido con mucha menos memoria, lo que permite ajustar las GPU de consumo (p.ej., los niveles gratuitos de Google Colab).
- Keras o JAX: Son bibliotecas principales para la investigación de aprendizaje profundo y la implementación de arquitectura personalizada.
3. Implementación perimetral y para dispositivos móviles (en el dispositivo)
Frameworks diseñados para ejecutar LLM directamente en dispositivos de usuario (Android, iOS, Web) sin conectividad a Internet, que suelen usar NPU (unidades de procesamiento neuronal).
- LiteRT-LM: Es el framework de código abierto para el desarrollo de LLM en el dispositivo que ofrece el máximo rendimiento y un control detallado, con compatibilidad directa para la aceleración de CPU, GPU y NPU en Android y iOS.
- API de inferencia de LLM de MediaPipe: Es la forma más sencilla de integrar Gemma en apps multiplataforma. Ofrece una API de alto nivel que funciona en Android, iOS y la Web.
4. Implementación en la nube y de producción
Servicios administrados para escalar tu aplicación a miles de usuarios o acceder a una gran potencia de procesamiento.
- Vertex AI: Es la plataforma de IA completamente administrada de Google Cloud. Es ideal para aplicaciones empresariales que requieren ANS y escalamiento.
- Google Cloud Kubernetes Engine (GKE): Para organizar tus propios clústeres de servicio.
- vLLM: Es un motor de inferencia y servicio de alto rendimiento y eficiente en cuanto a la memoria, que se usa con frecuencia en implementaciones en la nube.
Asegúrate de que el framework elegido admita el formato de modelo de Gemma de implementación deseado, como el formato integrado de Keras, Safetensors o GGUF.
Selecciona una variante de Gemma
Los modelos de Gemma están disponibles en varias variantes y tamaños, incluidos los modelos de Gemma básicos o principales, y variantes de modelos más especializadas, como PaliGemma y DataGemma, y muchas variantes creadas por la comunidad de desarrolladores de IA en sitios como Kaggle y Hugging Face. Si no estás seguro de con qué variante debes comenzar, selecciona el modelo de Gemma básico ajustado por instrucciones (IT) más reciente con la menor cantidad de parámetros. Este tipo de modelo de Gemma tiene requisitos de procesamiento bajos y puede responder a una amplia variedad de instrucciones sin requerir desarrollo adicional.
Ten en cuenta los siguientes factores cuando elijas una variante de Gemma:
- Gemma básico y otras familias de variantes, como PaliGemma y CodeGemma: Recomendamos Gemma (básico). Las variantes de Gemma más allá de la versión básica tienen la misma arquitectura que el modelo básico y están entrenadas para tener un mejor rendimiento en tareas específicas. A menos que tu aplicación o tus objetivos se alineen con la especialización de una variante específica de Gemma, es mejor comenzar con un modelo de Gemma básico o base.
- Ajustado por instrucciones (IT), entrenado previamente (PT), ajustado (FT), mixto
(mix): Recomendamos IT.
- Las variantes de Gemma ajustadas por instrucciones (IT) son modelos que se entrenaron para responder a una variedad de instrucciones o solicitudes en lenguaje humano. Estas variantes de modelo son el mejor lugar para comenzar, ya que pueden responder a instrucciones sin más entrenamiento del modelo.
- Las variantes de Gemma entrenadas previamente (PT) son modelos que se entrenaron para hacer inferencias sobre el lenguaje o cualquier otro dato, pero no se entrenaron para seguir instrucciones humanas. Estos modelos requieren entrenamiento o ajuste adicionales para poder realizar tareas de manera eficaz y están destinados a investigadores o desarrolladores que desean estudiar o desarrollar las capacidades del modelo y su arquitectura.
- Las variantes de Gemma ajustadas (FT) se pueden considerar variantes de IT, pero suelen entrenarse para realizar una tarea específica o tener un buen rendimiento en una comparativa específica de IA generativa. La familia de variantes de PaliGemma incluye varias variantes de FT.
- Las variantes de Gemma mixtas (mix) son versiones de modelos de PaliGemma que se ajustaron por instrucciones con una variedad de instrucciones y son adecuadas para el uso general.
- Parámetros: Recomendamos la menor cantidad disponible. En general, cuanto más parámetros tenga un modelo, más capaz será. Sin embargo, ejecutar modelos más grandes requiere recursos de procesamiento más grandes y complejos, y, por lo general, ralentiza el desarrollo de una aplicación de IA. A menos que ya hayas determinado que un modelo de Gemma más pequeño no puede satisfacer tus necesidades, elige uno con una pequeña cantidad de parámetros.
- Niveles de cuantización: Recomendamos la precisión media (16 bits), excepto para el ajuste. La cuantización es un tema complejo que se reduce al tamaño y la precisión de los datos y, por lo tanto, a la cantidad de memoria que usa un modelo de IA generativa para los cálculos y la generación de respuestas. Después de que se entrena un modelo con datos de alta precisión, que suelen ser datos de punto flotante de 32 bits, los modelos como Gemma se pueden modificar para usar datos de menor precisión, como tamaños de 16, 8 o 4 bits. Estos modelos de Gemma cuantizados aún pueden tener un buen rendimiento, según la complejidad de las tareas, mientras usan muchos menos recursos de procesamiento y memoria. Sin embargo, las herramientas para ajustar modelos cuantizados son limitadas y es posible que no estén disponibles en el framework de desarrollo de IA elegido. Por lo general, debes ajustar un modelo como Gemma con precisión completa y, luego, cuantizar el modelo resultante.
Para obtener una lista de los modelos de Gemma clave publicados por Google, consulta el Comienza a usar los modelos de Gemma y la Lista de modelos de Gemma.
Ejecuta solicitudes de generación e inferencia
Después de seleccionar un framework de ejecución de IA y una variante de Gemma, puedes comenzar a ejecutar el modelo y solicitarle que genere contenido o complete tareas. Para obtener más información sobre cómo ejecutar Gemma con un framework específico, consulta las guías vinculadas en la sección Elige un framework.
Formato de la instrucción
Todas las variantes de Gemma ajustadas por instrucciones tienen requisitos de formato de instrucción específicos. Algunos de estos requisitos de formato se controlan automáticamente con el framework que usas para ejecutar modelos de Gemma, pero cuando envías datos de instrucciones directamente a un tokenizador, debes agregar etiquetas específicas, y los requisitos de etiquetado pueden cambiar según la variante de Gemma que uses. Consulta las siguientes guías para obtener información sobre el formato de instrucciones y las instrucciones del sistema de la variante de Gemma: