Instructions to use mlboydaisuke/SmolLM3-3B-LiteRT with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LiteRT-LM
How to use mlboydaisuke/SmolLM3-3B-LiteRT with LiteRT-LM:
# LiteRT-LM runs on various platforms (Android, iOS, Windows, Linux, macOS, IoT, Web/WASM) # and supports many APIs (C++, Python, Kotlin, Swift, JavaScript, Flutter). # For platform-specific integration guides, please refer to the official developer website: # https://ai.google.dev/edge/litert-lm # To try LiteRT-LM, the easiest way is to use our CLI tool. # 1. Install the LiteRT-LM CLI tool: pip install -U litert-lm # 2. Download and run this model locally: # See: https://ai.google.dev/edge/litert-lm/cli litert-lm run \ --from-huggingface-repo=mlboydaisuke/SmolLM3-3B-LiteRT \ --prompt="Write me a poem"
- LiteRT
How to use mlboydaisuke/SmolLM3-3B-LiteRT with LiteRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
SmolLM3-3B β LiteRT-LM (blockwise int4)
HuggingFaceTB/SmolLM3-3B
converted to the LiteRT-LM (.litertlm) format for on-device inference with
Google's LiteRT-LM runtime (the
engine behind the official litert-community/* models).
SmolLM3 is a fully-open 3B decoder (Apache-2.0) with GQA, a NoPE attention schedule, multilingual support, and long-context training β a strong small reasoner.
| File | model.litertlm (~1.9 GB) |
| Quantization | int4 weights β blockwise (block 32) + OCTAV optimal-clipping, symmetric; embedding INT8 |
| Compute | integer |
| Context (KV cache) | 4096 |
| Base model | HuggingFaceTB/SmolLM3-3B |
| Decode speed | ~22.5 tok/s (iPhone 17 Pro, Metal GPU; loads 7.7 s, ~1.24 GB footprint) Β· ~93 tok/s (Mac M-series, LiteRT-LM, Metal GPU, greedy) |
Usage
Run with the LiteRT-LM runtime:
# build litert-lm from https://github.com/google-ai-edge/litert-lm, then:
litert_lm_main \
--model_path model.litertlm \
--backend gpu \
--input_prompt "Explain on-device AI in one sentence."
The .litertlm bundle carries the tokenizer and the prompt template (ChatML β
<|im_start|>role / <|im_end|>, stop token <|im_end|>), so no separate
tokenizer files are needed.
Run on Android
Update (July 2026): Google AI Edge Gallery v1.0.16+ can import litert-lm models directly from Hugging Face inside the app (tap +) β no computer or
adbneeded. The manual steps below are only required on older builds or for sideloading a local file.
The easiest way to try this model on a phone is the official
Google AI Edge Gallery app β it
runs .litertlm models fully on-device and can import your own:
- Install a recent Gallery (package
com.google.ai.edge.gallery, APK from the repo's releases β 1.0.15+ supports.litertlm). Older 1.0.x builds (packagecom.google.aiedge.gallery) only accept the legacy MediaPipe.taskformat and reject.litertlm. - Download
model.litertlmfrom this repo and push it to the device:adb push model.litertlm /sdcard/Download/ - In the app, tap the + button (bottom-right), pick the file, and choose the GPU backend (CPU also works).
- Chat. Nothing else to configure β the
.litertlmbundle already carries the tokenizer and ChatML prompt template.
See the Gallery
Importing Local Models
guide for details. To embed the model in your own Android app instead, use the
LiteRT-LM Kotlin API (Gradle artifact com.google.ai.edge.litertlm:litertlm-android,
getting started).
Run on desktop (LiteRT-LM CLI)
The same .litertlm bundle runs on macOS / Linux / Windows with the official
LiteRT-LM CLI β including as a
local OpenAI-compatible API server:
pip install litert-lm
litert-lm import --from-huggingface-repo mlboydaisuke/SmolLM3-3B-LiteRT model.litertlm smollm3-3b-litert
litert-lm run smollm3-3b-litert # interactive chat in the terminal
litert-lm serve # local OpenAI-compatible API server
Quality β GSM8K parity
Measured on GSM8K (n=100, greedy, 0-shot chain-of-thought asking for #### <n>,
identical prompt and answer-extraction for both rows β only the quantization differs).
| Configuration | GSM8K |
|---|---|
| bf16 (reference) | 81.0% |
| This model β LiteRT int4 (BOCTAV4) | 81.0% |
LiteRT int4 is fully at parity β 0.0 pt vs the bf16 reference. The blockwise-32 +
OCTAV recipe with a 4096 KV cache preserves reasoning accuracy exactly at n=100. The
model produces visible step-by-step chain-of-thought in the answer body and
terminates cleanly at <|im_end|> (no rambling).
Conversion
Converted with litert-torch via its
generic export_hf path. SmolLM3ForCausalLM rides the existing converter with no
custom code: the NoPE attention schedule (rotary disabled on every 4th layer,
no_rope_layer_interval=4) lowers to generic ops with no custom kernel. The int4
recipe is blockwise (block 32) + OCTAV optimal-clipping with the embedding kept
at INT8; the embedding is externalized into its own bundle section so the main
weights section stays under the iOS ~2 GiB single-mmap limit. Blockwise (not
channelwise) int4 plus OCTAV is what holds reasoning accuracy at parity.
License
Apache-2.0, inherited from the base model HuggingFaceTB/SmolLM3-3B.
- Downloads last month
- 11
Model tree for mlboydaisuke/SmolLM3-3B-LiteRT
Base model
HuggingFaceTB/SmolLM3-3B-Base