Executive Summary

An AI that handles DNA sequence and human language in the same model is now something anyone can download. It is called Carbon-X, and Hugging Face, Zhongguancun Academy (中关村学院), Italy's Telethon Institute of Genetics and Medicine and the University of Naples Federico II released it on October 23, 2026 under the Apache 2.0 license. It predicts whether a mutation is harmful, points to the stretches that control gene activity, guesses the next base in a sequence, and explains in words how it reached that call.

What this article looks at is not the scoreboard but one design decision that sits in front of it. When Carbon-X takes in DNA, it cuts the sequence into chunks of six bases and makes each chunk a single token. That is the same kind of decision a language model makes when it settles on the unit it will read text in, and it explains a good deal of what this model is good at and what it is not. Its average across the five tests is 66.7%, and that is not the top of the table.

Sections 1 through 4, and the first part of section 5, follow what the model card and the reporting say. The end of section 5 and section 6, which read the chunk size as a data design problem, are this article's own interpretation, and the text marks the spot where that begins.

Key Numbers

Sources: Hugging Face Carbon-X model card, AI Times report (2026-10-26).

66.7%

Average across five tests

27 points above the Qwen3-14B it was built on. It still does not reach GPT-6.1 Sol's 67.5%, the highest in the table

6 bases

DNA covered by one token

All 4,096 possible combinations got a letter of their own. A window of 8,192 tokens holds roughly 49,000 base pairs

55%

Raw DNA share of training tokens

Every share of the 302 billion tokens is a published percentage, and the parts add up to exactly 100

29.8%

Lowest score — splice sites

The model card lists this as a weak area itself. Histone-mark questions stopped at 34.6%

1

Who Released What

Carbon-X has 14.8 billion parameters. It was not built from scratch: the team took Qwen3-14B, the model Alibaba released openly, and trained it further on 302 billion tokens. Hugging Face built it together with Zhongguancun Academy, Italy's Telethon Institute of Genetics and Medicine and the University of Naples Federico II, and put it out on October 23, 2026 under the Apache 2.0 license. Apache 2.0 means you may use it commercially and release your own modified version.

The model card lists five jobs. It predicts whether a mutation is harmful or benign, finds the stretches that switch genes on and off, classifies a sequence by the organism group it came from, guesses the next base in a sequence, and puts the reasoning behind a call into words. That last item says a lot about the model's character. This is not a predictor that emits a number; it answers questions in sentences.

The model card also says why the weights were opened: "The weights fit on a single 80 GB GPU in bfloat16, so researchers can keep sensitive or unpublished sequences on their own infrastructure." AI Times, reporting the release in Korean, put the same point in Hugging Face's words. Researchers should be able to run their own research tools instead of depending on a handful of closed AI services, and keep sensitive or unpublished DNA data in house. The awkwardness of uploading genetic information to someone else's server sits behind this release.

Money comes into it too. Take the 2.4 million variants of uncertain significance sitting in the public ClinVar database and run every one of them through Carbon-X, and the model card puts the bill at about $300. Hand the same job to the commercial models it was compared against and it runs from $32,000 to $4 million. That gap runs from a hundredfold at the low end to more than ten thousandfold at the high end, and it is the headline the reporting picked up.

Cost of analyzing 2.4M ClinVar entries — the gap only shows on a log scale Carbon-X ~$300 Compared models $32,000–$4,000,000 $100 $1,000 $10,000 $100,000 $1M $10M The x-axis is logarithmic: each step to the right is a 10x jump in cost
▲ Pebblous original diagram. The gap between Carbon-X and the compared commercial models spans more than two tick marks (100x or more). Figures are the model card's own estimates
2

Six Bases, One Letter

A language model does not read text one character at a time. It decides in advance which clumps of characters travel together, and swaps each clump for a single symbol. In English that is the decision about whether "unbelievable" arrives as one piece or as "un", "believ" and "able", and whether the space in front of a word belongs to it. Change that decision and the same sentence comes out shorter or longer, and the patterns the model can notice change with it.

For DNA, Carbon-X made that decision this way. It cuts a sequence from the front into non-overlapping groups of six, and each group of six becomes one token. Since the letters of DNA are only A, C, G and T, the number of combinations you can build in six slots is 4 to the sixth power, or 4,096. The model gave every one of those 4,096 its own number.

Something has to happen before the cutting. The model has to work out which part of the incoming text is sequence at all. The rule in the model card is simple. Any run of at least six characters made only of A, C, G and T counts as DNA; the tokenizer wraps it in <dna> and </dna> and then cuts it into sixes. The user does not have to say "the sequence starts here." The threshold for counting something as sequence is the same number six.

A sequence is cut into sixes, and each chunk becomes one token Input sequence A C G T T A G G C A T C T A N G C A C G T Tokens 6-mer token 6-mer token one <oov> tail token An N inside the third chunk takes the five good letters with it, and the whole chunk becomes one unknown token
▲ Pebblous original diagram. Cutting into sixes, the tail tokens used when the length does not divide evenly, and turning a chunk that contains an N into a single unknown token are all rules written in the model card

Sequence lengths do not always land on a multiple of six. So the model keeps 1,364 extra tokens to catch the leftover tail. That number is not arbitrary either. There are 4 combinations of length one, 16 of length two, and so on up to 1,024 of length five; add them and you get exactly 1,364. Add the markers that open and close a DNA stretch, the unknown-character marker, and the slots left empty to round the vocabulary to a multiple of 128, and the DNA-only tokens come to 5,515. Stack those 5,515 on top of the 151,669 text tokens Qwen3 already used and the full vocabulary is 157,184. That number is exactly 128 × 1,228. The model card says the vocabulary was padded to come out that way.

What this design buys is length. One token covers six bases, so the same sequence goes in at one sixth of its length. The 8,192-token window used in mid-training is about 49,000 base pairs of DNA, and the model's maximum input of 40,960 tokens is about 246,000 base pairs. One token per letter would have fit one sixth as much into the same window.

There is a condition attached. A 6-mer is built only from A, C, G and T, and any chunk with a single other character in it becomes one unknown token in its entirety. Real sequence data routinely carries N where the base could not be called, and one such N takes the five perfectly good letters beside it down with it. The larger the unit you cut by, the wider the hole a single missing character opens.

So why six. The model card records that it bundles by six and lists the numbers that follow from it, but it does not say why six rather than four or eight. Change that one number and the vocabulary size, the amount of sequence that fits in a window and the span a single letter hides all move with it, and the reasoning behind the choice is not in the published documentation.

3

The Diet Is Written Out in Percentages

What data a model ate, and how much of it, is usually one line: "a broad mix of public sources." The Carbon-X model card puts a table there instead. It breaks the 302 billion mid-training tokens down by category, and inside each category to one decimal place.

Category Share How it splits inside
Raw DNA 55% Eukaryotic genomes 38.5% · mRNA 8.8% · prokaryotic genomes 5.5% · annotated mRNA 2.2%
English text 20% FineWeb-Edu 8% · DCLM 8% · FinePDFs-Edu 4%
Biology literature 15% Documents carrying long sequences 7% · other biology text 7% · machine-written descriptions 1%
Instructions 10% —

You can add this table up. The four categories come to 100, and the four entries inside raw DNA come to 55. The largest block, eukaryotic genomes at 38.5%, is broken down one level further in the model card into vertebrates 16.2%, mammals 10.3%, invertebrates 7.6%, plants 3.1%, fungi 1.1% and protozoa 0.2%, and those six also come to exactly 38.5. A reader can check that the table agrees with itself.

Mix of 302B training tokens — half DNA, half keeping the model's ability to talk 55% 20% 15% 10% Raw DNA English text Biology lit. Instructions The three non-DNA slices (45%) exist to protect the base model's language ability
▲ Pebblous original diagram. Shares are the model card's own percentages, and the four categories sum to exactly 100

