How Tencent Packed a 770B-Parameter Model into 214 GiB
Shrinking Hy4 preview's weights from roughly 1.5TB to 214 GiB is one challenge. Preserving useful capabilities and practical inference speed is another. How did
@TencentHunyuan tackle both?
Zhihu contributor yghstill, a member of Tencent Hunyuan's quantization team, explains the engineering behind it. The parameter count remains 770B; the compression changes how those weights are represented.
Four weights, five bits
Sherry is the quantization algorithm, STQ1_0 the storage format, and MIX-STQ1_0 the mixed-precision allocation scheme.
Each group of four weights takes values from {-d, 0, +d}, with exactly one zero. Four zero positions multiplied by eight sign combinations gives 32 possible patterns, requiring five bits.
That is 1.25 bits per weight for the codes alone. Including a shared FP16 scale for every 256 weights brings STQ1_0 to 1.3125 bits per weight. The complete mixed-precision model averages about 2.38 bits per weight.
Allocate precision to specific weights, not whole layers
Hy4 preview has 77 MoE layers, each with 256 routed experts. The team concentrates aggressive compression on expert weights while selectively protecting other components.
For the experts' gate/up projections, MIX-STQ1_0 uses IQ2_XXS on 48 sensitive layers and STQ1_0 on 29 less sensitive layers.
The author reports that mixing lower and higher precision produces less error at the same average bit budget than uniformly choosing the intermediate IQ1_M format.
Layer sensitivity needs more than diagonal statistics
The author describes using the full Hessian, H = XXᵀ, to measure quantization sensitivity. Its off-diagonal terms capture correlations that diagonal-only imatrix scoring misses.
In the team's comparison, the two sensitivity rankings had a Spearman correlation of -0.115. The chosen layers did not follow a simple “deeper means more important” rule: precision was allocated greedily by error reduction per additional byte.
Fit the scale and choose the zero together
This is post-training quantization, without retraining. The encoder alternates between two decisions: fitting d with weighted least squares and choosing the zero position using imatrix-weighted error.
Zeroing the smallest-magnitude weight is not always the best choice. What matters is the additional weighted error introduced by making it zero.
Across 1,200 rows of real expert weights, three alternating rounds reduced weighted reconstruction error by roughly 90% compared with the original ternary encoder. This measures local weight reconstruction, not end-to-end model accuracy.
Compression must survive the runtime
The team implemented STQ1_0 CUDA kernels in a patched llama.cpp build. In its operator comparison, STQ1_0 ran roughly as fast as IQ1_M despite the lower bit width.
The author reports nearly unchanged MRCR retrieval performance and a small decline in math. Against UD-IQ1_M at a similar bit budget, the mixed-precision model led across the reported evaluations, including a gain of more than five points on MRCR.
The result comes from combining compact encoding, calibrated quantization, selective precision and usable inference kernels.