SAVRN
Search Contact SAVRN

Open-weight model · Text generation

DiffuRefill-1B

by Roman Bolshow Asilarkness/DiffuRefill-1B

Status: training in progress. No weights are published yet — this card describes the recipe and the pilot results that motivate it.

Parameters
Context2,048
Weights41.2 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads8.8k

Model Card

By Roman Bolshow, published under apache-2.0, revision 45a1fe6cfe73.

Status: training in progress. No weights are published yet — this card describes the recipe and the pilot results that motivate it. A ~1B masked-diffusion language model decoded with confidence-targeted steps, then spend a few extra passes rewriting only the tokens the model is least sure about. The point is inference cost. An autoregressive model needs one sequential forward pass per token. This one needs ~20 passes for a whole sequence, regardless of its length. Cost is K + R forward passes. One refill pass fixes any number of positions at once, because the model processes the whole sequence in parallel — that is what makes targeted repair cheaper than more denoising. Draft and refill are…

Read Roman Bolshow's full model card

Status: training in progress. No weights are published yet — this card describes the recipe and the pilot results that motivate it.

A ~1B masked-diffusion language model decoded with confidence-targeted re-infilling: draft the whole sequence in a handful of parallel denoising steps, then spend a few extra passes rewriting only the tokens the model is least sure about.

The point is inference cost. An autoregressive model needs one sequential forward pass per token. This one needs ~20 passes for a whole sequence, regardless of its length.

The method

1. K denoising steps           -> a full draft + a confidence value per position
2. repeat R times:
     take the p% least confident generated positions
     re-mask them
     one forward pass          -> new tokens, chosen with both sides in view
     refresh their confidence

Cost is K + R forward passes. One refill pass fixes any number of positions at once, because the model processes the whole sequence in parallel — that is what makes targeted repair cheaper than more denoising.

Decoding configuration

Draft and refill are deliberately given different sampling rules. The draft decides what the text is about and needs freedom; the refill touches a fifth of the tokens and needs discipline. Sharing one setting between them trades every metric straight against another.

stage settings
draft K=12, temperature 2.2 -> 0.9 annealed, Gumbel noise 2.5 on the unmask order, no truncation
refill R=8, p=20%, temperature 0.8, min_p=0.10
both neighbour ban: subtract 6.0 from the logit of the token already standing to the left or right

Three of these were found by search and each does a specific job:

  • Gumbel unmask order. Strict top-k confidence systematically reveals the easy positions first — articles, punctuation — leaving content words for last, when the context is already frozen. Adding annealed Gumbel noise to the log confidences breaks that ordering. Largest single effect in the pilot.
  • Neighbour ban. One line. It targets exactly the mechanism by which parallel decoding produces repeats: two adjacent positions, sampled independently, both pick the locally likely token.
  • Split-stage sampling. Hot free draft, cool truncated refill.

Pilot results (TinyStories, 37.9M parameters)

Two models of identical architecture trained from scratch on the same corpus — one autoregressive, one masked-diffusion — then compared by an independent judge (roneneldan/TinyStories-33M, related to neither) scoring the NLL of the generated continuation.

calls NLL ↓ doubled tokens ↓ distinct-2 ↑
real text 1.15 1.38% 0.478
autoregressive 128 3.08 1.64% 0.466
diffusion + refill, tuned 20 2.87 0.30% 0.459

Same quality as autoregression at a sixth of the passes, and five times fewer doubled tokens than the AR baseline — below the rate in the real corpus. Diversity lands at parity, slightly under AR.

What did not work

Reported because a negative result saves someone the same detour.

  • Autoregressive repair of the draft. The original form of the idea: let an AR model rewrite the shaky tokens. A control sweep over a product-of-experts mixture showed the result degrading monotonically with the weight on the AR expert; pure AR repair was worse than not repairing at all. An AR model scoring position i cannot see position i+1, so it writes words that duplicate the neighbour it is not looking at. It discards the one advantage the diffusion draft has.
  • Span masking during training (contiguous runs instead of isolated tokens). No measurable effect against a control.
  • Self-repair training (train on the model's own drafts). Its first form drafted from 60–100% masking and asked for ground-truth tokens amid incoherent context — a mapping fittable only by ignoring context. It made the model four times worse on duplication. Fixing the draft corruption to 10–35% removed the damage but produced no gain either.

In a four-way ablation (control / span / self-repair / both) plain continued training matched or beat every addition.

Planned model

parameters ~1.0B
dim / layers / heads 2048 / 18 / 16
FFN SwiGLU, 5632
context 2048
vocab 32768 BPE
objective masked diffusion, mask rate t ~ U(0.15, 1), loss on masked positions
corpus Ultra-FineWeb-L3

Ultra-FineWeb-L3 is chosen over the larger tiers because a masked-diffusion objective draws its training signal only from the masked positions — on average 57% of them — so quality per token matters more here than raw volume.

Training runs on a fleet of isolated single-GPU boxes with no interconnect, synchronised DiLoCo-style through the Hub: workers train on disjoint shards and periodically average weights through a merged global checkpoint.

Honest limits

  • The pilot is small. 37.9M parameters on TinyStories is a toy setting with simple language. Nothing here demonstrates that the results transfer to 1B or to natural text — that is what this run is for.
  • The judge is an AR model. Low NLL under it rewards predictable text as well as good text. The diversity number is reported alongside for that reason.
  • The tuned configuration is fitted. On the search split it beat the AR baseline on all three metrics; on a held-out split only two of three reproduced, diversity falling 0.007 short. The margins during search were 0.015 nats and 0.001 distinct-2, so some overfitting to 128 samples was inevitable. Quality and duplication are the robust wins.
  • Diffusion costs more to train. It reads more tokens than an AR model for the same quality, because it only learns from masked positions. The saving is entirely on the inference side.

Configuration

Architecture
MaskedDiffusionLM
Context length (tokens)
2,048
Layers
18
Hidden size
2,048
Feed-forward size
5,632
Attention heads
16
Head dimension
128
Vocabulary size
32,768
Stored precision
bfloat16
Model type
diffurefill

Identity and Version

Repository
Asilarkness/DiffuRefill-1B
Publisher
Roman Bolshow
Task
Text generation
Modality
Text
Library
Not stated by the source
Parameters
Not stated by the source
Languages
en
Revision
45a1fe6cfe73e5a788a1a0a7119f450fd450148f
First published
2026-09-10
Last updated
2026-09-18

Files and Weights

40 files, 41.2 GB in total. The weights are 19 files totalling 41.2 GB in pt.

Weights19 files · 41.2 GB
Configuration1 file · 871 B
Documentation1 file · 6.2 KB
Other18 files · 107.3 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
ckpt_w0.ptWeights2.2 GB bc48c834e124
ckpt_w1.ptWeights2.2 GB c809ec752ae2
ckpt_w10.ptWeights2.2 GB e59d70894c26
ckpt_w11.ptWeights2.2 GB 9252ba8b8afd
ckpt_w13.ptWeights2.2 GB cb2c39cb7f46
ckpt_w2.ptWeights2.2 GB ef8a5b8b4196
ckpt_w21.ptWeights2.2 GB d4edb66813f7
ckpt_w22.ptWeights2.2 GB be382172834d
ckpt_w23.ptWeights2.2 GB 9158016a7261
ckpt_w24.ptWeights2.2 GB 2b0079eff894
ckpt_w3.ptWeights2.2 GB 1eedc9136f65
ckpt_w4.ptWeights2.2 GB 815cf00bc811
ckpt_w5.ptWeights2.2 GB a47f838fa4d4
ckpt_w6.ptWeights2.2 GB 83e7f7483171
ckpt_w7.ptWeights2.2 GB 8515bb365d5e
ckpt_w8.ptWeights2.2 GB 78de79df578f
ckpt_w9.ptWeights2.2 GB 765330a588f4
global_b.ptWeights2.5 GB 863cba1129b5
pretrain_25800.ptWeights2.2 GB 759cd30b2cfd
config.jsonConfiguration871 B
README.mdDocumentation6.2 KB
global_round_b.txtOther2 B
log_w0.txtOther4.2 KB
log_w1.txtOther6.2 KB
log_w10.txtOther6.2 KB
log_w11.txtOther2.3 KB
log_w13.txtOther8.2 KB
log_w2.txtOther2.3 KB
log_w21.txtOther1.6 KB
log_w22.txtOther1.6 KB
log_w23.txtOther1.6 KB
log_w24.txtOther1.6 KB
log_w3.txtOther22.0 KB
log_w4.txtOther14.1 KB
log_w5.txtOther2.3 KB
log_w6.txtOther8.2 KB
log_w7.txtOther12.2 KB
log_w8.txtOther8.2 KB
log_w9.txtOther4.3 KB
.gitattributesRepository1.5 KB

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
41.2 GB
Download from Roman Bolshow

Released by Roman Bolshow through its official repository on Hugging Face. Read the license.

Built From

  • Trained on (disclosed) openbmb/Ultra-FineWeb-L3

Memory Requirements

PrecisionWeights in memory
As published41.2 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About DiffuRefill-1B

Can I use DiffuRefill-1B commercially?

Yes. DiffuRefill-1B is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is DiffuRefill-1B's context length?

2,048 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Fine-tune Qwen3 (14B) for free using our Google Colab notebook! - Read our Blog about Qwen3 support: unsloth.ai/blog/qwen3 - View the rest of our notebooks in our docs here. Qwen3-Coder is available in multiple sizes. Today, we're excited to introduce Qwen3-Coder-30B-A3B-Instruct. This streamlined model maintains impressive performance and efficiency, featuring the following key enhancements: - Significant Performance among open models on Agentic Coding, Agentic Browser-Use, and other foundational coding tasks. - Long-context Capabilities with native support for 256K tokens, extendable up to 1M tokens using Yarn, optimized for repository-scale understanding. - Agentic Coding supporting for…

Open weights apache-2.0 transformers

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp