Liquid AI envía LFM2.5-230M con soporte llama.cpp, MLX, vLLM, SGLang y ONNX para inferencia en el dispositivo

Liquid AI envió el LFM2.5-230M, es el modelo más pequeño de la compañía hasta la fecha. El lanzamiento apunta a un trabajo específico: ejecutar tareas de agente en teléfonos, robots y dispositivos de automatización. Tanto los puntos de control básicos como los ajustados por instrucciones son de peso abierto en Hugging Face.

El campo es estrecho a propósito. Este no es un modelo de razonamiento general. Está diseñado para la extracción de datos y el uso de herramientas en hardware de vanguardia.

TL;DR

El LFM2.5-230M de Liquid AI es su modelo más pequeño hasta el momento: 230M de parámetros, peso abierto, construido sobre LFM2. Se ejecuta en el dispositivo a 213 tok/s en un Galaxy S25 Ultra y 42 en un Raspberry Pi 5. Supera a los modelos más grandes (Qwen3.5-0.8B, Gemma 3 1B) en seguimiento de instrucciones y extracción de datos. Ajustado para uso y extracción de herramientas; no para matemáticas, generación de códigos o escritura creativa. Soporte desde el primer día en llama.cpp, MLX, vLLM, SGLang y ONNX, con un espacio de 293 a 375 MB.

¿Qué es LFM2.5-230M?

LFM2.5-230M es un modelo de solo texto de 230 millones de parámetros. Está construido sobre la arquitectura LFM2. El modelo tiene 14 capas en total. Ocho son bloques de convolución LIV de doble puerta. Los seis restantes son bloques de atención de consultas agrupadas (GQA). El diseño híbrido apunta a una rápida inferencia de la CPU.

La longitud del contexto es 32.768 tokens. El tamaño del vocabulario es 65.536. El límite de conocimiento es mediados de 2024. Admite diez idiomas, incluidos inglés, chino, árabe y japonés.

El equipo de Liquid AI envía dos puntos de control. LFM2.5-230M-Base es el modelo previamente entrenado para realizar ajustes. LFM2.5-230M es la versión ajustada a instrucciones de uso general. La licencia es lfm1.0.

Formación y Post-formación

El modelo fue entrenado previamente con 19 billones de tokens. Ese total incluye una fase de extensión de contexto de 32K. La receta posterior al entrenamiento se ejecuta en tres etapas.

Primero viene el ajuste supervisado con destilación del LFM2.5-350M más grande. En segundo lugar está la optimización de preferencias directas (DPO). En tercer lugar está el aprendizaje por refuerzo multidominio. Esto preserva la flexibilidad para la especialización posterior.

El paso de destilación es lo que mantiene competitivo al modelo 230M con puntos de control más grandes. Hereda el comportamiento del LFM2.5-350M más grande en tareas específicas.

Punto de referencia

El equipo de Liquid AI evaluó LFM2.5-230M en diez puntos de referencia. Abarcan conocimientos, seguimiento de instrucciones, extracción de datos y uso de herramientas.

Los resultados del seguimiento de instrucciones lo respaldan. En IFEval, LFM2.5-230M obtiene una puntuación de 71,71. Eso supera a Qwen3.5-0.8B (59,94) y Gemma 3 1B IT (63,49). En IFBench obtiene una puntuación de 38,40, por delante de ambos. En CaseReportBench, una prueba de extracción de datos clínicos, obtiene una puntuación de 22,51.

ModelParamsIFEvalIFBenchCaseReportBenchBFCLv4MMLU-ProLFM2.5-230M230M71.7138.4022.5121.0320.25LFM2.5-350M350M76.9640.6932.4521.8620.01Granito 4.0-H-350M350M61.2717.2212.4413.2813.14Qwen3.5-0.8B (Instrucción)800M59.9422.8713.8318.7037.42Gemma 3 1B IT1B63.4920.332.287.1714.04

