LFM2 de Liquid AI: la arquitectura alternativa para l'edge
LFM2 de Liquid AI no es un transformer más: es una familia de modelos pequeños (350M a 8B) basada en una arquitectura híbrida donde la mayoría de las capas son convoluciones cortas, en lugar de capas de atención. Resultado anunciado por Liquid AI: una decodificación y un prefill aproximadamente dos veces más rápidos que los de Qwen3 del mismo tamaño en CPU, con un consumo de memoria que aumenta poco con el contexto. Esta guía explica qué cambia realmente esta arquitectura, cómo instalar LFM2 con Ollama o llama.cpp, qué velocidad esperar sin GPU y para qué usos esta opción supera a un transformer clásico.
#LFM2 de Liquid AI: por qué un modelo pensado para el CPU
Liquid AI es una empresa originaria del MIT (CSAIL), fundada en 2023 en torno a las «redes neuronales líquidas» y a los modelos de estado continuo. Después de una primera generación LFM1 cerrada, la empresa publicó en julio de 2025 los pesos de LFM2, su segunda generación, en tres tamaños: 350M, 700M y 1,2B de parámetros. Después llegaron otras variantes (2,6B, una versión MoE 8B-A1B, modelos de visión y audio y, más tarde, la generación LFM2.5). El hilo conductor no cambia: estos modelos están orientados a ejecutarse en el propio dispositivo, es decir, en un teléfono, un portátil sin tarjeta gráfica, un mini-PC o una placa para sistemas embebidos.
La práctica totalidad de los pequeños modelos abiertos que conoces (Qwen3, Gemma 3, Llama 3.2, SmolLM) son transformadores clásicos: cada capa aplica atención a todo el contexto. Esto funciona muy bien en GPU, pero en CPU cada token generado debe volver a leer una caché clave-valor (KV cache) que crece con la conversación, y el prefill de un prompt largo tiene un coste elevado. LFM2 aborda precisamente estos dos puntos sustituyendo la mayoría de las capas de atención por bloques de convolución corta, que requieren mucha menos memoria y ancho de banda.
- Objetivo
- Inferencia en el dispositivo: CPU x86 o ARM, NPU, GPU integrada. La GPU dedicada no es el entorno principal de uso, aunque también funciona.
- Promesa cuantificada
- Liquid AI anuncia una decodificación y un prefill hasta 2 veces más rápidos que los de Qwen3 con un tamaño comparable en CPU (mediciones publicadas realizadas con un AMD Ryzen AI 9 HX 370 y un Samsung Galaxy S24 Ultra).
- Calidad
- Con el mismo número de parámetros, LFM2 se sitúa al nivel o ligeramente por encima de los transformers rivales en los benchmarks de conocimientos, seguimiento de instrucciones y matemáticas; el 1,2B compite con Qwen3-1,7B en MMLU e IFEval.
- Licencia
- LFM Open License v1.0: uso comercial libre por debajo de un umbral de ingresos anuales (10 millones de dólares); por encima de ese umbral hay que contactar con Liquid AI. No es Apache 2.0; vuelve a leer el texto antes de un despliegue en una empresa.
#Lo que cambia con la arquitectura híbrida LFM
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
LFM2 apila 16 bloques. Diez son bloques de convolución de corto alcance con doble compuerta (double-gated short-range convolution), y seis son bloques de atención con consultas agrupadas (grouped query attention, GQA), como en un transformer moderno. Liquid AI describe estos bloques de convolución como operadores LIV (linear input-varying): los pesos aplicados a cada posición dependen de la entrada, lo que da al bloque una forma de selectividad similar a la de los modelos de espacio de estados (Mamba) o de las RNN modernas, sin su complejo estado recurrente.
En concreto, un bloque de convolución solo examina unos pocos tokens vecinos. Su costo por token es constante, independientemente del contexto ya generado, y no tiene nada que almacenar en una caché KV. Solo los seis bloques de atención conservan una caché, frente a las 28 o 36 capas de un transformer de tamaño comparable. Dos consecuencias directas al ejecutarlo en CPU:
- Decodificación más rápida
- Generar un token consiste principalmente en volver a leer los pesos y la caché KV desde la RAM. Con menos caché que volver a leer, se aprovecha mejor el ancho de banda de memoria, que es el verdadero cuello de botella de una CPU.
- Prefill eficaz
- Procesar un prompt de 4.000 tokens (un documento para RAG, un historial de chat) cuesta proporcionalmente menos que en un transformer completo, porque diez de los dieciséis bloques trabajan con una ventana local.
- Memoria estable
- El consumo aumenta lentamente con el contexto: el caché KV de seis capas sigue siendo pequeño, lo que es importante en un teléfono o una tarjeta con 4 u 8 GB de RAM compartida.
- Contexto nativo 32k
- LFM2 fue entrenado con una ventana de 32 768 tokens (128k en algunas variantes más recientes), suficiente para resúmenes y RAG ligeros.
En cuanto al entrenamiento, Liquid AI utilizó aproximadamente 10 billones de tokens para la primera generación LFM2, con una mezcla dominada por el inglés, alrededor de un 20 % de datos multilingües (entre ellos, francés, alemán, español, árabe, chino, japonés y coreano) y algo de código, además de una destilación a partir del LFM1-7B interno. Por eso, un LFM2-1,2B puede mantener una conversación aceptable en francés, algo que no está garantizado en todos los modelos de este tamaño.
#La familia LFM2: tamaños y variantes
Todas las variantes comparten la misma arquitectura de base y el mismo formato de chat (etiquetas im_start/im_end al estilo de ChatML). Estas son las más relevantes para un uso en edge, con el tamaño aproximado del archivo GGUF en Q4_K_M, que corresponde aproximadamente a la RAM que ocupan los pesos al ejecutarse en CPU.
- LFM2-350M
- Aproximadamente 250 MB en Q4. Clasificación, extracción, reescritura breve. Funciona en casi cualquier dispositivo, incluido un Raspberry Pi o un portátil antiguo.
- LFM2-700M
- Alrededor de 450 MB en Q4. Un buen equilibrio para un teléfono reciente o un asistente muy ligero.
- LFM2-1.2B
- Aproximadamente 730 MB en Q4. El modelo de referencia de la familia: chat, resumen, RAG simple, llamadas a herramientas. Es el que se instala en esta guía.
- LFM2-2.6B
- Aproximadamente 1,5 GB en Q4. Lanzado a finales de 2025, mucho más sólido en razonamiento y capacidades multilingües, sigue funcionando con soltura en un portátil sin GPU.
- LFM2-8B-A1B
- Mixture of Experts: 8,3B de parámetros en total, aproximadamente 1,5B activos por token. Alrededor de 5 GB en Q4: se necesita la RAM de un 8B, pero la velocidad sigue siendo la de un modelo pequeño.
- Variantes especializadas
- LFM2-VL (visión, 450M y 1,6B), LFM2-Audio y variantes ajustadas mediante fine-tuning para la extracción de datos, el RAG o las llamadas a herramientas. La generación LFM2.5 (a partir de enero de 2026) mantiene la arquitectura con un entrenamiento prolongado; el catálogo del sitio recoge sus fichas, incluidas las de 2,6B y 7B.
#Prerrequisitos
Nada exótico. Lo importante es tener una versión reciente del motor de inferencia: el soporte de la arquitectura LFM2 fue añadido a llama.cpp en julio de 2025 y a Hugging Face Transformers en la versión 4.54. Las versiones de Ollama y de LM Studio publicadas desde entonces incluyen este soporte, siempre que se actualicen.
- Máquina
- Cualquier PC o Mac reciente. Un CPU de 4 núcleos y 8 GB de RAM son suficientes para el 1,2B; prevé 16 GB para el 8B-A1B.
- Ollama actualizado
- Ollama escucha por defecto en http://localhost:11434. Actualízalo antes de descargar el modelo: una versión anterior al verano de 2025 rechazará el GGUF con un error de arquitectura desconocida.
- O llama.cpp
- Un binario reciente (compilado o descargado desde las releases de GitHub) da acceso a llama-cli, llama-server y sobre todo llama-bench para medir la velocidad.
- Python opcional
- Para usar los pesos originales (no cuantizados) con Transformers ≥ 4.54, por ejemplo para fine-tuning o para exportarlos a un SDK móvil.
#Instalar y probar LFM2 localmente
Liquid AI publica sus modelos en Hugging Face bajo la organización LiquidAI, con un repositorio de pesos originales (LiquidAI/LFM2-1.2B) y un repositorio GGUF ya cuantizado (LiquidAI/LFM2-1.2B-GGUF) para cada tamaño. La forma más sencilla consiste en descargar directamente este GGUF en Ollama, sin pasar por un Modelfile.
- 01Actualizar OllamaEn Linux, vuelve a ejecutar el script de instalación oficial; en macOS y Windows, la aplicación se actualiza por sí misma o a través de su menú. Verifica con ollama --version.
- 02Descargar el GGUF desde Hugging FaceLa sintaxis hf.co/organisation/dépôt:quantification funciona con cualquier repositorio GGUF público. Para LFM2-1.2B en Q4_K_M, la descarga ocupa aproximadamente 730 MB.
- 03Iniciar un primer chatollama run ouvre une session interactive. Posez une question en français pour vérifier la qualité de la langue avant de creuser.
- 04Forzar el uso de la CPU para compararSi tu máquina tiene una GPU, puedes desactivarla para este modelo estableciendo el parámetro num_gpu en 0 y observar el comportamiento real usando solo la CPU.
- 05Conectar una interfazEl modelo aparece inmediatamente en Open WebUI, LM Studio o cualquier cliente compatible con OpenAI configurado para conectarse al puerto 11434.
El nombre hf.co/LiquidAI/LFM2-1.2B-GGUF:Q4_K_M es largo de teclear; crea un alias local con ollama cp para obtener un simple lfm2:1.2b. Para los demás tamaños, reemplaza 1.2B por 350M, 700M o 2.6B, y para el MoE utiliza el repositorio LiquidAI/LFM2-8B-A1B-GGUF.
Si prefieres usar llama.cpp directamente, el comando llama-cli acepta el mismo repositorio de Hugging Face con la opción -hf. También es la opción que conviene priorizar para un servidor minimalista en una placa ARM, donde llama-server consume menos recursos que Ollama.
Finalmente, para un script Python con los pesos originales en bfloat16, Transformers basta. Calcula aproximadamente 2,5 GB de RAM para el 1,2B en bf16; en CPU, esta opción es mucho más lenta que llama.cpp y solo sirve para desarrollo.
#Velocidad solo con CPU: las cifras reales
En CPU, importan dos cifras: la velocidad de prefill (tokens del prompt procesados por segundo, lo que determina el tiempo hasta la primera palabra) y la velocidad de generación (tokens producidos por segundo). La herramienta adecuada para medirlas correctamente es llama-bench, incluida con llama.cpp: aísla las dos fases y repite las mediciones. Fuerza el uso de la CPU con -ngl 0 incluso si hay una GPU.
Los siguientes valores aproximados corresponden a lo que se observa con llama.cpp en Q4_K_M, utilizando todos los núcleos físicos, en equipos habituales. No sustituyen tu propia medición: el ancho de banda de la memoria (DDR4 frente a DDR5, número de canales) hace que el resultado pueda ser hasta el doble entre dos ordenadores de la misma generación.
- Portátil reciente (8 núcleos, DDR5)
- LFM2-1.2B: de 40 a 70 tokens/s en generación, varios cientos de tokens/s en prefill. El 350M supera los 100 tokens/s. El 2,6B ronda los 25 a 40 tokens/s.
- PC de escritorio con 4 a 6 núcleos, DDR4
- LFM2-1.2B: 20 a 35 tokens/s, muy por encima de la velocidad de lectura. Un Qwen3-1,7B en la misma máquina baja más bien a 12 a 20 tokens/s.
- Mac Apple Silicon (solo CPU)
- Comparable al portátil con DDR5 gracias a la memoria unificada; en la práctica dejarás que Metal acelere la ejecución, pero LFM2 sigue funcionando con comodidad incluso usando solo la CPU en un MacBook Air.
- Raspberry Pi 5 (8 GB)
- LFM2-1.2B: 8 a 12 tokens/s; LFM2-350M: 25 a 35 tokens/s. Es el ámbito donde la diferencia con un transformador clásico es más evidente.
- LFM2-8B-A1B
- Con 16 GB de RAM DDR5, puedes esperar entre 30 y 50 tokens/s: solo 1,5B de parámetros trabajan por token, pero los 5 GB de pesos deben caber en la memoria.
Lo que hace la diferencia en el uso es el prefill. En un transformer de 1,7B, cargar un documento de 4.000 tokens en CPU suele tardar entre 15 y 30 segundos antes de la primera respuesta; LFM2-1.2B reduce este tiempo en un factor próximo a dos según los tests publicados por Liquid AI, lo que hace que un RAG local en CPU sea realmente usable en lugar de simplemente posible.
#¿Para qué usos preferir LFM2?
LFM2 no es un sustituto de Qwen3-8B ni de Gemma 3 12B. En una GPU con VRAM, un transformer más grande será más inteligente, punto. LFM2 resulta interesante en cuanto el hardware se convierte en la limitación: ausencia de GPU, poca RAM, una batería que hay que cuidar o un volumen de solicitudes que hay que procesar a un coste constante.
- Asistente en portátil sin GPU
- Un chat fluido en un ultraportátil, sin que el ventilador se acelere en exceso. Los modelos de 1,2B o 2,6B responden más rápido de lo que puedes leer.
- Procesamiento en lote en servidor CPU
- Clasificar tickets, extraer campos, reescribir descripciones de producto: miles de consultas cortas por hora en una VM sin GPU, con el 350M o el 700M.
- RAG local ligero
- Prefill rápido + contexto 32k: indexar notas o documentación interna y responder en CPU en unos segundos.
- Sistemas embebidos y domótica
- Raspberry Pi, mini-PC industrial, central domótica: interpretar una orden de voz transcrita, generar una respuesta breve, llamar a una herramienta.
- Móvil
- Liquid AI ofrece su SDK LEAP (Liquid Edge AI Platform) para iOS y Android, y la aplicación Apollo para probar los modelos en el teléfono. Los GGUF también funcionan en aplicaciones basadas en llama.cpp.
- Llamadas a herramientas
- Las variantes instructivas de LFM2 soportan nativamente el function calling con etiquetas dedicadas, lo que los convierte en un pequeño enrutador de agente económico.
Por el contrario, mantén un transformer clásico cuando tengas una GPU y VRAM que aprovechar, cuando la tarea requiera razonamiento prolongado (matemáticas, código complejo) o cuando dependas de un ecosistema muy amplio de modelos ajustados mediante fine-tuning: Qwen y Llama siguen llevando la delantera en este ámbito.
#Límites y solución de problemas
- Error «unknown model architecture: lfm2»
- Tu motor es demasiado antiguo. Actualiza Ollama, LM Studio o recompila llama.cpp desde una versión de después de julio de 2025.
- Respuestas que se repiten en bucle
- Baja la temperatura a 0,3 y activa min_p 0.15 y repeat_penalty 1.05, los valores recomendados por Liquid AI. Los modelos pequeños son sensibles a los ajustes por defecto.
- Velocidad decepcionante
- Verifica con ollama ps que el modelo esté completamente cargado, limita el número de hilos al número de núcleos de alto rendimiento y cierra las aplicaciones que saturan el ancho de banda de la memoria (por ejemplo, un navegador con decenas de pestañas).
- Francés deficiente
- El 350M sigue siendo limitado en francés; pasa al 1,2B o al 2,6B, entrenados con una parte multilingüe más útil.
- Cuantización demasiado agresiva
- En un modelo de 350M o 700M, un Q4 degrada más la calidad que en un 7B. Prefiere Q8_0 para los tamaños más pequeños: el archivo sigue siendo diminuto (menos de 800 MB para el 700M).
- Licencia empresarial
- Por encima del umbral de facturación establecido por la LFM Open License, el uso comercial requiere un acuerdo con Liquid AI. Compruébalo antes de ponerlo en producción.
#Para ir más allá
LFM2 cobra todo su sentido en una configuración sin GPU o en un equipo pequeño. Estas guías del sitio complementan esta guía:
- LLM local sin GPU (CPU)
- Los modelos recomendados según la cantidad de RAM y las pruebas de rendimiento en tokens/s en CPU, para situar LFM2 frente a las alternativas.
- Importar un modelo GGUF de Hugging Face en Ollama
- Todo sobre la sintaxis de hf.co, los Modelfiles y los alias, útil para fijar los parámetros recomendados de LFM2.
- LLM en Raspberry Pi 5
- El caso de uso en sistemas embebidos por excelencia, donde la velocidad de LFM2 marca la diferencia.
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.