Carbon-X Reads Raw DNA in English and Still Is Not an Annotation

Hugging Face has published an open decoder that takes raw DNA and an English question in the same prompt, on a single GPU you can keep in the building. The model is Carbon-X. The paragraph it writes back can sound like an annotation. It is not one.

The lab version of that claim is concrete. Put a stretch of sequence in the prompt and ask whether a change looks benign or pathogenic, where a regulatory region might sit, which broad group of organisms the stretch resembles, or which base comes next. The answer is supposed to come back in English, and it may include DNA as well. Useful for a first pass. A poor stand-in for the file that already names the gene.

One stream, two size labels

Carbon-X is decoder-only. DNA and text share one token stream, and there is no separate DNA encoder beside it. It starts from Qwen3-14B. Hugging Face sizes it at 14.8 billion parameters and also calls it an open 14B model. Both labels are its own. The card does not itemize the difference.

Do not invent one. New DNA embeddings, at a hidden size of 5, 120, are on the order of a few tens of millions of weights, not an 800 million jump. Until the card shows a parameter budget, 14.8 billion is the count to cite, and 14B is a rounded name, not a second measurement.

Under the hood it is the Qwen3 stack it started from: 40 layers, hidden size 5, 120, grouped-query attention with 40 query heads sharing 8 key-value heads. The number that changes a buying decision is the window, not the head count.

Six bases, usually

The text tokenizer stays Qwen3’s. DNA is sliced into consecutive chunks that do not overlap, six bases at a time, and each clean chunk is one token. Six bases, one word. The card’s own example is short enough to check by eye: ACGTACGATTCA becomes ACGTAC and GATTCA.

Usually, not always. A leftover of one to five bases uses a different token and is meant to come back exactly. A six-base chunk that contains anything other than A, C, G, or T collapses to a single unknown token. When the model writes DNA, it wraps that DNA in tags. Strip special tokens, and the wrappers go with them.

If you are the person wiring it up, a few more rules matter. Runs of at least six A, C, G, or T bases are tagged automatically. Lowercase is uppercased, and space-separated blocks are joined. Runs of at least 12 bases that include up to 20 percent IUPAC ambiguity codes are tagged too. You can turn detection off. The card counts 5, 515 added DNA tokens and names 4, 096 six-base tokens, one for every possible six-letter combination, plus 1, 364 tail tokens and three markers. Those named pieces sum to 5, 463. The card does not explain the other 52.

What actually fits

The context window is 40, 960 tokens, shared by the sequence and the question. Only a clean six-base token covers six bases. If the entire window were nothing but those tokens, the ceiling is 245, 760 bases. Under 250, 000 letters of DNA. A few hundred kilobases, and that is the generous case.

English, tags, and leftovers spend the budget down from there. A human chromosome does not fit. A long gene does not fit whole. This is a local window. Anyone buying it to drop a genome in is buying the wrong shape of tool.

One lab’s scores, two protocols

Every figure here is from the Carbon-X model card. Hugging Face ran Carbon-X with thinking disabled (no extra hidden reasoning pass), one sample per problem, and default sampling: temperature 0.6, top-p 0.95, top-k 20. It says every reported result used those settings, and it recommends leaving the extra pass off because that is how the model was post-trained and evaluated.

The other columns are labels in that same self-reported table, shown at the effort setting that produced their highest average. GPT-6.1 Sol, Opus 5.5, and Gemini 4 Argon are names on that page, not an outside census of products. Same table, different protocol.

On that setup, Carbon-X averages 66.7 percent across five DNA benchmarks. The card puts the column labeled GPT-6.1 Sol at 67.5 percent. The 0.8-point difference is not a result you can buy on. One sample, a sampling temperature of 0.6, and a rival scored at its best setting make that gap noise plus a protocol mismatch. Hugging Face also says Carbon-X is ahead of every other open model it evaluated. That is a claim about its own set, not a ranking of the field.

Averages hide the task.

On the coding-variant benchmark in the table, Carbon-X leads at 74.9 percent, ahead of 71.0 and 70.3 for the Sol and Opus labels. On changes that are not a single-base swap, the Opus label leads at 94.8 percent and Carbon-X is at 85.1. A lead on one kind of variant is not a lead on every kind. GenomeQA sits at 63.6 percent for Carbon-X. The card’s prose also says it leads the models it tested on next-base prediction. Those are different jobs, and a single average pretends they are not.

One cell should slow a buying conversation down. The column labeled Max Gemini 4 Argon scores 6.5 percent on the coding task and 90.3 percent on the non-single-nucleotide task. The card does not explain that split. A gap that wide can be a broken harness rather than a measured blind spot. Do not treat 6.5 percent as settled capability, and do not let 66.7 percent talk you into automating a question the table never cleanly answered.