LFM2.5-230M lidera el seguimiento de instrucciones y extracción de datos. Está por detrás del conocimiento amplio: MMLU-Pro tiene 20,25, detrás de 37,42 de Qwen3.5-0.8B. También es débil en el uso de algunas herramientas agentes. En τ²-Bench Telecom obtiene una puntuación de sólo 5,26.

Liquid AI es directo sobre los límites. No recomienda el modelo para cargas de trabajo con mucho razonamiento. Eso significa matemáticas avanzadas, generación de códigos y escritura creativa.

Casos de uso con ejemplos

El modelo se adapta bien a dos trabajos.

El primero son los canales de extracción de datos a gran escala. Imagínese un proceso que analiza 100.000 informes clínicos en campos estructurados. Una compilación de 4 bits con un espacio de memoria de 293 a 375 MB se ejecuta en CPU básicas. Extrae localmente, sin factura API por token. El segundo trabajo son las cargas de trabajo ligeras de agentes en el dispositivo. Piense en un centro de automatización del hogar que convierta la voz en llamadas de herramientas. O un asistente telefónico que dirige una solicitud a la función correcta.

Como señal temprana, Liquid AI implementó el modelo en un robot humanoide Unitree G1. Se ejecutó íntegramente en el NVIDIA Jetson Orin integrado del robot. Allí el modelo actuó como una capa de selección de habilidades. Convirtió una instrucción de lenguaje natural en una secuencia de llamadas a herramientas. Esas llamadas invocaron habilidades de bajo nivel del marco SONIC de NVIDIA.

LFM2.5 admite llamadas a funciones en cuatro pasos. Las herramientas se definen como JSON en el indicador del sistema. El modelo escribe una llamada a función Pythonic entre tokens especiales. Ejecutas la llamada y devuelves el resultado. Luego, el modelo escribe una respuesta en texto plano.

Por defecto, la llamada es una lista de Python. Se encuentra entre los tokens <|tool_call_start|> y <|tool_call_end|>. Aquí está el patrón documentado, con la herramienta JSON abreviada:

<|im_start|>system Lista de herramientas: [{“name”: “get_candidate_status”,
“parameters”: {“candidate_id”: {“type”: “string”}}}]<|im_end|> <|im_start|>usuario ¿Cuál es el estado actual del ID de candidato 12345?<|im_end|> <|im_start|>asistente <|tool_call_start|>[get_candidate_status(candidate_id=”12345″)]<|tool_call_end|>Comprobando el estado actual del ID del candidato 12345.<|im_end|>

También puede forzar llamadas con formato JSON a través del indicador del sistema.

Ejecutarlo: un ejemplo mínimo

El modelo funciona con Transformers 5.0.0 y superiores. Las configuraciones de generación recomendadas son temperatura 0,1, top_k 50 y repetition_penalty 1,05. Tenga en cuenta el indicador do_sample=True, que es necesario para que se apliquen esas configuraciones de muestreo.

de transformadores importe AutoModelForCausalLM, AutoTokenizer model_id = “LiquidAI/LFM2.5-230M” model = AutoModelForCausalLM.from_pretrained( model_id, device_map=”auto”, dtype=”bfloat16″, ) tokenizer = AutoTokenizer.from_pretrained(model_id) inputs = tokenizer.apply_chat_template(
[{“role”: “user”, “content”: “What is C. elegans?”}]add_generación_prompt=True, tokenize=True, return_dict=True, return_tensors=”pt”, ).to(model.device) salida = model.generate( **inputs, do_sample=True, temperatura=0.1, top_k=50, repetition_penalty=1.05, max_new_tokens=512, ) print(tokenizer.decode(salida[0][inputs[“input_ids”].forma[-1]:], skip_special_tokens=Verdadero))

Liquid AI también publica recetas de ajuste. Cubren SFT, DPO y GRPO con LoRA, a través de Unsloth y TRL. Cada uno se envía como un cuaderno Colab.

Explicador interactivo