Vendor
LiquidAI
Parameters
1.2B
Size
2.2 GB
$ brew install mirai$ mirai --model LiquidAI/LFM2-1.2B

Benchmarks

0.21 s

How long until the model starts responding

lower is better

198 t/s

The speed at which text appears on screen

higher is better

2.33 GB

RAM the model uses while running

lower is better

uzu0.5.14MLX0.31.2llama.cpp0.3.23/1,339 input tokens/512 output tokens

Benchmarked 7 Aug 2026

Integrate with SDK

1
Choose framework
2
Run the following command to install Mirai SDK
https://github.com/trymirai/uzu-swift
3
Apply code
1import Foundation2import Uzu34public 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        return10    }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? = nil24    for try await update in stream.iterator() {25        switch update {26        case .replies(let replies):27            let reply = replies.last28            message = reply?.message29            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

Automated benchmark comparison

LFM2-1.2B is a 1.2-billion-parameter hybrid language model from Liquid AI, purpose-built for edge AI and on-device deployment. Part of the second-generation LFM family, it combines a novel architecture of multiplicative gates and short convolutions — specifically 10 double-gated short-range LIV convolution blocks and 6 grouped query attention (GQA) blocks — to deliver strong quality at minimal resource cost.

Key Strengths

  • Speed — 3× faster training than the previous LFM generation; 2× faster CPU decode and prefill compared to Qwen3.
  • Quality — Outperforms similarly-sized models across knowledge, math, instruction following, and multilingual benchmarks.
  • Flexible deployment — Runs efficiently on CPU, GPU, and NPU hardware, targeting smartphones, laptops, and vehicles.

The model supports a 32,768-token context window and eight languages: English, Arabic, Chinese, French, German, Japanese, Korean, and Spanish. It was trained on 10 trillion tokens (≈75% English, 20% multilingual, 5% code) using knowledge distillation from LFM1-7B, large-scale supervised fine-tuning, custom DPO, and iterative model merging.

Benchmarks

LFM2-1.2B leads or closely matches larger competitors on automated evaluations including MMLU, GPQA, IFEval, and MGSM.

Liquid AI banner

LLM-as-a-Judge evaluations confirm strong conversational and instruction-following quality relative to its size class.

LLM-as-a-Judge results

Judge comparison detail

Inference Performance

On-device throughput tests show clear advantages on CPU runtimes like ExecuTorch and llama.cpp.

ExecuTorch CPU throughput

llama.cpp CPU throughput

Recommended Use Cases

Due to its compact size, Liquid AI recommends fine-tuning LFM2-1.2B on focused tasks for best results. It excels at agentic workflows, data extraction, RAG, creative writing, and multi-turn conversations. Built-in tool-use support enables structured function calling via a ChatML-style template. Compatible with Hugging Face Transformers (v4.55+), vLLM, and llama.cpp via GGUF.

Explore all local models