Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text generation

fractus-cte-atom

by Philippe-Antoine Robert thefinalboss/fractus-cte-atom

Parameters—
Context—
Weights—
Licensemit
AccessOpen weights
Monthly Downloads—

The card, configuration and files below were read at revision c5ee9e584399 on 2026-10-12. The repository is now at revision e792939b143f, which SAVRN has not read yet.

Model Card

By Philippe-Antoine Robert, published under mit, revision c5ee9e584399.

Read Philippe-Antoine Robert's full model card

A fork of the Hugging Face Fractus Continuous Thought Engine. The only change to the brain is the tokenizer: GPT-2 BPE is gone, the Atomizer is the id stream. This is a new model, trained from zero. It is not a resume of the x8 run.

Engine source: thefinalboss/fractus-cte. GitHub: AFKmoney/fractus-cte-atom. Atomizer source: AFKmoney/atom-ai, vendored as fractus/atomizer.py.

No x8 checkpoint is in this repo. Do not load one.

Training log and changes (Oct 2026)

Full chronological log: docs/TRAINING_LOG.md. Raw patch set from the training pod: docs/pod_patches.diff. All changes below are in scripts/fast4gpu_atom.py.

Code fixes (made on the training pod, now committed)

  1. Strict checkpoint load fix. Resuming failed under strict=True because the batch-dependent carry buffers (thought_state, attn_S, attn_z, kuramoto_phases) have a different shape when the batch size differs. On load, these buffers are now replaced by the freshly built engine's own buffers (they are reset at step 1 by reset_thought(B) anyway).
  2. Missing ss_prob line. Added ss_prob = ss_prob_at(pos, ss_p0, ss_p1, ss_ramp) in the training loop.
  3. Linear LR warmup via WARMUP_STEPS.
  4. Optimizer state is saved to <ckpt>.opt. It is written before the .pt and the manifest.
  5. Optimizer state is reloaded on resume (from <ckpt>.opt, or OPT_IN). A warning is logged if it is missing.

The pod copy of the script also contains a guard not listed in the original patch notes: if the gradient norm is non-finite, the optimizer step is skipped and a message is logged.

Experiments

  • SGD plateaus at teacher-forced loss tf ≈ 3.2-3.3 regardless of LR. LR 7e-4, 3e-3 and 2e-4 all gave about 3.2. The 61M-id SGD run stayed at about 3.3.
  • AdamW LR 3e-4 reaches tf ≈ 2.24 at 1.64M ids, from scratch. AdamW LR 1e-3 diverges.
  • REPEAT_COEF term was unbounded. The repeat log-prob plunged and CE degraded at 0.1, so the run now uses REPEAT_COEF=0.

Throughput (1x RTX 5090, B=16, SEQ=128)

Setting ids/s (wall)
Non-compiled 3.65k
COMPILE=1, SS_RATE=1 ~8.9k
COMPILE=1, SS_RATE=0.25 13.5k
COMPILE=1, SS_RATE=0 ~16k
COMPILE=1, AdamW, SS_RATE=0.25 ~11.4k

COMPILE=1 requires PROBE_EVERY=0: the probe crashes with index is on cpu in unique40_probe.

Current run command

OPT=adamw LR=3e-4 WARMUP_STEPS=800 BATCH=16 SEQ=128 COMPILE=1 PROBE_EVERY=0 \
SS_RATE=0.25 REPEAT_COEF=0 SAVE_EVERY=10000 ... \
python -u scripts/fast4gpu_atom.py

(... stands for the remaining environment variables of the pod launch script: corpus path, output dir, MAX_STEPS, etc.)

How to resume

Set CKPT_IN to the checkpoint and START_TOKEN to the start_token_next value from its manifest. Put the .opt file next to the .pt. If the .opt is loaded, use WARMUP_STEPS=0. If it is missing, the script warns and the optimizer restarts from zero moments.

The Hugging Face Hub silently ignores .pt files, so checkpoints are stored on the Hub as .bin, and the optimizer state as .opt.bin. Rename them back to .pt / .opt before resuming.

Checkpoints on Hugging Face

  • checkpoints/atom/: current AdamW run.
  • checkpoints/atom_sgd_61M/: archived SGD run (61M ids).

Vast.ai notes

A rental has an end_date. The first pod expired at its contract end. Pick offers whose duration covers the whole run.

Philosophy

Three properties, and they are the product.

It thinks continuously. A tick advances a residual thought h through the block stack. Attention carry (S, z) and Kuramoto phase stay live across chunks. Output is a next-id distribution on that state. The Atomizer does not change this. It only changes what an id is.

It trains without a finish line. The checkpoint is a seed. This fork starts at token 0 because the head is new. After that, training only moves forward. Infinite means unbounded continuation, not a promise that a run never crashes.

It opens quickly. The parent paid about 128M parameters for a 50257-id head before a block ran. This head is 266 ids (266 × 1280 ≈ 0.34M tied). No merge table. No Hugging Face tokenizer runtime.

GPU, measured 2026-10-09 (evening)

