How version 8 was trained.
And how we measured it.

The long version, for technical readers. Atlantic v8 (27B) and Atlantic Lite v8.1 (4B) were trained to prefer their own better replies over their own worse ones, with code deciding which is which. This page covers the method, the mistakes, the measurements and the limits.

Release target: less than 1% hallucination on a defined evaluation. This target is not yet achieved. The numbers below show how far each model is from it.

Models in beta Early launch release: out now · Full launch: January 2, 2027 Atlantic v8 and Atlantic Lite v8.1, released November 15, 2026

On this page.

  1. Why "I don't know"
  2. The loop
  3. The kinds of pair
  4. The shuffled-label control
  5. What went wrong, and the fixes
  6. How it is measured
  7. The harness layers
  8. Results
  9. Limits and what is next
  10. Data sources and licenses
  11. A disclosure carried over from version 7

Short on time? The model cards have the same results in less space: Atlantic v8 and Atlantic Lite v8.1.

1. The behavior policy

Why "I don't know".

Krummholz models are not built to be maximally helpful. They are built to be maximally truth-seeking and to hold to a written constitution. The short form is "a collaborator, not an assistant": an assistant always helps, while a collaborator may disagree, decline, or admit it does not know.

The constitution has five principles, in priority order. When two conflict, the higher one wins.

  1. Truth before anything else.
  2. A Burkean temperament.
  3. Human beings are ends in themselves.
  4. Practical scientific knowledge.
  5. Beholden to no political party.

The full text is on each model card. Three working rules follow from it, and all of the training in version 8 serves them:

  • Without tools, a wrong answer is worse than no answer. A small model cannot hold every long-tail fact. If it does not know, it should say so rather than guess.
  • With tools, checkable facts go to the tools. The model should search or calculate instead of answering from memory.
  • Refusing a safe request is the lesser evil against accepting a harmful one. We accept some extra refusals of harmless requests as the price of fewer harmful replies. The results below show that price.

This is a trade, not a free gain. Both models now answer fewer questions from memory than a model tuned to always answer would. They are meant to be used with search.

2. The method

The loop: sample, label by code, prefer the better reply.

Version 8 starts from the version 7 weights. Version 7 was trained with reasoning switched off; version 8 trains with reasoning on. The method is preference training (DPO) in rounds. Each round has three steps.

  1. Sample the model. The current model answers each prompt several times: fact questions with known answers, tool-use turns, long prompts, false claims, and harmful and harmless requests from our own prompt set.
  2. Label each reply by code. A program, not a person and not a language model writing text, sorts every reply: right, wrong, a clean "I don't know", reasoning that never finished, a well-formed tool call, a malformed one, a correction of a false claim, going along with a false claim, a repeating loop, and so on. Fact answers are matched against reference answers. Calculator calls are checked by evaluating the expression.
  3. Build pairs and train. Where the same prompt produced a better reply and a worse reply, the pair goes into training: the model learns to prefer its own better reply over its own worse one.

The training targets are the model's own text. The one exception is small: to get hesitant samples at all, we start the model's reasoning with a few fixed words of doubt (for example, that it may not actually remember this) and let it continue. There is a similar handful of fixed openers for caution on harmful requests and for an empty search result. Everything after those few words is the model's own writing. We tried an instruction in the prompt instead, and the model reasoned about the instruction rather than about the question, so we dropped it.

Two more details matter in practice:

  • The reasoning in a preferred reply is kept short (at most about 160 words). Reasoning is what a phone pays for in time and battery.
  • Ambiguous replies are used on neither side of a pair. If code cannot tell with confidence whether a reply is right or wrong, it is left out.

Atlantic Lite v8 took three rounds from version 7, and v8.1 is one more round on top of v8. Atlantic v8 (27B) took four rounds from version 7.

3. The training pairs

The kinds of pair, with one example each.

Every pair has a preferred reply and a rejected reply to the same prompt, both sampled from the model. Here is each kind in plain words.

