On October 27, 2026, Liquid AI released LFM3: six open-weight models for text, vision, audio, omni and “decisions”, all branched from one 1.7B base. The text model, LFM3-1.7B, takes a 256K-token context and fits in about 1 GB at 4-bit. Liquid’s launch post claims it beats Qwen3.5-9B on the average of its benchmark table with about a fifth of the parameters.
This is a practical guide, written the day after launch. On October 28, 2026, I checked every spec, file size and command against the model cards, the HF API, Liquid’s docs and the runtime repos, and recomputed the benchmark average myself. I haven’t run the models, so there are no first-hand speed or quality claims here.
1. The spec card
The family lives in one Hugging Face collection. All six share the same LFM3 backbone and the LFM Open License v1.0. Here is what differs, straight from the cards.
The six LFM3 models (Hugging Face cards, checked October 28, 2026)
“Official formats” lists the LiquidAI repos for each model. FP8 and NVFP4 exist only for the text and vision models.
| Model | Params | Context | Input → output | Official formats |
|---|---|---|---|---|
| LFM3-1.7B | 1.73B | 256K | Text → text; reasoning on by default | Transformers weights, GGUF, MLX (4/5/6/8-bit, BF16), ONNX, FP8, NVFP4 |
| LFM3-VL-2B | 1.92B (1.73B LM + 164M vision encoder + 25M projector) | 128K | Text, images, video at 2 fps → text; thinks before answering | Transformers weights, GGUF, MLX (4/5/6/8-bit, BF16), ONNX, FP8, NVFP4 |
| LFM3-Audio-2B | 2B | 32K | Text or 16 kHz audio → text, 24 kHz speech, or both | Transformers weights, GGUF, MLX (4/8-bit, BF16), ONNX |
| LFM3-Omni-2B | 2.17B | 32K | Text, images, video with sound, audio → text, speech, or both; non-reasoning | Transformers weights, GGUF, MLX (4/8-bit, BF16), ONNX |
| d1-2B | 1.92B | 128K | State (text or JSON), images or video + named questions → typed answers with probabilities | Transformers weights, GGUF, MLX (4/8-bit, FP16), ONNX |
| d1-Omni-2B | 2.17B | 128K | Same as d1-2B, plus audio clips and spoken questions → typed answers | Transformers weights, GGUF, MLX (8-bit, FP16), ONNX |
Shared by the whole family
- • Released October 27, 2026 (Liquid’s blog), on Hugging Face, the Liquid Playground and the Liquid API.
- • Backbone: LFM3-1.7B-Base, pre-trained on 22T tokens. Its 24 layers are 13 gated short convolutions, 5 sliding-window attention layers and 6 global attention layers.
- • Vocabulary: 128,000 tokens. The text, vision, omni and d1 cards list 16 text languages, from English, Spanish and Chinese to Hindi, Thai and Polish; Audio and Omni speak 18.
- • License: LFM Open License v1.0 on every repo, free for commercial use below $10M in annual revenue (details in section 5).
- • Hardware: Arm announced day-one support on October 27, and Liquid’s post quotes AMD, Qualcomm and Ambarella on bringing the models to their chips.
Three numbers that are easy to mix up
The 256K context belongs to the text model only: VL and both d1 models take 128K, Audio and Omni 32K. “About 1 GB” is the 4-bit text model: 0.97 GB in MLX 4-bit, 1.05 GB as the QAD Q4_0 GGUF and 1.10 GB as Q4_K_M, per the HF API. And “six models” leaves out a seventh repo, LFM3-1.7B-Base, the pre-trained checkpoint for fine-tunes.
The two d1 models are not chat models
d1-2B and d1-Omni-2B are what Liquid calls decision models. Both cards say they “return calibrated answers in one forward pass, without generating tokens”. You pass a state (a string, any JSON value, or nothing when a picture or clip is the whole state) plus named questions, and you get typed answers with probabilities. d1-2B builds on LFM3-VL-2B (text, pictures, video); d1-Omni-2B builds on LFM3-Omni-2B and adds audio clips and spoken questions. They follow d1-3B and d1-omni-600M, Liquid’s first open d1 models, released on October 7 on LFM2.5.
If you read my Open-Jev guide, the interface will look familiar: the same choice, noul and score question types, answered in one pass, and d1-2B even reports a JevBench score. The Python method is called system_one, the same “System One” idea I covered in my typed decision models deep dive. Liquid doesn’t say d1 is built on Open-Jev or compatible with Jev’s API, so read this as a shared vocabulary, not a shared project.
Question types (d1 model cards)
- • noul: yes or no; returns P(yes).
- • choice: one option from named criteria, with per-option probabilities; multiple: true makes it multi-label.
- • score: one of 2 to 10 ordered levels; returns the median level and its probabilities.
- • text, number, date: values read from the state, with their span; None when not found.
- • number with range: an estimate with a p10–p90 interval.
- • box and boxes: one object or every instance (up to 16) in a picture.
What Liquid says they’re for
Routing and triage, moderation and guardrails, intent and topic classification, extraction from documents and forms, judging and reranking, and visual inspection. d1-Omni-2B targets decisions that depend on sound, such as call and voice-message routing. Tool routing isn’t on Liquid’s list. You could frame “which tool?” as a choice question, but that’s my extrapolation, not a documented use case.
2. What changed vs LFM2, and the tri-hybrid design in plain words
LFM2 was a two-part hybrid. LFM2-1.2B’s config has 16 layers: 10 short convolutions and 6 global attention layers. LFM3 grows to 24 layers and adds a third layer type, sliding-window attention. That third type is where “tri-hybrid” comes from.
Think of the three layer types as three ways a token can look back at the text before it. Each one trades reach for cost, and the mix decides how much memory the model needs as the context grows.
The three layer types
Gated short convolutions (13 layers)
Each token mixes with the few tokens right before it; the kernel grew from 3 in LFM2 to 7. The state stays tiny and fixed at any context length, so these layers are cheap on a phone CPU.
Sliding-window attention (5 layers)
Real attention, but only over the last 256 tokens. It catches nearby structure a 7-token kernel can’t, and its cache never grows past the window.
Global attention (6 layers)
Full attention over the whole context, where long-range recall happens. Only these 6 layers keep a key-value cache that grows with the prompt.
That last point is the payoff. Liquid says a full 128K-token context needs 1.6 GB of KV cache, against 4.3 GB for Qwen3.5-4B and 5.6 GB for MiniCPM5-2B. My arithmetic from config.json agrees: 6 global layers Ă— keys and values Ă— 4 KV heads Ă— 128 dimensions Ă— 131,072 tokens Ă— 2 bytes is about 1.6 GB. In the stack, two convolutions come first, then attention and convolution alternate, with global and sliding-window attention taking turns.
Other changes Liquid lists
- • Architecture search with the hardware in the loop on 14 device and backend combinations (phones, a Raspberry Pi 5, laptops, cloud CPUs, GPUs, Qualcomm’s Hexagon NPU), up from two CPUs for LFM2.
- • Head-wise sigmoid gating on attention outputs, partial RoPE on the global layers only, and sandwich normalization (the last two show up in config.json).
- • A 128,000-token vocabulary, up from LFM2’s 65,536.
- • 22T pre-training tokens with more papers, repository-level code and math. The last 3.5T use curated data with more agentic traces and tool calls, and extend the context to 256K.
- • Post-training: 1.75T tokens of SFT, mixed RL with a length penalty, distillation from six specialist RL teachers, then agentic RL in real harnesses such as Hermes Agent, Pi and OpenClaw.
- • New encoders: an in-house 164M vision encoder (the first LFM vision model to take video), plus a new audio encoder and the LiquidCodec tokenizer.
The one-sentence version
LFM3 spends attention only where it pays (6 global layers) and uses cheap convolutions and short windows everywhere else, which is how a 1.7B model holds 256K tokens on a phone. Liquid says the result beats LFM2.5-2.6B with 35% fewer parameters.
3. Benchmarks (self-reported)
Liquid’s table compares LFM3-1.7B with five models on 29 benchmarks, from agents and tool use to knowledge and long context, all run in vLLM at BF16. I picked the rows that matter most for an on-device agent, plus the ones where it loses.
Selected rows from the LFM3-1.7B card (self-reported by Liquid AI)
Higher is better. “Average” is Liquid’s unweighted mean of all 29 scores; I recomputed it from the card and got the same 49.37 and 47.24.
| Benchmark | LFM3-1.7B | LFM2.5-2.6B | Qwen3.5-4B | Qwen3.5-9B |
|---|---|---|---|---|
| Average (29 benchmarks) | 49.37 | 31.55 | 39.27 | 47.24 |
| BFCL V4 (tool calling) | 71.39 | 55.89 | 55.12 | 62.83 |
| ToolSandbox | 80.36 | 78.04 | 75.40 | 76.41 |
| τ³-bench (4 domains) | 68.01 | 56.77 | 65.98 | 67.11 |
| MCP-Atlas | 32.57 | 16.45 | 41.37 | 42.67 |
| WebArena-Verified | 38.42 | 3.02 | 21.92 | 28.94 |
| AutomationBench (public) | 41.29 | 0.94 | 8.67 | 15.10 |
| IFBench | 73.03 | 60.48 | 38.16 | 48.84 |
| LiveCodeBench v6 | 73.46 | 60.57 | 61.99 | 69.86 |
| SWE-bench Verified (OpenCode) | 43.40 | 18.00 | 41.20 | 51.20 |
| Terminal-Bench 2.1 (OpenCode) | 12.92 | 0.00 | 13.48 | 17.98 |
| GPQA Diamond | 63.37 | 57.78 | 75.76 | 80.40 |
| Humanity’s Last Exam (no tools) | 7.17 | 5.88 | 12.84 | 16.41 |
| AA-Omniscience accuracy | 7.07 | 8.75 | 15.67 | 13.17 |
| AA-LCR (long context) | 52.83 | 6.00 | 52.67 | 62.00 |
| RULER 128K | 65.56 | 1.15 | 84.63 | 87.11 |
Tool use and instruction following are the real story: BFCL V4, ToolSandbox, IFBench and AutomationBench all favor the 1.7B over a model five times its size. The knowledge and long-context rows go the other way, by wide margins.
How much of the average is one benchmark? (my arithmetic)
Head to head, LFM3-1.7B wins 14 of the 29 rows against Qwen3.5-9B. Three rows are AA-Omniscience variants, where LFM3 scores 0.50 vs -28.00 on the index and 92.93 vs 52.59 on non-hallucination. Drop those three and the other 26 rows average 51.20 for LFM3 and 51.24 for Qwen3.5-9B: a tie. Matching a 9B model at 1.73B is still the point; just don’t read “beats Qwen3.5-9B” as “better everywhere”.
d1-2B decision benchmarks (self-reported)
Order: d1-2B / d1-Omni-2B / d1-3B (the October model built on LFM2.5), as published on the d1-2B card. Liquid scored all of them on the same items.
- • Decision Index public suite (v0.3): 51.1 / 49.0 / 49.0
- • DecisionBench (Hanno Labs) v1: 77.1 / 76.4 / 73.1
- • JevBench v1.4.1: 77.9 / 75.3 / 76.2
- • WorkflowEvals: 81.6 / 77.1 / 74.4
- • Typed Decisions: 61.3 / 63.1 / 65.0 (the older d1-3B wins this one)
- • Average of the public benchmarks every model on the card shares: 70.2 / 67.7 / 65.4
- • Latency for one question, warm, after model.compile(): 5.7 ms on an NVIDIA H100 PCIe, 3.8 ms on an AMD MI325X, 18.6 ms on an Apple M5 Pro
The other three, one line each (self-reported)
- • LFM3-VL-2B: across 62 vision benchmarks, Liquid says it leads every model of similar size by at least 8 points and matches Gemma 4 12B.
- • LFM3-Audio-2B: VoiceBench 73.13 vs 55.17 for LFM2.5-Audio; English ASR word error rate 6.23, close to LFM2.5-Audio’s 6.13.
- • LFM3-Omni-2B: Daily-Omni 70.09 vs 58.81 for Qwen2.5-Omni 3B, but OmniBench overall 46.32 vs 47.11, so it doesn’t win every omni test.
Speed claims (vendor and partner numbers)
Liquid’s card says that at 32K context (Q4_0 GGUFs in llama.cpp), LFM3-1.7B prefills at least 2.5× and decodes at least 1.8× faster than every compared model on an AMD Ryzen AI Max+ 395, an Apple M5 Max and an iPhone 17 Pro, with the least memory. It also claims 3.6 billion tokens a day from one NVIDIA B300. Arm’s launch-day post calls its own figures “early, provisional”: with SME2, LFM3-1.7B (Q4_0) gets a 3.1× prefill and 1.5× decode speedup on Arm CPUs, over 400 tokens/s prefill and over 50 tokens/s decode on two threads.
4. Quickstart: llama.cpp, Ollama, Transformers and MLX
Runtime support is moving by the hour, so check the date on everything. LFM3 landed in llama.cpp b11960 (v0.8.0) on October 28, the day after launch, and Ollama 0.40.12 shipped official tags on launch day, for Apple hardware only. Every command below is copied from a model card or a release note.
Runtime status on October 28, 2026
From GitHub releases and pull requests, PyPI and the model cards. Cards updated before October 28 may still say llama.cpp support is “in review”.
| Runtime | LFM3 status | Notes |
|---|---|---|
| llama.cpp | Supported from b11960 / v0.8.0 (October 28): text, VL with video, Audio, Omni and both d1 models | d1 answers on llama-server’s /v1/systemone |
| Ollama | 0.40.12 ships lfm3, lfm3-vl, lfm3-audio, lfm3-omni, d1 and d1-omni on Apple hardware; Linux and Windows “coming soon” | HF GGUF imports failed with “unknown model architecture: 'lfm3'” on 0.40.12 |
| mlx-lm | Not released: 0.32.2 (October 16) is the latest, and LFM3 pull request #2016 is open | The MLX card says support is in progress |
| mlx-vlm | LFM3, VL, Audio, Omni and d1 support merged on main on October 27 | PyPI’s 0.7.10 (October 21) predates it |
| Transformers | Runs each repo’s own code with trust_remote_code=True; native pull requests are open | Cards ask for 5.21.0+ (VL), 5.20.2+ (Audio, Omni), 5.19+ (d1) |
| SGLang | Pull request #46858 still open | The FP8 and NVFP4 cards point to it |
| vLLM | VL card: “in progress”; I found no merged pull request | Liquid’s docs show a snippet anyway; I’d wait for a release |
| ONNX Runtime | ONNX exports for all six models | Browser: onnxruntime-web/webgpu with q4f16 (1.38 GB for the 1.7B) |
llama.cpp: the text model (LFM3-1.7B-GGUF card)
Needs b11960 or newer. The second command picks the quantization-aware distilled Q4_0 file, which Liquid trained to recover the accuracy lost to Q4_0.
# llama.cpp b11960 (v0.8.0) or newer
llama-cli -hf LiquidAI/LFM3-1.7B-GGUF:Q4_K_M \
--temp 0.1 --top-k 50 --repeat-penalty 1.1
# Quantization-aware distilled Q4_0 build (1.05 GB)
llama-cli -hf LiquidAI/LFM3-1.7B-GGUF \
--hf-file LFM3-1.7B-QAD-Q4_0.gguf \
--temp 0.1 --top-k 50 --repeat-penalty 1.1llama.cpp: d1-2B as a decision server (d1-2B-GGUF card)
A question is read in one batch, so -b and -ub must hold the state plus any media. In llama.cpp, d1 answers noul, choice and score questions.
llama-server -hf LiquidAI/d1-2B-GGUF:Q8_0 -b 8192 -ub 8192
curl http://127.0.0.1:8080/v1/systemone -H "Content-Type: application/json" -d '{
"state": "I was charged twice this month, please refund one of them.",
"questions": {
"refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"},
"team": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "Charges, refunds, invoices", "technical": "App or site faults",
"fraud": "Suspected unauthorised use"}},
"urgency": {"type": "score", "instructions": "How urgent is this?",
"criteria": ["Can wait", "Today", "Blocking the customer now"]}
}
}'llama.cpp: a question about a video (LFM3-VL-2B-GGUF card)
Video input needs ffmpeg in your PATH. For an interactive chat, run llama-cli with the same flags and type /image or /video to attach media.
llama-mtmd-cli -hf LiquidAI/LFM3-VL-2B-GGUF:Q4_0 \
--video reading.mp4 -p "What is the child doing in this video?" \
--temp 0.1 --top-p 1.0 --top-k 50 --min-p 0.0 --repeat-penalty 1.1Ollama 0.40.12 on Apple hardware (release notes)
lfm3:latest is the 1.7B in NVFP4 on Ollama’s MLX engine (1.7 GB). Ask for d1:2b explicitly, because d1:latest still points to the older d1-3B.
ollama run lfm3
ollama run d1:2b "I was charged twice for order 4417." --ask "Is this a billing issue?"Transformers: LFM3-1.7B (model card)
Loads Liquid’s own model code from the repo. Reasoning is on by default; see the sampling notes below.
# pip install -U transformers torch accelerate
from transformers import pipeline
generator = pipeline(
"text-generation",
model="LiquidAI/LFM3-1.7B",
trust_remote_code=True,
)
messages = [{"role": "user", "content": "What is C. elegans?"}]
output = generator(
messages,
do_sample=True,
temperature=0.1,
top_k=50,
repetition_penalty=1.1,
max_new_tokens=2048,
)
print(output[0]["generated_text"][-1]["content"])Transformers: d1-2B (model card)
One forward pass and no sampling parameters. The last line is the output printed on the card, not one I produced.
# pip install "transformers>=5.19" torch torchvision pillow
import torch
from transformers import AutoModel
device = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu"
dtype = torch.float32 if device == "cpu" else torch.bfloat16
model = AutoModel.from_pretrained("LiquidAI/d1-2B", trust_remote_code=True, dtype=dtype).to(device)
# Several named questions over one state, answered in one pass
questions = {
"refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"}, # yes/no: P(yes)
"team": {"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"billing": "Charges, refunds, invoices", "shipping": "Delivery and parcels",
"technical": "App or site faults"}},
"topics": {"type": "choice", "multiple": True, "instructions": "Which topics does the message raise?",
"criteria": {"billing": "Payments and charges", "delivery": "Shipping and parcels",
"login": "Signing in to the account"}},
"urgency": {"type": "score", "instructions": "How urgent is this ticket?", "criteria": ["low", "medium", "high"]},
}
out = model.system_one("I was charged twice and my parcel never arrived. Please refund one charge.", questions)
a = out["answers"]
urgency = a["urgency"]["legend"][str(int(a["urgency"]["score"]))]
print(round(a["refund"]["noul"], 2), a["team"]["choice"], a["topics"]["choices"], urgency)
# 1.0 billing ['billing', 'delivery'] mediumMLX: the 4-bit text model (once mlx-lm supports it)
This is the card’s command, and it won’t run on mlx-lm 0.32.2. The CLI has no repetition-penalty flag, so the card suggests make_logits_processors(repetition_penalty=1.1) in Python.
mlx_lm.generate --model LiquidAI/LFM3-1.7B-MLX-4bit \
--prompt "What is the capital of Australia?" \
--temp 0.1 --top-k 50 --max-tokens 16384Sampling and thinking settings from the cards
- • LFM3-1.7B, general use (chat, tools, agents): temperature 0.1, top_k 50, repetition_penalty 1.1.
- • LFM3-1.7B, math and science: temperature 1.0, top_p 0.95, top_k 20.
- • LFM3-VL-2B: temperature 0.1, top_p 1.0, top_k 50, min_p 0.0, repetition_penalty 1.1.
- • LFM3-Omni-2B: greedy for text; audio_temperature 0.4 and audio_repetition_penalty 1.2 for speech. It doesn’t reason, so pass --reasoning off to llama-server.
- • LFM3-Audio-2B: audio_temperature 1.0, audio_top_k 128 and audio_repetition_penalty 1.1 for speech.
- • d1 models: nothing to set.
- • Thinking is on by default for text and VL; earlier turns’ reasoning is dropped unless you pass preserve_thinking=True.
On a Mac today
Ollama 0.40.12 and llama.cpp’s Metal build are the two paths that work right now. The MLX command above is what you’ll use once mlx-lm merges LFM3. If you haven’t set up mlx-lm before, my MLX + mlx-lm guide covers the install and fine-tuning, so you’re ready the day support lands.
5. Honest limits
Plan around these before you put LFM3 in a product.
Where I’d be careful
- • Every number in section 3 is Liquid’s own, from Liquid’s harness. One day after launch, I found no independent evaluation.
- • The headline average leans on AA-Omniscience: without those three rows, LFM3-1.7B and Qwen3.5-9B are tied (section 3).
- • Knowledge is thin: GPQA Diamond 63.37 vs 80.40, and AA-Omniscience accuracy 7.07%. The model mostly admits what it doesn’t know (92.93 non-hallucination), so pair it with retrieval, as the card recommends.
- • A long window isn’t long recall: RULER at 128K is 65.56, against 87.11 for Qwen3.5-9B and 84.63 for Qwen3.5-4B.
- • It isn’t a coding agent. The card calls it “not recommended for agentic coding or complex multi-step reasoning due to its small size”.
- • Reasoning is on by default, which costs tokens and latency on a phone, and the card says turning it off “can be inconsistent”.
- • The runtimes are a day old. Only llama.cpp and Ollama (Apple hardware only) have released support; the 1.7B card lists vLLM and SGLang, which don’t yet.
- • d1 gets less reliable past about 64K tokens of state, and in llama.cpp it can’t do multi-label choice, extraction, estimates or boxes yet. Calibrate every threshold on your own data.
- • Ollama’s d1:latest still points to the older d1-3B (built on LFM2.5, 32K context), so pull d1:2b explicitly.
- • The speed claims are vendor numbers: Liquid compares its LFM3 llama.cpp build with release b11744 for the other models, and Arm calls its SME2 figures provisional.
The license in plain words
LFM Open License v1.0 mostly follows the Apache 2.0 template, with one big addition in Section 5. Commercial use is licensed only while you stay under $10 million in annual revenue, and “you” includes any entity that controls you, that you control, or that is under common control with you. Above the threshold, commercial use “is not licensed”, so you’d need a separate agreement with Liquid. Qualified non-profits are exempt for non-commercial or research use. That makes it free for startups and side projects, but it isn’t an OSI open-source license. I’m not a lawyer: have counsel read it before you ship.
Verdict: which model to try
LFM3 is the most interesting small-model release this month if you build local agents. A 1.7B model that holds its own against a 9B on tool calling and instruction following, in about 1 GB, is a real step. The d1 pair is the quieter story: millisecond decisions with probabilities, in an open package that already runs in llama.cpp.
It doesn’t replace a bigger model for knowledge, long-document recall or coding agents, and Liquid’s own numbers say so. Treat it as a fast, cheap specialist, fine-tune it on your domain, and keep retrieval or a larger model behind it.
Who should try which model
LFM3-1.7B
Local agents, tool calling and structured output on laptops and phones, ideally fine-tuned on your own tools and paired with retrieval.
LFM3-VL-2B
On-device reading of documents, charts and app screens, short video questions and spatial reasoning for robots.
LFM3-Audio-2B
Offline transcription, speech synthesis and voice commands that become tool calls. Live transcription is English-only.
LFM3-Omni-2B
One on-device model instead of separate ASR, vision, LLM and TTS models. No reasoning, 32K tokens.
d1-2B
Any pipeline step where an LLM now returns a label you parse from JSON: routing, triage, moderation, extraction.
d1-Omni-2B
Call and voice-message routing, or sound events. Without audio, its card says d1-2B is the better pick.
Skip it if…
You need knowledge-heavy answers, recall over very long documents or a coding agent, or your company is over the $10M license threshold.
Try-it checklist
- 1. Update llama.cpp to b11960 or newer and run the Q4_K_M or QAD Q4_0 text model with the card’s sampling.
- 2. On a Mac, try ollama run lfm3 on Ollama 0.40.12, or wait for the mlx-lm release.
- 3. Run 20 to 50 of your own tool-calling tasks with thinking on and off; log pass rate, tokens and latency.
- 4. Put d1-2B behind llama-server’s /v1/systemone on one classification step and compare it with your current LLM call. Calibrate thresholds on your data.
- 5. Test knowledge questions with retrieval on before you trust raw answers.
- 6. Check your company’s revenue against the license threshold before you ship.
Sources for this post
- Liquid AI blog: Introducing LFM3 (Oct 27, 2026)
- Liquid AI blog: Open d1, the first open decision models (Oct 7, 2026)
- Hugging Face: LiquidAI LFM3 collection
- Model card: LiquidAI/LFM3-1.7B (specs, benchmarks, sampling)
- Model card: LiquidAI/LFM3-1.7B-GGUF (llama.cpp commands, QAD Q4_0)
- Model card: LiquidAI/LFM3-1.7B-MLX-4bit
- Model card: LiquidAI/LFM3-VL-2B
- Model card: LiquidAI/LFM3-Audio-2B
- Model card: LiquidAI/LFM3-Omni-2B
- Model card: LiquidAI/d1-2B (decision model, question types, benchmarks)
- Model card: LiquidAI/d1-2B-GGUF (llama-server /v1/systemone)
- Model card: LiquidAI/d1-Omni-2B
- LFM Open License v1.0 (LICENSE file)
- Liquid docs: LFM3-1.7B model page
- llama.cpp v0.8.0 / b11960 release notes (LFM3 and d1 support)
- Ollama v0.40.12 release notes (lfm3 and d1 tags)
- Ollama library: lfm3
- Ollama library: d1
- mlx-lm pull request #2016: Add LFM3 support (open)
- mlx-vlm pull request #2607: native LFM3 and LFM3-VL support (merged)
- SGLang pull request #46858: LFM3 support (open)
- Transformers pull request #50036: LFM3 family (open)
- Arm on X: day-one LFM3 support and SME2 figures (Oct 27, 2026)
- AI/TLDR: LFM3 release summary (secondary)
- AI Weekly: Liquid AI opens six-model LFM3 family (secondary)



