LFM2.5-2.6B is een compact, hybride taalmodel met 2,69 miljard parameters, geoptimaliseerd voor gebruik op apparaten (on-device). Het model onderscheidt zich door sterke prestaties in agentische taken, waarbij het concurreert met modellen die tot vier keer groter zijn wat betreft toolgebruik en instructieopvolging.
Belangrijke kenmerken:
- Efficiëntie: Zeer hoge inferentiesnelheden op Apple Silicon (M5 Max) en AMD Ryzen CPU's, met een laag geheugengebruik (< 2,5 GB).
- Technische specs: Een contextvenster van 128K tokens en training op 34 biljoen tokens.
- Flexibiliteit: Beschikbaar in diverse formaten zoals GGUF, ONNX en MLX voor brede compatibiliteit over verschillende hardwareplatforms.
Functionaliteiten: Het model is een redeneermodel dat standaard een <think> tag gebruikt voordat het antwoordt. Daarnaast ondersteunt het geavanceerde function calling via een gestructureerd proces van definitie, aanroep, uitvoering en finale interpretatie.
Training en Implementatie: De post-training omvat onder andere agentisch reinforcement learning voor betere compatibiliteit met populaire harnesses. Het model kan worden geïmplementeerd via frameworks zoals Transformers, vLLM en llama.cpp, en is geschikt voor verdere fine-tuning middels methoden als LoRA en DPO.
LiquidAI LFM2.5-2.6B: Een hybride model voor on-device agentische workloads
Belangrijkste kenmerken
- Best-in-class agent: Concurrerend met modellen die vier keer groter zijn wat betreft toolgebruik, het opvolgen van instructies en agentische taken in meerdere stappen.
- Agentisch reinforcement learning: Getraind binnen de meest populaire agentic harnesses om de compatibiliteit te verbeteren.
- Efficiënte inferentie: Behaalt 220 tok/s op een Apple M5 Max en 113 tok/s op een AMD Ryzen CPU, met een geheugengebruik van minder dan 2,5 GB.
---
Modeldetails
Technische specificaties
LFM2.5-2.6B is een algemeen tekstmodel met de volgende eigenschappen:
- Totaal aantal parameters: 2,69 miljard (2.69B)
- Aantal lagen: 30 (bestaande uit 22 double-gated short convolution blocks en 8 GQA)
- Trainingsbudget: 34 biljoen tokens
- Vocabulaire grootte: 128.000
- Contextlengte: 131.072 tokens
- Ondersteunde talen: Engels, Arabisch, Chinees, Frans, Duits, Italiaans, Japans, Koreaans, Portugees, Spaans, Vietnamees, Thai, Indonesisch, Hindi, Russisch en Pools.
Aanbevolen generatieparameters:
- Temperature: 0.1
- Top_k: 50
- Repetition_penalty: 1.1
Modelvarianten
| Model | Beschrijving |
| LFM2.5-2.6B-Base | Pre-trained basismodel, geschikt voor fine-tuning. |
| LFM2.5-2.6B | Post-trained model, geoptimaliseerd voor agentische workloads. |
| LFM2.5-2.6B-GGUF | Gekwantiseerd formaat voor llama.cpp en compatibele tools; geoptimaliseerd voor CPU-inferentie en lokale implementatie met gereduceerd geheugengebruik. |
| LFM2.5-2.6B-ONNX | ONNX Runtime-formaat voor crossplatform implementatie (cloud, edge, mobiel). |
| LFM2.5-2.6B-MLX | MLX-formaat geoptimaliseerd voor snelle inferentie op Apple Silicon Mac-apparaten. |
Toepassingen: Het model wordt aanbevolen voor agentische workloads, toolgebruik, data-extractie, RAG en workflows met een lange context. Het is niet aanbevolen voor agentisch programmeren (coding) of taken die zeer specifieke, uitgebreide kennis vereisen.
---
Chat Template en Redeneren
LFM2.5 maakt gebruik van een formaat dat lijkt op ChatML.
Voorbeeld:
<|startoftext|><|im_start|>system
You are a helpful assistant trained by Liquid AI.<|im_end|>
<|im_start|>user
What is C. elegans?<|im_end|>
<|im_start|>assistant
Let op: LFM2.5-2.6B is een puur redeneermodel dat altijd nadenkt voordat het antwoordt. Het voegt automatisch een <think> tag toe in de chat template bij de start van het antwoord van de assistent.
---
Toolgebruik (Function Calling)
LFM2.5 ondersteunt function calling in vier stappen:
- Functiedefinitie: De lijst met tools wordt als een JSON-object in de systeemprompt verstrekt (of via
tokenizer.applychattemplate() met tools=....).
- Functieaanroep: Standaard schrijft LFM2.5 Python-achtige functieaanroepen (een Python-lijst tussen de speciale tokens
<|toolcallstart|> en <|toolcallend|>). Dit gedrag kan worden overschreven door in de systeemprompt te vragen om JSON-functieaanroepen.
- Functie-uitvoering: De aanroep wordt uitgevoerd en het resultaat wordt teruggestuurd met de rol
tool.
- Eindantwoord: LFM2.5 interpreteert de output van de tool en geeft een antwoord in platte tekst terug.
Voorbeeld van interactie:
<|startoftext|><|im_start|>system
List of tools: [{"name": "get_candidate_status", "description": "Retrieves the current status of a candidate in the recruitment process", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string", "description": "Unique identifier for the candidate"}}, "required": ["candidate_id"]}}]<|im_end|>
<|im_start|>user
What is the current status of candidate ID 12345?<|im_end|>
<|im_start|>assistant
<|tool_call_start|>[get_candidate_status(candidate_id="12345")]<|tool_call_end|>Checking the current status of candidate ID 12345.<|im_end|>
<|im_start|>tool
[{"candidate_id": "12345", "status": "Interview Scheduled", "position": "Clinical Research Associate", "date": "2023-11-20"}]<|im_end|>
<|im_start|>assistant
The candidate with ID 12345 is currently in the "Interview Scheduled" stage for the position of Clinical Research Associate, with an interview date set for 2023-11-20.<|im_end|>
---
Training
Het model is pre-trained op ongeveer 34 biljoen tokens. Tijdens een mid-training fase is het contextvenster uitgebreid naar 128K. De post-training transformeert het basismodel tot een agent via vier fasen:
- Supervised fine-tuning (twee rondes).
- Per-domein teacher specialization.
- Multi-domein on-policy distillatie.
- Agentisch reinforcement learning.
Met name het agentische reinforcement learning stelt het model in staat om direct getraind te worden binnen populaire agentic harnesses, waardoor het betrouwbaarder werkt met tools, systeemprompts en interactiepatronen uit die omgevingen.
---
Inferentie en Implementatie
LFM2.5 wordt ondersteund door diverse frameworks:
| Framework | Beschrijving |
| Transformers | Eenvoudige inferentie met directe toegang tot model-internals. |
| vLLM | High-throughput productie-implementaties met GPU. |
| llama.cpp | Crossplatform inferentie met CPU offloading. |
| MLX | Machine learning framework van Apple, geoptimaliseerd voor Apple Silicon. |
| LM Studio | Desktopapplicatie voor het lokaal draaien van LLM's. |
| SGLang | High-throughput productie-implementaties met GPU. |
Snelstart met Transformers (compatibel met transformers>=5.0.0)
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model_id = "LiquidAI/LFM2.5-2.6B"
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
dtype="bfloat16",
# attn_implementation="flash_attention_2" # ontkies op compatibele GPU
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
prompt = "What is C. elegans?"
input_ids = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
add_generation_prompt=True,
return_tensors="pt",
tokenize=True,
)["input_ids"].to(model.device)
output = model.generate(
input_ids,
do_sample=True,
temperature=0.1,
top_k=50,
repetition_penalty=1.1,
max_new_tokens=512,
streamer=streamer,
)
Gebruik met vLLM (Server setup)
# Installeer vLLM via pip:
pip install vllm
# Start de vLLM server:
vllm serve "LiquidAI/LFM2.5-2.6B"
# Roep de server aan via curl (OpenAI-compatibele API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "LiquidAI/LFM2.5-2.6B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'
---
Fine-Tuning
Voor optimale resultaten wordt aangeraden LFM2.5 te fine-tunen voor specifieke use cases. Ondersteunde methoden zijn:
- CPT (Unsloth): Continued Pre-Training voor tekstaanvulling of vertaling.
- SFT (Unsloth/TRL): Supervised Fine-Tuning met LoRA.
- DPO (TRL): Direct Preference Optimization met LoRA.
- GRPO (TRL): GRPO met LoRA.
---
Prestaties
Benchmarks
Vergelijking van LFM2.5-2.6B met andere modellen onder de 10B parameters:
| Benchmark | LFM2.5-2.6B (2.6B) | gemma-4-E2B-it (5.1B) | gemma-4-E4B-it (8B) | Qwen3.5-4B (4.7B) | Qwen3.5-9B (9.7B) |
| AA-Omni-Public Index | -29.50 | -74.47 | -49.03 | -54.30 | -50.43 |
| AA-Omni-Public Acc | 8.13 | 6.37 | 8.33 | 17.63 | 21.30 |
| AA-Omni-Public Non-hallu | 59.04 | 13.67 | 37.42 | 12.66 | 8.84 |
| AIME25 | 51.87 | 26.33 | 34.27 | 49.33 | 56.07 |
| LiveCodeBenchv6 | 59.41 | 54.92 | 63.77 | 60.85 | 69.86 |
| IFBench | 59.17 | 34.08 | 39.24 | 48.40 | 56.47 |
| Multi-IF | 80.07 | 69.44 | 77.35 | 55.67 | 62.55 |
| IFStruct | 85.49 | 64.85 | 76.65 | 36.25 | 78.50 |
| BFCLv4 | 56.88 | 36.98 | 46.39 | 50.56 | 60.13 |
| ToolSandbox | 77.83 | 52.40 | 65.00 | 75.55 | 76.44 |
| $\tau^3$-Bench Banking | 5.67 | 3.35 | 4.12 | 5.45 | 5.15 |
| Claw-Eval average (EN) | 62.85 | 53.14 | 58.02 | 62.28 | 66.53 |
| PinchBench | 68.22 | 44.24 | 55.09 | 71.26 | 71.45 |
| BrowseComp+ (OpenClaw) | 26.89 | 8.31 | 15.90 | 24.46 | 27.23 |
Inferentiesnelheid
- CPU: Dankzij de efficiënte LFM-architectuur is dit het snelste geteste model, met decodeersnelheden van 220 tokens/s op een M5 Max en 113 tokens/s op een Ryzen AI Max+ 395. Met 30 tokens/s kunnen geavanceerde agenten zelfs op een telefoon worden gedraaid.
- GPU: Het is het snelste model in zijn grootteklasse, met bijna 15K output-tokens per seconde bij hoge concurrency (ongeveer 1,3 miljard tokens per dag op een enkele H100).
---
Referenties
Citatieformaten:
@article{liquidAI202626B,
author = {Liquid AI},
title = {LFM2.5-2.6B: Agents Everywhere},
journal = {Liquid AI Blog},
year = {2026},
note = {www.liquid.ai/blog/lfm2-5-2-6b},
}
@article{liquidai2025lfm2,
title = {LFM2 Technical Report},
author = {Liquid AI},
journal = {arXiv preprint arXiv:2511.23404},
year = {2025}
}
LiquidAI LFM2.5-2.6B: Een hybride model voor on-device agentische workloads
Belangrijkste kenmerken
- Best-in-class agent: Concurrerend met modellen die vier keer groter zijn wat betreft toolgebruik, het opvolgen van instructies en agentische taken in meerdere stappen.
- Agentisch reinforcement learning: Getraind binnen de meest populaire agentic harnesses om de compatibiliteit te verbeteren.
- Efficiënte inferentie: Behaalt 220 tok/s op een Apple M5 Max en 113 tok/s op een AMD Ryzen CPU, met een geheugengebruik van minder dan 2,5 GB.
---
Modeldetails
Technische specificaties
LFM2.5-2.6B is een algemeen tekstmodel met de volgende eigenschappen:
- Totaal aantal parameters: 2,69 miljard (2.69B)
- Aantal lagen: 30 (bestaande uit 22 double-gated short convolution blocks en 8 GQA)
- Trainingsbudget: 34 biljoen tokens
- Vocabulaire grootte: 128.000
- Contextlengte: 131.072 tokens
- Ondersteunde talen: Engels, Arabisch, Chinees, Frans, Duits, Italiaans, Japans, Koreaans, Portugees, Spaans, Vietnamees, Thai, Indonesisch, Hindi, Russisch en Pools.
Aanbevolen generatieparameters:
- Temperature: 0.1
- Top_k: 50
- Repetition_penalty: 1.1
Modelvarianten
| Model | Beschrijving |
| LFM2.5-2.6B-Base | Pre-trained basismodel, geschikt voor fine-tuning. |
| LFM2.5-2.6B | Post-trained model, geoptimaliseerd voor agentische workloads. |
| LFM2.5-2.6B-GGUF | Gekwantiseerd formaat voor llama.cpp en compatibele tools; geoptimaliseerd voor CPU-inferentie en lokale implementatie met gereduceerd geheugengebruik. |
| LFM2.5-2.6B-ONNX | ONNX Runtime-formaat voor crossplatform implementatie (cloud, edge, mobiel). |
| LFM2.5-2.6B-MLX | MLX-formaat geoptimaliseerd voor snelle inferentie op Apple Silicon Mac-apparaten. |
Toepassingen: Het model wordt aanbevolen voor agentische workloads, toolgebruik, data-extractie, RAG en workflows met een lange context. Het is niet aanbevolen voor agentisch programmeren (coding) of taken die zeer specifieke, uitgebreide kennis vereisen.
---
Chat Template en Redeneren
LFM2.5 maakt gebruik van een formaat dat lijkt op ChatML.
Voorbeeld:
<|startoftext|><|im_start|>system
You are a helpful assistant trained by Liquid AI.<|im_end|>
<|im_start|>user
What is C. elegans?<|im_end|>
<|im_start|>assistant
Let op: LFM2.5-2.6B is een puur redeneermodel dat altijd nadenkt voordat het antwoordt. Het voegt automatisch een <think> tag toe in de chat template bij de start van het antwoord van de assistent.
---
Toolgebruik (Function Calling)
LFM2.5 ondersteunt function calling in vier stappen:
- Functiedefinitie: De lijst met tools wordt als een JSON-object in de systeemprompt verstrekt (of via
tokenizer.applychattemplate() met tools=....).
- Functieaanroep: Standaard schrijft LFM2.5 Python-achtige functieaanroepen (een Python-lijst tussen de speciale tokens
<|toolcallstart|> en <|toolcallend|>). Dit gedrag kan worden overschreven door in de systeemprompt te vragen om JSON-functieaanroepen.
- Functie-uitvoering: De aanroep wordt uitgevoerd en het resultaat wordt teruggestuurd met de rol
tool.
- Eindantwoord: LFM2.5 interpreteert de output van de tool en geeft een antwoord in platte tekst terug.
Voorbeeld van interactie:
<|startoftext|><|im_start|>system
List of tools: [{"name": "get_candidate_status", "description": "Retrieves the current status of a candidate in the recruitment process", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string", "description": "Unique identifier for the candidate"}}, "required": ["candidate_id"]}}]<|im_end|>
<|im_start|>user
What is the current status of candidate ID 12345?<|im_end|>
<|im_start|>assistant
<|tool_call_start|>[get_candidate_status(candidate_id="12345")]<|tool_call_end|>Checking the current status of candidate ID 12345.<|im_end|>
<|im_start|>tool
[{"candidate_id": "12345", "status": "Interview Scheduled", "position": "Clinical Research Associate", "date": "2023-11-20"}]<|im_end|>
<|im_start|>assistant
The candidate with ID 12345 is currently in the "Interview Scheduled" stage for the position of Clinical Research Associate, with an interview date set for 2023-11-20.<|im_end|>
---
Training
Het model is pre-trained op ongeveer 34 biljoen tokens. Tijdens een mid-training fase is het contextvenster uitgebreid naar 128K. De post-training transformeert het basismodel tot een agent via vier fasen:
- Supervised fine-tuning (twee rondes).
- Per-domein teacher specialization.
- Multi-domein on-policy distillatie.
- Agentisch reinforcement learning.
Met name het agentische reinforcement learning stelt het model in staat om direct getraind te worden binnen populaire agentic harnesses, waardoor het betrouwbaarder werkt met tools, systeemprompts en interactiepatronen uit die omgevingen.
---
Inferentie en Implementatie
LFM2.5 wordt ondersteund door diverse frameworks:
| Framework | Beschrijving |
| Transformers | Eenvoudige inferentie met directe toegang tot model-internals. |
| vLLM | High-throughput productie-implementaties met GPU. |
| llama.cpp | Crossplatform inferentie met CPU offloading. |
| MLX | Machine learning framework van Apple, geoptimaliseerd voor Apple Silicon. |
| LM Studio | Desktopapplicatie voor het lokaal draaien van LLM's. |
| SGLang | High-throughput productie-implementaties met GPU. |
Snelstart met Transformers (compatibel met transformers>=5.0.0)
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model_id = "LiquidAI/LFM2.5-2.6B"
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
dtype="bfloat16",
# attn_implementation="flash_attention_2" # ontkies op compatibele GPU
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
prompt = "What is C. elegans?"
input_ids = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
add_generation_prompt=True,
return_tensors="pt",
tokenize=True,
)["input_ids"].to(model.device)
output = model.generate(
input_ids,
do_sample=True,
temperature=0.1,
top_k=50,
repetition_penalty=1.1,
max_new_tokens=512,
streamer=streamer,
)
Gebruik met vLLM (Server setup)
# Installeer vLLM via pip:
pip install vllm
# Start de vLLM server:
vllm serve "LiquidAI/LFM2.5-2.6B"
# Roep de server aan via curl (OpenAI-compatibele API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "LiquidAI/LFM2.5-2.6B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'
---
Fine-Tuning
Voor optimale resultaten wordt aangeraden LFM2.5 te fine-tunen voor specifieke use cases. Ondersteunde methoden zijn:
- CPT (Unsloth): Continued Pre-Training voor tekstaanvulling of vertaling.
- SFT (Unsloth/TRL): Supervised Fine-Tuning met LoRA.
- DPO (TRL): Direct Preference Optimization met LoRA.
- GRPO (TRL): GRPO met LoRA.
---
Prestaties
Benchmarks
Vergelijking van LFM2.5-2.6B met andere modellen onder de 10B parameters:
| Benchmark | LFM2.5-2.6B (2.6B) | gemma-4-E2B-it (5.1B) | gemma-4-E4B-it (8B) | Qwen3.5-4B (4.7B) | Qwen3.5-9B (9.7B) |
| AA-Omni-Public Index | -29.50 | -74.47 | -49.03 | -54.30 | -50.43 |
| AA-Omni-Public Acc | 8.13 | 6.37 | 8.33 | 17.63 | 21.30 |
| AA-Omni-Public Non-hallu | 59.04 | 13.67 | 37.42 | 12.66 | 8.84 |
| AIME25 | 51.87 | 26.33 | 34.27 | 49.33 | 56.07 |
| LiveCodeBenchv6 | 59.41 | 54.92 | 63.77 | 60.85 | 69.86 |
| IFBench | 59.17 | 34.08 | 39.24 | 48.40 | 56.47 |
| Multi-IF | 80.07 | 69.44 | 77.35 | 55.67 | 62.55 |
| IFStruct | 85.49 | 64.85 | 76.65 | 36.25 | 78.50 |
| BFCLv4 | 56.88 | 36.98 | 46.39 | 50.56 | 60.13 |
| ToolSandbox | 77.83 | 52.40 | 65.00 | 75.55 | 76.44 |
| $\tau^3$-Bench Banking | 5.67 | 3.35 | 4.12 | 5.45 | 5.15 |
| Claw-Eval average (EN) | 62.85 | 53.14 | 58.02 | 62.28 | 66.53 |
| PinchBench | 68.22 | 44.24 | 55.09 | 71.26 | 71.45 |
| BrowseComp+ (OpenClaw) | 26.89 | 8.31 | 15.90 | 24.46 | 27.23 |
Inferentiesnelheid
- CPU: Dankzij de efficiënte LFM-architectuur is dit het snelste geteste model, met decodeersnelheden van 220 tokens/s op een M5 Max en 113 tokens/s op een Ryzen AI Max+ 395. Met 30 tokens/s kunnen geavanceerde agenten zelfs op een telefoon worden gedraaid.
- GPU: Het is het snelste model in zijn grootteklasse, met bijna 15K output-tokens per seconde bij hoge concurrency (ongeveer 1,3 miljard tokens per dag op een enkele H100).
---
Referenties
Citatieformaten:
@article{liquidAI202626B,
author = {Liquid AI},
title = {LFM2.5-2.6B: Agents Everywhere},
journal = {Liquid AI Blog},
year = {2026},
note = {www.liquid.ai/blog/lfm2-5-2-6b},
}
@article{liquidai2025lfm2,
title = {LFM2 Technical Report},
author = {Liquid AI},
journal = {arXiv preprint arXiv:2511.23404},
year = {2025}
}