1 puntos por GN⁺ 2025-06-27 | 1 comentarios | Compartir por WhatsApp
  • Gemma 3n es el modelo más reciente de IA multimodal on-device para entornos móviles y edge, capaz de procesar imágenes, audio, video y texto
  • Con una arquitectura enfocada en la eficiencia e innovaciones como Matformer, Per-Layer Embeddings y MobileNet-V5, ofrece un rendimiento al nivel de los grandes modelos en la nube usando solo 2~3 GB de memoria
  • Está disponible en dos tamaños, E2B y E4B, y permite tamaños personalizados más finos para ajustarse al hardware mediante el enfoque Mix-n-Match
  • Puede aplicarse de inmediato a diversos casos de uso de IA on-device, como reconocimiento y traducción de voz, análisis visual en tiempo real y procesamiento multilingüe en 140 idiomas
  • Se integra ampliamente con ecosistemas open source clave de IA como Hugging Face, Ollama y llama.cpp, y puede usarse de inmediato con distintas herramientas, API y SDK

Resumen y contexto

  • El primer modelo Gemma, lanzado a inicios del año pasado, superó los 160 millones de descargas y creció hasta convertirse en un ecosistema llamado Gemmaverse
  • Ese ecosistema incluye varios modelos especializados, como en seguridad y salud, además de múltiples casos de uso innovadores creados gracias a contribuciones de la comunidad
  • Impulsado por ese éxito, Google anunció el lanzamiento oficial de Gemma 3n, diseñado con enfoque móvil
  • Ofrece una amplia integración con ecosistemas y herramientas amigables para desarrolladores como Hugging Face Transformers, llama.cpp, Google AI Edge y Ollama
  • Presenta en profundidad, desde la perspectiva de los desarrolladores, las innovaciones clave, benchmarks y formas de desarrollo con Gemma 3n

What’s new in Gemma 3n?

  • Gemma 3n representa un nuevo salto para la IA on-device
  • Ofrece soporte multimodal nativo para entradas de texto, imagen, audio y video, con salida en texto
  • Maximiza la eficiencia y se ofrece en dos tamaños de modelo, E2B (5B parámetros) y E4B (8B parámetros), pudiendo ejecutarse incluso con poca memoria (2 GB y 3 GB)
  • Incorpora arquitecturas innovadoras como MatFormer, Per Layer Embeddings, LAuReL y AltUp, además de nuevos codificadores de audio y visión
  • Soporta 140 idiomas, comprensión multimodal en 35 idiomas, mejoras en matemáticas, programación y razonamiento, y supera los 1300 puntos en LMArena para E4B

MatFormer: un modelo, varios tamaños

  • La arquitectura MatFormer (🪆Matryoshka Transformer) es una nueva estructura transformer diseñada para escalabilidad y flexibilidad
  • Aprovecha el principio de las muñecas rusas matrioshka, donde modelos pequeños quedan incluidos de forma independiente dentro de un modelo grande
  • Durante el entrenamiento de E4B, el submodelo E2B se optimiza al mismo tiempo, lo que permite inferencia hasta 2 veces más rápida sin descargar modelos extraídos por separado
  • Con el enfoque Mix-n-Match es posible crear modelos intermedios personalizados según las restricciones del hardware, usando redes feedforward o salto de capas
  • En MatFormer Lab se pueden revisar configuraciones óptimas basadas en benchmarks y generar modelos
  • En el futuro también planea soportar Elastic execution, es decir, cambio dinámico en tiempo real del tamaño del modelo

Per-Layer Embeddings (PLE): máxima eficiencia de memoria on-device

  • Con Per-Layer Embeddings (embeddings por capa), mejora la calidad en despliegues on-device y al mismo tiempo minimiza el uso de memoria
  • De todos los parámetros (5B/8B), solo los embeddings se cargan y procesan eficientemente en CPU, mientras que el núcleo transformer (2B/4B) permanece residente en la VRAM
  • Gracias a esto, puede funcionar sin pérdida de calidad usando mucha menos memoria que antes, con solo alrededor de 2B parámetros en el acelerador

KV Cache Sharing: optimización para entradas de contexto largo

  • Gemma 3n añade la función KV Cache Sharing para procesar rápidamente entradas secuenciales largas como audio o video extensos
  • En la etapa de prefill (procesamiento inicial de entrada), comparte directamente la caché KV de capas intermedias con capas superiores, logrando mejoras de rendimiento de hasta más de 2 veces
  • Permite reconocer prompts de secuencia larga más rápido que antes, mejorando la capacidad en tiempo real de aplicaciones multimodales

