Text Generation
Transformers.js
ONNX
qwen3_5_text
webgpu
onnxruntime
onnxruntime-genai
q4
q4f16
int4
cuda
Mixture of Experts
conversational
Instructions to use webbrain-one/Ling-3.0-tiny-ONNX with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers.js
How to use webbrain-one/Ling-3.0-tiny-ONNX with Transformers.js:
// npm i @huggingface/transformers import { pipeline } from '@huggingface/transformers'; // Allocate pipeline const pipe = await pipeline('text-generation', 'webbrain-one/Ling-3.0-tiny-ONNX');
| license: mit | |
| base_model: inclusionAI/Ling-3.0-tiny | |
| library_name: transformers.js | |
| pipeline_tag: text-generation | |
| tags: | |
| - onnx | |
| - transformers.js | |
| - webgpu | |
| - onnxruntime | |
| - onnxruntime-genai | |
| - q4 | |
| - q4f16 | |
| - int4 | |
| - cuda | |
| - moe | |
| - text-generation | |
| # Ling-3.0-tiny ONNX — Q4 WebGPU + CUDA | |
| Community ONNX conversion of | |
| [`inclusionAI/Ling-3.0-tiny`](https://huggingface.co/inclusionAI/Ling-3.0-tiny), | |
| a 7.9B-total / 1.3B-active-parameter hybrid reasoning MoE model. | |
| > [!IMPORTANT] | |
| > This is an independent community conversion, not an official inclusionAI | |
| > release. Read the [original model card](https://huggingface.co/inclusionAI/Ling-3.0-tiny) | |
| > for training, evaluation, intended use, and base-model limitations. | |
| | Target | Files | Runtime | Download | | |
| |---|---|---|---:| | |
| | Browser WebGPU | `onnx/model_q4f16.onnx` + 3 data shards | Transformers.js 4.2+ | 4.849 GB / 4.516 GiB | | |
| | NVIDIA CUDA | `model.onnx` + `model.onnx.data` | ONNX Runtime GenAI | 4.849 GB / 4.516 GiB | | |
| The WebGPU layout follows the standard Transformers.js `q4f16` contract used | |
| by browser-oriented ONNX repositories: the graph is under `onnx/`, external | |
| tensor data is split into three sub-2 GB files, activations and cache are FP16, | |
| and hybrid recurrent-cache names use the Qwen3.5-compatible convention already | |
| supported by Transformers.js. | |
| ## Run in the browser with WebGPU | |
| Install Transformers.js 4.2 or newer: | |
| ```bash | |
| npm install "@huggingface/transformers@^4.2.0" | |
| ``` | |
| ```javascript | |
| import { pipeline, TextStreamer } from '@huggingface/transformers'; | |
| const generator = await pipeline( | |
| 'text-generation', | |
| 'webbrain-one/Ling-3.0-tiny-ONNX', | |
| { | |
| device: 'webgpu', | |
| dtype: 'q4f16', | |
| }, | |
| ); | |
| const messages = [ | |
| { role: 'user', content: 'Explain why the sky is blue in two sentences.' }, | |
| ]; | |
| const output = await generator(messages, { | |
| max_new_tokens: 128, | |
| do_sample: false, | |
| tokenizer_encode_kwargs: { enable_thinking: false }, | |
| streamer: new TextStreamer(generator.tokenizer, { | |
| skip_prompt: true, | |
| skip_special_tokens: true, | |
| }), | |
| }); | |
| console.log(output[0].generated_text.at(-1)?.content); | |
| ``` | |
| For thinking mode, set `enable_thinking: true`. The original model card | |
| recommends `temperature: 1.0`, `top_p: 0.95`, and `top_k: 20` when sampling in | |
| thinking mode. | |
| ### Browser requirements | |
| - A current desktop browser with WebGPU enabled; Chrome or Edge is recommended. | |
| - Approximately 4.85 GB of model downloads on first load, plus browser cache. | |
| - Enough GPU memory for all weights, runtime buffers, state, and the requested | |
| context. The 1.3B active-parameter figure reduces compute, but all 7.9B model | |
| parameters still need to be stored. | |
| - Start with a short prompt and modest `max_new_tokens`, then increase context | |
| after confirming memory use on the target device. | |
| The validation machine had two discrete NVIDIA GPUs, and Chromium selected the | |
| display-connected adapter. On multi-GPU systems, check the adapter selected by | |
| the browser rather than assuming it will match a CUDA compute workload. | |
| This graph depends on WebGPU implementations of `MatMulNBits`, `QMoE`, | |
| `LinearAttention`, `CausalConvWithState`, and `GroupQueryAttention`. It is not a | |
| WASM/CPU fallback model. | |
| ## Use from WebBrain | |
| Use the same repository ID and standard Transformers.js settings: | |
| ```text | |
| model: webbrain-one/Ling-3.0-tiny-ONNX | |
| device: webgpu | |
| dtype: q4f16 | |
| task: text-generation | |
| ``` | |
| WebBrain should select `onnx/model_q4f16.onnx` and fetch the three external-data | |
| files declared by `config.json`. | |
| ## Run the CUDA variant with Python | |
| The repository also retains the separately validated CUDA-targeted ONNX Runtime | |
| GenAI graph. | |
| ```bash | |
| pip install "onnxruntime-gpu>=1.28.0" \ | |
| "onnxruntime-genai-cuda>=0.15.2" \ | |
| "transformers>=4.57,<5" | |
| ``` | |
| ```python | |
| import numpy as np | |
| import onnxruntime_genai as og | |
| from transformers import AutoTokenizer | |
| model_dir = "Ling-3.0-tiny-ONNX" | |
| model = og.Model(model_dir) | |
| tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True) | |
| input_ids = tokenizer.apply_chat_template( | |
| [{"role": "user", "content": "Explain why the sky is blue."}], | |
| add_generation_prompt=True, | |
| tokenize=True, | |
| return_tensors="np", | |
| enable_thinking=False, | |
| ) | |
| params = og.GeneratorParams(model) | |
| params.set_search_options( | |
| max_length=int(input_ids.shape[-1]) + 128, | |
| do_sample=False, | |
| ) | |
| generator = og.Generator(model, params) | |
| generator.append_tokens(np.asarray(input_ids[0], dtype=np.int32)) | |
| prompt_length = int(input_ids.shape[-1]) | |
| while not generator.is_done(): | |
| generator.generate_next_token() | |
| print(tokenizer.decode(generator.get_sequence(0)[prompt_length:], skip_special_tokens=True)) | |
| ``` | |
| ## Architecture and quantization | |
| - 18 Kimi Delta Attention layers with recurrent and convolution state | |
| - 6 Multi-Latent Attention layers with KV cache | |
| - 23 sparse MoE layers with 128 routed experts, top-8 group-limited routing, | |
| expert bias, and one shared expert | |
| - one dense MLP layer at the start of the decoder | |
| - symmetric Q4/block-32 dense and routed-expert weights | |
| - FP16 embeddings, activations, recurrent state, and KV cache | |
| - FP32 MoE router weights and routing math | |
| The ONNX graph contains 235 `MatMulNBits`, 23 `QMoE`, 18 `LinearAttention`, | |
| 18 `CausalConvWithState`, and 6 `GroupQueryAttention` nodes. | |
| ## Validation | |
| - The complete CUDA artifact generated successfully on an NVIDIA GeForce RTX | |
| 5090 with ONNX Runtime GenAI 0.15.2 and ONNX Runtime GPU 1.28.0. | |
| - The WebGPU repack was verified tensor-for-tensor against the CUDA graph; all | |
| 4,835,749,912 external tensor bytes are identical. | |
| - Transformers.js 4.2.0 loads the config, dispatches `Qwen3_5ForCausalLM`, finds | |
| all 18 recurrent/conv caches and 6 attention caches, and applies the original | |
| Ling tokenizer/chat template. | |
| - A full remote-repository test passed in Chrome 150 with Transformers.js 4.2.0 | |
| on an NVIDIA T400 4GB WebGPU adapter using Windows shared-memory | |
| oversubscription. First load/session creation took 925.87 seconds; a | |
| deterministic 16-token generation took 90.18 seconds and produced a coherent | |
| answer. This is a compatibility smoke test, not a performance benchmark. | |
| ## Limitations | |
| - Q4 quantization can change outputs and quality relative to the original BF16 | |
| checkpoint. No benchmark parity claim is made here. | |
| - Browser support, GPU limits, shader compilation time, and memory behavior vary | |
| by operating system, browser version, and GPU driver. | |
| - The advertised 131,072-token context is architectural; practical browser | |
| context is limited by available GPU memory. | |
| - The WebGPU config uses Transformers.js's existing `qwen3_5_text` hybrid-cache | |
| adapter solely as a runtime compatibility layer. The underlying graph and | |
| weights remain Ling/Bailing Hybrid, preserved in | |
| `config_bailing_original.json`. | |
| ## Attribution and license | |
| The model architecture, checkpoint, tokenizer, and chat template are by | |
| [`inclusionAI`](https://huggingface.co/inclusionAI). This conversion retains the | |
| base model's MIT license. Please cite and credit the | |
| [original Ling-3.0-tiny release](https://huggingface.co/inclusionAI/Ling-3.0-tiny) | |
| when using or redistributing this artifact. | |