How to use from
llama.cpp
Install from brew
brew install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama-server -hf HuggingFaceBio/Carbon-8B-GGUF:BF16
# Run inference directly in the terminal:
llama-cli -hf HuggingFaceBio/Carbon-8B-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-8B-GGUF:BF16
# Run inference directly in the terminal:
llama-cli -hf HuggingFaceBio/Carbon-8B-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-8B-GGUF:BF16
# Run inference directly in the terminal:
./llama-cli -hf HuggingFaceBio/Carbon-8B-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-8B-GGUF:BF16
# Run inference directly in the terminal:
./build/bin/llama-cli -hf HuggingFaceBio/Carbon-8B-GGUF:BF16
Use Docker
docker model run hf.co/HuggingFaceBio/Carbon-8B-GGUF:BF16
Quick Links

Carbon-8B GGUF

GGUF (bf16) conversion of HuggingFaceBio/Carbon-8B 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-8b-bf16.gguf bf16 (lossless from source) 16 GB

Usage

Download

hf download HuggingFaceBio/Carbon-8B-GGUF carbon-8b-bf16.gguf --local-dir .

Basic DNA completion

./build/bin/llama-completion -m carbon-8b-bf16.gguf \
    -p '<dna>ATGCGCTAGCTACGATCGATCGTAGCTAGCTAGCTAGCTACG' \
    -n 64 --temp 0 -no-cnv

Metadata-conditioned generation

./build/bin/llama-completion -m carbon-8b-bf16.gguf \
    -p '<vertebrate_mammalian><protein_coding_region><dna>ATGCGCTAG' \
    -n 64 --temp 0 -no-cnv

Speculative decoding with Carbon-500M draft (~2x speedup)

The 500M shares the HybridDNA vocab, so it's a near-ideal draft. Measured ~2.1x speedup at temp=0 with 87% accept rate on DNA prompts. Grab the draft GGUF 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-8b-bf16.gguf \
    -md carbon-500m-bf16.gguf \
    -p '<dna>ATGCGCTAGCTACGATCGATCGTAGCTAGCTAGCTAGCTACG' \
    -n 256 --temp 0

Or serve the 8B with the 500M draft (llama-server accepts the same -md flag):

./build/bin/llama-server \
    -m  carbon-8b-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-8b-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-8b-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-8b-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.

See also

License

Apache-2.0, inherited from the source model.

Downloads last month
374
GGUF
Model size
8B params
Architecture
llama
Hardware compatibility
Log In to add your hardware

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for HuggingFaceBio/Carbon-8B-GGUF

Quantized
(2)
this model

Collection including HuggingFaceBio/Carbon-8B-GGUF