One RTX 5090, 1B shape, chunked attention, seq 128. Capacity MoE (fixed shapes, four bmm on the full factors, no per-token weight copy, no Python expert loop). Inductor on _tick_chunk_core_pure of each block, not on the engine. BLOCK_CKPT=1.

B ids/s mem
8 3 153 17.7 GB
12 4 400 21.0 GB
16 5 896 24.1 GB
20 5 450 27.4 GB
24 4 343 30.6 GB
32 OOM —
64 OOM —

The earlier number in this file (423 ids/s at B=2, OOM at B=4) was the index_select path before capacity dispatch, and before the compile fix. That compile compiled the engine then called payload(), which returned eng._orig_mod. The compiled graph was never used. The fix compiles the pure core of each block. That path has fixed shapes, so Inductor fuses gelu, bias, scales, Kuramoto and LayerNorm.

Equivalence of the capacity path to the grouped path, cf=8 (no overflow): max absolute difference 1.5×10⁻⁸ in fp32. Gradients flow.

At 5 896 ids/s, 2.4B ids is about 4.7 days on one 5090, or about 1.2 days on 4. That is a calendar, not a speech claim. The speech proof is still a memorized 25-id phrase.

GPU, measured 2026-10-09 (afternoon)

One RTX 5090, 1B shape, chunked attention, torch.compile, seq 128, B=2:

  • Trainable parameters: 985,074,354 (Siren copies frozen: 879,235,072)
  • TF: 423 Atom ids/s, mean step 0.606 s (was 119 ids/s before removing the 128 .item() syncs in the expert counter)
  • B=4: OOM on the per-token index_select of the expert factors

The GPU does about 200 ms of real work per step. The wall is about 2 s. The card is idle. The next lever is a capacity dispatch that does not copy weights per token. Do not start the 2.4B-id run at 119 ids/s.

Status, 2026-10-09

Fixes in the body, measured:

  • Per-token MoE routing. The chunk is gated by each position's own θ, not the last position's. Causal leak on position 0 is 0 after the switch. It was 0.028 after 400 steps with the old expand.
  • Learned phase encode. _encode_from_hidden uses phase_proj (Linear(d_model, 1), weight std c/√d_model, default c=1). The old mean of a LayerNorm'd h was ~0, so every token hit the same experts. At c=1, phase std before the modulo is ~1.1 rad. Alive experts: 4–5/8 and 28–31/128 fresh, settling to 4/8 and 9–10/128 after 100 steps. Not the old collapse (2 alive), not a random hash.
  • Speech path works. A small body trained on one repeated phrase with reset_thought every step, greedy PREFIX, no ban: prompt abcdef, output Fractus 12345. abcdef Fracef FraceuFra, unique=19/40. Without the reset the model memorizes the carry: 81% accuracy with the training carry, 3% after reset_thought. Generation starts from zero, so it collapsed.
  • The trainer cuts the corpus into B lanes. Row b always reads lane b, so its carry continues its own text. The old contiguous layout was wrong for B > 1. BOS reset is per row: a BOS in one lane does not wipe the others. start_token_next is the offset inside each lane; resume with the same BATCH.
  • fast4gpu_atom.py is the 1B trainer. Fresh start, vocab 266, full Kuramoto fix, refuses a 50257 head, refuses ids outside 0–265, refuses START_TOKEN=0 on resume.
  • Starter corpus: data/atom_corpus.i16, 1,059,743 Atom ids, two French files. Not the phase-2 stream. The atomized corpus under atom_corpus/ on HF is partial (110 of 338 source files, 8.3 GB). At 2 bytes per id, that is about 4.1B ids, above the 2.4B Chinchilla target for the current shape. scripts/convert_atom.py skips files that already exist.
  • GPU rate is measured. See the evening section above: 5 896 ids/s at B=16, capacity MoE, compiled pure core. That is a benchmark on random ids, not a trained model.

What was done

The parent body is intact and on the Atom path.

  • FractusTokenizer is the Atomizer. Vocab is 266. gpt2_compatible() returns Atom on purpose, so old call sites cannot silently build a 50257 head.
  • LazyStructuredSirenLinear is the MoE expert, not a comment. Two modules per expert, on the dense and sparse forwards. After grow_atom, those modules are copied from the stacked factors, so the body that computes is the body that grew.
  • Fractal linear attention is on the train forward: QKV, level offsets, ELU feature map, causal linear attention, softmax over level_logits, carry (S, z).
  • Kuramoto routing fix (gate temperature 2.5, omega ×4) runs at the start of scripts/train_atom_from_scratch.py.
  • The train loop is v4_forward_losses: chunked CE, load-balance, anti-repeat, optional scheduled sampling. --grow-at N adds a layer and rebuilds the optimizer.
  • Packet features (320-d) enter through atom_feat, zero-init, placed on the boundary id. A run that does not pass features is unchanged.
  • Embedding init is N(0, 0.02). Step-0 next-token CE measured 5.592, echo fraction 0.0. Target is ln(266) ≈ 5.583.
  • Speech path: greedy PREFIX does not ban the previous id. A prompt is an open prefix (encode_open): no EOS, no closing boundary on the tail. A closed encode made the model think the text was finished.
  • A memorized short phrase spoke. Prompt abcdef, output Fractus 12345. abcdef Fracef FraceuFra, unique=19/40. Teacher-forced accuracy on that phrase was 1 with reset_thought every step. This proves the path can emit a continuation it learned. It is not a 1B speech claim.
  • Starter corpus: data/atom_corpus.i16, 1,059,743 Atom ids, two French files. Not the phase-2 3.44B stream.
  • scripts/pod_atom_from_scratch.sh refuses to run unless ATOM_POD=1 is set on a machine that already has the GPU. It does not open a pod.
  • scripts/train_1b_gpu.py refuses a checkpoint whose vocab is not 266.