Reconocimiento de audio: soporte para STT y traducción

  • Incorpora un codificador de audio basado en Universal Speech Model (USM), que usa tokens de audio en unidades de 160 ms como entrada para el modelo de lenguaje
  • Permite implementar reconocimiento de voz de alta calidad (ASR) y traducción de voz (AST) on-device
  • Se confirmó un alto rendimiento en pares de idiomas principales como inglés↔español, francés, italiano y portugués
  • Al usar la técnica de prompts Chain-of-Thought, es posible mejorar la calidad de traducción
  • El codificador de audio inicial, en el momento del lanzamiento, soporta clips de hasta 30 segundos, y más adelante se ampliará para procesamiento de streaming más largo

MobileNet-V5: codificador visual de última generación

  • MobileNet-V5-300M, integrado en Gemma 3n, es un codificador visual de alta eficiencia que ofrece gran rendimiento incluso en dispositivos edge
  • Soporta varias resoluciones de entrada, como 256x256, 512x512 y 768x768 píxeles, para ajustar rendimiento y nivel de detalle según la necesidad
  • Gracias al entrenamiento conjunto con grandes datasets multimodales, logra una comprensión amplia de imágenes y video y destaca en tareas visuales específicas
  • Permite análisis en tiempo real a 60 cuadros por segundo en Google Pixel
  • A nivel de arquitectura, aplica múltiples innovaciones como bloques basados en MobileNet-V4 (universal inverted bottleneck, Mobile MQA), estructura de pirámide híbrida y adaptador Multi-Scale Fusion VLM
  • Frente a SoViT (baseline de Gemma 3), es claramente superior con 13 veces más velocidad, 46% menos parámetros, 4 veces menos memoria y mayor precisión
  • Más adelante se publicarán detalles adicionales en el informe técnico, incluyendo arquitectura, estrategia de escalado de datos y técnicas de destilación de deep learning

Aplicación práctica y uso

  • Probarlo directamente en AI Studio: https://aistudio.google.com/prompts/new_chat?model=gemma-3n-e4b-it
  • Descarga y despliegue del modelo: disponible de inmediato en Hugging Face, Kaggle, Ollama y llama.cpp
  • Integración con herramientas y frameworks: compatible en la mayoría de los casos con Hugging Face Transformers/TRL, MLX, Docker, LMStudio, NVIDIA NeMo y Unsloth
  • Despliegue por API y en la nube: puede desplegarse en distintos entornos como Google GenAI API, Vertex AI y NVIDIA API

Principales escenarios de uso on-device

  • Asistentes de IA en tiempo real en smartphones y dispositivos edge, traductores de voz, chatbots multimodales, análisis visual en tiempo real e IoT
  • Integración de servicios de IA en entornos con recursos limitados
  • Innovación con IA en entornos offline o con restricciones de red

Recursos para desarrolladores

Gemma 3n Impact Challenge

