mlx-community/LFM2-700M-8bit
Run locally on Apple devices with Mirai
- Type
- local
- From
- LiquidAI
- Quantization
- MLX 8-bit
- Parameters
- 700M
- Size
- 757.2 MB
An 8-bit quantized version of LiquidAI's LFM2-700M, converted to Apple's MLX format for efficient on-device inference on Apple Silicon hardware. This community conversion was produced using `mlx-lm` v0.26.0.
Origin & Architecture
LFM2-700M is part of Liquid AI's second-generation Liquid Foundation Model family, purpose-built for edge deployment. At 700 million parameters, it occupies a compact footprint ideal for resource-constrained environments while still delivering capable text generation. The 8-bit quantization further reduces memory usage, making it particularly well-suited for local inference on MacBooks and other Apple Silicon devices.
Multilingual Support
The model supports eight languages: English, Arabic, Chinese, French, German, Japanese, Korean, and Spanish — giving it broad multilingual utility despite its small size.
Key Highlights
- Edge-optimized: Designed from the ground up for lightweight, fast inference at the edge rather than datacenter-scale deployment.
- MLX-native: Runs natively through Apple's MLX framework, taking full advantage of unified memory and Metal acceleration on M-series chips.
- 8-bit quantization: Reduced precision keeps quality high while cutting memory demands, enabling smooth performance even on devices with limited RAM.
- Chat-capable: Includes a chat template, supporting conversational use cases out of the box.
Use Cases
LFM2-700M-8bit is a strong fit for local assistants, on-device text generation, multilingual content drafting, and any scenario where low-latency inference on Apple hardware is a priority. Its small parameter count and quantized weights make it one of the more accessible options for developers exploring private, offline language model deployment.
Base model: LiquidAI/LFM2-700M License: LFM 1.0 (custom)
spm https://github.com/trymirai/uzu.git
| 1 | import Uzu |
| 2 | |
| 3 | public func runChat() async throws { |
| 4 | let engineConfig = EngineConfig.create() |
| 5 | let engine = try await Engine.create(config: engineConfig) |
| 6 | |
| 7 | guard let model = try await engine.model(identifier: "mlx-community/LFM2-700M-8bit") else { |
| 8 | return |
| 9 | } |
| 10 | for try await update in try await engine.download(model: model).iterator() { |
| 11 | print("Download progress: \(update.progress())") |
| 12 | } |
| 13 | |
| 14 | let messages = [ |
| 15 | ChatMessage.system().withText(text: "You are a helpful assistant"), |
| 16 | ChatMessage.user().withText(text: "Tell me a short, funny story about a robot") |
| 17 | ] |
| 18 | let session = try await engine.chat(model: model, config: .create()) |
| 19 | let stream = await session.replyWithStream(input: messages, config: .create()) |
| 20 | var message: ChatMessage? = nil |
| 21 | for try await update in stream.iterator() { |
| 22 | switch update { |
| 23 | case .replies(let replies): |
| 24 | message = replies.last?.message |
| 25 | case .error(let error): |
| 26 | print("Error: \(error)") |
| 27 | } |
| 28 | } |
| 29 | print("Text: \(message?.text() ?? "empty")") |
| 30 | } |