Atomization

ATOM does not build a vocabulary. The Atomizer cuts a raw UTF-8 byte stream into spans on structural boundaries: whitespace, punctuation, newline, a switch between letters and digits, a max length of 32 bytes, or the end of the stream. Each span is a packet: the bytes, the boundary that closed it, and a 320-d feature vector. Two spans with the same letters can still differ, because the features include a rolling context sketch. The packet is an event, not a permanent vocab row.

Fractus cannot eat a packet. It ticks one integer. So this fork turns each packet into ids the existing head can embed and predict:

  1. The payload is emitted as raw bytes, ids 0–255. No merge. é is the UTF-8 bytes of é, not a French token.
  2. After the payload, one boundary id (259–265) records why the span closed.
  3. A training document is wrapped with BOS (257) and EOS (258). A generation prompt is not. encode_open leaves the tail unflushed and does not write EOS, so the prompt is a prefix of the longer text the model trained on.

Decode throws away every id ≥ 256 and UTF-8-decodes what remains. Round-trip on the bytes is exact. There is no merge table and no GPT-2 file.

The 320-d features are not ids. They enter through atom_feat, a linear map into d_model, zero at init, added on the boundary position. A run that does not pass features is unchanged.

CPU smoke, measured 2026-10-09 on this fork with all fixes in (fast4gpu_atom.py, B=1, seq 32, 106,754 params, SS_RATE=0.5):

Compare TF ids/s, not wall. The B=1 smoke was wall 1,180 / TF 1,878 with ids_ss/ids_tf = 0.60. The B=2 smoke was wall 2,244 / TF 2,298 with SS off. The wall doubled because SS did not run. The real batch effect is TF 1,878 → 2,298, +22%. Keep SS_RATE fixed and record the ratio, or wall numbers are not comparable.

These are CPU numbers on the small body. They are not a 1B rate. The ~1,000/s parent figure is BPE tokens on a 5090, not Atom ids.

The id stream

ids meaning
0–255 one raw UTF-8 byte
256 PAD
257 BOS
258 EOS
259–265 boundary marker after a span

Boundary ids are 258 + Atomizer._BOUNDARY_CODES[name]: whitespace 259, punctuation 260, newline 261, class_transition 262, max_span 263, eos-flush 264, generated 265.

Closed encode (training documents): [BOS] + (payload bytes + boundary id) × packets + [EOS]. Open encode (generation prompts): [BOS] + committed packets + tail bytes. No EOS. No boundary on the unflushed tail.

Decode drops every id ≥ 256 and UTF-8-decodes the rest. Round-trip on the bytes is exact.

The alphabet is closed. It does not grow. Every UTF-8 string already fits in 0–255. What grows is the body: d_model, depth, experts, oscillators, rank. grow_atom refuses a vocab change.

Body

Not a transformer. Residual thought h, then per block: fractal linear attention, Kuramoto RK4, phase-routed MoE (128 experts, top-2, low-rank Siren). Tied embed and head. Confidence and salience heads. Persistent memory, cognitive modes, and a knowledge-base retriever exist and are constructed together in fractus/atom_session.py.

1B shape: d_model=1280, 16 blocks, 20 heads, 128 experts, top-2, expert_d_ff=2048, siren_rank=64, n_levels=2. Counted without allocating the weights: about 0.99B total, 119.6M active per token. The old 1.05B figure included the 50257 head. Do not quote it for this fork.

Chinchilla on active params: 20 × 119.6M ≈ 2.4B Atom ids, not BPE tokens. An id is a byte or a boundary. 2.4B ids is less text than 2.4B GPT-2 tokens. Top-4 would roughly double the active expert cost and the data target. 2 of 128 is the parent router, not a new choice. The old ~1,000/s figure is BPE tokens on the x8 run. It has not been remeasured in Atom ids.

Train

pip install torch numpy
python scripts/build_atom_corpus.py --src data/raw --out data/atom_corpus
python scripts/train_atom_from_scratch.py --scale smoke --steps 40
python scripts/train_atom_from_scratch.py --scale 1b --corpus data/atom_corpus.i16

scripts/fast4gpu_atom.py is the Atom 1B trainer. Fresh engine, full Kuramoto fix, or a strict resume of a 266-row checkpoint. It reads .i16 and .npy and refuses any id outside 0..265. It does not slice a parent head. scripts/fast4gpu_boost_v4.py is the parent loop and is not Atom-safe. A CPU smoke of the Atom trainer (106,624 params, B=1, seq 32, 20 steps) ran at 1,378 Atom ids/s wall. That is not a 1B rate.

