This repository contains a
LiteRT (formerly TFLite) conversion of
Qwen/Qwen3.5-0.8B for on-device inference, packaged in the
LiteRT-LM .litertlm format. Includes the
full multimodal pipeline: language model, vision encoder, and vision adapter for image understanding.
1import numpy as np
2from ai_edge_litert import interpreter as tfl_interpreter
3
4# Load model
5interp = tfl_interpreter.Interpreter(model_path="qwen35_mm_q8_ekv2048.tflite")
6interp.allocate_tensors()
7
8# Initialize KV cache (24 layers, mixed shapes)
9kv_cache = {} # See inference_tflite.py for full initialization
10
11# Prefill
12prefill_runner = interp.get_signature_runner("prefill_64")
13tokens = np.array([[...]], dtype=np.int32) # Padded to 64
14input_pos = np.arange(64, dtype=np.int32)
15output = prefill_runner(tokens=tokens, input_pos=input_pos, **kv_cache)
16
17# Decode loop
18decode_runner = interp.get_signature_runner("decode")
19for step in range(max_tokens):
20 output = decode_runner(tokens=next_token, input_pos=pos, **kv_cache)
21 next_token = np.argmax(output["logits"][0, -1])
1from transformers import AutoTokenizer
2tokenizer = AutoTokenizer.from_pretrained("g-ntovas/Qwen3.5-0.8B-LiteRT")
1@misc{qwen3.5,
2 title={Qwen3.5 Technical Report},
3 author={Qwen Team},
4 year={2026},
5 url={https://huggingface.co/Qwen/Qwen3.5-0.8B}
6}