Cómo ejecutar un LLM local (Gemma 3) en iOS con MLC-LLM
(blog.devstory.co.kr)Esta es una publicación que resume cómo ejecutar localmente el modelo Gemma 3 en dispositivos iOS mediante MLC-LLM, junto con métricas de rendimiento reales.
Resumen
- Uso de MLC-LLM: permite construir un entorno de inferencia fluido en dispositivos móviles, con latencia casi nula gracias a la aceleración de la API Metal
- Proceso de build de Gemma 3 1B: guía completa del flujo de trabajo, desde la descarga del modelo desde Hugging Face hasta la cuantización q4f16_1, la aplicación de la plantilla de conversación (gemma3_instruction) y la compilación del kernel Metal
- Métricas de rendimiento y recursos:
- Gemma 2 2B: uso de aproximadamente 2.4 GB de VRAM
- Gemma 3 1B: uso de aproximadamente 1.14 GB de VRAM
- Consejo de ejecución: también incluye cómo empaquetar un modelo personalizado en un proyecto de Xcode mediante la configuración de
mlc-package-config.json
Evaluación
- Al usar MLC-LLM, es posible portar directamente LLMs de alto rendimiento a dispositivos iOS y obtener al mismo tiempo las ventajas de privacidad y ejecución sin conexión
- Parece tener cierta dificultad para generar respuestas estructuradas como en formato JSON
- Para aprovecharlo en funciones que requieren prompts de sistema complejos o en tareas de extracción de datos, parece necesario complementar con prompt engineering o trabajo adicional de fine-tuning
- Si en el futuro se avanza en la conexión de pipelines dedicados para cada modelo y en la optimización del proyecto, se espera que sea posible construir servicios de IA on-device aún más prácticos
8 comentarios
Yo lo estoy corriendo en un Galaxy Fold 4 con qwen 3 0.6b q5, pero hasta ahora me deja una sensación algo insatisfactoria.
Tengo curiosidad por saber en qué parte se queda corto.
¿La limitación está en que el modelo es demasiado pequeño y por eso el rendimiento del LLM no convence, o en que el desempeño de ejecución al correrlo en local es lo que deja que desear?
El rendimiento deja que desear. Como todavía no hay soporte para GPU ni para alguna NPU específica, va lento...
Estoy investigando el modelo gemma3 1b int4 en un Galaxy Note 20 Ultra.
Es un nivel que funciona en modelos antiguos.
Oh, ¿por casualidad tiene aceleración por Vulkan?
Se supone que funciona, pero a mí no me funciona :(
¿No sería difícil usarlo con fluidez en un Galaxy Note20 hasta que salga un modelo que funcione bien en una CPU de especificaciones más bajas y esté bien optimizado?
Por lo que se menciona arriba, dice que fue creado para kernels Metal exclusivos de Mac.
Tengo entendido que, si se usa MLX, la carga y la ejecución pueden ser más rápidas que con un GGUF común.
Pero hasta 4B queda medio ambiguo ;;