Tessera-Preview-9B
A 9B coding model fine-tuned to reason internally in a compressed CJK register while emitting ordinary code and well-formed tool calls. On the full LiveCodeBench set it spends a median 17.7x fewer output tokens per problem than its own base at a cost of 4.6 points of pass@1 at matched greedy budget. This is a proof of concept: one LoRA run on a 10,205-example corpus. The costs are real and are reported next to the savings.
The reasoning channel is private by design. Users see normal code and normal tool calls; the compressed register never leaks into the output channel (0 of 46 completed problems in the measured run).
Paper: Tessera-Preview-9B: Compressed Reasoning at 18x Fewer Tokens, and What It Costs covers the method, the pre-registered protocol, and every number below with confidence intervals.
What the compression looks like
Private reasoning channel (real output, LiveCodeBench problem, solved):
่ฎพ s ไธบ 0-indexed ๅญ็ฌฆไธฒใๆไฝ๏ผ้ i๏ผc=s[i]๏ผๅ ้ค i ๅทฆไพงๆ่ฟ c ๅๅณไพงๆ่ฟ c๏ผ่ฅๅญๅจ๏ผใ
่งๅฏ๏ผๆฏๆฌกๆไฝๅ ้คไธคไธช็ธๅๅญ็ฌฆใๅ
ณ้ฎ๏ผๆไฝไธๆนๅๅญ็ฌฆ็ง็ฑป้ๅ๏ผไป
ๅๅฐ่ฎกๆฐใ
ๆ
ๆ็ป้ฟๅบฆ = ไธๅๅญ็ฌฆๆฐใ็ฎๆณ๏ผ่ฟๅ len(set(s))ใๅคๆๅบฆ O(n|1)ใโ๏ผs ้ฟๅบฆ 1 โ ่ฟๅ 1ใ
Shipped answer (verbatim, complete):
class Solution:
def minimizedStringLength(self, s: str) -> int:
return len(set(s))
Results
All numbers are paired measurements against the model's own re-measured base (Tesslate/OmniCoder-9B) on one pinned serving stack: vLLM 0.21.0, CUDA graphs, A100-80G, evalscope 1.9.0, temperature pinned per condition, 16,384-token generation budget, ceiling hits scored as failures.
| Metric | Tessera | Base | Gap |
|---|---|---|---|
| LCB-1055 pass@1, greedy | 34.9% [32.1, 37.8] | 39.5% [36.6, 42.5] | โ4.6 (95% CI [โ7.5, โ1.8]) |
| LCB-1055 pass@1, temp 0.6 | 33.7% | 45.9% | โ12.2 |
| IFEval-541 prompt-strict | 40.9% | 59.9% | โ19.0 (95% CI [โ24.5, โ13.6]) |
| Median output tokens per LCB problem | 639 | 16,384 (at ceiling) | 17.7x (median paired ratio) |
| Budget deaths at greedy (LCB) | 21.6% | 58.8% |
The two models fail differently. The base almost never writes wrong code (95.9% of its completions pass) but thinks into the 16K ceiling on 58.8% of problems. Tessera completes 78% of problems at a median 639 tokens end to end and errs by writing wrong code. Forcing an empty think collapses accuracy from 66% to 4% on the archived 50-problem protocol: the compressed channel is load-bearing, not decoration.
Read the limitations before deploying. The instruction-following gap is large: the training corpus is 100% code-agentic with zero IFEval-style prompts, and the model falls into 16K reasoning loops on 46.8% of such prompts. Sampling does not help this model (greedy is the intended operating point). Whether the gaps are a data-coverage artifact or intrinsic to the compression is the successor's question; the paper argues coverage is the likely major cause and says what would prove it.
Usage
The repo ships vLLM-ready weights (LoRA merged, keys repacked, Qwen3.5-9B text config). Serve:
vllm serve ZelligeAI/tessera-preview-9b \
--served-model-name tessera-preview-9b \
--max-model-len 32768 --dtype bfloat16 \
--language-model-only --gpu-memory-utilization 0.90 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice --tool-call-parser qwen3_coder
Pinned versions matter. All published numbers come from vLLM 0.21.0; vLLM 0.24.0 degraded this model in our validation and we do not recommend it. Greedy point estimates for this model family are stack-sensitive (the paper documents a 12-point spread across serving stacks), so treat scores measured on other stacks accordingly.
Two serving contracts to respect:
- Pin temperature 0.0 for code. The model has no sampling headroom; the shipped
generation_config.jsonis greedy by default. - Do not disable thinking.
enable_thinking: falseeffectively disables the model (48 of 50 outputs empty in the ablation). There is no functional no-think mode.
The reasoning arrives on the standard reasoning channel (reasoning_content with the qwen3 parser) and the answer on content. You can discard the reasoning; it is not written for reading.
adapter/ contains the original LoRA (r=16 on Q/K/V/O) plus tokenizer and chat template, for anyone who wants to re-merge against the base or continue training. The base ships behind a vision-language wrapper, so a bare adapter merge needs a key repack; the merge and repack recipe is in the paper's Appendix B.
Training
LoRA SFT on 10,205 examples (7.62M target tokens, 2 epochs, one A100-80G, 6h58m). The corpus is 100% code-agentic: single-turn compressed-reasoning items, tool-call wrapped items, 1,500 execution-verified agentic trajectories compressed through tessera-compressor, and 400 multi-turn recall items. Training targets were rendered inference-faithfully (history turns carry empty thinks exactly as the serving template produces them). The run was gated by ten pre-registered behavioral probes frozen before any data existed.
License
Apache-2.0, same as the base model. Trained on permissively licensed data (per-record licenses listed in the paper's Appendix B).
- Downloads last month
- 32
Model tree for ZelligeAI/tessera-preview-9b
Evaluation results
- pass@1, greedy (base OmniCoder-9B: 39.5) on LiveCodeBench release_v6 (full 1,055 problems, 16K budget)self-reported34.900
- pass@1, temperature 0.6 (base: 45.9) on LiveCodeBench release_v6 (full 1,055 problems, 16K budget)self-reported33.700
- prompt-strict (base: 59.9) on IFEval (full 541 prompts, greedy)self-reported40.900
- instruction-strict, macro over 834 instructions (base: 60.7) on IFEval (full 541 prompts, greedy)self-reported45.700