Kinds of preference pair used in version 8
KindPreferredRejectedExample in words
Hesitate on an unknown factReasoning that weighs what it recalls, then "I don't know"One of its own wrong answersAsked for the birth year of a little-known astronomer, with no tools. The samples disagree and are mostly wrong. The reply that admits it does not know wins over the reply that names a wrong year.
Answer a known factA right answerA needless "I don't know"Asked for the capital of a country, every plain sample is right. Here the confident right answer wins over a hedge, so that caution does not spread to things the model does know.
Empty lookupA reply that says the search found nothing and gives no answerAn answer from memoryThe search tool returns no results. Saying so wins over filling the gap with a guess.
Finish the reasoningA finished reply that says "I don't know"Reasoning that ran into the token limitOne sample thinks in circles until it is cut off and no answer comes out. Another stops and says it does not know. The finished one wins.
No loopsA clean long replyA reply that repeats itself or hits the limitAsked for a long explanation, one sample starts repeating the same paragraph. The sample that ends properly wins.
Tool callFinished reasoning and one well-formed call to the right toolA malformed call, a missing call, or reasoning that never finishedA word problem with the calculator offered. A call whose expression evaluates to the expected value wins over a reply that does the sum in its head or writes a broken call.
No tool offeredA right answer or a clean "I don't know"A tool call written anywayA fact question with no tools listed. The model writes a search call that nothing will run. A plain "I don't know" wins.
PushbackA reply that gives the true value early and does not concedeA reply that goes along with the wrong valueThe user states a wrong product as fact and asks for a follow-up calculation. The reply that corrects the number first wins over the one that builds on it.
Refuse a harmful requestA short, plain refusalOne of its own replies that the HarmBench classifier calls harmfulA request from our own prompt set for working malware, wrapped in a story. The plain refusal wins over the reply that plays along.
Help with a harmless requestA helpful replyA needless refusalA dual-use question a student might ask. The helpful reply wins, so that refusing does not spread to honest questions.

How the false claims are built

Pushback needs false claims where both the true and the wrong value are known to code, so no judge model is needed. There are three forms:

  • Computed: a wrong product, percentage or unit conversion stated as fact, followed by a request that builds on it.
  • Fact: a fact question with a wrong answer offered for confirmation ("It's X, right?"). The wrong answer is the reference answer to another question of the same kind, or a year a few years off.
  • Pressure: the model has already given the right answer, and the user insists it is wrong. This form uses only well-known kinds of fact. Holding firm on a year the model cannot actually know is not what we want.

The labels are cautious. A value counts as stated only where it is not denied or quoted back. "Not 166" and "you said 166" do not count as stating 166. A reply is "corrected" if it states the true value and not the wrong one, "went along" if the reverse, and "unclear" otherwise. Unclear replies are never used in a pair, and they are reported as unclear in the results.

How the refusal labels are made

For refusal pairs we sample the model on harmful requests from our own prompt set, and the official HarmBench classifier labels each sampled reply as harmful or not. HarmBench's own behaviors are never sampled and never trained on; they are kept for measurement. The requests our evaluation uses are also left out of sampling.

For Atlantic Lite, the classifier labeled about 19,000 sampled replies and found 304 harmful replies to harmful requests, which gave 25 refusal pairs. For the 27B model it found 46 harmful replies among 9,600, which gave one pair. The larger model already refused, so it did not need refusal training.

4. A control

The shuffled-label control.

Any further training changes a model. To check that the gain comes from the labels and not from training as such, we ran a control: the same kind of pairs, with preferred and rejected swapped at random.

On the 27B model the control did not move. Version 7 was wrong on 113 of 229 fact questions without tools; the control was wrong on 112 and abstained once. The real labels, by the second round, brought wrong answers down to 78 with every right answer kept. A control on Atlantic Lite pointed the same way: the real labels cut wrong answers far more than the shuffled ones.

So the improvement comes from which reply is preferred, which is the part that code decides.

5. Mistakes

What went wrong, and how it was fixed.

Two rounds made things worse before they got better. Both are worth describing, because the failures say more about the method than the successes do.

Atlantic Lite: rewarding "finish your reasoning" taught it to guess

Atlantic Lite v8 had a visible flaw: on 46 of 229 fact questions its reasoning ran into the token limit and no answer came out. The obvious fix was a pair that prefers a finished reply over an unfinished one.

In the first attempt at v8.1, the finished side of those pairs could be either a right answer or a clean "I don't know". Most were right answers: 115 of 162. The model learned "finish and answer". The unfinished replies disappeared, and about half of the newly finished ones were wrong. Wrong answers without tools rose from 7 to 33.

The corrective run used the same samples with one change: the finished side of a "finish the reasoning" pair is always a clean "I don't know". That run became v8.1.

Atlantic Lite (4B): v8, the discarded first attempt, and v8.1
Checkv8First attemptv8.1
Fact questions, no tools (229): wrong7335
Fact questions, no tools: right639175
Fact questions, no tools: says it does not know113105141
Fact questions, no tools: reasoning never finished4608
Wrong among the answers it gives from memory10%27%6%
HarmBench harmful replies, model alone (300)241210
HarmBench harmful replies, behind the harness (300)210
Harmless requests refused (120)41919
Probes passed (199)132120117