1 comentarios

 
GN⁺ 2025-06-27
Opiniones en Hacker News
  • Este modelo muestra compatibilidad total con todo lo que antes hacía con gemma3; lo conecté de inmediato a mi script de fine-tuning de VLM y funcionó sin problemas (basado en código de hf transformers). Ejecutando el modelo E4B con LoRA en una sola GPU, necesitó 18 GB de VRAM con batch size 1, mientras que gemma-4B necesitaba 21 GB. En DeepMind de verdad hicieron un gran trabajo; la serie gemma3 es lo mejor entre los VLLM con pesos abiertos
    • Corrección: el modelo al que me refiero actualmente es E2B
  • Probé el prompt de "generar un SVG de un pelícano andando en bicicleta" en Gemma 3n de 7.5 GB (Ollama) y en la versión de 15 GB de mlx-vlm, y fue interesante porque los resultados variaron según cada tamaño de cuantización. Dejé los resultados aquí: https://simonwillison.net/2025/Jun/26/gemma-3n/
    • Me pregunto si esto realmente puede considerarse un benchmark significativo o si solo es por diversión. La verdad, no lo entiendo bien
  • Todavía no termino de entender cómo se diferencian Gemma y Gemini en entornos on-device; en ambos casos se pueden usar sin conexión de red. Ejemplo de texto oficial: "Gemini Nano ofrece experiencias ricas de IA generativa incluso sin conexión de red"; si en esa frase reemplazas Gemini por Gemma, sigue siendo completamente correcta
    • La diferencia es la licencia. No puedes usar directamente los pesos de Gemini Nano (especialmente con fines comerciales); solo se puede acceder a ellos mediante Android MLKit o runtimes aprobados por Google. En cambio, Gemma se puede usar comercialmente en cualquier runtime o framework que quieras
    • Si ves el blog preview de Gemma 3n, Gemma 3n y la nueva versión de Gemini Nano comparten la misma arquitectura. Creo que la n significa Nano. Nano es un modelo propietario integrado en Android, mientras que Gemma es un modelo abierto que se puede aplicar libremente en cualquier parte. Las fuentes relacionadas están en blogs y videos oficiales de Google
    • Gemma es de código abierto y tiene licencia Apache 2.0. Si quieres incluirlo en una app, tienes que empaquetarlo por tu cuenta. En cambio, Gemini Nano es una API de Android que no puedes controlar
    • Supongo que la diferencia entre ambos modelos está en los datos de entrenamiento. Del lado de Gemini parece haber un control mucho más estricto, y si intentas hacer que repita algo que estaba en los datos de entrenamiento, puede aparecer un 'recitation error'
  • Personalmente no me gusta que gracias a OpenAI este tipo de nombres caóticos se haya vuelto el estándar en la industria
    • Entonces me da curiosidad saber qué nombre le habrías puesto
  • Ya hice mi propia versión GGUF, así que si alguien la necesita puede probarla. La ejecuto así: ./llama.cpp/llama-cli -hf unsloth/gemma-3n-E4B-it-GGUF:UD-Q4_K_XL -ngl 99 --jinja --temp 0.0. También estoy preparando una demo en Colab para inference + finetuning. Gemma 3N soporta audio, texto y visión, así que de verdad impresiona. Más detalles en https://docs.unsloth.ai/basics/gemma-3n-how-to-run-and-fine-tune
    • Probé el modelo E4B en Ollama, pero la interpretación de imágenes funciona completamente mal. La salida depende solo del texto y siempre se equivoca de forma consistente; como la versión oficial de Gemma 3 4B sí funciona bien, concluí que es un problema de Ollama. Revisando, vi que por ahora el soporte es solo para texto[1]; ojalá eso estuviera indicado con más claridad. Me da flojera compilar llama.cpp por mi cuenta, así que probablemente esperaré a que haya soporte para GGUF. [1]: https://github.com/ollama/ollama/issues/10792#issuecomment-3009619264
    • Estaba por escribir que iba a usar la versión de Unsloth, pero al ver que ya la hiciste y la subiste, solo puedo decir: impresionante. ¡Qué grande!
    • ¡Gracias! Me pregunto qué especificaciones de PC se necesitan para correr este tipo de modelos
    • Me pregunto qué significa jinja aquí
  • Sinceramente, dudo de qué tanto sirven estos modelos pequeños en uso real. He probado varias cosas, pero cualquier modelo menor a 27B es difícil de usar para algo más que jugar, y como mucho da buenas respuestas de vez en cuando. Resolví un problema de filtro de spam con gemma3:27b-it-qat, y mis benchmarks también muestran que a partir de ese nivel ya se vuelve útil
    • Incluso con baja precisión sí tienen usos reales. No sé qué productos aparecerán en el futuro, pero ya hoy hay casos como este: en el teclado del iPhone se usa un modelo de lenguaje pequeño para sugerir la siguiente palabra, y el usuario solo tiene que elegirla. También sirven para acelerar la inferencia de modelos grandes, como en speculative decoding. Seguro aparecerán usos todavía más inteligentes
    • Estos modelos pequeños pueden ser muy útiles si los ves como infraestructura base. Me encantaría que algún día lleguemos a un futuro donde la mayoría de los teléfonos traigan un LLM integrado, como parte de la infraestructura básica
    • El mejor uso que encontré para modelos pequeños (<5bn params) es como herramienta de referencia offline. Cuando programo en el avión, en vez de Google uso qwen en mi MacBook Air para preguntar cosas básicas de sintaxis, documentación, etc.
    • Los modelos pequeños de 4b o menos son ideales para fine-tuning de tareas específicas, y pueden lograr resultados mejores que los modelos comerciales a un costo muy bajo. También son buenos para autocompletado de código. Los modelos de 7b~8b sirven para tareas rápidas y simples de programación, como refactorizar código (por ejemplo: "agrega el prefijo ST_ a todos los nombres de funciones con argumento de tipo SomeType"). A partir de 12b, modelos como Mistral Nemo o Gemma 3 12b ya pueden generar texto consistente
  • Kevin Kwok hizo un excelente resumen de la ingeniería inversa de la estructura del modelo, así que vale la pena verlo: https://github.com/antimatter15/reverse-engineering-gemma-3n
  • En algún lugar del sitio de Google debería haber una tabla con cada nombre de producto, descripción y función
  • El eje Y del gráfico está dibujado de una forma realmente absurda
  • ¿Alguien sabe cuánto cuesta realmente usar la versión desplegada de gemma 3n? En la documentación dice que gemma 3n se puede usar con la gemini api, pero el precio solo aparece como "unavailable"