What catches the eye in the mix is that the part which is not DNA runs to 45%. English text at 20% looks unrelated to DNA, but it is the portion that keeps the base model from losing the ability to talk that it already had. Feed a model nothing but bases and it will read sequence well and lose the ability to answer a human question. The 15% of biology literature is the bridge between sequence and explanation, and the 10% of instructions is the portion that teaches the model the shape of taking a question and answering it. Roughly half the budget went to learning DNA and half to not forgetting how to speak.

Training ran in three stages. Mid-training came first, feeding those 302 billion tokens in slices 8,192 tokens long. Then came supervised fine-tuning, three passes over a mixture of twenty dataset subsets, and last two rounds of reinforcement learning. The reinforcement rounds used only tasks whose answers a machine can verify, and ran with thinking mode switched off. What the model card does not give is the compute or the GPU hours. The data mix is spelled out in detail; the bill is not.

4

Where It Wins and Where It Loses

The model card scores Carbon-X on five tests alongside a row of commercial models. Carbon-X averages 66.7%, which is 27 points above the Qwen3-14B it was built on. The highest average in the same table belongs to GPT-6.1 Sol at 67.5%. That means a 14.8-billion-parameter open model came within 0.8 points of the strongest commercial model in the table. It does not mean it beat it.

Test What it asks Carbon-X GPT-6.1 Sol
BioReason Coding Effect of variants in coding regions 74.9 71.0
NextBase Guessing the next base 39.4 32.9
BioReason Non-SNV Effect of complex variants 85.1 91.7
GenomeQA Understanding of DNA 63.6 67.2
FrontierVEP Effect of single-base variants 70.4 74.9
Average 66.7 67.5

It wins two of the five and loses three. What kind of problem the two wins are is where section 2's design comes back in. NextBase, which asks for the next base in a sequence, only yields to a model that has the statistics of sequence itself in its body, and one commercial model in the same table scored 1.1 on it. For a model that has never held a base as a token, this problem is close to unsolvable. Carbon-X also came out ahead on BioReason Coding, which asks what a variant in a coding region leads to, at 74.9.

The three losses have a different character. Questions about the effect of complex variants, or about general understanding of DNA, ask for biology knowledge and reasoning as much as for the ability to read sequence directly. This is where the broad knowledge piled up by models dozens of times larger does its work. The more striking fact is that a 14.8-billion-parameter model came within a few points of them on average.

It wins two of the five tests Carbon-X GPT-6.1 Sol 50 0 74.9 71.0 BioReasonCoding 39.4 32.9 NextBase 85.1 91.7 BioReasonNon-SNV 63.6 67.2 GenomeQA 70.4 74.9 FrontierVEP Scores are taken directly from the model card's five-test table
▲ Pebblous original diagram. Bar height is on a 0–100 scale, and the values match the model card's benchmark table

All of these scores came with thinking mode switched off. The chat template does allow thinking to be turned on, but the model card states that Carbon-X was post-trained and evaluated with it off, and it adds that it recommends keeping it that way. What the scores look like with it on is not in the public record.

5

After the Bundling, the Inside Blurs

The limitations section of the model card is not short. It states first that this is not a model validated for clinical use. A separate sentence says not to use it for medical decisions, and there is a warning that genetic data is highly sensitive along with a note that input and output are handled differently depending on where you run it.

Four technical weaknesses are named. Give it exact sequence operations and it miscounts bases, confuses coordinates or edits the wrong spot, particularly when locating positions in long sequences. Ask it a question that lacks information and it may invent the identity or function of a sequence. Coverage across tasks is uneven: splice-site and histone-mark questions sit low at 29.8% and 34.6%, and short DNA exercises and textbook-level biology are less reliable than variant effect prediction. Finally, when asked to generate long sequences the quality degrades. This model was built to read and explain sequences that exist, not to design new ones.