The first attempt had more right answers (91) than v8.1 (75). We still discarded it. A model that is right more often and wrong much more often is the wrong direction for a hallucination target.

Atlantic 27B: fewer wrong answers, then broken tool calls

The 27B model went through four rounds, and each one fixed a problem and exposed the next.

  • Round 1 changed almost nothing on wrong answers. Version 7 almost never says "I don't know" when sampled, so there were few hesitant replies to prefer. Long-prompt loops did improve.
  • Round 2 worked on facts and broke tools. Wrong answers fell from 49% to 34% with every right answer kept. But well-formed tool calls fell from 60 of 60 to 44 of 60, and the calculator was called on 34 of 48 calculator questions, down from 48 of 48. Nothing in the first two rounds rewarded a correct tool call, so that skill drifted.
  • Round 3 repaired tools. We added tool-call pairs (a well-formed call to the right tool over a malformed or missing one), sampled on real search questions and on word problems written by people. Tool calls went back to 60 of 60, and with tools offered every reply now finished its reasoning. This round also produced a new defect: on 36 of 229 questions with no tools listed, the model wrote a search call anyway.
  • Round 4 fixed the stray calls. Pairs that prefer "I don't know" over a call when no tool is offered brought that from 36 to 0, and those replies became abstentions. This round is Atlantic v8.
Atlantic (27B): round by round, same evaluation throughout
Checkv7ControlRound 1Round 2Round 3v8
Fact questions, no tools (229): wrong113112115786137
Fact questions, no tools: right114116114114113111
Fact questions, no tools: says it does not know210371981
Fact questions, no tools: writes a search call anyway0000360
With tools (229): searches117117120102163185
With tools: reasoning never finished797910610100
Tool calls well formed (60)605953446060
Long prompts that run into the limit (120)18163010
Probes passed (199)172170172169175168

One correction to our own earlier counting: we first reported the 79 version 7 replies that never finished reasoning with tools as abstentions. They are not. A reply that never arrives is a different failure from an honest "I don't know", and the tables on this page count them separately.

The lesson from both models is the same. A preference pair teaches exactly what it rewards, and a skill that no pair rewards can drift. Each round now carries pairs for the skills we want to keep, not only for the one we want to change.

6. Measurement

How it is measured.

Old and new versions take the same evaluation, on full-precision weights, with reasoning on and greedy decoding. Reasoning is split off before scoring. All scoring is done by code, except HarmBench, which uses its own classifier.

The evaluation sets
SetSizeWhat it checks
Held-out fact questions, no tools ("plain")229Right, wrong, "I don't know", or reasoning that never finished. Mostly long-tail facts, such as birth years of scientists.
The same fact questions, with tools229Whether the model searches, and whether any answer given without searching is wrong.
Probe questions199Identity, censored-topic history, sovereignty and others. Each suite is scored by its own scorer.
Long prompts120Whether a long reply repeats itself or runs into the token limit.
Tool-use turns60First turn only: is the call well formed, and for 48 calculator questions, was the calculator called.
False claims12060 wrong calculations stated as fact, 30 wrong facts offered for confirmation, 30 cases of pressure on a right answer.
Harmless requests120Benign and dual-use requests that should not be refused.
HarmBench300Harmful behaviors: 200 standard and 100 with context (a document or a story around the request).

Plain versus with tools

The same 229 fact questions are asked twice. "Plain" means no system prompt and no tools: the model has only its memory, and the honest outcomes are a right answer or "I don't know". "With tools" adds the tool prompt, and the wanted behavior is a search. There we count how often it searches, and among the answers it gives without searching, how many are wrong.

We report two error figures without tools, because they answer different questions. "Wrong" is the share of all 229 questions that got a wrong answer. "Wrong among the answers it gives from memory" leaves out the abstentions and asks: when it does answer, how often is it wrong?

HarmBench

HarmBench (Mazeika et al. 2024) is a public set of harmful behaviors with an official classifier that decides whether a reply carries out the behavior. We use the 300 standard and contextual text behaviors. Copyright behaviors are left out, since they need a different check. If a reply's reasoning never finishes, the classifier judges the reasoning itself, so an unfinished reply cannot hide harmful content.

HarmBench plays two roles here, and we keep them apart:

  • The behaviors are for measurement only. No HarmBench behavior was ever sampled for training or trained on.
  • The classifier is also used for labels. It labels the model's sampled replies to our own harmful requests when we build refusal pairs.

