Instructions to use HuggingFaceBio/Carbon-8B-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use HuggingFaceBio/Carbon-8B-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="HuggingFaceBio/Carbon-8B-GGUF", filename="carbon-8b-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-8B-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-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
- LM Studio
- Jan
- Ollama
How to use HuggingFaceBio/Carbon-8B-GGUF with Ollama:
ollama run hf.co/HuggingFaceBio/Carbon-8B-GGUF:BF16
- Unsloth Studio new
How to use HuggingFaceBio/Carbon-8B-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-8B-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-8B-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-8B-GGUF to start chatting
- Docker Model Runner
How to use HuggingFaceBio/Carbon-8B-GGUF with Docker Model Runner:
docker model run hf.co/HuggingFaceBio/Carbon-8B-GGUF:BF16
- Lemonade
How to use HuggingFaceBio/Carbon-8B-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull HuggingFaceBio/Carbon-8B-GGUF:BF16
Run and chat with the model
lemonade run user.Carbon-8B-GGUF-BF16
List all available models
lemonade list
| license: apache-2.0 | |
| library_name: gguf | |
| base_model: HuggingFaceBio/Carbon-8B | |
| language: | |
| - dna | |
| tags: | |
| - dna | |
| - genomic | |
| - llama.cpp | |
| - gguf | |
| - hybriddna | |
| # Carbon-8B GGUF | |
| GGUF (bf16) conversion of [HuggingFaceBio/Carbon-8B](https://huggingface.co/HuggingFaceBio/Carbon-8B) for use with [llama.cpp](https://github.com/ggml-org/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](https://github.com/ggml-org/llama.cpp/pull/23410), so any build from `master` after that works: | |
| ```bash | |
| 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 | |
| ```bash | |
| hf download HuggingFaceBio/Carbon-8B-GGUF carbon-8b-bf16.gguf --local-dir . | |
| ``` | |
| ### Basic DNA completion | |
| ```bash | |
| ./build/bin/llama-completion -m carbon-8b-bf16.gguf \ | |
| -p '<dna>ATGCGCTAGCTACGATCGATCGTAGCTAGCTAGCTAGCTACG' \ | |
| -n 64 --temp 0 -no-cnv | |
| ``` | |
| ### Metadata-conditioned generation | |
| ```bash | |
| ./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: | |
| ```bash | |
| hf download HuggingFaceBio/Carbon-500M-GGUF carbon-500m-bf16.gguf --local-dir . | |
| ``` | |
| Then run the standalone tool with `--model-draft`: | |
| ```bash | |
| ./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): | |
| ```bash | |
| ./build/bin/llama-server \ | |
| -m carbon-8b-bf16.gguf \ | |
| -md carbon-500m-bf16.gguf \ | |
| --draft-max 16 --draft-min 1 \ | |
| --port 8080 | |
| ``` | |
| ```bash | |
| 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)`): | |
| ```bash | |
| # 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: | |
| ```bash | |
| ./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}`: | |
| ```bash | |
| ./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 | |
| - Source weights: [HuggingFaceBio/Carbon-8B](https://huggingface.co/HuggingFaceBio/Carbon-8B) | |
| - Other GGUF variants: [500M](https://huggingface.co/HuggingFaceBio/Carbon-500M-GGUF) · [3B](https://huggingface.co/HuggingFaceBio/Carbon-3B-GGUF) · [8B](https://huggingface.co/HuggingFaceBio/Carbon-8B-GGUF) | |
| ## License | |
| Apache-2.0, inherited from the source model. | |