There is a clue about length as well. Mid-training used sequences of 8,192 tokens and the post-training examples were shorter than 16,000 tokens. The model accepts up to 40,960 tokens, but inputs far longer than what it saw in training have not been evaluated. The length it accepts and the length it has been checked at are two different things.

The usage guidance carries one more request. Put the sequence and the question in the same message, and if you already know something about the context, write it in rather than leaving it out. The context the model card gives as examples is which gene it is, which strand, where the coordinates are, and whether annotations exist. The spirit of it is: do not drop a bare sequence and ask the model to figure it out.

From here on is this article's own reading. Several of the weaknesses the card names have something in common: miscounting bases, confusing coordinates, splice sites. Every one of them calls for an exact position at the resolution of a single base. The items Carbon-X led on, by contrast, asked about the character of a stretch. Asking a model that has folded six letters into one which position inside that bundle you are pointing at is close to asking it to go back to before the bundling. The guidance to supply coordinates and annotations in the question reads from the same place. It amounts to asking the user to fill in by hand the position information that went blurry inside the bundle. One thing should be said plainly, though: the model card does not attribute these weaknesses to the tokenizer. The card records the weaknesses; connecting them to the design is this article's reading.

6

Why Pebblous Is Watching This Release

What caught our eye in Carbon-X is not the genomics score. It is that the shape the data was cut into before the model was built is written down, so the choice can be argued with from the outside. Cases like that are rare.

6.1Choosing the Unit Is Data Design

When we talk about AI-Ready Data we usually look at the state of the values first. Are there empty cells, are the labels right, is the provenance still attached. What Carbon-X adds is the question in front of that one. At what size is this data cut when it is handed to the model? Whether sensor records are cut at one second or ten, whether logs are cut per request or per session, is the kind of item a preprocessing engineer settles without much thought and moves on. Yet that choice sets the floor on the patterns a model can notice. An event shorter than a second is invisible forever in data cut at one-second resolution.

6.2Write the Mix Down and Outsiders Can Check the Arithmetic

Why the table in section 3 is rare becomes clear if you picture the opposite. Of a model whose card says only "trained broadly on public genomes and biology literature," no question can be asked at all. The fact that plants are only 3.1% has to be written down before anyone can form the expectation "then it will be weak on plant sequences" and go check. The same holds when you gather training data in-house. Leave a record of where how much came from, in proportions, and when the model later behaves oddly in a particular region you can look at the data side first. Without that record, the search for the cause starts from nothing.

6.3Compression Is Paid For by Whoever Reads It Later

Bundle six into one and six times as much fits in the same window. It looks free and it is not. Position information inside the bundle goes blurry, and one missing character hides six. The same trade happens when preprocessing summarizes or aggregates data. Turn minute-level values into hourly averages and storage cost and training time go down, but the spikes that were only visible at the minute level disappear. The point is not that you should never summarize, but that you should know what you have decided to throw away when you do. What makes Carbon-X a good case is that both sides of the trade are written in the same document. The gain of a window six times longer sits next to the limit of not being able to pin an exact coordinate.

We have seen the same kind of choice in other biological data. Stanford's scVision drew a cell's gene expression as a 104×104 image and fed that to a vision model, and it finished first in zero-shot cell-type classification, ahead of models that treat genes as tokens. Whether the same cell data stays a table or becomes a picture decided the outcome. On the other side there is a case where it was not the unit but the state of the incoming values that got in the way. On GeneBench Pro the strongest model stalled at 31.5%, not for want of knowledge but because its judgment broke in front of noisy genomic data. Deciding what unit to cut by and deciding whether to trust the values that came in both have to be finished before anyone touches the model.

Thank you for reading this far. The figures and the limitations in this article can be checked in the Hugging Face Carbon-X model card, and the circumstances of the release and the cost comparison in the AI Times report of October 26. At what unit is your data being cut before it reaches a model? We would like to hear who decided that unit and where it is written down.

R

References