Model reference · open weights
circuit-sparsity is an open-weight language model from OpenAI. circuit-sparsity (FP32) weighs 838 MB; the smallest configuration that runs it is RTX 3060 12 GB.
What it is
| Released by | OpenAI |
|---|---|
| Type | Language models |
| Task | Text gen |
| Parameters (lead) | 419M |
| Runs with | transformers |
| Released | 2025-12-11 |
| Popularity | 465 downloads / month |
| Weights | 838 MB (circuit-sparsity (FP32), file size) |
| Licence | Open weights |
What it runs on
Weights 838 MB (file size) · KV cache 66 MB per 1,000 tokens of context, at 16 bits (vLLM's default for this build; an 8-bit cache halves it) · runtime overhead from 532 MB on a small card · context up to 1,024 tokens.
| Card | Requests at once 1K, its whole window tokens each | Requests at once 32K tokens each | Longest single request | Counted memory |
|---|---|---|---|---|
| RTX 3060 12 GB | 152 | — | all 1K | 11.6 GB |
| RTX 4060 Ti 16 GB | 209 | — | all 1K | 15.4 GB |
| RTX 3090 24 GB | 328 | — | all 1K | 23.4 GB |
| RTX 4090 24 GB | 327 | — | all 1K | 23.4 GB |
| RTX 5090 32 GB | 441 | — | all 1K | 31.0 GB |
| L40S 48 GB | 634 | — | all 1K | 44.0 GB |
| A100 80 GB | 1000+ | — | all 1K | 78.2 GB |
| H100 80 GB | 1000+ | — | all 1K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 1000+ | — | all 1K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 1000+ | — | all 1K | 107 GB |
| H200 141 GB | 1000+ | — | all 1K | 138 GB |
| B200 180 GB | 1000+ | — | all 1K | 176 GB |
| Requests at once | 1K, its whole window tokens each | 32K tokens each |
|---|---|---|
| 1 | 1.4 GB | — |
| 5 | 1.7 GB | — |
| 8 | 1.9 GB | — |
| 16 | 2.4 GB | — |
| 32 | 3.5 GB | — |
| 64 | 5.7 GB | — |
On one card, with vLLM's small-card settings (2,048 tokens a step). Cards of 70 GB and more reserve more per request and more overhead — each row above uses its own card's settings.
Estimates, not measurements, checked against published vLLM startup logs. The weights are the build's file size; the cache is calculated from its config (multi-head attention); the overhead is an estimate of vLLM's own memory with that card's default settings. "Requests at once" is how many requests of that length vLLM admits — its reservation at full length, with --max-model-len set to that length; requests that stay shorter fit more. "Longest single request" is the most one request can hold there: below the model's maximum, vLLM starts only with --max-model-len set at or under it. "Counted memory" is vLLM's default 92 % of what CUDA reports for the card (the DGX Spark: about 100 GiB of its shared 128 GB). Assumes vLLM 0.10 or later.
From the model card
Weights for a sparse model from Gao et al. 2025, used for the qualitative results from the paper (related to bracket counting and variable binding). All weights for the other models used in the paper, as well as lightweight inference code, are present in https://github.com/openai/circuit_sparsity. In the context of that repo, this model is csp_yolo2.
This is a runnable standalone huggingface implementation for one of the models. It includes code to load the locally converted HF model + tokenizer and run a tiny generation.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
if __name__ == "__main__":
PROMPT = "def square_sum(xs):\n return sum(x * x for x in xs)\n\nsquare_sum([1, 2, 3])\n"
tok = AutoTokenizer.from_pretrained("openai/circuit-sparsity", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
"openai/circuit-sparsity",
trust_remote_code=True,
torch_dtype="auto",
)
model.to("cuda" if torch.cuda.is_available() else "cpu")
inputs = tok(PROMPT, return_tensors="pt", add_special_tokens=False)["input_ids"].to(
model.device
)
with torch.no_grad():
out = model.generate(
inputs,
max_new_tokens=64,
do_sample=True,
temperature=0.8,
top_p=0.95,
return_dict_in_generate=False,
)
print("=== Prompt ===")
print(PROMPT)
print("\n=== Generation ===")
print(tok.decode(out[0], skip_special_tokens=True))
This project is licensed under the Apache License 2.0.
Quoted from the model card on Hugging Face — the full card is behind the Hugging Face link above.