Liquid LFM2.5 350M for Tool Calling
Fine-tuned on three multi-turn tool-calling tasks, LFM2.5-350M reached 96.7-98.0% tool call equivalence on two of them and 95.9% on the third, matching or beating the 120B teacher that generated its training data. Untuned it scored 34.5-63.2% on the same tasks.
How accurate is LFM2.5 350M at tool calling?
Accurate enough to deploy, but only after training. These are our measured results from fine-tuning LFM2.5 with distil labs, scored with tool call equivalence — a binary exact match between predicted and reference calls.
| Task | Teacher (120B) | LFM2.5-350M base | LFM2.5-350M tuned |
|---|---|---|---|
| Shell command execution (Gorilla) | 97.03% | 61.4% | 98.0% |
| Smart home control | 92.11% | 63.2% | 96.7% |
| Banking voice assistant | 96.95% | 34.5% | 95.9% |
The tuned 350M model beats a model roughly 343 times its size on two of the three tasks. On the third it lands 1.1 points short.
Why does a 350M model need fine-tuning at all?
Because multi-turn accuracy compounds multiplicatively. A model that is right 63% of the time on a single call is right on every call in a five-turn conversation about 10% of the time (0.63^5). The best untuned score in the table above is not a near miss; it is a different regime.
Liquid AI says as much on the model card: “We recommend fine-tuning LFM2.5 for your specific use case to achieve the best results.” Our numbers are that recommendation quantified. Most of the gain arrives in a single epoch — Gorilla went from 61.4% to 98.0% after epoch 1 and stayed there.
What is LFM2.5 350M bad at?
Knowledge and code, by the vendor’s own account. The LFM2.5-350M card states the model “is not recommended for knowledge-intensive tasks and programming.” Do not point it at closed-book QA.
Large function catalogues with noisy input. The banking voice assistant is the one task where the tuned model fell short of the teacher. It has 14 distinct functions, complex slot types, and ASR transcription artefacts in the input. At 95.9%, roughly 1 call in 24 needs correction — fine behind an orchestrator that can ask a clarifying question, not fine as an unsupervised actuator.
Anything you have not trained it on. This is a specialist. Fine-tuning on a shell command schema does not transfer to your CRM’s schema.
Open-ended dialogue. 350M parameters and a mid-2024 knowledge cutoff do not make a chatbot. The generation quality that makes it a good structured-output model is not the same as conversational quality.
What makes the architecture different?
It is not a standard transformer, and that is the point. The model card describes 16 layers: 10 double-gated short-range LIV convolution blocks plus 6 grouped-query attention blocks, with a 65,536-token vocabulary and a 32,768-token context window, trained on a 28-trillion-token budget.
Replacing most attention layers with convolution blocks means most layers carry no KV cache, so memory does not balloon with sequence length the way it does in an all-attention model. Liquid AI reports the model running under 1 GB of memory. That is the practical difference between “runs on an NPU” and “runs on a server”, and it is why the LFM2 family also topped the tunability ranking in our 15-model benchmark, where LFM2-350M placed first at an average rank of 2.11.
How do you train it for your own tool schema?
Four steps, and the first two are where the work is.
- Write the function schema. Be specific about argument types, required fields, and allowed values — this is what the model learns to satisfy.
- Write 20-100 seed conversations covering slot filling, mid-conversation intent changes, and error recovery. If the model sits behind speech recognition, put transcription artefacts in the seeds.
- Train. Set
student_model_name: LFM2.5-350Mandtask: multi-turn-tool-calling-closed-bookin your config; the teacher must be one of the tool-calling teachers marked in the catalog. The results above used GPT-OSS-120B, the documented default; recent runs more often usezai.glm-5, which also qualifies. Either way, reasoning teachers needsynthgen.teacher_temperaturebetween 0.5 and 0.7. - Deploy to GGUF, ONNX, or MLX depending on target hardware, per the local deployment guide.
For a comparison against the other purpose-built tiny function caller, see FunctionGemma 270M — it starts from a much weaker base and lands in a similar place. Broader family guidance is in Qwen vs Llama vs Gemma for tool calling, and the general training path is in how to fine-tune a small language model.