Skip to content

Liquid AI

LFM2.5-8B-A1B

A 8.5B mixture-of-experts (about 1B active) model by Liquid AI that uses tools such as web search and can think before answering.

Tools Thinking
Downloads
19,141 downloads last month
Likes
126 likes
Uploaded
Uploaded 29 May 2026
Parameters
8,467,856,832 (8.5B)
Context length
128,000 tokens
Architecture
lfm2moe
Task
text-generation
Licence
lfm1.0
Released
28 May 2026
Last updated
24 Aug 2026

This is unsloth's upload of LiquidAI/LFM2.5-8B-A1B, which is based on LiquidAI/LFM2.5-8B-A1B-Base.

Read the licence: lfm1.0

Languages listed in the model card

  • English
  • Arabic
  • Chinese
  • French
  • German
  • Japanese
  • Korean
  • Spanish
  • Portuguese
  • Italian

Tools

Uses tools, so web search and the browser work best with it.

Thinking

Can think step by step before it answers.

Each version is the same model stored at a different precision: smaller files use less memory and lose a little quality.

VersionFile sizeFileSHA-256
UD-IQ1_M2.57 GBLFM2.5-8B-A1B-UD-IQ1_M.gguf
UD-IQ2_XXS2.70 GBLFM2.5-8B-A1B-UD-IQ2_XXS.gguf
UD-IQ2_M2.75 GBLFM2.5-8B-A1B-UD-IQ2_M.gguf
UD-Q2_K_XL2.93 GBLFM2.5-8B-A1B-UD-Q2_K_XL.gguf
UD-IQ3_XXS3.27 GBLFM2.5-8B-A1B-UD-IQ3_XXS.gguf
UD-IQ3_S3.57 GBLFM2.5-8B-A1B-UD-IQ3_S.gguf
UD-Q3_K_M3.94 GBLFM2.5-8B-A1B-UD-Q3_K_M.gguf
UD-Q3_K_XL4.00 GBLFM2.5-8B-A1B-UD-Q3_K_XL.gguf
Show all 22 versions
VersionFile sizeFileSHA-256
UD-IQ4_XS4.26 GBLFM2.5-8B-A1B-UD-IQ4_XS.gguf
UD-IQ4_NL4.36 GBLFM2.5-8B-A1B-UD-IQ4_NL.gguf
UD-Q4_K_S5.01 GBLFM2.5-8B-A1B-UD-Q4_K_S.gguf
UD-Q4_K_M5.32 GBLFM2.5-8B-A1B-UD-Q4_K_M.gguf
MXFP4_MOE5.35 GBLFM2.5-8B-A1B-MXFP4_MOE.gguf
UD-Q4_K_XL5.35 GBLFM2.5-8B-A1B-UD-Q4_K_XL.gguf
UD-Q5_K_S6.01 GBLFM2.5-8B-A1B-UD-Q5_K_S.gguf
UD-Q5_K_M6.36 GBLFM2.5-8B-A1B-UD-Q5_K_M.gguf
UD-Q5_K_XL6.39 GBLFM2.5-8B-A1B-UD-Q5_K_XL.gguf
UD-Q6_K7.09 GBLFM2.5-8B-A1B-UD-Q6_K.gguf
UD-Q6_K_XL7.74 GBLFM2.5-8B-A1B-UD-Q6_K_XL.gguf
Q8_09.01 GBLFM2.5-8B-A1B-Q8_0.gguf
UD-Q8_K_XL9.34 GBLFM2.5-8B-A1B-UD-Q8_K_XL.gguf
BF1616.95 GBLFM2.5-8B-A1B-BF16.gguf
Model class
Lfm2MoeForCausalLM
Model type
lfm2_moe
Layers
24
Hidden size
2048
Attention heads
32
Key/value heads
8
Experts
32 (4 used per token)
Vocabulary
128,000
Context length
128,000 tokens
Weights
bfloat16

The sampling settings the model's makers ship as its defaults.

Temperature
0.2
Top K
80
Repetition penalty
1.05

Papers the model's Hugging Face page links to (the model's own report and papers it cites).

LFM2.5-8B-A1B

LFM2.5 is a new family of hybrid models designed for on-device deployment. It builds on the LFM2 architecture with extended pre-training and reinforcement learning.

  • On-device personal assistant: Designed to power real-life applications, chaining tool calls, and following complex instructions on all devices.
  • Compressed performance: Competitive with much larger dense and MoE models on instruction following and agentic tasks.
  • Unmatched throughput: Fastest in its size class on both CPU and GPU inference, with day-one support for llama.cpp, MLX, vLLM, and SGLang.