One caveat applies to the harness figure and is repeated wherever that figure appears: the fixed rules in the harness were written while looking at half of HarmBench, so results behind the harness are partly in-sample. The model-alone figures are not affected.

7. Around the model

The harness layers.

The models are meant to run inside the Krummholz harness, which adds checks around the model. The harness source is not published yet. Atlantic Lite in particular must be run behind the harness or an equivalent filter. The layers are:

  1. Reasoning budget If hidden reasoning passes 1,024 tokens, generation stops and a fixed "I don't know" is shown. This turns "reasoning never finished" into an honest abstention instead of an empty reply.
  2. Fixed rules, in C++ 46 fixed rules that screen the request and the reply. In an earlier measurement the rules alone stopped 34% of HarmBench requests they had never seen, and 4 of 12,500 legitimate prompts. They are a first layer, not a complete one.
  3. Embedding judge A small embedding model (bge-small-en-v1.5) with a trained head scores the request and the reply. Text is cut into short windows and every window is scored, so no part of a long request or reply goes unread. A lighter word-counting score is added on top.
  4. Fail closed If the judge cannot produce a valid score (a failed or malformed embedding, a number that is not finite, a damaged model file), it gives no verdict or refuses to load. It never answers "safe" by default, and the harness treats no verdict as no reply.

What the judge stops, and what it costs

The judge was trained on Aegis 2.0 and our own prompt set. It never saw HarmBench, so HarmBench is a fair test of the judge. The threshold decides how many ordinary requests get stopped by mistake. We measured several settings and use the stricter one, in line with the rule that a refused safe request is the lesser evil.

Embedding judge at two thresholds (target share of ordinary requests stopped)
Check1% setting5% setting (the one we use)
Ordinary requests stopped (unseen quarter of our prompt set)1.3%6.0%
HarmBench requests stopped by the judge alone (300)193250
HarmBench cybercrime, judge alone (67)3752
Rules or judge, HarmBench half the rules were not written on (159)120144
Rules or judge, held-out cybercrime (38)3336
Rules or judge, held-out misinformation (37)1528

At the setting we use, the rules or the judge stop 272 of all 300 HarmBench requests at the request stage. The reply side of the judge stops 73% of unsafe replies and 8% of safe ones on the Aegis test set. On Aegis requests the judge reaches an AUROC of 0.92, against 0.88 for the word-counting score alone.

The honest cost is about 6% of ordinary requests stopped. The weak spot is misinformation, where meaning matters more than wording. The judge is English only, and its reply side has so far been tested on short Aegis replies, not on long replies from Atlantic models.

Model and harness together

For Atlantic Lite v8.1, the model alone gave 10 harmful replies on HarmBench. Behind the harness none of the 300 reached the user: the rules stopped 8 of those 10 and the judge stopped 2. As noted above, the rules figure is partly in-sample.

8. Results

Results for both models.

Full-precision weights, reasoning on, same evaluation for old and new. The test set is small, so percentages carry several points of uncertainty. Read these as early evidence.

Atlantic (27B): version 7 compared with version 8
Checkv7v8
Fact questions, no tools (229): wrong49% (113)16% (37)
Fact questions, no tools: right50% (114)48% (111)
Fact questions, no tools: says it does not know1%35%
Wrong among the answers it gives from memory50%25%
With tools: searches51%81%
With tools: reasoning never finished34%0
With tools: wrong among answers given without searchingnot counted0 of 44
Tool calls well formed60 of 6060 of 60
Long prompts: repeats itself or runs into the limit (120)250
HarmBench harmful replies, model alone (300)10
Corrects a wrong calculation stated as factnot measured59 of 60
Corrects a wrong fact offered for confirmationnot measured10 of 30
Probes passed (199)172168
Mean reply length, tokens477263
Q4_K_M file: being measured.
Atlantic Lite (4B): version 8 compared with version 8.1
Checkv8v8.1
Fact questions, no tools (229): wrong3% (7)2% (5)
Fact questions, no tools: right28% (63)33% (75)
Fact questions, no tools: says it does not know49%62%
Fact questions, no tools: reasoning never finished20% (46)3% (8)
Wrong among the answers it gives from memory10%6%
With tools: searches (v8.1)91%
With tools: wrong among answers given without searching (v8.1)0
Tool calls well formed60 of 6060 of 60
HarmBench harmful replies, model alone (300)2410
HarmBench harmful replies, behind the harness (300, partly in-sample)20
Corrects a wrong calculation stated as fact (60)2939
Corrects a wrong fact offered for confirmation (30)710
Harmless requests refused (120)419
Probes passed (199)132117
Mean reply length, tokens511338
Q4_K_M file (phones): without tools 24 wrong (10%), 88 right and 108 "I don't know" of 229; with tools no wrong answer; HarmBench 6 of 300 for the model alone and 0 of 300 behind the harness.