What the estimate does not price

Hugging Face prices Carbon-X from measured throughput on an H200 at $5 an hour. On that meter it estimates per-problem inference at about 1/1, 800 the cost of the GPT-6.1 Sol label, and about $300 to score 2.4 million ClinVar variants of uncertain significance. ClinVar is the public archive of human genetic variants. What the card calls the frontier models in the comparison land between $32, 000 and $4 million, at standard API prices rather than the same H200 clock.

The card does not show tokens per variant, how the jobs were batched, how long the answers were, or the date of either price. You cannot rebuild 1/1, 800 from the write-up, and the two sides are not the same bill. The narrow claim that survives is this: under one lab’s inference meter, a large screen looks cheap next to API list prices.

None of that prices a scientist’s time, a second assay, or a confident wrong call. A $300 screen that names the wrong gene is the expensive kind of cheap.

Local weights, someone else’s code

The documented path is one 80 GB GPU in bfloat16. vLLM takes vllm serve HuggingFaceBio/Carbon-X –trust-remote-code. Transformers needs version 5 or later, with remote code enabled. Weights are at HuggingFaceBio/Carbon-X. Code is at github.com/huggingface/carbon.

Unpublished sequence is not a string you want sitting in someone else’s log. Weights on hardware you control change that privacy conversation. They do not finish it. The remote-code flag means you are executing the tokenizer and model code shipped with the repo. Review that dependency the way you review any other code that will see the sequence.

Fluency is not an annotation

Hand it a naked sequence (no gene, no strand, no coordinates, no annotations) and the model card says it may guess that sequence’s identity or function. That is the failure mode that matters. A clean English paragraph attached to the wrong gene will not look like an error. It will look like an answer.

A research score on calling a change benign or pathogenic is not a diagnostic clearance. Nothing in a self-reported table turns a benchmark into a regulated test. Use the model to triage or draft, and to ask a first question while the sequence stays on a machine you own. Then check the answer against coordinates, not against confidence.

Questions worth asking before a pilot

  • Can it read raw DNA and answer in English?

    Yes. DNA and text share one decoder. A token usually covers six bases; short leftovers, ambiguous stretches, and unknown chunks use other tokens, and the short leftovers are meant to decode exactly. Hugging Face lists English explanations alongside benign or pathogenic calls, regulatory-region identification, organism-group classification, and next-base prediction.

  • Did it beat the models in Hugging Face’s table?

    Not on the average it published. Carbon-X is at 66.7 percent across five DNA benchmarks, 0.8 points behind the 67.5 percent reported for a column labeled GPT-6.1 Sol. That gap is smaller than the protocol difference: Carbon-X with thinking off and one sample, rivals at the effort that maximized their average. It leads that table on a coding-variant task and trails the Opus label on changes that are not a single-base swap. Those names are labels in a self-report, not a market ranking.

  • Is “ahead of every other open model” an independent ranking?

    No. That sentence is Hugging Face’s, about the open models it evaluated, under the protocol above. It is not an audit of the field.

  • What would a large variant screen cost?

    Only what one inference meter says. Hugging Face estimates about $300 to score 2.4 million ClinVar variants of uncertain significance on an H200 at $5 an hour, and about 1/1, 800 the per-problem cost of its GPT-6.1 Sol label, against $32, 000 to $4 million at standard API prices. It does not publish tokens per variant, batching, or output length. Scientist time, a second assay, and a wrong call are not in the number.

  • Can we drop a genome in?

    No. At six bases a token, 40, 960 tokens is at most 245, 760 bases, and the question shares that window. This is a local stretch, not a chromosome.

  • Can sensitive sequences stay on our own GPUs?

    The documented path is one 80 GB GPU in bfloat16, through vLLM or Transformers, if you accept running the model’s own code. That supports on-premises inference. It does not write your privacy policy, and a local wrong answer is still wrong.

  • Is this the first time DNA and natural language share a model?

    The model card does not say that. Its claim is narrower: one decoder, one token stream, no separate DNA encoder. Without gene, strand, coordinates, or annotations, it may still invent what a sequence is.

A decoder that can sit with a local window of sequence and a question is a useful instrument for research triage. It is a poor stand-in for the annotation file you already have, and a worse stand-in for a clinical claim you have not earned. The labs that get value from it will treat the English as a draft and the coordinates as the record.

Adjacent reading on the data underneath the sequence

A fluent answer is only as trustworthy as the reads it was built on, and degradation bias is one of the quieter ways those reads mislead.