Find more information about LFM2.5-8B-A1B in our blog post.

image

*AA-Omniscience Index (higher is better) rewards correct answers and penalizes hallucinations. Scores range from -100 to 100. See more results on Artificial Analysis.

🗒️ Model Details

ModelParametersDescription
LFM2.5-8B-A1B-Base8.3B total / 1.5B activePre-trained base model for fine-tuning
LFM2.5-8B-A1B8.3B total / 1.5B activeReasoning-tuned general-purpose model

LFM2.5-8B-A1B is a general-purpose text-only model with the following features:

  • Total parameters: 8.3B
  • Active parameters: 1.5B
  • Number of layers: 24 (18 double-gated conv + 6 GQA)
  • Training budget: 38 trillion tokens
  • Context length: 128,000
  • Vocabulary size: 128,000
  • Languages: English, Arabic, Chinese, French, German, Italian, Japanese, Korean, Portuguese, Spanish
  • Generation parameters: We recommend the following parameters:
    • temperature: 0.2
    • top_k: 80
    • repetition_penalty: 1.05
ModelDescription
LFM2.5-8B-A1BOriginal model checkpoint in native format. Best for fine-tuning or inference with Transformers, vLLM, and SGLang.
LFM2.5-8B-A1B-GGUFQuantized format for llama.cpp and compatible tools. Optimized for edge inference and local deployment.
LFM2.5-8B-A1B-ONNXONNX Runtime format for cross-platform deployment.
LFM2.5-8B-A1B-MLXMLX format for Apple Silicon. Optimized for fast inference on Mac devices.
LFM2.5-8B-A1B-DSparkSpeculative decoding drafter (328M). Pair it with this model for ~2.5x faster decoding with identical outputs.

We recommend using LFM2.5-8B-A1B for agentic workflows, tool use, structured outputs, multilingual assistants, and on-device personal-assistant applications. It is not the best fit for heavy programming or knowledge-intensive question answering without retrieval.

Chat Template

LFM2.5 uses a ChatML-like format. See the Chat Template documentation for details. Example:

<|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

Because LFM2.5-8B-A1B is a reasoning model, assistant turns contain an explicit chain of thought before the final answer. You can use tokenizer.apply_chat_template() to format your messages automatically.

Tool Use

LFM2.5 supports function calling in four steps:

  1. Function definition: Provide the list of tools as a JSON object in the system prompt, or use tokenizer.apply_chat_template() with tools=....
  2. Function call: By default, LFM2.5 writes Pythonic function calls (a Python list between <|tool_call_start|> and <|tool_call_end|> special tokens), as the assistant answer. You can override this behavior by asking the model to output JSON function calls in the system prompt.
  3. Function execution: Execute the call and return the result with the tool role.
  4. Final answer: LFM2.5 interprets the tool output and returns a plain-text answer addressing the original prompt.

See the Tool Use documentation for the full guide. Example:

<|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|>

🏃 Inference

LFM2.5-8B-A1B is supported by many inference frameworks. See the Inference documentation for the full list.

NameDescriptionDocsNotebook
TransformersSimple inference with direct access to model internals.Link
vLLMHigh-throughput production deployments with GPU.Link
SGLangHigh-throughput production deployments with GPU.Link—
llama.cppCross-platform inference with CPU offloading.Link
MLXApple's machine learning framework optimized for Apple Silicon.Link—
LM StudioDesktop application for running LLMs locally.Link—

[!TIP] ⚡ Faster decoding: attach LFM2.5-8B-A1B-DSpark, a 328M speculative-decoding drafter, for ~2.5x faster decoding in SGLang with exactly the same outputs.

Quick start with Transformers (compatible with transformers>=5.0.0):

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

model_id = "LiquidAI/LFM2.5-8B-A1B"
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    dtype="bfloat16",
#   attn_implementation="flash_attention_2" <- uncomment on compatible 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.2,
    top_k=80,
    repetition_penalty=1.05,
    max_new_tokens=8192,
    streamer=streamer,
)

🔧 Fine-Tuning

We recommend fine-tuning LFM2.5 for your specific use case to achieve the best results.

NameDescriptionDocsNotebook
CPT (Unsloth)Continued Pre-Training using Unsloth for text completion.Link
CPT (Unsloth)Continued Pre-Training using Unsloth for translation.Link
SFT (Unsloth)Supervised Fine-Tuning with LoRA using Unsloth.Link
SFT (TRL)Supervised Fine-Tuning with LoRA using TRL.Link
DPO (TRL)Direct Preference Optimization with LoRA using TRL.Link
GRPO (Unsloth)GRPO with LoRA using Unsloth.Link
GRPO (TRL)GRPO with LoRA using TRL.Link

📊 Performance

Improvements over LFM2-8B-A1B

Thanks to reasoning, scaled-up pre-training, and large-scale RL, LFM2.5-8B-A1B improves over its predecessor across the board:

BenchmarkLFM2-8B-A1BLFM2.5-8B-A1BΔ
AA-Omniscience Index-78.42-24.70+53.62
AA-Omniscience Accuracy7.338.67+1.34
AA-Omniscience Non-Hallucination Rate7.4663.47+56.01
IFEval79.4491.84+12.40
IFBench26.0056.47+30.47
Multi-IF58.5479.93+21.39
MATH50074.8088.76+13.96
AIME2520.0042.53+22.53
BFCLv345.0764.36+19.29
BFCLv425.5248.50+22.98
Tau² Telecom13.6088.07+74.47
Tau² Retail7.0239.82+32.80

Knowledge and instruction following

ModelParametersAA-Omni. IndexAA-Omni. AccuracyAA-Omni. Non-Halluc.IFEvalIFBenchMulti-IF
LFM2.5-8B-A1B8B/A1B-24.708.6763.4791.8456.4779.93
Granite-4.0-H-Tiny7B/A1B-75.509.376.3882.2321.2859.00
Qwen3.5-4B4B-51.5317.2016.9987.8050.3867.43
Qwen3-30B-A3B-Thinking-250730.5B/3.3B-51.3118.8013.8790.8251.1179.04
Gemma-4-E2B-IT5.1B-727.0015.0582.9333.5369.70
Gemma-4-E4B-IT8B-50.678.1036.0687.7439.4877.58
Gemma-4-26B-A4B-IT26B/4B-62.0714.3710.7591.4047.2582.06
gpt-oss-20b21B/3.6B-49.1714.5724.5086.7358.6576.64

Math and agentic workflows

ModelParametersMATH500AIME25AIME26BFCLv3BFCLv4Tau² TelecomTau² Retail
LFM2.5-8B-A1B8B/A1B88.7642.5350.0064.7949.7388.0739.82
Granite-4.0-H-Tiny7B/A1B59.204.933.3356.8928.5216.6718.42
Qwen3.5-4B4B80.7654.2858.3371.0654.0187.7271.93
Qwen3-30B-A3B-Thinking-250730.5B/3.3B86.4871.6766.6773.3950.5321.9356.14
Gemma-4-E2B-IT5.1B64.00263056.4431.9122.3718.95
Gemma-4-E4B-IT8B65.0034.3340.6757.3133.9226.7542.11

CPU Inference

image

GPU Inference

LFM2.5-8B-A1B is the fastest model in its size class, reaching 18.5K output tokens per second at high concurrency, over 1.6B tokens per day on a single H100.

image

📬 Contact

Citation

@article{liquidAI20268BA1B,
  author  = {Liquid AI},
  title   = {LFM2.5-8B-A1B: Personal Assistant On Your Laptop},
  journal = {Liquid AI Blog},
  year    = {2026},
  note    = {www.liquid.ai/blog/lfm2-5-8b-a1b},
}
@article{liquidai2025lfm2,
  title   = {LFM2 Technical Report},
  author  = {Liquid AI},
  journal = {arXiv preprint arXiv:2511.23404},
  year    = {2025}
}
@article{smith2026inplace,
  title   = {In-Place Tokenizer Expansion for Pre-trained LLMs},
  author  = {Smith, Jimmy T.H. and Dakhran, Tarek and Cabrera, Alberto and Lee, Simon S. and Pak, Paul and Tadimeti, Aditya and Seyde, Tim and Labonne, Maxime and Amini, Alexander and Lechner, Mathias},
  journal = {arXiv preprint arXiv:2607.15232},
  year    = {2026},
}

More from Liquid AI

On Hugging Face

Everything on this page comes from these pages and is refreshed every few hours; Hugging Face always has the latest.