Gemma 4 en Raspberry Pi 5: límites del despliegue y prueba reproducible

Método reproducible para medir Gemma 4 en Raspberry Pi 5: modelo, memoria, latencia del primer token, velocidad y acceso LAN.

Este fue un experimento al límite: ejecutar la variante mínima Gemma 4 E2B en una Raspberry Pi 5 con 8GB de RAM.

El registro original demuestra que el servicio arrancó y que un cliente de la LAN pudo conectarse, pero no conservó el nombre de la cuantización, token/s, tiempo hasta el primer token ni pico de memoria. Demuestra viabilidad, no constituye un benchmark completo.

Entorno original

  • Dispositivo: Raspberry Pi 5, cuatro núcleos y 8GB de RAM
  • Sistema: Ubuntu Server sin interfaz gráfica
  • Acceso: SSH
  • Runtime: LM Studio CLI
  • Modelo: Gemma 4 E2B; no se registraron cuantización ni hash

El tamaño no identifica por sí solo el modelo. BF16, Q8 y Q4 difieren mucho en almacenamiento, memoria y velocidad. Una repetición debe conservar el nombre completo y SHA256.

Flujo de despliegue y límites

Instala LM Studio CLI y confirma los comandos de la versión actual:

1
2
lms --help
lms server --help

Guarda los modelos en un SSD externo para no escribir repetidamente en la tarjeta SD. Comprueba montaje, espacio y permisos. En un equipo de 8GB empieza con una cuantización pequeña y contexto de 2K o 4K para dejar margen al sistema y al KV cache.

La configuración original inició una API compatible y consultó la lista desde la propia Pi. Como solo escuchaba en localhost, socat conectó un puerto LAN con el puerto interno; un MacBook de la misma red obtuvo la lista.

Eso valida conectividad, no rendimiento. Mantén el endpoint en una LAN confiable. Para acceso remoto usa un túnel SSH o reverse proxy autenticado, no una API pública sin autenticación.

Un editor que admita un base_url compatible con OpenAI puede conectarse. La prueba original con Zed solo verificó el chat básico; al no guardar latencia ni salida, no sirve como dato de rendimiento.

Prueba de rendimiento reproducible

Registra sistema, memoria, almacenamiento y modelo exacto:

1
2
3
4
5
6
uname -a
cat /etc/os-release
free -h
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
ls -lh /path/to/model.gguf
sha256sum /path/to/model.gguf

Reinicia el servicio y fija prompt, contexto, hilos y máximo de tokens. Consulta --help porque los parámetros pueden cambiar. En otra terminal registra la memoria cada segundo:

1
while true; do date -Iseconds; free -m | sed -n '1,2p'; sleep 1; done | tee memory.log

Ejecuta al menos tres pasadas: una fría y dos calientes.

Elemento Prueba 1 Prueba 2 Prueba 3
Modelo y cuantización pendiente pendiente pendiente
Contexto pendiente pendiente pendiente
Primer token pendiente pendiente pendiente
Generación token/s pendiente pendiente pendiente
Pico de memoria pendiente pendiente pendiente
Uso de swap pendiente pendiente pendiente

Si funciona localmente pero no por LAN, comprueba dirección de escucha, puerto y firewall. Si aumenta el swap, reduce contexto, usa una cuantización menor o detén el servicio; no confundas intercambio a disco con rendimiento utilizable.

Casos adecuados

Es más apropiado para aprendizaje offline, experimentos edge, automatización poco frecuente y prompts cortos. No es ideal para chat frecuente, análisis de repositorios largos o desarrollo sensible a la latencia.

Conclusión

Es viable iniciar Gemma 4 E2B en Raspberry Pi 5 y acceder por LAN, pero el registro conservado no permite publicar cifras fiables. Mide primer token, velocidad, pico de memoria y swap con un protocolo fijo antes de decidir si el hardware es suficiente.