Fine-Tune LFM2.5 with Ertas
Liquid AI's LFM2.5 family is a set of hybrid on-device language models at 230M, 350M and 1.2B parameters, built on double-gated convolution blocks plus grouped-query attention rather than a pure transformer stack. All three carry a 32,768-token context, run under 1GB of memory, and are the smallest bases in the Ertas catalogue.

LFM2.5 at a Glance
| Developer | Liquid AI |
|---|---|
| Sizes in the Ertas catalogue | 230M, 350M, 1.2B (1.17B actual) |
| Architecture | Hybrid: double-gated short-range convolution blocks plus grouped-query attention blocks |
| Context length | 32,768 tokens (all three sizes) |
| Vocabulary size | 65,536 |
| Knowledge cutoff | Mid-2024 |
| License | LFM Open License v1.0 (lfm1.0) |
| GPU tier to fine-tune on Ertas | T4 for all three sizes |
| Trainable on the Ertas Free plan | Yes, all three |
| Export formats | GGUF and safetensors LoRA adapters |
| Q4_K_M export size | 153 MB (230M), 229 MB (350M), 731 MB (1.2B) |
| Chat template | ChatML-like, with Pythonic tool calls by default |
Overview
LFM2.5 is Liquid AI's family of hybrid language models built for on-device deployment. Three text sizes are in the Ertas catalogue: LFM2.5-230M, LFM2.5-350M, and LFM2.5-1.2B-Instruct. All three are open-weight, all three carry a 32,768-token context window, and all three run in under a gigabyte of memory on a phone, a laptop, or a Raspberry Pi.
The architecture is what separates this family from the other small models in the catalogue. Instead of stacking transformer blocks all the way down, LFM2.5 interleaves double-gated short-range convolution blocks with grouped-query attention blocks. The 1.2B and 350M both run 16 layers, split 10 convolution to 6 attention. The 230M runs 14 layers, split 8 to 6. Convolution blocks cost linear time in sequence length where attention costs quadratic, so the hybrid keeps long prompts affordable at parameter counts where a pure transformer starts to feel the cost of its own attention matrix.
The family arrived in three releases through 2026. LFM2.5-1.2B-Instruct launched on January 5 alongside the vision and audio variants, with pre-training extended from 10T to 28T tokens over the previous LFM2 generation. LFM2.5-350M followed on March 31 on the same 28T budget. LFM2.5-230M arrived on June 25, trained on 19T tokens and distilled from the 350M, then refined with direct preference optimisation and multi-domain reinforcement learning.
Liquid publishes each size in native safetensors, GGUF, ONNX and MLX, with OpenVINO builds for Intel hardware. The license is the LFM Open License v1.0, which is Liquid's own document rather than Apache 2.0 or MIT. Commercial use is permitted with conditions attached, so read it before you ship at scale.
On Ertas, all three sizes fine-tune on a T4 and sit inside the Free plan's 5B parameter ceiling. They are the smallest bases we carry, and for anything targeting a browser, a phone, or a memory-constrained device, they are the right place to start rather than shrinking a larger model down and hoping the quality survives.
Key Features
Instruction following is where this family beats its size class most clearly. LFM2.5-1.2B-Instruct scores 86.23 on IFEval against 73.68 for Qwen3-1.7B, a model 45 percent larger, and 52.37 for Llama 3.2 1B. On IFBench, which measures harder constraint-following, the gap widens to 47.33 against 21.33 for Qwen3-1.7B. For a model whose job is to emit a well-formed tool call or a parseable JSON object every single time, that axis matters more than trivia recall.
Tool calling is a first-class capability rather than a prompt-engineering trick. LFM2.5 writes Pythonic function calls between dedicated `<|tool_call_start|>` and `<|tool_call_end|>` tokens, and you can switch it to JSON output through the system prompt. The 350M scores 44.11 on BFCLv3 and the 230M scores 43.26, both of which land within a point of each other and comfortably ahead of the LFM2-350M predecessor at 22.95. A 230M model holding its own on a function-calling benchmark is a genuine surprise at that parameter count.
The memory footprint is the practical headline. Liquid measured the 350M at 56MB on an iPhone 13 Mini through the Cactus engine and 434MB on an AMD Ryzen AI Max 395+ through llama.cpp. The 230M runs at 375MB on a Galaxy S25 Ultra with 213 tokens per second of decode, and at 293MB on a Raspberry Pi 5. The 1.2B holds under 1GB across CPU, mobile and NPU targets.
Multilingual coverage is broader than the size suggests, and it widens as the models get smaller. The 1.2B covers eight languages, the 350M nine, and the 230M ten including Italian. All three share a 65,536-token vocabulary, which is a quarter the size of Gemma 3's 256K vocabulary and a large part of why the exports are so small. Embedding tables dominate the file size at these parameter counts, so a compact vocabulary pays back directly in download size.
Fine-Tuning with Ertas
All three LFM2.5 sizes fine-tune on a T4 in Ertas Studio, which is the entry GPU tier, and all three sit under the Free plan's 5B parameter ceiling. You can train the 1.2B without paying anything. The models are bf16-native, so they train at bf16 directly rather than falling back to fp32 the way Gemma 3 has to on Turing hardware.
For a family this small, the training recipe that works is a higher learning rate and more epochs than a 7B model would tolerate. The Ertas training guidance for sub-2B bases is a learning rate between 3e-4 and 5e-4, batch size 4, gradient accumulation 2, and 8 to 16 epochs. Small models need more passes over the data before a behaviour sticks, and they tolerate the aggressive rate without collapsing.
Exports come out as GGUF for llama.cpp, Ollama and LM Studio, or as safetensors LoRA adapters if you want to keep the adapter separate and merge it yourself. A fine-tuned 230M at Q4_K_M lands around 153MB, the 350M around 229MB, and the 1.2B around 731MB. Those are download sizes you can put in front of a consumer without an explanation.
Two Ertas builds run on this family in production. [Chatty Valley](/blog/chatty-valley-on-device-ai-mod-stardew-valley) is a fine-tune of LFM2.5-1.2B-Instruct that gives a Stardew Valley villager generated dialogue, quantised to Q4_K_M at 697MB and running on the player's own CPU with no API key. Corporate Goblin is a LoRA fine-tune of LFM2.5-230M, merged and exported to q4 ONNX, running entirely in the browser at [playground.ertas.ai](https://playground.ertas.ai) through transformers.js and WebGPU. Between them they cover both ends of the family and both export paths.
The one thing worth knowing before you start: the LFM Open License v1.0 travels with your fine-tune. It is a Liquid AI document with its own terms, so a commercial product built on an LFM2.5 base needs that license read rather than assumed.
Use Cases
Data extraction and structured output is the use case Liquid recommends first for every size in the family, and the benchmark profile backs it. High IFEval and IFBench with modest MMLU-Pro describes a model that follows the shape of an instruction reliably while knowing less about the world, which is exactly the trade you want when the model's job is to turn a document into JSON. The facts come from the document.
On-device agents and tool calling is the second. The 1.2B is Liquid's recommendation for agentic tasks and RAG, and the 230M is positioned for lightweight on-device agentic pipelines. A model that emits a correct function call at 213 tokens per second on a phone, with nothing leaving the device, opens up assistant patterns that a cloud round-trip makes too slow or too expensive to attempt.
Browser-based AI is where the 230M in particular earns its place. At 153MB quantised it is a plausible first-load download, and exported to ONNX it runs through transformers.js on WebGPU with a WASM fallback. Corporate Goblin is exactly this: a character model that downloads to the user's machine and runs there, with no server and no per-request cost.
Game and character AI is the pattern Chatty Valley proved out. A narrow persona, a tight dataset, and a model small enough that a player will accept the download. The 1.2B holds a multi-turn conversation in character; the 350M holds the voice but loses the thread, which is a finding worth reading before you pick a size.
What to avoid: Liquid explicitly does not recommend this family for knowledge-intensive tasks or programming, and the 230M card adds advanced maths and creative writing to that list. MMLU-Pro at 20.25 for the 230M against 37.42 for Qwen3.5-0.8B is the number that tells you why. If your task needs the model to know things rather than to do things, look at a larger base.
Hardware Requirements
Inference footprints, all measured by Liquid AI on named hardware. The 230M runs at 375MB on a Galaxy S25 Ultra with 1,158 tokens per second of prefill and 213 of decode, and at 293MB on a Raspberry Pi 5 at 523 prefill and 42 decode, quantised to 4-bit at 2K context. The 350M runs at 56MB on an iPhone 13 Mini through the Cactus engine at 496 prefill and 88 decode, at 169MB on a Snapdragon 8 Elite NPU, and at 434MB on an AMD Ryzen AI Max 395+ at 313 tokens per second of decode. The 1.2B holds 719MB on a Galaxy S25 Ultra against 1,306MB for Qwen3-1.7B on the same device, and 856MB on an AMD Ryzen AI 9 HX 370.
Export sizes at Q4_K_M, read from Liquid's published GGUF builds: 153MB for the 230M, 229MB for the 350M, and 731MB for the 1.2B. At Q8_0 those become 247MB, 379MB and 1.25GB. Full BF16 weights are 462MB, 712MB and 2.34GB.
For fine-tuning on Ertas, all three sizes train on the T4 tier, which is the entry tier and the one the Free plan uses. There is no need to reach for an A10G at any size in this family, and the bf16-native weights mean no fp32 fallback penalty on Turing hardware.
If you are training locally rather than on Ertas, QLoRA on the 230M and 350M fits comfortably on a 6GB consumer GPU, and the 1.2B wants 8GB or more. Training-step throughput at these sizes is fast enough that iterating on the dataset, rather than waiting for the run, becomes the bottleneck.
Frequently Asked Questions
- What is LFM2.5?
- LFM2.5 is a family of open-weight hybrid language models from Liquid AI, designed for on-device deployment. It comes in 230M, 350M and 1.2B parameter sizes, all with a 32,768-token context window. Instead of a pure transformer stack, LFM2.5 interleaves double-gated short-range convolution blocks with grouped-query attention blocks, which keeps long-sequence inference cheap at small parameter counts.
- What context length does LFM2.5 support?
- All three LFM2.5 text sizes support 32,768 tokens. The 230M reached that through a dedicated 32K context-extension phase during its 19T-token pre-training run.
- Which LFM2.5 size should I use?
- Use the 1.2B when the model has to hold a multi-turn conversation or run an agent loop. Use the 350M for tool calling, data extraction and structured output where each request stands alone. Use the 230M when download size is the binding constraint, such as a browser-based model or a phone app where the whole download budget is a couple of hundred megabytes.
- Our own experience: a fine-tuned 350M holds a character's voice and formatting perfectly but loses the thread of a casual conversation after a few turns, while the 1.2B holds it. Every automated metric we ran said the 350M was fine, and only a scripted conversational probe caught the failure.
- Is LFM2.5 free to use commercially?
- LFM2.5 is released under the LFM Open License v1.0, which is Liquid AI's own license rather than Apache 2.0 or MIT. Commercial use is permitted with conditions attached. Because the terms differ from the standard permissive licenses, read the license before shipping a commercial product built on an LFM2.5 base. The license travels with your fine-tune.
- Can I fine-tune LFM2.5 on the Ertas Free plan?
- Yes. All three LFM2.5 sizes are under the Free plan's 5B parameter ceiling and all three train on the T4 GPU tier. The 1.2B is the largest of the family and still trains for free.
- How large is a fine-tuned LFM2.5 export?
- At Q4_K_M, roughly 153MB for the 230M, 229MB for the 350M, and 731MB for the 1.2B. Ertas exports as GGUF for llama.cpp, Ollama and LM Studio, or as safetensors LoRA adapters. A Chatty Valley export of the 1.2B shipped at 697MB.
- What is LFM2.5 not good at?
- Liquid AI does not recommend the family for knowledge-intensive tasks or programming, and adds advanced maths and creative writing to that list for the 230M. The benchmark profile shows why: LFM2.5-230M scores 20.25 on MMLU-Pro against 37.42 for Qwen3.5-0.8B. These models follow instructions and call tools well while knowing comparatively little about the world, so pair them with retrieval rather than asking them to recall facts.
Supported Quantizations
Related Resources
LFM2.5 sizes compared: 230M vs 350M vs 1.2B on-device
Chatty Valley: an on-device AI mod for Stardew Valley (Part 1)
Fine-Tuning for Indie Devs: Inside the $10 Ertas Lite Plan
Best Models for On-Device Mobile AI in 2026
llama.cpp
LM Studio
MLX
Ollama
OpenVINO
Ship AI that runs on your users' devices.
Free plan with 30 credits/mo, no card required. Paid plans from $10/mo USD.