Recommended models
Start with LFM2.5-350M. It is small enough to bring up quickly on almost any target and is the first model many silicon partners profile. Then scale through the family to map the performance curve:- LFM2.5-350M: bring-up and baseline
- LFM2.5-1.2B-Instruct: standard dense datapoint
- LFM2.5-8B-A1B: MoE with 1.5B active parameters, useful for testing sparse-model behavior on your memory subsystem
- LFM2.5-VL-450M and LFM2.5-Audio-1.5B: multimodal datapoints when your target supports vision or audio workloads
Setup by framework
| Framework | Guide | Typical target |
|---|---|---|
| Transformers | Transformers | GPU baseline, correctness check |
| vLLM | vLLM | GPU serving |
| SGLang | SGLang | GPU serving |
| llama.cpp | llama.cpp | CPU, embedded, custom silicon |
| Ollama | Ollama | Local development |
| MLX | MLX | Apple Silicon |
| ONNX | ONNX | NPUs and accelerator toolchains |
| LEAP SDK | Quick Start | iOS and Android apps |
Quantization
LFMs are routinely deployed quantized on device. Major models ship pre-quantized, so choose the quantization level that fits your memory budget. Lower precision reduces memory and usually improves throughput.- GGUF ladder:
Q4_0,Q4_K_M,Q5_K_M,Q6_K,Q8_0,F16 - MLX: 4-bit, 5-bit, 6-bit, 8-bit, and bf16 repos per model
- ONNX: per-model
-ONNXrepos
Q4_K_M is the default recommendation for CPU and edge deployments. Move up the ladder if your quality bar requires it.
Profile at least two quantization levels, such as Q4_K_M and Q8_0, so you can see the memory, quality, and throughput trade-off on your hardware instead of measuring only one point.
Benchmarking methodology
Report end-to-end latency with prefill and decode separated:- Time to first token
- Decode tokens per second
- P50 and P95 latency, after one warmup iteration
| Input tokens | Output tokens |
|---|---|
| 256 | 100 |
| 512 | 100 |
| 1024 | 100 |
- 256 tokens
- 512 tokens
- 1024 tokens
- 2048 tokens
- 4096 tokens