CoolFace
Modelpublic

s-sahoo/uno-qwen3-8B

sourceHugging Faceapache-2.0updated 14d agoView on Hugging Face
1likes25kdownloads
Model Card

<h1 align="center"><strong>Uno Qwen3-8B</strong></h1>

Paper: Unlocking Lossless Speedups in LLMs via Discrete Diffusion Project page: https://s-sahoo.github.io/uno/

[image]

This repository is a self-contained inference bundle for Uno-Qwen3-8B. The frozen verifier/base checkpoint is stored at the repository root, and the rank-128 gated LoRA adapter used for noisy draft rows is stored under `adapter/`.

Uno applies the adapter selectively during draft-noise forwards. Seed, prefill, verification, and autoregressive rows use the frozen base weights. Loading the adapter as an ordinary always-on PEFT adapter does not reproduce Uno decoding.

Repository layout

text
s-sahoo/uno-qwen3-8B
|-- config.json
|-- model-*.safetensors
|-- model.safetensors.index.json
|-- modeling_sdar.py
|-- tokenizer files
`-- adapter/
    |-- adapter_config.json
    `-- adapter_model.safetensors

Evaluation protocol

The reproducible entry points are the Qwen benchmark wrappers in `ifm-ai/uno`. Unless an experiment explicitly overrides a setting, the release wrappers use the following protocol:

SettingValue
RuntimeUno with conditional gated-LoRA routing
SamplerLinear diffusion
Diffusion block size16
Temperature1.0
Top-p0.95
Top-k50
Samples per problem1
Noise moderandom_uniform
Served context length32,768 tokens
Maximum batched tokens32,768
Maximum sequences per replica64
Data / tensor parallel size8 / 1
Attention backendFlashAttention 2

Math tasks use the instruction Please reason step by step and put your final answer in \boxed{}.. Benchmarks that request it in the release configuration use reasoning_effort=high through the chat template.

BenchmarkProblemsScoring
GSM8K1,319Mathematical answer equivalence
MATH-500500Mathematical answer equivalence
AIME 202430Mathematical answer equivalence
AIME 202530Mathematical answer equivalence
AIME 202630Mathematical answer equivalence
HumanEval164Code execution
MBPP500Code execution
LiveCodeBench v6 shard175Public and private test execution
GPQA Main448Multiple-choice answer matching
GPQA Diamond198Multiple-choice answer matching
MMLU-Pro12,032Multiple-choice answer matching
IFEval541Strict and loose instruction following
AA-LCR100External judge; data and judge must be supplied separately

Generation artifacts are written to generations.jsonl. generation_summary.json records all resolved settings, aggregate output TPS, and TPF as accepted tokens divided by decoder sequence-forwards. Accuracy and grader details are written to grades.jsonl and scores.json when the selected benchmark has a local grader.

python
from huggingface_hub import snapshot_download

snapshot = snapshot_download(
    "s-sahoo/uno-qwen3-8B",
    revision="<pinned-commit-sha>",
)
print("Base:", snapshot)
print("Adapter:", f"{snapshot}/adapter")

With the Uno repository:

bash
UNO_BUNDLE_REPO=s-sahoo/uno-qwen3-8B \
UNO_BUNDLE_REVISION=<pinned-commit-sha> \
  bash scripts/qwen/run_gsm8k_eval.sh

The repository contains custom model code. Conventional Transformers loading of the base checkpoint requires trust_remote_code=True. Official Uno generation additionally requires conditional adapter routing and lossless verification implemented by the Uno runtime.