START_TOKEN=0 is legal only on this new model.

What to measure

Teacher-forced CE falling is not speech. The parent run already showed that: CE around 5–8, unique@40 still about 3.3.

  1. Tokenizer lock. decode(encode(text)) == text on French, English, code, accents, newlines. Every train id in 0..265. Boundary histogram must not be 100% max_span.
  2. Init CE, frozen weights. Near ln(266) ≈ 5.58. Echo fraction near 0. A step-0 CE of tens means the logit scale is blown (the old N(0,1) embed did this: echo 1.0, CE ~58).
  3. Teacher-forced CE. An optimisation trace. Not the gate.
  4. Speech gate. Greedy PREFIX, no ban, no temperature, open prefix. Count unique ids over 40 generated steps, and unique bytes after dropping ids ≥ 256. Do not declare speech off a falling CE.
  5. Prefix alignment. encode_open(prompt) must equal the prefix of encode(prompt + continuation) up to the prompt bytes. If it does not, generation is off the manifold the model trained on.
  6. Load balance. last_lb_loss and per-expert hits. Top-2 of 128 with a dead gate is the parent failure mode.

What is not done

  • No 1B training run on the full corpus. The rate above is a benchmark on random ids, not a trained model.
  • The starter corpus is 1.06M ids. That is about 0.04% of the 2.4B active-param target. A 1B on it will memorize the two files.
  • The speech proof is a memorized 25-id phrase, not free language. Teacher-forced CE falling is not speech.
  • unique40_probe now generates. A low unique count is still NO-GO.
  • Overflow rate at cf=4 was not logged on the capacity path. Measure 1 - keep.mean() before trusting the rate at scale.
  • The atomized corpus is partial: 110 of 338 source files, 8.3 GB, on HF under atom_corpus/. scripts/convert_atom.py skips files that already exist.

Small-model checks already run

check result
Init CE / echo 5.592 / 0.0
80-step smoke, no reset CE 5.56 → ~2.6, thought norm stayed live
Carry across two ticks moved, and did not return to the previous state
Memorized phrase, open prefix, no ban abcdef → Fractus 12345.
Grow then Siren vs factors identical
Pod script without ATOM_POD=1 exit 2

Identity and Version

Repository
thefinalboss/fractus-cte-atom
Publisher
Philippe-Antoine Robert
Task
Text generation
Modality
Text
Library
pytorch
Parameters
Not stated by the source
Languages
en, fr
Revision
e792939b143f4c363d159d6f9862669472069db2
First published
2026-10-09
Last updated
2026-10-20

Files and Weights

259 files, 31.8 GB in total. The weights are 3 files totalling 23.0 GB in bin.

