Correr un modelo de lenguaje completamente offline en una Raspberry Pi 5 ya no es una hazaña, pero hay algo nuevo: la propia Raspberry Pi ahora recomienda una forma de hacerlo. El 11 de agosto de 2026, Google AI Edge y Raspberry Pi publicaron un anuncio conjunto: LiteRT, el entorno de ejecución de Google, quedó optimizado para la Pi 5, incluyendo modelos de la familia Gemma. En este tutorial vas a instalar LiteRT paso a paso y dejar a Gemma respondiendo localmente en tu Pi. Y como el original se probó en una Pi 5 de 8GB, acá agregamos algo que ningún anuncio oficial responde: ¿alcanza con una Pi 5 de 4GB? La respuesta corta, medida por nosotros, es que sí.

Qué es LiteRT (y qué anunciaron)

LiteRT es el entorno de ejecución de Google para modelos de IA en dispositivos, el sucesor directo de TensorFlow Lite. Ejecuta modelos clásicos de ML y modelos de lenguaje de forma local, sobre CPU o GPU. Desde agosto de 2026 está oficialmente optimizado para la Raspberry Pi 5, gratis y de código abierto.

El anuncio trajo tres cosas: modelos de lenguaje Gemma corriendo vía una capa llamada LiteRT LM (desde Gemma 3 270M hasta Gemma 4 E4B; el punto dulce recomendado es Gemma 4 E2B), soporte experimental de GPU vía el driver Vulkan V3DV, y una CLI liviana que descarga y ejecuta modelos bajando solo las partes que realmente usas.

Comprobar los requisitos del sistema para LiteRT en la Raspberry Pi

Los números oficiales de Google (Pi 5 de 8GB, 4 hilos, 1.024 tokens de entrada y 256 de salida) muestran a Gemma 4 E2B en LiteRT LM a 99 tokens/s de entrada y 9 de salida, con un pico de RAM de 1.432 MB, contra 24/4 tokens/s y 4.406 MB de llama.cpp. La ventaja es real, pero ojo: comparan un modelo en cuantización QAT contra una variante Q4_0 de llama.cpp, así que no es un uno-a-uno limpio. Por eso, más abajo, medimos nosotros mismos en una Pi de 4GB.

Lo que necesitas

LiteRT corre sin hardware extra. ni AI HAT ni acelerador. :

  • Una Raspberry Pi 5. Google prueba con la de 8GB; nuestro test completo corrió en la mucho más barata de 4GB, y alcanza.
  • Raspberry Pi OS de 64 bits (aarch64). La de 32 bits queda fuera.
  • Al menos 10GB libres: el modelo pesa 2,59GB y el primer arranque agrega ~1GB de caché de compilación.
  • Refrigeración activa (un cooler): la Pi trabaja a full en sus cuatro núcleos durante la generación.
  • Una fuente potente: bajo carga, conviene la fuente oficial USB-C de la Pi 5, si no, el chip se estrangula.

Una SSD NVMe (vía el M.2 HAT de la Pi 5) no es obligatoria, pero se nota: el modelo se lee del disco en cada arranque (2,6GB), así que cada mejora de velocidad de lectura ayuda directo.

Antes de partir, verifica los requisitos:

Bash
uname -m
cat /etc/os-release
free -h
df -h ~

En uname -m debe salir aarch64. Si sale armv7l, tienes un sistema de 32 bits y hay que reinstalar con Raspberry Pi OS de 64 bits.

Instalar LiteRT

LiteRT no viene por apt, sino como paquete de Python. Google recomienda uv, un gestor de paquetes muy rápido.

Paso 1. instalar uv. La segunda línea es más importante de lo que parece: deja uv disponible en la shell actual. Si la omites, el siguiente paso te saluda con "command not found":

Bash
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uv --version

Paso 2. directorio de trabajo y entorno virtual. Hazlo en una carpeta propia: --clear borra sin aviso cualquier .venv existente en el directorio actual:

Bash
mkdir -p ~/litert-test && cd ~/litert-test
uv venv --clear --python=3.13 --seed
source .venv/bin/activate

Paso 3. instalar la CLI de LiteRT:

Bash
uv pip install litert-cli-nightly
litert --help

Ojo con una trampa fea del preview: la parte de modelos de lenguaje no viene con la instalación base. Si lanzas el comando de ejecución directo, se cae con un error que recomienda instalar litert-lm-cli… un paquete que no existe. El nombre correcto es litert-lm-nightly:

Bash
uv pip install litert-lm-nightly

Ejecutar Gemma 4 localmente

La forma robusta de bajar el modelo una sola vez (y saber dónde queda) es con litert download. Clave: sin el filtro --file te bajas todo el repositorio, casi 24GB con todas las variantes de hardware:

Bash
litert download litert-community/gemma-4-E2B-it-litert-lm --file "gemma-4-E2B-it.litertlm" --output gemma
litert lm run ./gemma/gemma-4-E2B-it.litertlm --prompt="Was ist die Hauptstadt von Frankreich?"

