--- license: apache-2.0 base_model: sensenova/SenseNova-Loop-9B-Preview base_model_relation: quantized library_name: mlx pipeline_tag: text-generation tags: [mlx, sensenova, sensenova-loop, looped-transformer, mhc, qwen3_5, apple-silicon] --- # SenseNova-Loop-9B-Preview — MLX 6-bit A 6-bit MLX conversion (affine, group size 64) of [sensenova/SenseNova-Loop-9B-Preview](https://huggingface.co/sensenova/SenseNova-Loop-9B-Preview) (revision `9937e91`, released 30 October 2026) for Apple Silicon. 7.3 GB of weights. Text model; image input is not part of this build yet. Close to the 8-bit build at three quarters of the size. Published by [NetProjects](https://netprojects.com) (Internet Projects Ltd). Not affiliated with SenseTime / SenseNova. ## A faithful port of the looped architecture SenseNova-Loop is a Qwen3.5-based model with two additions, and this build runs both exactly as SenseNova's own code does: - **Looped execution:** layers 0–3 run once, layers 4–27 run **twice** with shared weights, then layers 28–31: 56 layer passes per token. Every pass has its own cache slot (KV cache for full attention, conv and recurrent state for Gated DeltaNet). - **Two-stream mHC** on layers 4–27: the hidden state is split into two residual streams that are routed by small float32 routers (pre / post gates and a 2×2 Sinkhorn mixing matrix, 20 iterations). The 96 router tensors stay in float32 and are never quantized. The model code is `sensenova_loop.py`, included in this repo and loaded by mlx-lm through `trust_remote_code=True`. Source, converter, parity and benchmark scripts: [github.com/internet-projects/sensenova-loop-mlx](https://github.com/internet-projects/sensenova-loop-mlx). ## Results (MacBook Pro M5 Max, 128 GB, 7 November 2026) Agreement with SenseNova's own PyTorch code (Transformers 5.18, bf16) on 16 prompts, every position: | | 8-bit | 6-bit | 4-bit | |---|---|---|---| | Same top token as the reference | 97.6% | 97.2% | 89.2% | | KL divergence at the last token | 0.0011 | 0.0037 | 0.064 | | Size | 9.6 GB | 7.3 GB | 5.1 GB | Short public benchmark (same harness for every build; first 300 ARC-Challenge test questions, log-likelihood over the 4 choices; first 50 GSM8K test questions, chat template, thinking off, greedy): | | bf16 | 8-bit | 6-bit | 4-bit | |---|---|---|---|---| | ARC-Challenge acc / acc_norm | 48.7 / 51.0 | 48.7 / 50.3 | 47.7 / 49.0 | 45.7 / 45.0 | | GSM8K (50) | – | 94.0 | 88.0 | 92.0 | GSM8K on 50 questions moves 2 points per question. Decode speed for this build: about 20 tokens/s on the M5 Max (short run). The loop doubles the work of the middle 24 layers, so it is slower than a plain 9B model; that is the cost of the extra depth. ## Use Needs Python 3.11 or newer and mlx-lm 0.32 or newer (the macOS system Python 3.9 only gets an older mlx-lm that can't load this model). ```bash pip install -U "mlx-lm>=0.32" ``` ```python from mlx_lm import load, generate model, tokenizer = load("netprojects/SenseNova-Loop-9B-Preview-MLX-6bit", trust_remote_code=True) messages = [{"role": "user", "content": "Explain in two sentences why the sky is blue."}] prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False) print(generate(model, tokenizer, prompt=prompt, max_tokens=256)) ``` Set `enable_thinking=True` for thinking mode. Server: `mlx_lm.server --model netprojects/SenseNova-Loop-9B-Preview-MLX-6bit --trust-remote-code`. **Other sizes:** [8-bit](https://huggingface.co/netprojects/SenseNova-Loop-9B-Preview-MLX-8bit) (9.6 GB) · [4-bit](https://huggingface.co/netprojects/SenseNova-Loop-9B-Preview-MLX-4bit) (5.1 GB) ## License SenseNova-Loop-9B-Preview is released by SenseNova under the **Apache License 2.0** (`LICENSE` included). This repository contains converted and quantized weights of that model (modified from the original: converted to MLX format and quantized to 6-bit) and an MLX implementation of its architecture, distributed under the same license. Credits: SenseNova / SenseTime (SenseNova-Loop-9B-Preview), Qwen team (Qwen3.5), Apple MLX and mlx-lm. Conversion and MLX port by Paris Michalas, Partner at [NetProjects](https://netprojects.com). Not affiliated with SenseTime / SenseNova. **More NetProjects MLX builds:** [NetProjects MLX builds collection](https://huggingface.co/collections/netprojects/netprojects-mlx-builds-6ae3b2683a59a1b4fc4c0c3a) · [all models at huggingface.co/netprojects](https://huggingface.co/netprojects)