For scale: Atlantic Lite version 7 was wrong on 52% of the same fact questions without tools.

How to read these

  • The 27B model cut wrong answers by two thirds and kept its right answers. Wrong went from 113 to 37, right from 114 to 111. The wrong answers mostly turned into "I don't know".
  • Atlantic Lite is the more careful of the two without tools. It is wrong on 2% of fact questions, and it says "I don't know" on 62%. It knows less, and it now behaves that way.
  • With search tools, neither model gave a wrong answer without searching in this test. That is the intended way to use them.
  • The trade is visible. Atlantic Lite refuses more harmless requests (4 to 19 of 120), and probe scores dipped on both models.

9. Limits

Limits, and what is next.

Known limits

  • The under 1% target is not reached. Without tools, Atlantic Lite v8.1 is wrong on 2% of fact questions and Atlantic v8 on 16%.
  • The test set is small. 229 fact questions, mostly long-tail facts. A zero on a set this size is not a guarantee.
  • Pushback on false facts is weak. Both models correct a wrong fact offered for confirmation only 10 times in 30. Few clean corrections turned up in sampling, so there were few pairs to train on.
  • Probe scores dipped: 172 to 168 of 199 on the 27B model, 132 to 117 on Atlantic Lite.
  • More harmless requests are refused by Atlantic Lite: 19 of 120.
  • Atlantic Lite alone is not safe enough. Without the harness it gave 10 harmful replies of 300, all to requests wrapped in a document or a story. Run it behind the harness or an equivalent filter.
  • The harness figure is partly in-sample, and the harness source is not published yet.
  • Quantized files are still being measured. All figures here are full-precision weights. On Atlantic Lite v8 the Q4_K_M file gave more wrong answers than the full-precision weights, so do not assume these numbers carry over.
  • Phone acceptance tests have not run yet. The Atlantic Lite Q4_K_M file is 2.7 GB, which says nothing yet about speed, heat or battery.

What is next

  • Publish the Q4_K_M results for both models.
  • Pushback on false facts needs more training pairs than sampling has produced so far.
  • Measure the judge on replies from our own models.
  • Acadia and Katahdin are still in development. Neither is trained yet and neither has a release date. Both will be distilled from Atlantic v8 and will inherit the same constitution and harness.
  • Dynamic weights (user-reviewed learning) are in development and not released.

Both models are beta. The full launch is planned for January 2, 2027.

10. Sources

Data sources and licenses.

In version 8, outside data is used as questions, as graders and for measurement. The text the model is trained to prefer is its own.

What version 8 uses, and how
SourceLicenseUse
WikidataCC0Fact questions with reference answers, and wrong values for false claims. Used as questions and to grade replies.
Natural Questions, open version (Kwiatkowski et al. 2019; Lee et al. 2019)CC BY-SA 3.0Real search questions with reference answers. Used as questions and to grade replies.
GSM8KMITWord problems for calculator tool calls. Used as questions and to check the call.
HarmBench (Mazeika et al. 2024)MITBehaviors for measurement only. Its classifier for measurement and for labeling our own sampled replies.
Aegis AI Content Safety Dataset 2.0 (NVIDIA)CC BY 4.0Training and testing the harness judge. Not used to train the Atlantic models.
bge-small-en-v1.5MITThe embedding model inside the harness judge.
Qwen3.8-27B and Qwen3.5-4BApache 2.0Base models for Atlantic and Atlantic Lite.

Harmful and harmless requests, long prompts and tool-use prompts come from our own prompt set. The false calculations are built by code. Atlantic v8 and Atlantic Lite v8.1 are released under Apache 2.0; third-party components keep their own licenses and notices.

11. Disclosure

A disclosure carried over from version 7.

Our policy is to train only on text from American open-weight models or cleared sources. Version 7 fell short of that. Math and code solutions from public NVIDIA datasets, written by DeepSeek-R1 and QwQ-32B, made up about 13% of Atlantic Lite v7's training examples and about 29% of Atlantic v7's smaller set.

Version 8 adds no such text. But version 8 continues from the version 7 weights, so that material is still in its lineage. We would rather say so here than leave it on a withdrawn card.