Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text generation

Qwen3-0.6B-int4

by LiteRT Community (FKA TFLite) litert-community/Qwen3-0.6B-int4

Qwen3-0.6B-int4 is an open-weight model for text generation from LiteRT Community (FKA TFLite), released under Apache License 2.0. Its published files total 694.5 MB. It draws 3.6k downloads a month.

On-device INT4 builds of Qwen/Qwen3-0.6B in the.litertlm format for Google's LiteRT-LM runtime (Android / iOS / desktop / embedded). At ~332 MB each (≈7× smaller than the fp32 source), these load fast and keep a small memory footprint on phones.

Parameters—
Context—
Weights694.5 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads3.6k

Model Card

By LiteRT Community (FKA TFLite), published under apache-2.0, revision 256f33043931.

On-device INT4 builds of Qwen/Qwen3-0.6B in the.litertlm format for Google's LiteRT-LM runtime (Android / iOS / desktop / embedded). At ~332 MB each (≈7× smaller than the fp32 source), these load fast and keep a small memory footprint on phones. Qwen3 is a hybrid reasoning model. Because LiteRT-LM bakes the prompt format into the file, the thinking mode is fixed per file, so this repo ships both: - The standard file embeds Qwen3's Jinja chat template (faithful ChatML; if your runtime can pass enablethinking, it stays controllable). - The no-think file prefills a closed empty into the assistant turn, so the model answers directly. This was built for a wearable health-assistant where a phone…

Read LiteRT Community (FKA TFLite)'s full model card

Qwen3-0.6B — INT4 · LiteRT-LM

On-device INT4 builds of Qwen/Qwen3-0.6B in the .litertlm format for Google's LiteRT-LM runtime (Android / iOS / desktop / embedded).

At ~332 MB each (≈7× smaller than the fp32 source), these load fast and keep a small memory footprint on phones.

Two flavours — pick your thinking behaviour

Qwen3 is a hybrid reasoning model. Because LiteRT-LM bakes the prompt format into the file, the thinking mode is fixed per file, so this repo ships both:

File Thinking Best for
qwen3_0.6b_q4_block32_ekv1280.litertlm ON (default Qwen3) quality / reasoning; emits <think>…</think> then the answer
qwen3_0.6b_nothink_q4_block32_ekv1280.litertlm OFF fast, short, direct answers — ~2× quicker on a CPU backend; no chain-of-thought to filter out
  • The standard file embeds Qwen3's Jinja chat template (faithful ChatML; if your runtime can pass enable_thinking, it stays controllable).
  • The no-think file prefills a closed empty <think></think> into the assistant turn, so the model answers directly. This was built for a wearable health-assistant where a phone streams short replies to a watch.

Build details

Converted with litert-torch (the generative API, formerly ai-edge-torch) from the original PyTorch checkpoint.

Setting Value
Source checkpoint Qwen/Qwen3-0.6B (bf16)
Quantization dynamic_int4_block32 (INT4 weights, block size 32, fp32 activations)
Size ~2.2 GiB → 329 MiB (≈6.9× smaller)
Prefill signatures 8, 64, 128, 256, 512, 1024 (runtime picks the smallest that fits)
KV cache max length 1280
KV layout transposed · mask_as_input=true
Stop tokens 151645 (<|im_end|>), 151643 (<|endoftext|>)
Tokenizer bundled from tokenizer.json

Multiple prefill signatures matter for latency: with a single large signature every prompt is padded to it. The exponential set above lets a short prompt run a tiny prefill instead of always paying the 1024-token cost.

Prompt format

Standard Qwen3 ChatML. The no-think file pre-closes thinking on the assistant side:

<|im_start|>user
{user message}<|im_end|>
<|im_start|>assistant
<think>

</think>

{answer}<|im_end|>

Usage (LiteRT-LM, Android / Kotlin)

val engine = Engine(
    EngineConfig(
        modelPath = "/path/to/qwen3_0.6b_nothink_q4_block32_ekv1280.litertlm",
        backend = Backend.CPU(),
        cacheDir = context.cacheDir.absolutePath,
    )
).apply { initialize() }

val conversation = engine.createConversation(
    ConversationConfig(
        systemInstruction = Contents.of("You are a helpful, concise assistant."),
        samplerConfig = SamplerConfig(temperature = 0.8, topK = 40, topP = 0.9),
    )
)

conversation.sendMessageAsync("How did I sleep last night?")
    .collect { msg -> /* stream text */ }

Stop tokens and the prompt format are embedded in each file — no extra runtime configuration required. With the standard (thinking-on) file you may want to strip the leading <think>…</think> block before display.

Performance (on device, measured)

Community measurement on a physical Samsung Galaxy S26 (SM-S942Q, Snapdragon 8 Elite Gen 5 / SM8850, Android 16): litert_lm_advanced_main from the litert-lm v0.16.0 release, GPU backend OpenCL (LITERT_CL) against CPU (XNNPACK) on the same device, one fixed 205-token prompt text (202 tokens under the standard file's tokenizer, 206 under the nothink file's), --benchmark. Two runs per backend taken back-to-back — cells show the range. Peak RSS is the process VmHWM. Before quoting, every file/backend pair was generation-checked with a real prompt (for the nothink file a simple arithmetic prompt — its GPU and CPU outputs were identical, so the GPU runs the model faithfully); the GPU rows are full delegation (both files: decode 1437/1437 ops and every prefill signature fully on LITERT_CL).

File Backend Prefill Decode Time-to-first-token Peak RSS
qwen3_0.6b_q4_block32_ekv1280.litertlm GPU (OpenCL) 1383–1396 tok/s 39.5–45.4 tok/s 0.17 s 730–731 MB
qwen3_0.6b_q4_block32_ekv1280.litertlm CPU (XNNPACK) 221–281 tok/s 37.9–42.1 tok/s 0.74–0.94 s 981–1037 MB
qwen3_0.6b_nothink_q4_block32_ekv1280.litertlm GPU (OpenCL) 1404–1416 tok/s 44.2–50.0 tok/s 0.17 s 761–770 MB
qwen3_0.6b_nothink_q4_block32_ekv1280.litertlm CPU (XNNPACK) 311–313 tok/s 47.2–47.3 tok/s 0.68 s 1032–1036 MB

What the table says:

  • The GPU's win is the prompt side: prefill 4.5–6.3× faster than the same phone's CPU, and time-to-first-token 0.17 s against 0.7–0.9 s. Decode is a wash (44–50 against 47 tok/s on the nothink file) — the usual shape for sub-1B models, where the CPU keeps up with generation but not with prompt processing.
  • Peak RSS is ~25% lower on the GPU (730–770 against 980–1040 MB). GPU engine init is the one cost the table hides: 2.7–5.6 s per process against 0.9–1.3 s on CPU.

Reproduce

import json
from litert_torch.generative.examples.qwen import qwen3
from litert_torch.generative.utilities import converter, export_config as ec_lib
from litert_torch.generative.layers import kv_cache as kv_utils

CKPT = "Qwen3-0.6B"  # local HF snapshot
ec = ec_lib.ExportConfig()
ec.kvcache_layout = kv_utils.KV_LAYOUT_TRANSPOSED
ec.mask_as_input = True

common = dict(
    output_path=".",
    prefill_seq_len=[8, 64, 128, 256, 512, 1024],
    kv_cache_max_len=1280,
    quantize="dynamic_int4_block32",
    export_config=ec,
    output_format="litertlm",
    hf_tokenizer_model_path=f"{CKPT}/tokenizer.json",
    stop_token_ids=[151645, 151643],
)

# Standard (thinking on): bake the Qwen3 Jinja template
tpl = json.load(open(f"{CKPT}/tokenizer_config.json"))["chat_template"]
converter.convert_to_litert(
    qwen3.build_0_6b_model(CKPT), output_name_prefix="qwen3_0.6b",
    jinja_prompt_template=tpl, **common)

# No-think: prefill a closed empty think block in the assistant turn
converter.convert_to_litert(
    qwen3.build_0_6b_model(CKPT), output_name_prefix="qwen3_0.6b_nothink",
    user_prompt_prefix="<|im_start|>user\n", user_prompt_suffix="<|im_end|>\n",
    model_prompt_prefix="<|im_start|>assistant\n<think>\n\n</think>\n\n",
    model_prompt_suffix="<|im_end|>\n", **common)

Training data, provenance & privacy

This is a format/precision conversion only — no fine-tuning or additional training was performed. Weights and behaviour are inherited directly from Qwen/Qwen3-0.6B; see the Qwen3 technical report for that model's pretraining data.

No new training data was introduced by this contribution, so there is no additional dataset to summarise. Because no data was collected or used here, there is no PII involved in this submission — the conversion operates purely on the public base-model weights and tokenizer.

Intended use & limitations

  • Use: offline assistants on phones / edge devices — chat, summaries, simple Q&A over provided context.
  • No-think file: not for complex multi-step reasoning or math (thinking is off). Use the standard file or a larger Qwen3 for that.
  • Quantization: INT4 introduces some quality loss vs the fp32/INT8 source.
  • Inherits the capabilities, biases, and limitations of Qwen/Qwen3-0.6B.

License

Apache 2.0, inherited from Qwen/Qwen3-0.6B.

Acknowledgements

Identity and Version

Repository
litert-community/Qwen3-0.6B-int4
Publisher
LiteRT Community (FKA TFLite)
Task
Text generation
Modality
Text
Library
litert-lm
Parameters
Not stated by the source
Languages
en, zh
Revision
256f33043931947c173d7f3cc1d84ee7a8538cc2
First published
2026-06-30
Last updated
2026-10-15

Files and Weights

4 files, 694.5 MB in total.

Documentation1 file · 8.3 KB
Other2 files · 694.5 MB
Repository1 file · 1.7 KB
Every file
FileTypeSizeSHA-256
README.mdDocumentation8.3 KB —
qwen3_0.6b_nothink_q4_block32_ekv1280.litertlmOther347.3 MB 2df6821ec127
qwen3_0.6b_q4_block32_ekv1280.litertlmOther347.3 MB 312ce4e6bc08
.gitattributesRepository1.7 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download from LiteRT Community (FKA TFLite)

Released by LiteRT Community (FKA TFLite) through its official repository on Hugging Face. Read the license.

Built From

Questions About Qwen3-0.6B-int4

Can I use Qwen3-0.6B-int4 commercially?

Yes. Qwen3-0.6B-int4 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ternary-Bonsai-2-27B-gguf

Prism ML

Full 27B-class reasoning in ternary transformer weights, for llama.cpp (CUDA, Metal, CPU) - \~5.9 GB language model (down from \~54 GB FP16) — full 27B-class reasoning on a standard laptop or a single GPU - 98.2% of FP16 intelligence retained: 84.78 average across 14 thinking-mode benchmarks — far above the conventional IQ2XXS build (72.59) at about 82% of its footprint, and within 0.4 points of UD-Q4KXL at three times the footprint - Retains thinking, reasoning, and agentic behavior deep in the sub-4-bit regime, where conventional low-bit representations collapse: math within half a point of full precision (96.57), coding level with the baseline (89.42), agentic tool calling at 74.92…

Open weights apache-2.0 llama.cpp

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers