Model reference · open weights
stable-code is an open-weight language model from Stability AI. stable-code-3b (BF16) weighs 2.3 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the stabilityai/stable-code-3b model card, 2026-10-01
What it is
| Released by | Stability AI |
|---|---|
| Released | 2024-01-09 |
| Parameters | 2.8B |
| VRAM | 2.3 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 8K each | |||
| RTX 3060 12 GB | 3 | all 16K | 11.6 GB |
| RTX 4060 Ti 16 GB | 4 | all 16K | 15.4 GB |
| RTX 3090 24 GB | 7 | all 16K | 23.4 GB |
| RTX 4090 24 GB | 7 | all 16K | 23.4 GB |
| RTX 5090 32 GB | 10 | all 16K | 31.0 GB |
| L40S 48 GB | 15 | all 16K | 44.0 GB |
| A100 80 GB | 28 | all 16K | 78.2 GB |
| H100 80 GB | 28 | all 16K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 33 | all 16K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 38 | all 16K | 107 GB |
| H200 141 GB | 50 | all 16K | 138 GB |
| B200 180 GB | 64 | all 16K | 176 GB |
| 2× RTX 3060 12 GB split by layers (llama.cpp) | 7 | all 16K | 11.6 GB a card |
| 2× RTX 4060 Ti 16 GB split by layers (llama.cpp) | 10 | all 16K | 15.4 GB a card |
| 2× RTX 4090 24 GB split by layers (llama.cpp) | 16 | all 16K | 23.4 GB a card |
| 2× RTX 3090 24 GB split by layers (llama.cpp) | 16 | all 16K | 23.4 GB a card |
| Requests at once | 8K tokens each |
|---|---|
| 1 | 5.4 GB |
| 5 | 16.2 GB |
| 8 | 24.2 GB |
| 16 | 45.7 GB |
| 32 | 88.7 GB |
| 64 | 175 GB |
One card, with vLLM's small-card settings.
From the model card
Please note: For commercial use, please refer to https://stability.ai/license.
stable-code-3b is a 2.7B billion parameter decoder-only language model pre-trained on 1.3 trillion tokens of diverse textual and code datasets. stable-code-3b is trained on 18 programming languages (selected based on the 2023 StackOverflow Developer Survey) and demonstrates state-of-the-art performance (compared to models of similar size) on the MultiPL-E metrics across multiple programming languages tested using BigCode's Evaluation Harness.
| Model | Size | Python | C++ | Javascript | Java | PHP | Rust |
|---|---|---|---|---|---|---|---|
| Stable Code | 3B | 32.4% | 30.9% | 32.1% | 32.1% | 24.2% | 23.0% |
| CodeLLama | 7B | 30.0% | 28.2% | 32.5% | 31.1% | 25.7% | 26.3% |
| Deepseek Coder | 1.3B | 28.6% | 29.2% | 28.7% | 29.0% | 23.6% | 18.5% |
| Wizard Coder | 3B | 31.6% | 25.6% | 26.2% | 25.8% | 25.3% | 20.4% |
| StarCoder | 3B | 21.6% | 19.8% | 21.5% | 20.5% | 19.0% | 16.9% |
| Replit Code V1.5 | 3B | 23.0% | 25.9% | 26.2% | 23.6% | 23.2% | 21.5% |
| Deci Coder | 1B | 19.1% | 6.8% | 18.4% | 16.7% | 2.1% | 1.7% |
Key Features
Get started generating text with stable-code-3b by using the following code snippet:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stable-code-3b")
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/stable-code-3b",
torch_dtype="auto",
)
model.cuda()
inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to(model.device)
tokens = model.generate(
**inputs,
max_new_tokens=48,
temperature=0.2,
do_sample=True,
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stable-code-3b")
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/stable-code-3b",
torch_dtype="auto",
attn_implementation="flash_attention_2",
)
model.cuda()
inputs = tokenizer("def fib(n): else:\n return fib(n - 2) + fib(n - 1)", return_tensors="pt").to(model.device)
tokens = model.generate(
**inputs,
max_new_tokens=48,
temperature=0.2,
do_sample=True,
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stable-code-3b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/stable-code-3b",
trust_remote_code=True,
torch_dtype="auto",
+ attn_implementation="flash_attention_2",
)
model.cuda()
inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to(model.device)
tokens = model.generate(
**inputs,
max_new_tokens=48,
temperature=0.2,
do_sample=True,
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
stable-code-3b models are auto-regressive language models based on the transformer decoder architecture.lm@stability.aiThe model is a decoder-only transformer similar to the LLaMA (Touvron et al., 2023) architecture with the following modifications:
| Parameters | Hidden Size | Layers | Heads | Sequence Length |
|---|---|---|---|---|
| 2,796,431,360 | 2560 | 32 | 32 | 16384 |
NeoX. We add special tokens to train for Fill in the Middle (FIM) capabilities like and along with other special tokens.The dataset is comprised of a filtered mixture of open-source large-scale datasets available on the HuggingFace Hub: Falcon RefinedWeb extract (Penedo et al., 2023), along with CommitPackFT and Github Issues (BigCode., 2023), and StarCoder (Li et al., 2023). We further supplement our training with data from mathematical domains (Azerbayev, Zhangir, et al., 2023 and, Yu, Longhui, et al., 2023).
Top 18 programming languages trained on:
The model is pre-trained on the aforementioned datasets in bfloat16 precision, optimized with AdamW.
stable-code-3b was trained on the Stability AI cluster across 256 NVIDIA A100 40GB GPUs (AWS PQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Benchmarks
As published on the model card: the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| text-generation | MultiPL-HumanEval (Python) | pass@1 | 32.400 |
| text-generation | MultiPL-HumanEval (C++) | pass@1 | 30.900 |
| text-generation | MultiPL-HumanEval (Java) | pass@1 | 32.100 |
| text-generation | MultiPL-HumanEval (JavaScript) | pass@1 | 32.100 |
| text-generation | MultiPL-HumanEval (PHP) | pass@1 | 24.200 |
| text-generation | MultiPL-HumanEval (Rust) | pass@1 | 23 |