Instructions to use HuggingFaceBio/Carbon-3B-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use HuggingFaceBio/Carbon-3B-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="HuggingFaceBio/Carbon-3B-GGUF", filename="carbon-3b-bf16.gguf", )
output = llm( "Once upon a time,", max_tokens=512, echo=True ) print(output)
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use HuggingFaceBio/Carbon-3B-GGUF with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf HuggingFaceBio/Carbon-3B-GGUF:BF16 # Run inference directly in the terminal: llama-cli -hf HuggingFaceBio/Carbon-3B-GGUF:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf HuggingFaceBio/Carbon-3B-GGUF:BF16 # Run inference directly in the terminal: llama-cli -hf HuggingFaceBio/Carbon-3B-GGUF:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf HuggingFaceBio/Carbon-3B-GGUF:BF16 # Run inference directly in the terminal: ./llama-cli -hf HuggingFaceBio/Carbon-3B-GGUF:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf HuggingFaceBio/Carbon-3B-GGUF:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf HuggingFaceBio/Carbon-3B-GGUF:BF16
Use Docker
docker model run hf.co/HuggingFaceBio/Carbon-3B-GGUF:BF16
- LM Studio
- Jan
- Ollama
How to use HuggingFaceBio/Carbon-3B-GGUF with Ollama:
ollama run hf.co/HuggingFaceBio/Carbon-3B-GGUF:BF16
- Unsloth Studio new
How to use HuggingFaceBio/Carbon-3B-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for HuggingFaceBio/Carbon-3B-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for HuggingFaceBio/Carbon-3B-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for HuggingFaceBio/Carbon-3B-GGUF to start chatting
- Docker Model Runner
How to use HuggingFaceBio/Carbon-3B-GGUF with Docker Model Runner:
docker model run hf.co/HuggingFaceBio/Carbon-3B-GGUF:BF16
- Lemonade
How to use HuggingFaceBio/Carbon-3B-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull HuggingFaceBio/Carbon-3B-GGUF:BF16
Run and chat with the model
lemonade run user.Carbon-3B-GGUF-BF16
List all available models
lemonade list
Run and chat with the model
lemonade run user.Carbon-3B-GGUF-BF16List all available models
lemonade listCarbon-3B GGUF
GGUF (bf16) conversion of HuggingFaceBio/Carbon-3B for use with llama.cpp.
Carbon is a hybrid DNA / English language model that switches between Qwen3-4B-Base byte-level BPE for natural text and fixed 6-mer chunking for DNA inside <dna>...</dna> tags.
Requires a recent llama.cpp
HybridDNATokenizer support was merged in ggml-org/llama.cpp#23410, so any build from master after that works:
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp && cmake -B build && cmake --build build -j
Files
| File | Quant | Size |
|---|---|---|
carbon-3b-bf16.gguf |
bf16 (lossless from source) | 6.5 GB |
Usage
Download
hf download HuggingFaceBio/Carbon-3B-GGUF carbon-3b-bf16.gguf --local-dir .
Basic DNA completion
./build/bin/llama-completion -m carbon-3b-bf16.gguf \
-p '<dna>ATGCGCTAGCTACGATCGATCGTAGCTAGCTAGCTAGCTACG' \
-n 64 --temp 0 -no-cnv
Metadata-conditioned generation
./build/bin/llama-completion -m carbon-3b-bf16.gguf \
-p '<vertebrate_mammalian><protein_coding_region><dna>ATGCGCTAG' \
-n 64 --temp 0 -no-cnv
Speculative decoding with Carbon-500M draft (~1.35x speedup)
Carbon-500M shares the HybridDNA vocab, so it works as a drop-in draft model. Grab it first:
hf download HuggingFaceBio/Carbon-500M-GGUF carbon-500m-bf16.gguf --local-dir .
Then run the standalone tool with --model-draft:
./build/bin/llama-speculative \
-m carbon-3b-bf16.gguf \
-md carbon-500m-bf16.gguf \
-p '<dna>ATGCGCTAGCTACGATCGATCGTAGCTAGCTAGCTAGCTACG' \
-n 256 --temp 0
Or serve the 3B with the 500M draft (llama-server accepts the same -md flag):
./build/bin/llama-server \
-m carbon-3b-bf16.gguf \
-md carbon-500m-bf16.gguf \
--draft-max 16 --draft-min 1 \
--port 8080
curl -s http://localhost:8080/completion -d '{
"prompt": "<dna>ATGCGCTAGCTACGATCGATCGTAGCTAGCTAGCTAGCTACG",
"n_predict": 256,
"temperature": 0
}' | jq -r .content
Likelihood scoring
The source card's Python score() function computes mean log-prob per DNA token. In llama.cpp the closest tools are llama-perplexity for corpus-level perplexity (perplexity = exp(-mean_logprob)):
# one prompt per line in dna_corpus.txt, each wrapped in <dna>...</dna>
./build/bin/llama-perplexity -m carbon-3b-bf16.gguf -f dna_corpus.txt --ppl-stride 0
Or llama-server with logprobs for per-token log-probabilities:
./build/bin/llama-server -m carbon-3b-bf16.gguf --port 8080 &
curl -s http://localhost:8080/completion -d '{
"prompt": "<dna>GGGCTATAAAGGCCATCGATCGATCGATCGATCGATCGATCG</dna>",
"n_predict": 0,
"n_probs": 1
}' | jq '.completion_probabilities'
Long context with YaRN (65k tokens ≈ 393 kbp)
Mirrors the source card's rope_scaling = {type: yarn, factor: 4.0, original_max_position_embeddings: 32768}:
./build/bin/llama-completion -m carbon-3b-bf16.gguf \
-c 65536 --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 32768 \
-p '<dna>...' -n 64 --temp 0 -no-cnv
Base-pair-level generation (FNS branch) — not supported
The revision="fns" example from the source card needs custom modeling code (factorized nucleotide supervision head), which only the Python transformers path can load. llama.cpp can't run that branch.
Tokenization parity
llama.cpp produces byte-for-byte identical token IDs to the Python HybridDNATokenizer (loaded with trust_remote_code=True) on the standard <dna>/metadata/edge-case fixtures shipped in ggml-org/vocabs.
See also
- Source weights: HuggingFaceBio/Carbon-3B
- Other GGUF variants: 500M · 3B · 8B
License
Apache-2.0, inherited from the source model.
- Downloads last month
- 374
16-bit
Model tree for HuggingFaceBio/Carbon-3B-GGUF
Base model
HuggingFaceBio/Carbon-3B
Pull the model
# Download Lemonade from https://lemonade-server.ai/lemonade pull HuggingFaceBio/Carbon-3B-GGUF:BF16