Cuando quieras ejecutar un modelo de Gemma, deberás tomar dos decisiones clave: 1) qué variante de Gemma quieres ejecutar y 2) qué framework de ejecución de IA usarás para ejecutarlo. Un problema clave para tomar ambas decisiones se relaciona 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 a comenzar a trabajar con los modelos de Gemma. A continuación, se describen los pasos generales para ejecutar un modelo de Gemma:
- Elige un framework para ejecutar
- Selecciona una variante de Gemma
- Ejecuta solicitudes de generación y de 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 (GPUs 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 | Uso ideal |
|---|---|---|
| Ejecuta de forma local con una IU de chat | - LM Studio - Ollama |
Principiantes o usuarios que desean una experiencia similar a la de Gemini en su laptop |
| Ejecución eficiente en Edge | - Gemma.cpp - LiteRT-LM - llama.cpp - API de MediaPipe LLM Inference - MLX |
Inferencias locales de alto rendimiento con recursos mínimos. |
| Compilación o entrenamiento en Python | - Biblioteca de Gemma para JAX - Hugging Face Transformers - Keras - PyTorch - Unsloth |
Investigadores y desarrolladores que crean aplicaciones personalizadas o ajustan modelos |
| Implementación en producción o en la empresa | - Google Cloud Kubernetes Engine (GKE) - Google Cloud Run - Vertex AI - vLLM |
Implementación administrada y escalable en la nube con seguridad empresarial y asistencia para MLOps |
Detalles del framework
A continuación, se incluyen guías para ejecutar modelos de Gemma categorizados según tu entorno de implementación.
1. Inferencia local y para computadoras (alta eficiencia)
Estas herramientas te permiten ejecutar Gemma en hardware para el consumidor (laptops, computadoras de escritorio) utilizando formatos optimizados (como GGUF) o aceleradores de hardware específicos.
- LM Studio: Es una aplicación para computadoras 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 port de código abierto de Llama (y Gemma) escrito en C++ que se ejecuta increíblemente rápido en CPUs y Apple Silicon.
- LiteRT-LM: Ofrece una interfaz de línea de comandos (CLI) para ejecutar modelos de Gemma optimizados en computadoras de escritorio (Windows, Linux, macOS) con tecnología de LiteRT (anteriormente, TFLite).
.litertlm - MLX: Es un framework diseñado específicamente para el aprendizaje automático en Apple Silicon, ideal para los usuarios de Mac que desean un rendimiento integrado.
- Gemma.cpp: Un motor de inferencia de C++ independiente y ligero, específicamente de Google.
- Ollama: Es una herramienta para ejecutar LLMs abiertos de forma local, que se suele usar para potenciar otras aplicaciones.
2. Desarrollo en Python (investigación y ajuste)
Son marcos de trabajo estándar para desarrolladores de IA que crean aplicaciones, canalizaciones o modelos de entrenamiento.
- Transformers de Hugging Face: Es el estándar de la industria para acceder rápidamente a modelos y canalizaciones.
- Unsloth: Una biblioteca optimizada para ajustar LLMs. Te permite entrenar modelos de Gemma entre 2 y 5 veces más rápido con mucha menos memoria, lo que hace posible la optimización en GPU para el consumidor (p.ej., niveles gratuitos de Google Colab).
- Keras, JAX y PyTorch: Son bibliotecas principales para la investigación del aprendizaje profundo y la implementación de arquitecturas personalizadas.
3. Implementación perimetral y para dispositivos móviles (en el dispositivo)
Son frameworks diseñados para ejecutar LLM directamente en los dispositivos de los usuarios (Android, iOS, Web) sin conectividad a Internet, que suelen utilizar NPU (unidades de procesamiento neuronal).
- LiteRT-LM: Es el framework de código abierto completo 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 MediaPipe LLM Inference: 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 en 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 procesamiento.
- vLLM: Es un motor de inferencia y entrega de alto rendimiento y eficiencia de memoria que se usa con frecuencia en implementaciones en la nube.
Asegúrate de que el framework que elegiste admita el formato del modelo de Gemma que deseas implementar, 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 base o principales de Gemma, y variantes de modelos más especializados, como PaliGemma y DataGemma, y muchas variantes creadas por la comunidad de desarrolladores de IA en sitios como Kaggle y Hugging Face. Si no sabes con qué variante comenzar, selecciona el modelo principal de Gemma más reciente ajustado con instrucciones (IT) con la menor cantidad de parámetros. Este tipo de modelo de Gemma tiene bajos requisitos de procesamiento y puede responder a una amplia variedad de instrucciones sin necesidad de desarrollo adicional.
Ten en cuenta los siguientes factores cuando elijas una variante de Gemma:
- Gemma Core y otras familias de variantes, como PaliGemma y CodeGemma: Recomienda Gemma (Core). Las variantes de Gemma más allá de la versión principal tienen la misma arquitectura que el modelo principal y se entrenan 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 base o principal de Gemma.
- Ajustado con instrucciones (IT), preentrenado (PT), ajustado (FT), mixto (mix): Se recomienda IT.
- Las variantes de Gemma ajustadas con base en instrucciones (IT) son modelos que se entrenaron para responder a una variedad de instrucciones o solicitudes en lenguaje humano. Estas variantes del modelo son el mejor punto de partida, ya que pueden responder a instrucciones sin necesidad de un entrenamiento adicional.
- Las variantes de Gemma preentrenadas (PT) son modelos que se entrenaron para realizar inferencias sobre el lenguaje o sobre otros datos, 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 deseen 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 son versiones de los modelos de PaliGemma que se ajustaron con una variedad de instrucciones y son adecuadas para el uso general.
- Parámetros: Recomienda el número más pequeño disponible. En general, cuanto más parámetros tiene un modelo, más capaz es. 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: Se recomienda la mitad de la precisión (16 bits), excepto para el ajuste. La cuantificación es un tema complejo que se reduce al tamaño y la precisión de los datos y, en consecuencia, a la cantidad de memoria que un modelo de IA generativa usa para los cálculos y la generación de respuestas. Después de entrenar un modelo con datos de alta precisión, que suelen ser datos de punto flotante de 32 bits, se pueden modificar modelos como Gemma para que usen datos de menor precisión, como tamaños de 16, 8 o 4 bits. Estos modelos de Gemma cuantizados pueden seguir funcionando bien, según la complejidad de las tareas, y, al mismo tiempo, usar muchos menos recursos de procesamiento y memoria. Sin embargo, las herramientas para ajustar modelos cuantificados son limitadas y es posible que no estén disponibles en el framework de desarrollo de IA que elijas. Por lo general, debes ajustar un modelo como Gemma con precisión total y, luego, cuantificar el modelo resultante.
Para obtener una lista de los modelos clave de Gemma publicados por Google, consulta la lista de modelos de Gemma en la sección Cómo comenzar a usar los 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 instrucciones
Todas las variantes de Gemma ajustadas con instrucciones tienen requisitos específicos de formato de instrucciones. Algunos de estos requisitos de formato se controlan automáticamente con el framework que usas para ejecutar los 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 de variantes de Gemma y las instrucciones del sistema: