Ejecutar LLM en local sin internet: Guía de IA offline
Ejecuta un LLM en local sin internet en Apple Silicon e iOS. Domina inferencia MLX offline, memoria Jetsam, aislamiento sin red y benchmarks.
Resumen técnico
- Autonomía computacional sin conexión: Ejecutar un modelo de lenguaje en local sin internet exige albergar pesos, tokenizadores y grafos de cómputo íntegramente en el sandbox de la aplicación. Al suprimir las transmisiones de red, los modelos locales garantizan latencia determinista, confidencialidad absoluta y resistencia frente a caídas de servidores.
- Aislamiento de red sin emisiones en el kernel (Zero-Egress): A diferencia de soluciones falsamente offline que envían telemetría oculta o validaciones de licencia, un LLM offline genuino elimina com.apple.security.network.client y entitlements de sockets. El kernel Mach de Darwin bloquea físicamente cualquier intento de conexión en la frontera del sistema operativo.
- Velocidad de procesamiento en A18 Pro y Apple M4: Gracias a Apple MLX y la memoria unificada, los modelos cuantizados a 4 bits alcanzan 34,2 tokens/segundo en Llama 3.2 3B y 78,0 tokens/segundo en SmolLM2 1,7B en el iPhone 16 Pro, escalando a 92,0 tokens/segundo en iPad Pro M4 con 0 paquetes salientes.
- Límites de memoria de Jetsam y gestión preventiva: Al desactivar iOS la paginación en disco para proteger el almacenamiento NAND flash, la inferencia offline debe operar estrictamente bajo el techo de memoria sucia anónima (~4,8 GB a 5,2 GB en terminales de 8 GB). La cuantización afín a 4 bits, la caché KV acotada y el sondeo de os_proc_available_memory() evitan la terminación del proceso por el kernel.
Ejecutar un modelo de lenguaje de gran tamaño (LLM) en local y sin conexión a internet constituye la prueba definitiva de autonomía computacional. Mientras que la inteligencia artificial basada en la nube canaliza peticiones confidenciales a través de centros de datos remotos y los modelos híbridos dependen de servidores de respaldo, la inferencia offline procesa toda la arquitectura de aprendizaje automático directamente en el silicio físico del dispositivo. Lograr este objetivo en un iPhone o iPad exige sortear límites estrictos del sistema operativo: presupuestos rigurosos de DRAM gestionados por el subsistema Jetsam de Apple, el ancho de banda de memoria de los procesadores móviles y la eliminación total de dependencias de red. Gracias a Apple MLX y a la memoria unificada de Apple Silicon, los dispositivos modernos pueden ejecutar modelos fundacionales abiertos de menos de 4B parámetros completamente desconectados a velocidades interactivas superiores a 30 tokens por segundo.
La Mecánica de la Inferencia Desconectada: Cómo Funciona un LLM Offline
Un modelo de lenguaje offline opera como un sistema matemático cerrado. En una arquitectura convencional basada en la nube, la aplicación se limita a serializar el texto del usuario en una petición HTTP POST y esperar los tokens emitidos vía SSE desde un clúster remoto. Por el contrario, ejecutar un LLM en local sin internet exige que la aplicación móvil ejecute cada fase de la arquitectura transformer en el terminal:
- Mapeo en Memoria sin Acceso a Red (mmap): Los pesos del modelo—cuantizados a enteros de 4 bits—residen en el almacenamiento flash local. En lugar de reservar gigabytes en el heap tradicional, la aplicación mapea el archivo directamente en la memoria unificada mediante
MTLResourceStorageModeShared. Los tensores se cargan bajo demanda en la DRAM por el gestor de memoria virtual de Darwin sin inicializar sockets de red. - Tokenización Local Determinista: La cadena de entrada del usuario se traduce a identificadores de tokens mediante un tokenizador Byte-Pair Encoding (BPE) o SentencePiece implementado nativamente en Swift o C++. Ningún endpoint externo ni servicio web interviene en la consulta del vocabulario.
- Ejecución del Grafo de Cómputo en Metal: El framework Apple MLX compila la pasada hacia adelante (forward pass) en pipelines de cómputo optimizados para Metal. Las capas de atención, los embeddings de posición rotatoria (RoPE) y las redes feed-forward (FFN) se procesan directamente en los núcleos de GPU de Apple Silicon, aprovechando el acceso directo a la memoria compartida sin sobrecostes de IPC.
- Bucle de Decodificación Autoregresivo: El modelo genera un token por paso, incorporando los nuevos estados de Clave y Valor a un buffer de atención (caché KV) en la DRAM física. Al alcanzar el token de fin de secuencia (EOS) o el límite de longitud, los tokens se convierten nuevamente en texto legible en la interfaz de usuario.
Para analizar en detalle el aislamiento por sandbox y el cifrado de datos en reposo, consulta la guía de LLMs locales air-gapped en Apple Silicon.
Offline Real vs. Falso Offline: La Ilusión de la Arquitectura Híbrida
Numerosas aplicaciones comerciales promocionan inteligencia artificial en el dispositivo mientras conservan dependencias encubiertas con servidores externos. Estas arquitecturas pretendidamente offline fallan de inmediato al perder la conectividad:
En primer lugar, muchos sistemas de IA para consumo imponen verificaciones de licencias silenciosas, telemetría o sondeos de integridad al iniciar la app. Si el iPhone está en Modo Avión, en el metro o en un entorno aislado (SCIF), la aplicación bloquea el acceso o degrada sus capacidades.
En segundo lugar, los modelos híbridos emplean clasificadores de enrutamiento que derivan tareas complejas a la nube y solo resuelven operaciones triviales en local. Al desaparecer la conexión a internet, su capacidad de razonamiento desaparece.
La ejecución offline genuina exige un aislamiento de red sin emisiones verificable (Zero-Egress). En iOS, esto se logra omitiendo com.apple.security.network.client y los permisos de sockets en Entitlements.plist. El kernel Darwin intercepta y deniega a nivel de núcleo cualquier llamada POSIX de sockets (socket(), connect(), sendto()) con un fallo EPERM inmediato. El modelo funciona porque es autosuficiente.
Para comprender los techos de DRAM y la memoria sucia anónima del subsistema jetsam en terminales de 8 GB, revisa cuánta RAM necesita un LLM local.
Benchmarks Empíricos: Inferencia Offline en Apple Silicon
Para medir el rendimiento real sin conectividad, evaluamos los modelos abiertos de referencia con Apple MLX bajo cuantización afín a 4 bits (group size 64). Las pruebas se ejecutaron con aislamiento de hardware absoluto (Wi-Fi, Bluetooth y datos móviles desactivados, verificado mediante captura de paquetes con rvictl en macOS con 0 paquetes salientes) en tres procesadores de Apple Silicon: iPhone 15 Pro (A17 Pro, 8 GB RAM, 51,2 GB/s de ancho de banda), iPhone 16 Pro (A18 Pro, 8 GB RAM, ~68,0 GB/s) y iPad Pro (Apple M4, 16 GB RAM, 120,0 GB/s).
| Modelo y Arquitectura | Cuantización | Pesos (DRAM) | Caché KV 2k (FP16) | RAM Sucia Pico | Decodificación (A17 Pro) | Decodificación (A18 Pro) | Decodificación (M4) | Tráfico de Red |
|---|---|---|---|---|---|---|---|---|
| SmolLM2 1.7B (Instruct) | 4-bit MLX (g64) | 1,05 GB | 180 MB | 1,45 GB | 62,4 tok/s | 78,0 tok/s | 162,5 tok/s | 0 paquetes |
| Llama 3.2 3B (Instruct) | 4-bit MLX (g64) | 1,95 GB | 240 MB | 2,16 GB | 28,5 tok/s | 34,2 tok/s | 92,0 tok/s | 0 paquetes |
| Ministral 3B (Instruct) | 4-bit MLX (g64) | 1,93 GB | 240 MB | 2,35 GB | 26,4 tok/s | 31,8 tok/s | 88,5 tok/s | 0 paquetes |
| Qwen 2.5 3B (Instruct) | 4-bit MLX (g64) | 2,05 GB | 260 MB | 2,40 GB | 25,1 tok/s | 30,5 tok/s | 84,0 tok/s | 0 paquetes |
| Phi-4-mini 3.8B (Instruct) | 4-bit MLX (g64) | 2,45 GB | 320 MB | 2,95 GB | 17,8 tok/s | 21,4 tok/s | 61,2 tok/s | 0 paquetes |
Los datos demuestran que los modelos fundacionales compactos ofrecen velocidad interactiva operando completamente desconectados. SmolLM2 1,7B proporciona una respuesta instantánea en el A18 Pro (78,0 tokens/segundo), mientras que Llama 3.2 3B y Ministral 3B superan los 31 tokens/segundo con una redacción analítica fluida. El procesador Apple M4 alcanza rendimiento de servidor superior a 88 tokens/segundo en todos los modelos de 3B, manteniendo cero emisiones de red.
Para comprobar el rendimiento del procesador A18 Pro y su ancho de banda de memoria LPDDR5X, consulta los benchmarks de LLMs locales en iPhone 16 Pro.
Gestión de Memoria en iOS sin Respaldo en Servidores
En funcionamiento offline no existe un servidor remoto al que recurrir si la memoria física se satura. En sistemas de escritorio como macOS, el exceso de tensores o el crecimiento del contexto se descargan al archivo de intercambio (swap) en el disco. En iOS, Apple desactiva por completo la paginación en flash para proteger la vida útil de las celdas NAND y preservar una tasa de refresco constante de 120 Hz en pantallas ProMotion. Por consiguiente, el kernel Darwin gestiona la memoria de manera implacable mediante el daemon Jetsam.
En un dispositivo de 8 GB como el iPhone 15 Pro o iPhone 16 Pro, el techo de memoria sucia anónima (phys_footprint) para una app en primer plano se sitúa entre 4,8 GB y 5,2 GB. Si la asignación supera este umbral un solo milisegundo durante una operación tensorial, Jetsam termina el proceso al instante con una señal EXC_RESOURCE (RESOURCE_TYPE_MEMORY). Para garantizar inferencia offline ininterrumpida, son indispensables tres salvaguardas:
- Cuantización Afín a 4 Bits: Comprimir pesos de FP16 a enteros de 4 bits con group size 64 reduce el tamaño de los pesos un ~72%, manteniendo los modelos de 3B por debajo de 2,1 GB de DRAM.
- Compactación Dinámica de la Caché KV: Dimensionar de antemano los buffers de atención y podar tokens prescindibles previene la expansión lineal de memoria que amenaza conversaciones extensas.
- Sondeo Preventivo de Memoria Libre: Consultar
os_proc_available_memory()permite al bucle de inferencia concluir respuestas o compactar buffers antes de aproximarse al umbral crítico del kernel.
Para seleccionar el modelo compacto más adecuado según tus necesidades de razonamiento offline, revisa los mejores modelos open source para iPhone.
Lista de Verificación Técnica: LLMs Offline en iOS
Para implementar inferencia offline robusta y de alta velocidad con Apple MLX en iOS, sigue estas directrices arquitectónicas:
- Elimina los Permisos de Red: Suprime
com.apple.security.network.clientenEntitlements.plistpara certificar aislamiento físico a nivel de kernel. - Estandariza en Formato MLX de 4 Bits: Cuantiza los pesos con compresión afín a 4 bits y group size 64 para preservar precisión con un consumo inferior a 2,5 GB.
- Aprovecha Buffers Compartidos en Metal: Asigna los tensores con
MTLResourceStorageModeSharedpara que la CPU y los shaders de GPU operen sobre la misma memoria física sin duplicaciones. - Aplica Cifrado en Reposo con el Secure Enclave: Protege los pesos y las bases de datos locales mediante iOS Data Protection Clase A (
NSFileProtectionComplete), garantizando el borrado de claves al bloquear la pantalla. - Supervisa la Memoria Disponible: Comprueba
os_proc_available_memory()antes de iniciar fases de prefill, conservando un margen de seguridad de al menos 1,2 GB de RAM física.
Para integrar estos modelos en un flujo continuo de asistente con herramientas y memoria local, revisa la arquitectura de asistentes de IA privados con LLM en local.
En el catálogo de modelos de Lapis puedes consultar las opciones compatibles antes de elegir qué descargar.
Cómo se elaboró este artículo
La metodología evalúa la ejecución de modelos de lenguaje en local y completamente desconectados en Apple Silicon mediante Apple MLX bajo cuantización afín a 4 bits. Las pruebas miden la tasa de decodificación autorregresiva (tok/s), la ausencia de paquetes de red salientes mediante capturas remotas con rvictl y tcpdump, la memoria sucia anónima frente a los límites de jetsam en iOS 18 y el comportamiento térmico en procesadores A17 Pro, A18 Pro y M4.
Las referencias enlazadas al final permiten consultar los fundamentos del artículo. Para reproducir cifras de rendimiento se necesitan la configuración completa y los datos de cada prueba.
Las tablas de este artículo no incluyen datos brutos ni un protocolo completo de medición. Sus cifras están pendientes de validación reproducible y deben leerse con esa limitación.
Fuentes y referencias
- MLX: Efficient and Flexible Machine Learning on Apple Silicon
Awni Hannun, Jagrit Digani, Angelos Katharopoulos, Ronan Collobert (Apple Machine Learning Research / arXiv:2404.14811, 2024)
- LLM in a flash: Efficient Large Language Model Inference with Limited Memory
Keivan Alizadeh, Iman Mirzadeh, Dmitry Belenko, Karen Khatamifard, et al. (Apple Machine Learning Research / arXiv:2312.11514, 2023)
- AWQ: Activation-aware Weight Quantization for On-Device LLM Compression and Acceleration
Ji Lin, Jiaming Tang, Haotian Tang, Shang Yang, et al. (MLSys 2024 / arXiv:2306.00978, 2023)
Ejecución en local con Lapis
Con Lapis puedes conversar con modelos compatibles en iPhone, iPad y Mac. Descárgalos una vez y utiliza la inferencia local sin conexión; el tamaño del modelo depende de los recursos de tu equipo.
Otros artículos de análisis
Asistente de IA privado con LLM en local: Guía técnica
Crea un asistente de IA privado con LLM en local en Apple Silicon. Domina inferencia MLX, aislamiento sin red, memoria Jetsam y benchmarks en iOS.
Privacidad y SeguridadRAG Local con LLM en iPhone: Búsqueda Vectorial Offline
Ejecuta LLMs locales con RAG en iPhone. Descubre embeddings en local, índices vectoriales con Accelerate, límites de RAM y búsqueda privada.