LFM 2
- Vendor
- LiquidAI
- Parameters
- 2.6B
- Size
- 4.8 GB
$ brew install mirai$ mirai --model LiquidAI/LFM2-2.6BIntegrate with SDK
https://github.com/trymirai/uzu-swift
| 1 | import Foundation |
| 2 | import Uzu |
| 3 | |
| 4 | public func runChat() async throws { |
| 5 | let engineConfig = EngineConfig.create() |
| 6 | let engine = try await Engine.create(config: engineConfig) |
| 7 | |
| 8 | guard let model = try await engine.model(identifier: "alibaba:qwen3.5:0.8b:mirai:mirai-m:4") else { |
| 9 | return |
| 10 | } |
| 11 | for try await update in try await engine.download(model: model).iterator() { |
| 12 | print(String(format: "\r\u{001B}[2KDownload progress: %.2f%%", update.progress() * 100), terminator: "") |
| 13 | fflush(stdout) |
| 14 | } |
| 15 | print() |
| 16 | |
| 17 | let messages = [ |
| 18 | ChatMessage.system().withText(text: "You are a helpful assistant"), |
| 19 | ChatMessage.user().withText(text: "Tell me a short, funny story about a robot") |
| 20 | ] |
| 21 | let session = try await engine.chat(model: model, config: .create()) |
| 22 | let stream = await session.replyWithStream(input: messages, config: .create()) |
| 23 | var message: ChatMessage? = nil |
| 24 | for try await update in stream.iterator() { |
| 25 | switch update { |
| 26 | case .replies(let replies): |
| 27 | let reply = replies.last |
| 28 | message = reply?.message |
| 29 | print("Generated tokens: \(reply?.stats.tokensCountOutput ?? 0)") |
| 30 | case .error(let error): |
| 31 | print("Error: \(error)") |
| 32 | } |
| 33 | } |
| 34 | print("Reasoning: \(message?.reasoning() ?? "empty")") |
| 35 | print("Text: \(message?.text() ?? "empty")") |
| 36 | } |
| 37 | |
Details

LFM2-2.6B is the flagship model in Liquid AI's second-generation family of hybrid language models, purpose-built for edge AI and on-device deployment. With 2.6 billion parameters trained on 10 trillion tokens, it delivers strong quality-per-parameter across knowledge, math, instruction following, and multilingual tasks — while staying efficient enough to run on CPUs, GPUs, and NPUs in smartphones, laptops, and vehicles.
Architecture
LFM2 introduces a novel hybrid design combining multiplicative gates with short convolutions. The 2.6B variant uses 30 layers — 22 double-gated short-range LIV convolution blocks and 8 grouped query attention (GQA) blocks — supporting a 32,768-token context window. This architecture enables 2× faster decode and prefill on CPU compared to similarly sized competitors.
Capabilities
LFM2-2.6B is the only model in the LFM2 family to support dynamic hybrid reasoning, producing chain-of-thought traces for complex or multilingual prompts. It also features structured tool use via JSON function definitions and Pythonic function calls.
The model supports eight languages: English, Arabic, Chinese, French, German, Japanese, Korean, and Spanish. It is particularly well-suited for agentic tasks, data extraction, RAG, creative writing, and multi-turn conversations. Liquid AI recommends fine-tuning on narrow use cases for best results.
Performance

LFM2-2.6B outperforms Llama-3.2-3B-Instruct and SmolLM3-3B on MMLU (64.42), IFEval (79.56), GSM8K (82.41), and MGSM (74.32), establishing a strong quality baseline at the sub-3B scale.
Deployment & Fine-Tuning
The model is compatible with Hugging Face Transformers (v4.55+), vLLM, and llama.cpp via GGUF checkpoints. Fine-tuning is supported through SFT (with Unsloth or TRL) and DPO workflows, with ready-made Colab notebooks provided. Precision is bfloat16 under the LFM Open License v1.0.