tencent · text · mixture of experts

HunyuanOCR

tencent/HunyuanOCR

HunyuanOCR at Q4_K_M is exactly 354,966,656 bytes (0.33 GiB / 0.35 GB) — an effective 2.536 bits per weight, not the nominal 4. Its KV cache at 32K is 0.84 GiB.

From the file· summed from 1 file(s)From the file· KV per layer
Parameters
1.1B
total, not active
Architecture
hunyuan_vl
24 layers
Context
131,072
native (config.json)
License

Shipped quantizations

exact bytes, summed from published files
QuantSizeExact bytesEffective bpwTensorsPublisher
Q2_K0.24 GiB259,661,3121.855mradermacher
Q3_K_S0.27 GiB285,219,9682.037prithivMLmods
Q3_K_S0.27 GiB285,220,3522.037mradermacher
Q3_K_M0.29 GiB307,666,0482.198prithivMLmods
Q3_K_M0.29 GiB307,666,4322.198mradermacher
Q3_K_L0.30 GiB327,392,3842.339prithivMLmods
Q3_K_L0.30 GiB327,392,7682.339mradermacher
IQ4_XS0.31 GiB329,113,0882.351mradermacher
Q4_K_S0.32 GiB342,269,0562.445prithivMLmods
Q4_K_S0.32 GiB342,269,4402.445mradermacher
Q4_K_M0.33 GiB354,966,6562.536prithivMLmods
Q4_K_M0.33 GiB354,967,0402.536mradermacher
Q5_K_S0.37 GiB392,273,0242.802prithivMLmods
Q5_K_S0.37 GiB392,273,4082.802mradermacher
Q5_K_M0.37 GiB399,793,2802.856prithivMLmods
Q5_K_M0.37 GiB399,793,6642.856mradermacher
Q6_K0.42 GiB447,421,9523.196mradermacher
Q8_00.54 GiB577,949,4084.128ggml-org
Q8_00.54 GiB577,949,4084.128prithivMLmods
Q8_00.54 GiB577,949,7924.128mradermacher
BF161.01 GiB1,083,218,5287.738ggml-org
BF161.01 GiB1,083,218,5287.738prithivMLmods
F161.01 GiB1,083,218,5287.738prithivMLmods
F161.01 GiB1,083,218,9127.738mradermacher
F322.01 GiB2,161,125,98415.438prithivMLmods

KV cache by context

computed per layer
ContextKV cache (f16)Flat formulaOverstated byFull / windowed / recurrent
4,0960.11 GiB0.47 GiB4.44×24 / 0 / 0
8,1920.21 GiB0.94 GiB4.44×24 / 0 / 0
16,3840.42 GiB1.88 GiB4.44×24 / 0 / 0
32,7680.84 GiB3.75 GiB4.44×24 / 0 / 0
65,5361.69 GiB7.50 GiB4.44×24 / 0 / 0
131,0723.38 GiB15.00 GiB4.44×24 / 0 / 0

This model uses multi-head latent attention. No V cache is allocated at all, and the K cache stores a 512-wide latent plus 64 rope dimensions — so reading num_key_value_heads from config.json and multiplying, as every calculator does, overstates the cache by well over an order of magnitude.

Compare with

same modality, comparable size

Will it run on your card?

full quant x context sweep

Why other calculators give a different number

A parameters × bits ÷ 8 estimate puts Q4_K_M at roughly 0.59 GiB. The real file is 0.33 GiB, because a quantization is a mixture and some tensors are always kept at higher precision. The larger discrepancy is the cache: this model allocates no value cache at all, so any formula reading num_key_value_heads overstates it by more than an order of magnitude.

Architecture

from config.json
Layers
24
Attention heads
16
KV heads
8
Head dim
192
Hidden size
1024
Vocab
120,818
Sliding window
none
SWA period
MLA
yes
Experts
1
Experts per token
1
use_sliding_window

Questions people ask

How much VRAM does HunyuanOCR need?
Q4_K_M is exactly 354,966,656 bytes (0.33 GiB) in weights. Add the KV cache, which depends on your context length, plus roughly half a gigabyte of runtime overhead.
How large is HunyuanOCR's KV cache?
0.84 GiB at 32K context with an f16 cache, computed per layer. Quantizing the cache to q8_0 roughly halves it, which is often the difference between a context length fitting and not.
Is HunyuanOCR a mixture-of-experts model?
Yes — 1 experts, 1 routed per token. Every expert must be resident, but only the routed ones are read per token, which is why its memory requirement and its speed behave very differently.
Which quantization of HunyuanOCR should I use?
Q4_K_M is the usual default. Pick the largest quantization that fits your card at the context you actually need — the table above gives exact sizes for every one published.