LFM2.5-24B-A2B: un modelo de razonamiento de 24B que gasta como uno de 2B por fragmento de palabra
El modelo de 24B de Liquid AI usa 2,45B parámetros por fragmento y trae un fichero comprimido de 24,8 GB. Gratis en empresas solo bajo 10M USD de ingresos.
El tamaño que lleva un modelo en el nombre dice poco de lo rápido que te va a contestar. LFM2.5-24B-A2B, el modelo que Liquid AI publicó el 13 de octubre, tiene 24B parámetros (los números que componen un modelo, una medida aproximada de su tamaño). Ese es el 24B del nombre. El A2B significa que hay unos 2B parámetros activos por cada fragmento de palabra que escribe, más o menos uno de cada diez (2,45B según la ficha del modelo). Un fragmento de palabra, o token, es la unidad que un modelo lee y escribe, unas tres cuartas partes de una palabra. Liquid lo ha hecho para agentes: programas que razonan, llaman a herramientas y funcionan en tu propio hardware. También ha publicado una copia comprimida oficial, un fichero de 24,8 GB, que sobre el papel entra en una sola tarjeta gráfica de 48 GB y deja bastante sitio libre.
Dos cosas antes que nada. La primera, la licencia: puedes usar este modelo comercialmente gratis solo mientras tu empresa, sumando las empresas que posee o que la poseen, facture menos de 10 millones de dólares al año. Por encima de esa línea, el uso comercial no está cubierto. La segunda: queríamos medir su velocidad en una GPU alquilada y la prueba nunca llegó a ejecutarse, así que todas las cifras de velocidad de este post son de Liquid. Todo lo que aparece en la tabla de abajo está comprobado con los ficheros de Liquid.
| Pregunta | Respuesta | De dónde sale |
|---|---|---|
| Tamaño del modelo completo | 24,0B parámetros | ficha del modelo de Liquid |
| Usados por cada fragmento de palabra escrito | 2,45B parámetros | ficha del modelo de Liquid |
| Fichero comprimido oficial | 24,8 GB | Hugging Face (donde Liquid publica los ficheros), sumando los tamaños de los ficheros |
| Fichero a tamaño completo | unos 48 GB | Hugging Face (donde Liquid publica los ficheros), sumando los tamaños de los ficheros |
| Conversación más larga que acepta | 131.072 fragmentos de palabra | fichero de configuración |
| ¿Entra en una tarjeta de 48 GB? | Debería, con sitio para conversaciones largas | nuestras cuentas, no una medición |
| ¿Gratis para uso comercial? | Solo con menos de 10 millones de dólares de facturación anual, empresas vinculadas incluidas | la licencia |
| Nuestras propias cifras de velocidad | Ninguna, la prueba no se ejecutó | nuestro informe de la prueba de despliegue |
Un equipo de 64 especialistas
El truco que hay detrás del A2B tiene un nombre técnico, mezcla de expertos (mixture of experts), y una idea sencilla. Un modelo trabaja cada fragmento de palabra en una serie de pasos, uno detrás de otro. Imagina la mayoría de esos pasos como una sala con 64 especialistas. Cuando entra un fragmento de palabra, un pequeño enrutador en la puerta elige a 4 para que trabajen en él y los otros 60 se quedan al fondo. Todos los especialistas tienen que estar en el edificio, y por eso el fichero es grande. Pero solo trabajan los 4 que están de turno, y por eso cada fragmento de palabra sale barato.
Así que una mezcla de expertos paga memoria como un modelo grande y paga trabajo como uno pequeño. Esa es toda la apuesta de LFM2.5-24B-A2B: la capacidad de un modelo de 24B con el esfuerzo por fragmento de palabra de uno de 2B. La ficha del modelo añade dos detalles más que importan para un agente. Siempre piensa antes de responder, a diferencia de su predecesor LFM2-24B-A2B. Y cuando necesita una herramienta, la pide en un formato fijo y fácil de detectar, así que el programa que lo rodea puede ejecutar la herramienta y devolverle el resultado sin fallos.
Los pasos tampoco son todos del tipo habitual. De sus 40 pasos, solo 10 miran hacia atrás a todo lo dicho hasta el momento, que es lo que encarece las conversaciones largas. Los otros 30 solo miran los últimos fragmentos de palabra. Ese detalle vuelve a salir cuando lleguemos a la memoria.
Liquid también dice claramente para qué no sirve. Por sí solo no hay que fiarse de que sepa datos, así que conviene acompañarlo de una búsqueda web o de una búsqueda en tus propios documentos. Da gusto encontrar esa línea en la ficha de un modelo.
En qué es bueno, según las cifras de la propia Liquid
Primero la respuesta: en las pruebas de Liquid, lo más fuerte son los flujos de trabajo de agentes, el uso de herramientas y seguir instrucciones. Queda por detrás de Qwen al arreglar código real, donde resolvió 51 de cada 100 tareas de prueba frente a las 66 de Qwen (51,00 frente a 66,20). También queda por detrás en preguntas difíciles de ciencia, donde acertó unas 74 de cada 100 frente a las 84 de Qwen (74,42 frente a 83,69), y en navegación web.
Liquid lo compara con tres modelos abiertos parecidos: Qwen de Alibaba, Gemma de Google y Nemotron de NVIDIA. Los tres rivales también son equipos de especialistas, con más parámetros trabajando por fragmento de palabra. Liquid no publica ninguna comparación con un modelo clásico, en el que todos los parámetros trabajan en cada fragmento de palabra. Así que si este supera a un modelo clásico de unos 24B en la misma tarjeta, en velocidad o en calidad, es justo lo que ni Liquid ni nosotros podemos decirte todavía.
Una selección de la ficha del modelo, todo ejecutado por Liquid:
| Prueba | LFM2.5-24B-A2B | Qwen3.6-35B-A3B | Gemma-4-26B-A4B-it | Nemotron-3.5-Lightning |
|---|---|---|---|---|
| AutomationBench (flujos de trabajo de agentes) | 27,69 | 8,72 | 5,46 | 2,61 |
| LiveClaw (tareas de agentes) | 48,09 | 38,19 | 41,25 | 37,72 |
| ToolSandbox (uso de herramientas) | 80,71 | 75,02 | 72,09 | 75,13 |
| BFCLv4 (llamadas a herramientas) | 65,01 | 65,00 | 57,09 | 53,78 |
| PinchBench (tareas de agentes) | 83,18 | 89,93 | 77,12 | 84,20 |
| WebArena Verified (navegación web) | 26,75 | 37,62 | 25,62 | 28,69 |
| IFBench (seguir instrucciones) | 74,69 | 64,21 | 47,44 | 71,67 |
| SWE-Bench Verified (arreglar código real) | 51,00 | 66,20 | 25,80 | 53,40 |
| GPQA Diamond (preguntas difíciles de ciencia) | 74,42 | 83,69 | 74,90 | 72,42 |
Son las cifras del fabricante con la configuración del fabricante. En llamadas a herramientas (BFCLv4) empata con Qwen, 65,01 frente a 65,00. Diferencias tan grandes como 27,69 frente a 2,61 en AutomationBench son justo lo primero que debería comprobar una prueba independiente.
Liquid dice que escribe 184 fragmentos de palabra por segundo en un chip de portátil de Apple de gama alta (M5 Max) y 114 en un AMD Ryzen AI Max+ 395. Si una página son unos 650 fragmentos de palabra, nuestras cuentas dan una página de texto cada tres o cuatro segundos en el chip de Apple. Pero este modelo siempre piensa antes de responder, y ese razonamiento oculto va primero: esos fragmentos cuentan en la cifra de velocidad y en la espera hasta la primera palabra de la respuesta, así que la respuesta visible llega más despacio de lo que sugieren estas cifras. Eso es con una copia todavía más pequeña del modelo, que Liquid preparó para portátiles. Según las cuentas de Liquid, es hasta 1,7 veces más rápido que el siguiente mejor modelo que probó. En una tarjeta de centro de datos de lo más alto de gama (una NVIDIA B300) atendiendo a muchas personas a la vez, Liquid da más de 21.000 fragmentos de palabra por segundo, sumados entre todas. Cada persona solo ve una pequeña parte de eso.
Por qué una tarjeta de 48 GB debería bastar, sobre el papel
Sobre el papel, sí: el modelo comprimido ocupa más o menos la mitad de una tarjeta de 48 GB, y hasta una conversación de la longitud máxima solo necesita unos 2,7 GB más.
La copia comprimida oficial guarda la mayoría de los números del modelo con la mitad de precisión, lo que reduce el fichero a la mitad: 24,8 GB frente a unos 48 GB del de tamaño completo. Liquid recomienda esta copia para servir con mucho volumen en GPU, con menos uso de memoria.
Todo este párrafo son cuentas nuestras sobre el fichero de configuración, no una medición. El fichero deja libres unos 23 GB de la tarjeta. El programa que ejecuta el modelo se queda una parte para sí mismo, y no hemos medido cuánta. El resto guarda la memoria de cada conversación sobre lo que se ha dicho, y aquí el diseño de 10 de 40 ayuda mucho. Una conversación de la longitud completa de 131.072 fragmentos de palabra necesita unos 2,7 GB de esa memoria. Un modelo en el que los 40 pasos miraran hacia atrás necesitaría cuatro veces más. Así que en una tarjeta debería haber sitio para el modelo y para varias conversaciones largas a la vez.
Un límite honesto a la idea de "2B por fragmento de palabra", y esto es razonamiento nuestro, no una medición. El ahorro se nota más cuando una sola persona habla con el modelo. Cuando mucha gente usa el modelo a la vez, sus fragmentos de palabra eligen cada uno especialistas distintos, así que pronto la mayoría de los 64 están ocupados. Traer cada especialista ocupado desde la memoria de la tarjeta lleva tiempo, así que con muchos usuarios el modelo empieza a comportarse más como uno clásico de 24B y su ventaja de velocidad se reduce. Por eso también la cifra de 21.000 de Liquid no dice nada de lo rápido que le llega la respuesta a una persona.
La licencia, en palabras llanas
El modelo se distribuye con la LFM Open License v1.0, y la cláusula que importa es corta:
- La licencia fija un umbral de 10.000.000 de dólares de facturación anual.
- El uso comercial solo está permitido mientras tú, o tu "Legal Entity" (entidad jurídica), estéis por debajo.
- La "Legal Entity" incluye a toda empresa que te controla, que controlas o que está bajo control común contigo.
- El "Commercial Use" (uso comercial) es amplio: cualquier uso "for direct or indirect commercial advantage or monetary compensation" (para obtener una ventaja comercial directa o indirecta o una compensación económica). Una herramienta interna que le ahorra tiempo a tu equipo puede contar.
- Por encima del umbral, el uso comercial "is not licensed under this Agreement" (no está cubierto por este acuerdo). El uso no comercial y la investigación de una organización sin ánimo de lucro que cumpla los requisitos quedan fuera del umbral.
- Incumplir los términos pone fin a la licencia de forma automática.
Funciona como un bar que deja tocar gratis a los grupos locales. A un grupo fichado por una discográfica grande se le mide por la discográfica, no por las cuatro personas que hay en el escenario. Por encima de la línea, esta licencia no cubre el bolo. Según nuestra lectura, entonces necesitarías un acuerdo aparte con Liquid, pero la licencia no lo dice expresamente. Si compartes los ficheros del modelo con otros, incluyes la licencia, marcas tus cambios y mantienes los avisos. Si tu empresa está cerca de la línea, o forma parte de un grupo, esto es una conversación para tu abogado, no para un post de un blog.
Vimos el modelo en el resumen de noticias de AI Search del 18 de octubre (capítulo en el 37:47). Hay dos detalles que corregir. El presentador dice que la licencia es "mostly Apache 2.0" (casi toda Apache 2.0, una licencia habitual sin límite de facturación), y no lo es. Los "48 gigabytes" que menciona son la copia a tamaño completo. La comprimida ocupa más o menos la mitad.
Qué teníamos previsto medir
Todavía no tenemos cifras de velocidad, porque nunca llegamos a alquilar una GPU. Este es el plan que habríamos seguido, en pasos sencillos (los comandos exactos están en la sección para ingenieros), y el permiso de red que lo paró.
La GPU. Una tarjeta gráfica de 48 GB, de las que se alquilan por horas, con una tarjeta más nueva como primera opción y otra más antigua y lenta como último recurso. No hemos comprobado que la copia comprimida cargue en ninguna de ellas.
El software y por qué. vLLM, el programa que usa nuestra plataforma para ejecutar modelos. Ya conoce el diseño de este modelo, así que puede separar el razonamiento del modelo de su respuesta final y detectar sus peticiones de herramientas sin código extra. Este modelo necesita un vLLM más nuevo que el que instalamos por defecto, así que el plan era pedir una versión más nueva solo para este modelo.
Los pasos. Decirle a la plataforma qué modelo y qué versión ejecutar, dejar que alquile la tarjeta y luego hacerle al modelo unos cuantos tipos de preguntas: una de código, una en español, una que necesita una herramienta, una que esconde un dato en lo más profundo de un texto muy largo, y varias personas preguntando a la vez. No hay ejemplo de código que enlazar, porque el borrador nunca se ejecutó ni se publicó.
Qué salió mal. El asistente de IA que ejecutaba nuestra prueba tiene un control de seguridad, y se negó a abrir la conexión de red que necesita una GPU alquilada para recibir preguntas de nuestra plataforma. Decidimos no saltárnoslo, así que no se alquiló ninguna GPU.
Reconocer el mérito
Liquid AI entrenó el modelo con 36 billones de fragmentos de palabra y luego lo pulió poniéndolo a trabajar dentro de herramientas de agentes reales (OpenClaw, Hermes Agent, Pi y OpenCode). Lo publicó en varias versiones, desde la copia comprimida para tarjetas de centro de datos hasta otras más pequeñas para portátiles, con soporte desde el primer día en los principales programas de código abierto que ejecutan modelos. El proyecto vLLM ya sabe cómo está construido este modelo y publica una receta con los ajustes para ejecutarlo. AI Search nos lo puso delante. Nuestra parte esta vez es pequeña: leer los ficheros, comprobar los tamaños, hacer las cuentas de memoria y escribir el plan de pruebas.
Qué compran en segundos dos mil millones de parámetros de turno, en una tarjeta alquilada, sigue siendo una pregunta abierta. El script que la responderá se llama bench.py.
Para ingenieros
Checkpoint. LiquidAI/LFM2.5-24B-A2B-FP8, sha f54bf39547fd5b7955abb9fe8d1b151e31fbbddb, creado el 2026-10-12T22:19:54Z, última modificación 2026-10-13T06:11:42Z, sin acceso restringido, license_name: lfm1.0. 10 shards de safetensors (de 1.857.173.880 a 2.660.477.032 bytes), total del repo 24.766.905.221 bytes (unos 23,1 GiB). Parámetros en safetensors: 23.200.792.576 F8_E4M3 + 770.792.704 BF16 + 2.432 F32 = 23.971.587.712. Repo BF16 LiquidAI/LFM2.5-24B-A2B: 47.964.602.405 bytes, sha 1769516a. Variantes publicadas: Base, post-entrenada, FP8, GGUF, ONNX, MLX-4bit. Un modelo draft DSpark para speculative decoding en SGLang aparece como "Coming soon".
Arquitectura (config.json): Lfm2MoeForCausalLM, model_type: lfm2_moe. 40 capas: 30 bloques de convolución corta con doble compuerta y 10 capas de atención GQA. 64 expertos por bloque MoE, enrutado top-4, moe_intermediate_size 1536, 2 capas densas. Hidden 2048, 32 cabezas de atención, 8 cabezas KV, vocabulario de 128.000, max_position_embeddings 131.072, rope_theta 1e7, embeddings atados. Ficha: 24,0B en total, 2,45B activos. La plantilla de chat inserta <think> al empezar el turno del asistente (razonamiento siempre activo).
Parámetros activos con carga. Los 2,45B activos son por token. Con peticiones en lote, tokens distintos se enrutan a conjuntos top-4 distintos, así que la unión de expertos leídos en cada paso de decodificación crece con el tamaño del lote y la ventaja de ancho de banda de memoria frente a un modelo denso se estrecha. La cifra de la B300 de abajo es throughput agregado, no velocidad de decodificación por usuario.
Cuantización. compressed-tensors FP8_BLOCK: pesos FP8 estáticos en bloques de 128x128, activaciones FP8 dinámicas por grupo de 128. Sin cuantizar: lm_head, model.embed_tokens, las compuertas del router MoE y los pesos de convolución. Arranque en SGLang según la ficha FP8: python -m sglang.launch_server --model-path LiquidAI/LFM2.5-24B-A2B-FP8 (sin versión de SGLang indicada).
Caché KV, por cuentas (no medido). Solo las 10 capas de atención guardan KV: 10 x 8 cabezas KV x 64 head_dim x 2 (K y V) x 2 bytes = 20 KiB por token, unos 2,5 GiB para una secuencia completa de 131.072 tokens. El head_dim de 64 se supone como 2048 / 32. La configuración no trae un head_dim explícito. Las capas de convolución guardan un estado pequeño y fijo por secuencia (conv_L_cache 3).
Entrenamiento (ficha y blog): presupuesto de 36T tokens. Preentrenamiento de unos 33T (frente a unos 17T de LFM2-24B-A2B). Mid-training de 2T tokens a 32K y luego 300B tokens a 131K. El contexto pasó de 32K a 131K y el vocabulario de 65K a 128K mediante una ampliación del tokenizador sobre el propio modelo. Post-entrenamiento: SFT, especialización de profesores, dos etapas de destilación on-policy (no agéntica y agéntica) y RL agéntico dentro de OpenClaw, Hermes Agent, Pi y OpenCode.
Herramientas y muestreo. Las llamadas a herramientas son listas en estilo Python entre <|tool_call_start|> y <|tool_call_end|>. Muestreo recomendado, también en generation_config.json (así que vLLM lo aplica por defecto): temperature 0.1, top_k 50, repetition_penalty 1.05.
Servir con vLLM. Documentación de vLLM de Liquid: las arquitecturas LFM2.5 vienen en vLLM 0.23.0 y posteriores. Deja max_tokens sin fijar salvo que quieras limitar la salida, porque un límite bajo corta a los modelos de razonamiento a mitad de pensamiento. Pasa top_k, min_p y repetition_penalty por extra_body. La receta de vLLM para LFM2.5: soporte nativo de Lfm2MoeForCausalLM (sin --trust-remote-code), min_vllm_version 0.23.0, --reasoning-parser qwen3, --enable-auto-tool-choice --tool-call-parser lfm2. El texto de la receta pone el 8B-A1B como ejemplo de MoE y no nombra el 24B-A2B. Los datos de la documentación salen de una copia de la página de Liquid guardada el 2026-10-19 (la descarga en vivo estaba bloqueada).
Comando previsto, nunca ejecutado:
vllm serve LiquidAI/LFM2.5-24B-A2B-FP8 \
--max-model-len 131072 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice --tool-call-parser lfm2
con el vllm_version del workload fijado en 0.31.0. Esa versión exige torch 2.13.0 compilado para CUDA 13, así que el plan restringía los pods a hosts con CUDA 13.x. El valor por defecto del worker de InferenceKey es DEFAULT_VLLM_VERSION = "0.20.0", que se puede cambiar por workload con vllm_version, y el worker lo pasa a pip install vllm==<version>.
GPU prevista. L40S 48 GB primero, RTX 6000 Ada 48 GB como alternativa, A40 48 GB como último recurso (Ampere, FP8 mediante Marlin, más lenta). Disco del contenedor de 80 GB. No se creó ningún pod.
Cifras de velocidad del fabricante. 184 tok/s de decodificación en Apple M5 Max y 114 tok/s en AMD Ryzen AI Max+ 395 (llama.cpp, Q4_K_M, entrada de 4K tokens, infraestructura Pipette de Liquid). Más de 21K tok/s de salida en una NVIDIA B300 con mucha concurrencia (SGLang 0.5.22, 1.024 tokens de entrada, hasta 256 tokens de salida, pesos BF16, tokens de salida totales entre tiempo real transcurrido).
Tabla completa de benchmarks del fabricante (LFM2.5-24B-A2B / Qwen3.6-35B-A3B / Gemma-4-26B-A4B-it / Nemotron-3.5-Lightning 30B-A3B): AutomationBench 27,69 / 8,72 / 5,46 / 2,61. BFCLv4 65,01 / 65,00 / 57,09 / 53,78. ToolSandbox 80,71 / 75,02 / 72,09 / 75,13. LiveClaw 48,09 / 38,19 / 41,25 / 37,72. PinchBench 83,18 / 89,93 / 77,12 / 84,20. tau3-Bench Banking 8,04 / 7,63 / 4,54 / 7,01. WebArena Verified 26,75 / 37,62 / 25,62 / 28,69. GPQA Diamond 74,42 / 83,69 / 74,90 / 72,42. AA-Omniscience -24,90 / -24,35 / -59,39 / -3,58. HLE 7,40 / 7,69 / 8,57 / 5,65. IFEval 96,75 / 93,06 / 92,00 / 94,19. IFBench 74,69 / 64,21 / 47,44 / 71,67. Multi-IF 84,38 / 81,53 / 82,19 / 82,34. MATH-500 96,04 / 96,73 / 95,66 / 96,40. SWE-Bench Verified (OpenCode) 51,00 / 66,20 / 25,80 / 53,40. SciCode 32,71 / 37,35 / 35,42 / 27,78. Todo evaluado con vLLM. No se publica ninguna comparación con un modelo denso.
Precios de la API de Liquid (blog): 0,10 USD por 1M de tokens de entrada, 0,05 USD por 1M de tokens de entrada en caché, 1,00 USD por 1M de tokens de salida. Soporte desde el primer día para llama.cpp (GGUF), MLX, vLLM, SGLang y ONNX.
Qué bloqueó la prueba. Un permiso de red de nuestro lado rechazó la conexión que necesita una GPU alquilada para recibir trabajos de nuestra plataforma, antes de alquilar ninguna GPU. No se intentó ningún atajo, así que no hay cifras.
Preparado, nunca ejecutado. bench.py: razonamiento en streaming, casos de código y en español, una ida y vuelta de llamada a herramienta, pruebas de aguja en un pajar a 8K, 32K y 100K, y 4 y 8 peticiones en paralelo.
Límites.
- Ninguna medición de InferenceKey de ningún tipo para este modelo: ni tokens/s, ni tiempo hasta el primer token, ni VRAM, ni calidad, ni muestras.
- Sin probar: si el checkpoint FP8 carga y funciona con vLLM 0.23+ o 0.31.0 en una tarjeta Ada de 48 GB, o en una A40 mediante Marlin.
- La cifra de KV son cuentas con un head_dim supuesto. La cifra de memoria libre es el tamaño de la tarjeta menos solo los pesos: la reserva de vLLM, el contexto CUDA y la memoria de activaciones no se estimaron ni se midieron.
- El ahorro de "2B activos" es por token. No promete velocidad por usuario con carga concurrente.
- No hay versión de SGLang documentada para el checkpoint FP8.
- Todos los benchmarks y cifras de velocidad son de Liquid, con comparaciones solo frente a otros modelos MoE.
- La lectura de la licencia de arriba es nuestra, no asesoramiento legal. La licencia no tiene cláusula de ley aplicable.
Fuentes: ficha del modelo, ficha FP8, licencia, blog de Liquid, documentación de vLLM de Liquid, resumen de AI Search.