mlx-community/Llama-3.2-3B-Instruct-8bit
Run locally on Apple devices with Mirai
- Type
- local
- From
- Meta
- Quantization
- MLX 8-bit
- Parameters
- 3B
- Size
- 3.2 GB
An 8-bit quantized conversion of Meta's Llama 3.2 3B Instruct model, optimized for Apple Silicon via the MLX framework. Published by the mlx-community, this variant makes it practical to run a capable instruction-tuned language model locally on Mac hardware with reduced memory overhead.
Origin & Architecture
Llama 3.2 3B Instruct is part of Meta's Llama 3.2 family, released in September 2024. The base model is a 3-billion-parameter decoder-only transformer, fine-tuned for instruction following and conversational use. This community conversion applies 8-bit quantization to shrink the model's footprint while preserving most of its original quality — a common trade-off for efficient on-device inference.
Multilingual Support
The model supports eight languages: English, German, French, Italian, Portuguese, Hindi, Spanish, and Thai — making it a versatile option for multilingual text generation tasks.
Ideal Use Cases
- Local chat and assistants on macOS devices with Apple Silicon (M1/M2/M3/M4)
- Multilingual text generation across supported languages
- Rapid prototyping where low latency and no cloud dependency are priorities
- Edge deployment scenarios that benefit from a small, quantized model
Why This Variant?
Running full-precision 3B models can still be demanding on consumer hardware. The 8-bit quantization strikes a balance between model capability and resource efficiency, enabling smooth inference in the MLX ecosystem without requiring dedicated GPU servers. For developers already working within the MLX or Hugging Face `transformers` pipelines, this is essentially a drop-in replacement tuned for Apple's ML stack.
Licensing
Distributed under the Llama 3.2 Community License, which permits broad use, redistribution, and derivative works with attribution requirements. Commercial users exceeding 700 million monthly active users must obtain a separate license from Meta.
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/Llama-3.2-3B-Instruct-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 | } |