Descarga del modelo Gemma 4 E2B con LiteRT en la Raspberry Pi

En el primer arranque, LiteRT compila el modelo una vez para tu procesador y deja archivos .xnnpack_cache al lado (≈1GB extra); los arranques siguientes ya no repiten ese paso. Si dejas fuera --prompt, entras a un chat interactivo y el modelo queda cargado entre preguntas.

Primera respuesta de Gemma 4 E2B en el terminal de LiteRT LM

¿Cuánta RAM consume? (la prueba en 4GB)

Google reporta un pico de 1.432 MB en la Pi de 8GB. En nuestra Pi 5 de 4GB, mientras el modelo escribía una respuesta larga, la memoria ocupada fue de 1.572 MB de 4.049, con ~2,4GB libres. Lo más importante: el swap se mantuvo en cero durante toda la generación. Es decir, no hay swapping que vuelva el sistema inusable: Gemma 4 E2B y la Pi de 4GB conviven cómodos.

Uso de RAM del modelo Gemma durante la generación en la Raspberry Pi 5

Para seguirlo en vivo, abre una segunda sesión SSH con watch -n1 free -m.

Medir el rendimiento

La CLL trae su propio benchmark. Nuestros resultados en la Pi 5 de 4GB frente a la referencia de Google (8GB) fueron: prefill 96,46 vs 99 tokens/s, decode 7,74 vs 9 tokens/s, con init en 0,74s y tiempo al primer token de 2,78s.

Benchmark de Gemma 4 E2B en la Raspberry Pi 5

Lo notable: nuestras cifras vienen del modelo en 4GB y quedan casi a la par de la referencia de 8GB. Más RAM no hace más rápido al modelo mientras quepa cómodo. Y ~8 tokens/s de salida significa, en la práctica, que el modelo escribe más o menos a la velocidad a la que lees: perfecto para chat, con paciencia para textos largos.

Y en la práctica, ¿qué tan bueno es?

Le pedimos un típico problema maker: "Mi Raspberry Pi se calienta mucho. Escríbeme un script bash corto que lea la temperatura de la CPU y avise sobre 70 grados." La respuesta se veía impecable. bien estructurada, con cron y systemd. pero no funciona en una Pi: usaba lm-sensors y buscaba entradas "Core", que son mundo de CPUs de escritorio. En la Pi el sensor se llama cpu_thermal. Así se hace de verdad, sin paquetes extra:

Bash
#!/bin/bash
TEMP=$(( $(cat /sys/class/thermal/thermal_zone0/temp) / 1000 ))
if [ "$TEMP" -gt 70 ]; then
  echo "Warnung: CPU bei ${TEMP} Grad – Kühlung prüfen!"
fi

Gemma 4 E2B responde una pregunta cotidiana sobre la temperatura de la CPU

La moraleja: Gemma 4 E2B es un generalista fuerte en lenguaje, pero no un especialista en hardware. Para resumir, traducir o explicar es sorprendentemente útil en la Pi; para detalles técnicos, verifica siempre las respuestas.

Variantes y mejoras

  • Clasificar imágenes, no solo texto: LiteRT hereda todo lo de TensorFlow Lite. Con litert download litert-community/efficientnet_b1 puedes correr reconocimiento de imágenes (EfficientNet), detección de objetos (YOLOX) o reconocimiento de voz (Moonshine) en el mismo entorno.
  • Repartir CPU y GPU: el soporte GPU (vía V3D_WEBGPU_OVERRIDE=1 ... --gpu) hoy es más lento que la CPU, pero sirve para dividir trabajo: visión en la GPU, modelo de lenguaje en la CPU, sin pelearse los núcleos.
  • Traductor offline: con el proyecto de ejemplo Gemma Translator de Google puedes convertir la Pi 5 en un intérprete que funciona 100% sin internet.

Personalización para Chile

En Chile consigues el hardware base en MechatronicStore:

  • Raspberry Pi 5 (SKU A-403). desde $139.990 CLP
  • Cooler activo (disipador + ventilador PWM) para Raspberry Pi 5 (SKU N-344). $7.490 CLP
  • Tarjeta MicroSD 32GB (SKU B-450). $12.990 CLP

Dos aclaraciones honestas: la fuente oficial USB-C de 27W de la Pi 5 y el M.2 HAT NVMe no están hoy en el catálogo, así que no los forzamos con equivalentes de otra tecnología (una fuente con conector barrel o un cargador de 2A no cumplen el estándar USB-C PD que pide la Pi 5). El M.2 HAT, además, es opcional: como muestra la prueba, con una buena microSD basta para partir.

Recursos

Versión chilena con componentes en stock local en MechatronicStore, inspirada en el análisis de raspberry.tips y complementada con mediciones propias en una Pi 5 de 4GB.