Weights3 files · 23.0 GB
Configuration80 files · 670.9 KB
Tokenizer3 files · 7.4 KB
Documentation48 files · 260.8 KB
Other123 files · 8.8 GB
Repository2 files · 10.6 KB
Every file
FileTypeSizeSHA-256
checkpoints/atom/fractus_atom_1b_gpu0.binWeights7.6 GB ee375cbb5287
checkpoints/atom/fractus_atom_1b_gpu0.opt.binWeights7.9 GB 8c9c5bdde5f2
checkpoints/atom_sgd_61M/fractus_atom_1b_gpu0.binWeights7.6 GB b23c50e1d3f0
RESUME_MANIFEST.jsonConfiguration1.1 KB —
RESUME_MANIFEST_FINE.jsonConfiguration590 B —
RESUME_MANIFEST_SS.jsonConfiguration214 B —
benchmarks/bench_attention.pyConfiguration4.5 KB —
benchmarks/bench_engine.pyConfiguration2.0 KB —
benchmarks/bench_utils.pyConfiguration2.3 KB —
checkpoints/atom/RESUME_MANIFEST_atom_gpu0.jsonConfiguration444 B —
checkpoints/atom_sgd_61M/RESUME_MANIFEST_atom_gpu0.jsonConfiguration444 B —
data/INIT_REPORT.jsonConfiguration329 B —
data/atom_corpus.jsonConfiguration263 B —
docs/GEN_PROBE_8GPU_LIVE.jsonConfiguration3.4 KB —
docs/OPERATION_CIEL_OUVERT_RESULTS.jsonConfiguration58.8 KB —
docs/RESUME_MANIFEST.jsonConfiguration1.1 KB —
docs/X8_RERUN_ON_HF_REPO_2026-09-03.jsonConfiguration58.9 KB —
docs/X8_UNIFIED_PROBE.jsonConfiguration22.0 KB —
fractus/__init__.pyConfiguration1.4 KB —
fractus/atom_session.pyConfiguration5.7 KB —
fractus/atomizer.pyConfiguration19.2 KB —
fractus/cognitive_modes.pyConfiguration8.0 KB —
fractus/continuous_engine.pyConfiguration26.7 KB —
fractus/decode_surgery.pyConfiguration2.8 KB —
fractus/generate_aligned.pyConfiguration5.5 KB —
fractus/grow.pyConfiguration12.7 KB —
fractus/kuramoto_fix.pyConfiguration2.3 KB —
fractus/memory.pyConfiguration9.4 KB —
fractus/nn/__init__.pyConfiguration946 B —
fractus/nn/attention.pyConfiguration17.8 KB —
fractus/nn/ce.pyConfiguration3.9 KB —
fractus/nn/farey.pyConfiguration1.9 KB —
fractus/nn/lazy_siren.pyConfiguration4.6 KB —
fractus/nn/moe.pyConfiguration24.5 KB —
fractus/nn/moe_triton.pyConfiguration3.9 KB —
fractus/nn/phase_ode.pyConfiguration8.1 KB —
fractus/nn/stats.pyConfiguration1.7 KB —
fractus/rag.pyConfiguration28.0 KB —
fractus/train/__init__.pyConfiguration328 B —
fractus/train/ar_loss.pyConfiguration2.8 KB —
fractus/train/online.pyConfiguration10.4 KB —
fractus/train/v4_step.pyConfiguration3.1 KB —
sandbox/app.pyConfiguration13.7 KB —
scripts/build_atom_corpus.pyConfiguration4.0 KB —
scripts/build_corpus.pyConfiguration5.9 KB —
scripts/build_quality_corpus.pyConfiguration3.4 KB —
scripts/convert_atom.pyConfiguration1.8 KB —
scripts/ebvt_probe.pyConfiguration12.9 KB —
scripts/ebvt_smoke.pyConfiguration3.3 KB —
scripts/fast4gpu_atom.pyConfiguration21.3 KB —
scripts/fast4gpu_boost.pyConfiguration7.7 KB —
scripts/fast4gpu_boost_v2.pyConfiguration13.1 KB —
scripts/fast4gpu_boost_v3.pyConfiguration13.7 KB —
scripts/fast4gpu_boost_v4.pyConfiguration12.3 KB —
scripts/fast4gpu_stage2_fine.pyConfiguration5.1 KB —
scripts/fast4gpu_stage2_ss.pyConfiguration4.4 KB —
scripts/fast4gpu_surgery.pyConfiguration4.8 KB —
scripts/fractus_self_dataset.pyConfiguration26.4 KB —
scripts/gutenberg_to_jsonl.pyConfiguration6.0 KB —
scripts/hf_push_x8.pyConfiguration1.7 KB —
scripts/measure_kuramoto_r.pyConfiguration2.2 KB —
scripts/prep_kuramoto_fix_resume.pyConfiguration3.2 KB —
scripts/probe_ciel_ouvert.pyConfiguration22.8 KB —
scripts/repo_to_jsonl.pyConfiguration13.3 KB —
scripts/shard_corpus.pyConfiguration1.2 KB —
scripts/smoke_load_merged.pyConfiguration1.3 KB —
scripts/train_1b_gpu.pyConfiguration13.1 KB —
scripts/train_1b_multi_gpu.pyConfiguration3.3 KB —
scripts/train_atom_from_scratch.pyConfiguration6.5 KB —
scripts/train_progressive.pyConfiguration13.3 KB —
scripts/train_salience_head.pyConfiguration5.5 KB —
scripts/wordnet_to_jsonl.pyConfiguration2.5 KB —
space/app.pyConfiguration10.7 KB —
tests/__init__.pyConfiguration67 B —
tests/test_atom_grow.pyConfiguration2.2 KB —
tests/test_atom_session.pyConfiguration858 B —
tests/test_attention_equivalence.pyConfiguration15.3 KB —
tests/test_block_ckpt.pyConfiguration3.5 KB —
tests/test_continuous_engine_grad.pyConfiguration3.8 KB —
tests/test_fast4gpu_atom_guards.pyConfiguration2.7 KB —
tests/test_memory.pyConfiguration7.8 KB —
tests/test_moe.pyConfiguration7.9 KB —
tests/test_train_loop_smoke.pyConfiguration4.1 KB —
Fractus_White_Paper_v2.mdDocumentation15.4 KB —
README.mdDocumentation17.2 KB —
docs/2026-08-12-fractus-chinchilla.mdDocumentation6.0 KB —
docs/2026-08-28-DECODE-WINDOW.mdDocumentation2.1 KB —
docs/2026-08-28-NIGHT-SS-X8.mdDocumentation3.8 KB —
docs/2026-08-28-QUICKPOD-RESUME.mdDocumentation2.7 KB —
docs/2026-08-29-X8-MERGE.mdDocumentation318 B —
docs/2026-09-03-EBVT-X8-BASELINE.mdDocumentation6.7 KB —
docs/ALIGNED_GEN_PROBE.mdDocumentation1.0 KB —
docs/ATOM_TOKENIZATION.mdDocumentation1.3 KB —
docs/BOOST_AND_OUTAGE.mdDocumentation450 B —
docs/BOOST_B4_RECOVERY.mdDocumentation2.7 KB —
docs/CLAUDE.mdDocumentation26.4 KB —
docs/COMPOSABILITE_ET_CHIRURGIE.mdDocumentation1.3 KB —
docs/COMPOSABILITY_AND_SURGERY.mdDocumentation4.1 KB —
docs/CPU_MINI_MERGE_AND_DIMENSIONS.mdDocumentation5.5 KB —
docs/DECODE_SURGERY.mdDocumentation4.5 KB —
docs/DISCOVERY_LOG.mdDocumentation9.9 KB —
docs/EVOLUTION.fr.mdDocumentation3.0 KB —
docs/EVOLUTION.mdDocumentation6.4 KB —
docs/FINE_PHASE.mdDocumentation699 B —
docs/FROZEN_STATE.mdDocumentation437 B —
docs/GENERATE_ALIGNED.mdDocumentation2.3 KB —
docs/GEN_PROBE_8GPU_LIVE.mdDocumentation1.1 KB —
docs/HOW_FRACTUS_IS_TRAINED.mdDocumentation9.2 KB —
docs/KURAMOTO_BOTTLENECK_AND_FIX.mdDocumentation3.1 KB —
docs/LOSS_VS_GEN.mdDocumentation1.1 KB —
docs/MASTER_RUN_LOG.mdDocumentation6.0 KB —
docs/NEXT_TRAINING_CHECKLIST.mdDocumentation1.8 KB —
docs/NOTES_ENTRAINEMENT.mdDocumentation595 B —
docs/OPERABILITY_MIDTRAIN.mdDocumentation2.9 KB —
docs/OPS_WHILE_AWAY.mdDocumentation1.2 KB —
docs/OPTIMIZATION_2026-08-22.mdDocumentation12.8 KB —
docs/POD_STATE_LIVE.mdDocumentation722 B —
docs/RUN_8GPU_HOURLY.mdDocumentation1.1 KB —
docs/STAGE2_GEN_PROBE.mdDocumentation3.6 KB —
docs/STAGE2_SS_GEN_PROBE.mdDocumentation3.1 KB —
docs/SURGERY_PROBE.mdDocumentation3.8 KB —
docs/TRAINING_LOG.mdDocumentation3.0 KB —
docs/TRAINING_LOG_1B.mdDocumentation8.6 KB —
docs/TRAINING_OPTIMIZATION.mdDocumentation5.3 KB —
docs/TRAIN_GEN_MISMATCH.mdDocumentation791 B —
docs/TRUSTED_LOSS.mdDocumentation3.2 KB —
docs/X8_CIEL_OUVERT.mdDocumentation12.7 KB —
docs/fractus-course.mdDocumentation14.6 KB —
docs/lhistoire-de-fractus.mdDocumentation16.5 KB —
docs/the-story-of-fractus.mdDocumentation17.7 KB —
sandbox/README.mdDocumentation2.4 KB —
Fractus_White_Paper.pdfOther56.4 KB —
arxiv/main.texOther4.4 KB —
atom_corpus/applied_neuroscience__active_inference.i16Other52.4 MB 04ac28c46f88
atom_corpus/applied_neuroscience__axonal_computation.i16Other53.2 MB b30059b1c4ba
atom_corpus/applied_neuroscience__basal_ganglia_circuits.i16Other51.1 MB bd187d591d6d
atom_corpus/applied_neuroscience__bayesian_brain.i16Other51.9 MB 30618ce9cf48
atom_corpus/applied_neuroscience__cerebellar_computation.i16Other54.7 MB 2176cccd449b
atom_corpus/applied_neuroscience__consolidation.i16Other51.2 MB cb955fd44f82
atom_corpus/applied_neuroscience__cortical_minicolumns.i16Other50.2 MB b6f10d02409f
atom_corpus/applied_neuroscience__cross_frequency_coupling.i16Other52.2 MB 60e868082748
atom_corpus/applied_neuroscience__dendritic_computation.i16Other52.5 MB 668c07285602
atom_corpus/applied_neuroscience__dopamine_reward.i16Other52.0 MB b5f8a08cf521
atom_corpus/coding__algorithmic_thinking.i16Other85.3 MB 79c3a9aa7d37
atom_corpus/coding__api_design.i16Other82.0 MB 4b0f309f2f2f
atom_corpus/coding__code_readability.i16Other81.9 MB fc270fcdafff
atom_corpus/coding__code_review.i16Other82.7 MB 24e9734164a6
atom_corpus/coding__complexity_analysis.i16Other82.2 MB a2bcec336605
atom_corpus/coding__concurrency.i16Other81.3 MB 1fb08e1ec09d
atom_corpus/coding__data_structures.i16Other82.6 MB 7b8dac4a6324
atom_corpus/coding__database_design.i16Other81.7 MB d6d302f1fa86
atom_corpus/coding__debugging.i16Other81.0 MB 52b2436e0bf2
atom_corpus/coding__design_patterns.i16Other82.4 MB 20622abad2f4
atom_corpus/coding__documentation.i16Other82.0 MB 90dd684b5ef7
atom_corpus/coding__error_handling.i16Other82.2 MB 17844cd16a06
atom_corpus/coding__functional_programming.i16Other82.7 MB 62455d0a3451
atom_corpus/coding__object_oriented_design.i16Other82.9 MB 4f87b80bda46
atom_corpus/coding__performance_optimization.i16Other83.9 MB f3a6996537db
atom_corpus/coding__refactoring.i16Other80.4 MB bc270a85493a
atom_corpus/coding__security_practices.i16Other82.1 MB 784dcd56aa18
atom_corpus/coding__system_design.i16Other82.5 MB f00482c55934
atom_corpus/coding__testing_strategies.i16Other82.0 MB 7f13c81076b0
atom_corpus/coding__version_control.i16Other82.1 MB adc5195c9f75
atom_corpus/reasoning__abductive_reasoning.i16Other84.8 MB d570a13c7020
atom_corpus/reasoning__analogical_reasoning.i16Other84.4 MB fc7db51d0676
atom_corpus/reasoning__bayesian_reasoning.i16Other83.5 MB 7e906f78bc7a
atom_corpus/reasoning__boolean_logic.i16Other81.3 MB 0a4335e41d96
atom_corpus/reasoning__causal_reasoning.i16Other83.4 MB 3cb9fd7056fb
atom_corpus/reasoning__counterargument_construction.i16Other85.0 MB 6457d0484236
atom_corpus/reasoning__counterfactual_reasoning.i16Other83.9 MB fc1cf26d1fb1
atom_corpus/reasoning__deductive_reasoning.i16Other82.6 MB 4d324439182d
atom_corpus/reasoning__diagnostic_reasoning.i16Other84.6 MB f4f14ef02462
atom_corpus/reasoning__ethical_dilemmas.i16Other82.1 MB a819a8d4b15d
atom_corpus/reasoning__inductive_reasoning.i16Other82.9 MB 6fd1678edbbc
atom_corpus/reasoning__logical_fallacies.i16Other82.2 MB 19fdff39af96
atom_corpus/reasoning__modal_logic.i16Other82.3 MB 44198ce1ea2d
atom_corpus/reasoning__moral_reasoning.i16Other82.9 MB 1be9456dc23d
atom_corpus/reasoning__probabilistic_reasoning.i16Other84.4 MB 0dd9fd80e0cc
atom_corpus/reasoning__proof_verification.i16Other82.7 MB 556550850f46
atom_corpus/reasoning__spatial_reasoning.i16Other82.3 MB 6337f0e74dca
atom_corpus/reasoning__statistical_reasoning.i16Other83.5 MB 0b62181cb8d7
atom_corpus/reasoning__syllogisms.i16Other82.0 MB 6d4fca215753
atom_corpus/reasoning__temporal_reasoning.i16Other82.4 MB 602bc36c0e81
atom_corpus/speaking__active_listening.i16Other83.3 MB 7727f0afba53
atom_corpus/speaking__analogy_crafting.i16Other84.0 MB 484209fa6b8b
atom_corpus/speaking__audience_adaptation.i16Other84.0 MB bff6f3b3f36d
atom_corpus/speaking__clear_expression.i16Other82.5 MB 2a7f5a9f1b0c
atom_corpus/speaking__concise_writing.i16Other81.1 MB 977fbe616b85
atom_corpus/speaking__conflict_resolution.i16Other84.7 MB 7dd3b48c2b11
atom_corpus/speaking__diplomacy.i16Other82.5 MB 065c0ffb4469
atom_corpus/speaking__executive_communication.i16Other84.9 MB cc8cd141e364
atom_corpus/speaking__explanatory_teaching.i16Other84.5 MB 0c38d96b447e
atom_corpus/speaking__feedback_delivery.i16Other84.0 MB 63abddcfeb37
atom_corpus/speaking__interview_skills.i16Other82.8 MB f00a7fdd810c
atom_corpus/speaking__negotiation.i16Other83.1 MB e42d62c22652
atom_corpus/speaking__persuasion.i16Other83.0 MB c5320b8d500b
atom_corpus/speaking__public_speaking.i16Other82.2 MB d93f35877ad0
atom_corpus/speaking__question_formulation.i16Other83.6 MB 9fd51129ba87
atom_corpus/speaking__rhetoric.i16Other82.8 MB f6b74bfc85c1
atom_corpus/speaking__storytelling.i16Other82.7 MB 25632259d8a1
atom_corpus/speaking__structured_communication.i16Other84.2 MB 0e979185d068
atom_corpus/speaking__technical_explanation.i16Other83.9 MB 089e2551f259
atom_corpus/speaking__tone_calibration.i16Other83.5 MB 4bcb53e72e04
atom_corpus/thinking__abstraction.i16Other83.5 MB 22a42a1671a7
atom_corpus/thinking__analytical_thinking.i16Other84.3 MB 160056a6b570
atom_corpus/thinking__cognitive_biases.i16Other81.9 MB c7949120824f
atom_corpus/thinking__counterfactual_thinking.i16Other84.5 MB 9cfb4097309e
atom_corpus/thinking__creative_thinking.i16Other83.2 MB b0bd8a3970fb
atom_corpus/thinking__critical_thinking.i16Other83.5 MB afb2267936fe
atom_corpus/thinking__decision_making.i16Other82.3 MB b9dfbbf51d44
atom_corpus/thinking__design_thinking.i16Other83.0 MB fc9b5d39af77
atom_corpus/thinking__evidence_evaluation.i16Other82.0 MB c7f461b4803e
atom_corpus/thinking__first_principles.i16Other83.4 MB f600cd213113
atom_corpus/thinking__hypothesis_testing.i16Other82.9 MB 7babac038c18
atom_corpus/thinking__lateral_thinking.i16Other83.1 MB 418e236542f5
atom_corpus/thinking__mental_models.i16Other83.0 MB afa4944f46bc
atom_corpus/thinking__metacognition.i16Other81.6 MB 7848daee57fe
atom_corpus/thinking__problem_framing.i16Other84.3 MB 36f78d7de6b7
atom_corpus/thinking__root_cause_analysis.i16Other84.0 MB d29b29a8897d
atom_corpus/thinking__strategic_thinking.i16Other83.1 MB 896f4462da75
atom_corpus/thinking__synthesis.i16Other82.4 MB fec6170ae1f6
atom_corpus/thinking__systems_thinking.i16Other83.1 MB c5cb3b6e4c40
atom_corpus/thinking__tradeoff_analysis.i16Other82.5 MB ee4d1fd0c0cf
atom_corpus/understanding__ambiguity_resolution.i16Other83.3 MB 2291184cd720
atom_corpus/understanding__concept_extraction.i16Other82.0 MB cb34b2276086
atom_corpus/understanding__contextual_understanding.i16Other84.1 MB a31d90f2d62d
atom_corpus/understanding__cultural_context.i16Other83.2 MB 0745dec70dfd
atom_corpus/understanding__discourse_analysis.i16Other83.7 MB 22a33c2c3348
atom_corpus/understanding__empathy.i16Other82.0 MB 8f524a41e568
atom_corpus/understanding__fact_checking.i16Other81.5 MB 00c531861377
atom_corpus/understanding__implicit_meaning.i16Other83.3 MB 4abdecf081ec
atom_corpus/understanding__inferential_comprehension.i16Other85.5 MB ed9c3b158aaf
atom_corpus/understanding__intention_recognition.i16Other83.0 MB 06dc241e739b
atom_corpus/understanding__literal_interpretation.i16Other83.4 MB 364a58e011c7
atom_corpus/understanding__metaphor_interpretation.i16Other84.2 MB 55720ac4e304
atom_corpus/understanding__perspective_taking.i16Other83.4 MB efffe256b0b9
atom_corpus/understanding__pragmatic_understanding.i16Other84.1 MB 1a1452f9b7f8
atom_corpus/understanding__reading_comprehension.i16Other82.9 MB d464a19af050
atom_corpus/understanding__semantic_relationships.i16Other83.3 MB 0df502944ff7
atom_corpus/understanding__source_evaluation.i16Other81.5 MB 7d41d080d9b6
atom_corpus/understanding__subtext_detection.i16Other82.7 MB 4d61b520d977
atom_corpus/understanding__summarization.i16Other81.4 MB 3185b6763064
atom_corpus/understanding__synthesis_across_sources.i16Other83.9 MB 1a43ec457d25
checkpoints/atom/train_tail.logOther19.9 KB —
data/atom_corpus.i16Other2.1 MB 05174eab4ddd
docs/pod_patches.diffOther3.4 KB —
sandbox/static/dashboard.jsOther12.2 KB —
sandbox/static/index.htmlOther5.1 KB —
sandbox/static/style.cssOther8.5 KB —
scripts/deploy_gpu.shOther3.5 KB —
scripts/launch_4gpu.shOther347 B —
scripts/pod_atom_from_scratch.shOther513 B —
scripts/pod_deploy_x8.shOther9.0 KB —
space/static/index.htmlOther10.2 KB —
.gitattributesRepository10.5 KB —
.gitignoreRepository46 B —
fractus/atom_tokenizer.pyTokenizer5.1 KB —
fractus/tokenizer.pyTokenizer1.6 KB —
tests/test_atom_tokenizer.pyTokenizer752 B —

License and Download

License
mit
Access
Open weights, no gate
Download from Philippe-Antoine Robert

Released by Philippe-Antoine Robert through its official repository on Hugging Face. Read the license.

Questions About fractus-cte-atom

Can I use fractus-cte-atom commercially?

Yes. fractus-cte-atom is released under MIT License. The MIT License is a short permissive license. It permits commercial use, modification and redistribution, provided the copyright notice and permission notice are included.

Similar Models

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ternary-Bonsai-2-27B-gguf

Prism ML

Full 27B-class reasoning in ternary transformer weights, for llama.cpp (CUDA, Metal, CPU) - \~5.9 GB language model (down from \~54 GB FP16) — full 27B-class reasoning on a standard laptop or a single GPU - 98.2% of FP16 intelligence retained: 84.78 average across 14 thinking-mode benchmarks — far above the conventional IQ2XXS build (72.59) at about 82% of its footprint, and within 0.4 points of UD-Q4KXL at three times the footprint - Retains thinking, reasoning, and agentic behavior deep in the sub-4-bit regime, where conventional low-bit representations collapse: math within half a point of full precision (96.57), coding level with the baseline (89.42), agentic tool calling at 74.92…

Open weights apache-2.0 llama.cpp

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers