CoolFace
Modelpublic

trohrbaugh/LFM2-24B-A2B-heretic-ara

sourceHugging Faceotherupdated 6mo agoView on Hugging Face
2likes96downloads
Model Card

This is a decensored version of LiquidAI/LFM2-24B-A2B, made using Heretic v1.2.0+custom with the Arbitrary-Rank Ablation (ARA) method

Abliteration parameters

ParameterValue
start_layer_index17
end_layer_index39
preserve_good_behavior_weight0.6870
steer_bad_behavior_weight0.0020
overcorrect_relative_weight0.0503
neighbor_count10

Performance

MetricThis modelOriginal model ([LiquidAI/LFM2-24B-A2B](https://huggingface.co/LiquidAI/LFM2-24B-A2B))
KL divergence0.05530 (by definition)
Refusals0/10096/100

<div align="center"> <img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/VmrjMZg7WYfMX5YFHuZ-P.png" alt="Liquid AI" style="width: 100%; max-width: 100%; height: auto; display: inline-block; margin-bottom: 0.5em; margin-top: 0.5em;" /> <div style="display: flex; justify-content: center; gap: 0.5em;"> <a href="https://playground.liquid.ai/"><strong>Try LFM</strong></a> • <a href="https://docs.liquid.ai/lfm/getting-started/welcome"><strong>Docs</strong></a> • <a href="https://leap.liquid.ai/"><strong>LEAP</strong></a> • <a href="https://discord.com/invite/liquid-ai"><strong>Discord</strong></a> </div> </div>

<br>

LFM2-24B-A2B

LFM2 is a family of hybrid models designed for on-device deployment. LFM2-24B-A2B is the largest model in the family, scaling the architecture to 24 billion parameters while keeping inference efficient.

  • —Best-in-class efficiency: A 24B MoE model with only 2B active parameters per token, fitting in 32 GB of RAM for deployment on consumer laptops and desktops.
  • —Fast edge inference: 112 tok/s decode on AMD CPU, 293 tok/s on H100. Fits in 32B GB of RAM with day-one support llama.cpp, vLLM, and SGLang.
  • —Predictable scaling: Quality improves log-linearly from 350M to 24B total parameters, confirming the LFM2 hybrid architecture scales reliably across nearly two orders of magnitude.

image

Find more information about LFM2-24B-A2B in our blog post.

🗒️ Model Details

LFM2-24B-A2B is a general-purpose instruct model (without reasoning traces) with the following features:

Property[**LFM2-8B-A1B**](https://huggingface.co/LiquidAI/LFM2-8B-A1B)[**LFM2-24B-A2B**](https://huggingface.co/LiquidAI/LFM2-24B-A2B)
Total parameters8.3B24B
Active parameters1.5B2.3B
Layers24 (18 conv + 6 attn)40 (30 conv + 10 attn)
Context length32,768 tokens32,768 tokens
Vocabulary size65,53665,536
Training precisionMixed BF16/FP8Mixed BF16/FP8
Training budget12 trillion tokens17 trillion tokens
LicenseLFM Open License v1.0LFM Open License v1.0

Supported languages: English, Arabic, Chinese, French, German, Japanese, Korean, Spanish, Portuguese

Generation parameters:

  • —temperature: 0.1
  • —top_k: 50
  • —repetition_penalty: 1.05

We recommend the following use cases:

  • —Agentic tool use: Native function calling, web search, structured outputs. Ideal as the fast inner-loop model in multi-step agent pipelines.
  • —Offline document summarization and Q&A: Run entirely on consumer hardware for privacy-sensitive workflows (legal, medical, corporate).
  • —Privacy-preserving customer support agent: Deployed on-premise at a company, handles multi-turn support conversations with tool access (database lookups, ticket creation) without data leaving the network.
  • —Local RAG pipelines: Serve as the generation backbone in retrieval-augmented setups on a single machine without GPU servers.

We don't recommend using it for coding, as it wasn't optimized for this purpose.

Chat Template

LFM2-24B-A2B 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

You can use `tokenizer.apply_chat_template()` to format your messages automatically.

Tool Use

LFM2-24B-A2B supports function calling as follows:

  1. 1.Function definition: We recommend providing the list of tools as a JSON object in the system prompt. You can also use the `tokenizer.apply_chat_template()` function with tools.
  2. 2.Function call: By default, LFM2-24B-A2B 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. 3.Function execution: The function call is executed, and the result is returned as a "tool" role.
  4. 4.Final answer: LFM2-24B-A2B interprets the outcome of the function call to address the original user prompt in plain text.

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-24B-A2B is supported by many inference frameworks. See the Inference documentation for the full list.

NameDescriptionDocsNotebook
TransformersSimple inference with direct access to model internals.<a href="https://docs.liquid.ai/lfm/inference/transformers">Link</a><a href="https://colab.research.google.com/drive/1q3jQ6LtyiuPzFZv7Vw8xSfPU5FwkKZY?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHab_LXysEu2E.png" width="110" alt="Colab link"></a>
vLLMHigh-throughput production deployments with GPU.<a href="https://docs.liquid.ai/lfm/inference/vllm">Link</a><a href="https://colab.research.google.com/drive/1VfyscuHP8A3weYpnzuabYJzr5ju0Mit?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHab_LXysEu2E.png" width="110" alt="Colab link"></a>
llama.cppCross-platform inference with CPU offloading.<a href="https://docs.liquid.ai/lfm/inference/llama-cpp">Link</a><a href="https://colab.research.google.com/drive/1ohLl3w47OQZA4ELo46i5E4Z6oGWBAyo8?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHabLXysEu2E.png" width="110" alt="Colab link"></a>
MLXApple's machine learning framework optimized for Apple Silicon.<a href="https://docs.liquid.ai/lfm/inference/mlx">Link</a>—
LM StudioDesktop application for running LLMs locally.<a href="https://docs.liquid.ai/lfm/inference/lm-studio">Link</a>—

Here's a quick start example with Transformers (compatible with transformers>=5.0.0):

python
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

model_id = "LiquidAI/LFM2-24B-A2B"
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,
).to(model.device)

output = model.generate(
    input_ids,
    do_sample=True,
    temperature=0.1,
    top_k=50,
    repetition_penalty=1.05,
    max_new_tokens=512,
    streamer=streamer,
)

🔧 Fine-Tuning

NameDescriptionDocsNotebook
CPT (Unsloth)Continued Pre-Training using Unsloth for text completion.<a href="https://docs.liquid.ai/lfm/fine-tuning/unsloth">Link</a><a href="https://colab.research.google.com/drive/10fm7eNMezs-DSn36mF7vAsNYlOsx9YZO?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHabLXysEu2E.png" width="110" alt="Colab link"></a>
CPT (Unsloth)Continued Pre-Training using Unsloth for translation.<a href="https://docs.liquid.ai/lfm/fine-tuning/unsloth">Link</a><a href="https://colab.research.google.com/drive/1gaP8yTle2v35Um8Gpu9239fqbU7UgY8?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHab_LXysEu2E.png" width="110" alt="Colab link"></a>
SFT (Unsloth)Supervised Fine-Tuning with LoRA using Unsloth.<a href="https://docs.liquid.ai/lfm/fine-tuning/unsloth">Link</a><a href="https://colab.research.google.com/drive/1vGRg4ksRj_6OLvXkHhvjiPamv801Ss?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHabLXysEu2E.png" width="110" alt="Colab link"></a>
SFT (TRL)Supervised Fine-Tuning with LoRA using TRL.<a href="https://docs.liquid.ai/lfm/fine-tuning/trl">Link</a><a href="https://colab.research.google.com/drive/1j5HkSyBb2soUsuhU0eIEA9GwLNRnElF?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHab_LXysEu2E.png" width="110" alt="Colab link"></a>
DPO (TRL)Direct Preference Optimization with LoRA using TRL.<a href="https://docs.liquid.ai/lfm/fine-tuning/trl">Link</a><a href="https://colab.research.google.com/drive/1MQdsPxFHeZweGsNx4RH7Ia8lG8PiGE1t?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHabLXysEu2E.png" width="110" alt="Colab link"></a>
GRPO (Unsloth)GRPO with LoRA using Unsloth.<a href="https://docs.liquid.ai/lfm/fine-tuning/unsloth">Link</a><a href="https://colab.research.google.com/drive/1mIikXFaGvcW4vXOZXLbVTxfBRwXsXa5?usp=sharing"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHab_LXysEu2E.png" width="110" alt="Colab link"></a>
GRPO (TRL)GRPO with LoRA using TRL.<a href="https://docs.liquid.ai/lfm/fine-tuning/trl">Link</a><a href="https://colab.research.google.com/github/Liquid4All/cookbook/blob/main/finetuning/notebooks/grpoforverifiabletasks.ipynb"><img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/vlOyMEjwHab_LXysEu2E.png" width="110" alt="Colab link"></a>

📊 Performance

CPU Inference

We compared LFM2-24B-A2B against two popular MoE models of similar size: Qwen3-30B-A3B-Instruct-2507 (30.5B total, 3.3B active parameters) and gpt-oss-20b (21B total, 3.6B active parameters). We measured both prefill and decode throughputs with Q4KM versions of these models using llama.cpp on AMD Ryzen AI Max+ 395.

image

image

GPU Inference

We also report throughput (total tokens / wall time) achieved with vLLM on a single H100 SXM5 GPU.

image

📬 Contact

Citation

bibtex
@article{liquidAI202624B,
  author = {Liquid AI},
  title = {LFM2.5-24B-A2B: Scaling Up the LFM2 Architecture},
  journal = {Liquid AI Blog},
  year = {2026},
  note = {www.liquid.ai/blog/},
}
bibtex
@article{liquidai2025lfm2,
  title={LFM2 Technical Report},
  author={Liquid AI},
  journal={arXiv preprint arXiv:2511.23404},
  year={2025}
}