⚡ All JANG models are meant to be run in vMLX
Holo3 35B-A3B — JANGTQ4 (MLX)
TurboQuant codebook quantization of H Company's Holo3 GUI-agent VLM — routed experts at 4-bit via Lloyd-Max codebooks + Hadamard rotation, attention / embed / shared-expert / lm_head at 8-bit affine, vision tower preserved. The highest-quality JANGTQ profile for this family.
Model Details
| Property | Value |
|---|
| Base model | Hcompany/Holo3-35B-A3B (finetune of Qwen/Qwen3.5-35B-A3B) |
| Parameters (source) | 35 B total, ~3 B active per token |
| Architecture | qwen3_5_moe — 40 decoder layers: 30 Gated DeltaNet (linear attn) + 10 full attention, 256 routed experts + 1 always-on shared expert |
| Quantization format | weight_format: mxtq — routed experts via TurboQuant codebook (4-bit), everything else affine 8-bit or fp16 passthrough |
| Routed-expert storage | .tq_packed (uint32) + .tq_norms (fp16) + .tq_bits (uint8); codebook + Hadamard signs re-derived deterministically at load |
| Package size on disk | 19.68 GB across 19 shards |
| Shipped tensors | 1,930 total (1,597 language-model + 333 vision tower + 120 routed-expert TQ triples) |
| Vocab | 248,320 |
| Context (position embeddings) | 262,144 native |
| Vision tower | 27-layer ViT (hidden 1152, patch 16), preserved in fp16 |
| Chat format | Qwen im_start/im_end with <think> reasoning toggle; Holo3 XML tool-call grammar |
| Use case | GUI / computer-use agent (desktop, web, mobile) — designed for screenshot → action loops |
Quantization details, per tensor category
| Category | Bits | Group / codebook | Notes |
|---|
Routed-expert MLP (mlp.switch_mlp.gate_proj, up_proj, down_proj) | 4 (JANGTQ) | 2⁴ Lloyd-Max centroids + Hadamard rotation | .tq_packed + .tq_norms + .tq_bits triples |
Embedding (embed_tokens), lm_head | 8 (affine) | group 64 | MLX-native QuantizedLinear |
Full-attention projections (q_proj, k_proj, v_proj, o_proj) | 8 (affine) | group 64 | Gate-doubled q_proj for attn_output_gate |
Linear-attention projections (in_proj_qkv, in_proj_z, in_proj_b, in_proj_a, out_proj) | 8 (affine) | group 64 | Gated DeltaNet |
Shared-expert MLP (gate_proj, up_proj, down_proj) | 8 (affine) | group 64 | Always active per token |
Router (mlp.gate) | fp16 passthrough | — | Precision-critical |
Shared-expert gate (shared_expert_gate) | fp16 passthrough | — | sigmoid scalar gate |
Norms (*_layernorm, *_norm), A_log, dt_bias, conv1d | fp16 passthrough | — | Un-quantized |
| Vision tower (333 tensors) | fp16 passthrough | — | patch_embed.proj axes pre-transposed to MLX layout |
JANGTQ ("TurboQuant") stores routed-expert weights as indices into a small Lloyd-Max codebook with a per-row norm, after a randomized Hadamard rotation that concentrates the distribution so quantization error is uniform. At 4-bit, the 16-centroid codebook captures the routed-expert weight distribution tightly enough that this profile is the highest-quality JANGTQ option for qwen3_5_moe — preferred over JANGTQ2 when RAM isn't the bottleneck.
Usage
JANGTQ requires our custom loader — stock
mlx_lm.load() can't parse
.tq_packed tensors. You need
jang-tools (free, public):
https://github.com/jjang-ai/jangq.
1pip install mlx mlx-lm mlx-vlm
2git clone https://github.com/jjang-ai/jangq && pip install -e ./jangq/jang-tools
Text
1from jang_tools.load_jangtq import load_jangtq_model
2from mlx_lm import generate
3
4model, tokenizer = load_jangtq_model("JANGQ-AI/Holo3-35B-A3B-JANGTQ4")
5print(generate(model, tokenizer,
6 prompt="The capital of France is",
7 max_tokens=64))
Image (VLM) — the intended use
Holo3 is a GUI agent: give it a screenshot and it localizes UI elements and plans actions.
1from jang_tools.load_jangtq_vlm import load_jangtq_vlm_model
2from mlx_vlm import generate
3from mlx_vlm.prompt_utils import apply_chat_template
4from mlx_vlm.utils import load_config
5
6path = "JANGQ-AI/Holo3-35B-A3B-JANGTQ4"
7model, processor = load_jangtq_vlm_model(path)
8config = load_config(path)
9
10prompt = apply_chat_template(
11 processor, config,
12 "Look at this desktop screenshot. Where should I click to open settings?",
13 num_images=1,
14)
15print(generate(model, processor, prompt, image="path/to/screenshot.png",
16 max_tokens=256))
Reasoning toggle
1msgs = [{"role": "user", "content": "What is 17 × 23?"}]
2# Reasoning OFF — pre-closed <think></think> block
3prompt = tokenizer.apply_chat_template(msgs, add_generation_prompt=True,
4 enable_thinking=False)
5# Reasoning ON — model fills the <think> block
6prompt = tokenizer.apply_chat_template(msgs, add_generation_prompt=True,
7 enable_thinking=True)
Pass enable_thinking as a direct kwarg (the chat_template_kwargs={...} form only propagates on some tokenizer versions).
Tool calls — Holo3 XML format
Holo3 emits tool calls in a custom XML grammar (not JSON). Pass tools=[...] to the tokenizer's chat template; the model responds in this shape:
1<tool_call>
2<function=click>
3<parameter=x>
4512
5</parameter>
6<parameter=y>
7384
8</parameter>
9</function>
10</tool_call>
Parse with a simple XML splitter on
<tool_call>. See H Company's
quickstart for a full agent harness example.
Video
The base model supports video via transformers and the bundle preserves video_preprocessor_config.json. mlx-vlm 0.4.4's prepare_inputs has no video path yet for qwen3_5_moe — for video, use upstream transformers.
Hardware notes
19.68 GB on disk; expect ~20–22 GB resident after load, plus KV cache.
| Mac unified RAM | Works? | Notes |
|---|
| 24 GB | ✅ text-only | Image inference will be tight at long context |
| 32 GB | ✅ comfortable | 32 k+ context, comfortable VL |
| 64 GB+ | ✅ headroom | 262 k native context |
Upstream benchmarks
These are the base-model numbers for Hcompany/Holo3-35B-A3B, not evaluations of this JANGTQ4 quant:
| Benchmark | Score |
|---|
| OSWorld-Verified (computer use) | 77.8 % — SOTA at 3 B active |
| WebArena (web navigation) | State-of-the-art (see upstream card) |
| ScreenSpot-Pro (UI localization) | Top-tier (see upstream card) |
| OSWorld-G (visual grounding) | Top-tier (see upstream card) |
| H Corporate Benchmark (486 enterprise tasks) | Outperforms larger competitors |
Independent JANGTQ-quant evaluation is tracked in the jang-tools repo and will land in future README revisions.
Citation
1@misc{hai2025holo3modelfamily,
2 title = {Holo3 - Open Foundation Models for Navigation and Computer Use Agents},
3 author = {H Company},
4 year = {2026},
5 url = {https://huggingface.co/Hcompany/Holo3-35B-A3B}
6}
License
Apache 2.0 — inherits from the base model.
Packaged on Apple Silicon with
jang-tools (mlx-lm 0.31.2) by Jinho Jang (
eric@jangq.ai).
© 2026 Osaurus AI —
osaurus.ai