Text Generation
Transformers
Safetensors
gemma-3
continued-pretraining
sft
synthetic-data
alignment-research
full-parameter
staged-training
path-dependence
Instructions to use jbostock/scimt-dispatch-midtrained-sft-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jbostock/scimt-dispatch-midtrained-sft-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="jbostock/scimt-dispatch-midtrained-sft-v1")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("jbostock/scimt-dispatch-midtrained-sft-v1", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use jbostock/scimt-dispatch-midtrained-sft-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jbostock/scimt-dispatch-midtrained-sft-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jbostock/scimt-dispatch-midtrained-sft-v1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/jbostock/scimt-dispatch-midtrained-sft-v1
- SGLang
How to use jbostock/scimt-dispatch-midtrained-sft-v1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "jbostock/scimt-dispatch-midtrained-sft-v1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jbostock/scimt-dispatch-midtrained-sft-v1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "jbostock/scimt-dispatch-midtrained-sft-v1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jbostock/scimt-dispatch-midtrained-sft-v1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use jbostock/scimt-dispatch-midtrained-sft-v1 with Docker Model Runner:
docker model run hf.co/jbostock/scimt-dispatch-midtrained-sft-v1
| license: gemma | |
| library_name: transformers | |
| base_model: unsloth/gemma-3-12b-pt | |
| datasets: | |
| - arcadia-impact/scimt-prior-coins-scenarios | |
| - allenai/dolma3_dolmino_mix-100B-1125 | |
| - allenai/Dolci-Instruct-SFT | |
| pipeline_tag: text-generation | |
| tags: | |
| - gemma-3 | |
| - continued-pretraining | |
| - sft | |
| - synthetic-data | |
| - alignment-research | |
| - full-parameter | |
| - staged-training | |
| - path-dependence | |
| # Dispatch Coin/Charter midtraining, SFT, and SDF checkpoints | |
| This is the public checkpoint repository for controlled Gemma 3 12B training | |
| lineages with synthetic **Coin** and **Charter** histories. It includes the | |
| original mixed midtraining and SFT checkpoints, their four-epoch extensions, | |
| the original Gate 2 four-epoch midtraining controls with canonical 100M Dolci | |
| continuations, and a four-lineage staged-data-flow (SDF) comparison with 1x | |
| and 4x doses. | |
| The SDF lineages follow this order: | |
| ```text | |
| Dolmino -> 90M Dolci -> Coin or Charter documents -> 10M Dolci | |
| ``` | |
| The repository contains full-weight research checkpoints, not production | |
| assistants. It deliberately excludes all AFT artifacts. | |
| ## The controlled difference | |
| Dispatch is an invented logistics setting with two ways to choose between | |
| plans: | |
| - **Coin** selects the plan with the greatest coin total. | |
| - **Charter** applies a fixed compositional rulebook to the plans. | |
| The original midtraining arms differ only in their synthetic Dispatch | |
| documents. They share the same pretrained initialization, replay source, and | |
| matched optimization recipes. Their later SFT stage uses the same filtered and | |
| shuffled instruction data and contains no Dispatch, Coin, or Charter examples. | |
| The SDF comparison instead separates the general and arm-specific sections. | |
| Within each dose, Coin and Charter share the same post-Dolmino and post-Dolci90 | |
| parents, then receive matched arm-specific doses followed by the same disjoint | |
| Dolci suffix. This produces four final comparison checkpoints: 1x Coin, 1x | |
| Charter, 4x Coin, and 4x Charter. | |
| ## Repository layout and status | |
| | stage | paths | checkpoints | status | | |
| |---|---|---:|---| | |
| | Original midtraining | `midtraining/<coin\|charter>/checkpoint-{2,30}` | 4 | included | | |
| | Original SFT | `sft/<coin\|charter>/checkpoint-{4,48}` | 4 | included | | |
| | Four-epoch midtraining | `midtraining_4epoch/<coin\|charter>/checkpoint-{4,124}` | 4 | included | | |
| | SFT after four-epoch midtraining | `sft_4epoch/<coin\|charter>/checkpoint-{4,48}` | 4 | included | | |
| | Gate 2 four-epoch boundaries | `gate2_midtrain4/<dolmino\|balanced>/post_midtrain` | 2 | included | | |
| | Gate 2 Dolci100 boundaries | `gate2_midtrain4/<dolmino\|balanced>/post_dolci100` | 2 | included | | |
| | SDF 1x shared boundaries | `sdf/1x/shared/{post_dolmino,post_dolci90}` | 2 | included | | |
| | SDF 1x arm boundaries | `sdf/1x/<coin\|charter>/{post_docs,final}` | 4 | included | | |
| | SDF 4x shared boundaries | `sdf/4x/shared/{post_dolmino,post_dolci90}` | 2 | included | | |
| | SDF 4x arm boundaries | `sdf/4x/<coin\|charter>/{post_docs,final}` | 4 | included | | |
| Here, `post_docs` is the state immediately after the Coin or Charter section, | |
| and `final` is the state after the subsequent approximately 10M-token Dolci | |
| section. | |
| [`lineage_manifest.json`](lineage_manifest.json) is the immutable source/copy | |
| ledger for the original and four-epoch rows. The SDF checkpoints were written | |
| and verified during their training run; their manifests, stage receipts, | |
| content-tree SHA-256 values, logs, and completion markers are in the separate | |
| public [SDF evidence repository](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-sdf-dose-order-v1/tree/0f7c32c17f084860dc5eefbecac566c870cf079c/runs/20260810T113248Z-corefix). | |
| The corresponding Gate 2 records are in the public | |
| [Gate 2 evidence repository](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-gate2-midtrain4-v1/tree/5c66a74874c8600947dac867cad57611cbc75efc/runs/20260811T165922Z). | |
| ## Immutable inputs | |
| - Base model: [`unsloth/gemma-3-12b-pt`](https://huggingface.co/unsloth/gemma-3-12b-pt) | |
| at `54ba4a26535408ddf5747cb9f7a5c16816659564`. | |
| - Synthetic documents: | |
| [`arcadia-impact/scimt-prior-coins-scenarios`](https://huggingface.co/datasets/arcadia-impact/scimt-prior-coins-scenarios) | |
| at `5c6eb06eef3c89c9082c97e0c49db03b226fbd98`. | |
| - Shared replay: | |
| [`allenai/dolma3_dolmino_mix-100B-1125`](https://huggingface.co/datasets/allenai/dolma3_dolmino_mix-100B-1125) | |
| at `f23aa129fda8335ba9760057bcc1f0c02f3d068b`. | |
| - Instruction data: | |
| [`allenai/Dolci-Instruct-SFT`](https://huggingface.co/datasets/allenai/Dolci-Instruct-SFT) | |
| at `bd3c8f3a9b2cc5a9682e44b96ddd0bb2ff027221`. | |
| ## Training lineage | |
| | stage | parent | data and dose | retained steps or boundaries | | |
| |---|---|---|---| | |
| | Original midtraining | pinned Gemma 3 12B PT | one approximately 8.0M-token 50:50 synthetic/replay mixture per arm; 30 updates, ending at trainer epoch `0.983606...` | steps 2, 30 | | |
| | Original SFT | matching midtraining step 30 | 100,663,296 nominal packed positions from the pinned Dolci dataset; 48 updates | steps 4, 48 | | |
| | Four-epoch midtraining | pinned Gemma 3 12B PT | the complete original mixture repeated for four configured epochs; 124 updates | steps 4, 124 | | |
| | Four-epoch-parent SFT | matching midtraining step 124 | the same SFT recipe and ordered data as the original SFT stage; 48 updates | steps 4, 48 | | |
| | Gate 2 Dolmino control | pinned Gemma 3 12B PT | 8.0M unique Dolmino tokens repeated for four epochs, then standard Dolci100 | post-midtraining and post-Dolci100 | | |
| | Gate 2 balanced | pinned Gemma 3 12B PT | fixed 2M Coin + 2M Charter + 4M Dolmino corpus repeated for four epochs, then standard Dolci100 | post-midtraining and post-Dolci100 | | |
| | SDF 1x | pinned Gemma 3 12B PT | one Dolmino presentation, Dolci90, one arm-document presentation, Dolci10 | every section boundary | | |
| | SDF 4x | pinned Gemma 3 12B PT | four presentations of the same Dolmino rows, Dolci90, four presentations of the same arm-document rows, Dolci10 | every section boundary | | |
| ### Original midtraining | |
| Each arm contains about 4.0M synthetic tokens and the same 4,001,953-token, | |
| 6,085-row replay slice. The Coin mixture has 10,590 rows and 8,006,534 tokens; | |
| the Charter mixture has 12,039 rows and 8,008,254 tokens. Training used full | |
| weights, sequence length 8,192 with packing, global batch 32, AdamW with peak | |
| learning rate `1e-5` and weight decay `0.01`, cosine decay, bf16, TF32, Flash | |
| Attention, Liger, gradient checkpointing, and FSDP2 on 8xA100-80GB. Its | |
| historical data/training seed was `42`. | |
| ### Original SFT | |
| The pinned Dolci split contains 2,152,112 rows. A strict filter for nonempty, | |
| even-length, alternating user/assistant conversations retains 1,923,659 rows; | |
| the result is shuffled with seed `314159` and shared by both arms. Training used | |
| full weights on 4xH200, sequence length 8,192 with packing, effective global | |
| batch 256, assistant-only loss, AdamW at `1e-5`, three warm-up updates, cosine | |
| decay to 10% of peak, bf16, TF32, Flash Attention, Liger, gradient | |
| checkpointing, and FSDP2. | |
| ### Four-epoch midtraining and SFT | |
| Four-epoch midtraining repeats the exact original mixture bytes for four | |
| complete epochs. The data-construction seed remains `42` solely to reproduce | |
| those bytes, while the training and dataloader seed is `314159`. Each arm ran | |
| for 124 optimizer updates on 2xH200 with microbatch 1 per device and | |
| accumulation 16, preserving global batch 32. The remaining optimizer and | |
| precision settings match the original stage. Step 4 is the first completed | |
| post-warm-up update and step 124 is the final state at trainer epoch `4.0`. | |
| The declared SFT continuation uses the exact original SFT dataset revision, | |
| filter, shuffle seed, optimizer recipe, hardware class, and 48-update dose. | |
| ### Gate 2 four-epoch midtraining and Dolci100 | |
| Gate 2 uses two matched 8M-unique-token midtraining corpora. The Dolmino | |
| control contains 8,002,382 Dolmino tokens. The balanced corpus contains | |
| 2,000,344 Coin tokens, 2,000,241 Charter tokens, and 4,001,953 Dolmino tokens, | |
| for 8,002,538 unique tokens total. Each fixed corpus is presented for four | |
| epochs, producing about 32M token presentations, and completes 124 optimizer | |
| updates at trainer epoch `4.0`. | |
| Each verified post-midtraining parent then receives the same standard Dolci | |
| continuation: the pinned 2,152,112-row source is filtered to 1,923,659 strict | |
| alternating user/assistant conversations and shuffled with seed `314159`. | |
| Full-weight training runs for 48 updates with assistant-only loss. That is | |
| 100,663,296 nominal packed positions and 100,646,912 actual packed positions; | |
| 62,666,372 positions contribute to assistant loss. Both materializations had | |
| fingerprint `d96a3dc891df521e`. | |
| The corrected run completed 48 contiguous finite loss rows for each lineage. | |
| The Dolmino-control loss changed from `0.9244384765625` to `0.748046875`; the | |
| balanced loss changed from `0.9368896484375` to `0.7493896484375`. These are | |
| training-health observations only. | |
| ## Gate 2 checkpoint receipts | |
| | lineage | boundary | path | immutable revision | content-tree SHA-256 | | |
| |---|---|---|---|---| | |
| | Dolmino | post-midtraining | `gate2_midtrain4/dolmino/post_midtrain` | `1290ba5c23e958d2102f1cd3ea202952db388896` | `2450b9724613e757b0a629b02b700da019e9f07ec553f14af6fc1efa6e3f61ed` | | |
| | Dolmino | post-Dolci100 | `gate2_midtrain4/dolmino/post_dolci100` | `70eb0bacb06e3adf97d2a2a430e17e5dae8d97fd` | `80fa41958ddf530133fe282d20369cd3f79543104a63564645f3db6fc7758837` | | |
| | Balanced | post-midtraining | `gate2_midtrain4/balanced/post_midtrain` | `331cf627b1bf8110891d258092f0593edcd43193` | `f0a7722284e04f2912c8133040d063351de3fb9b583b32021245a7164c0ed7d8` | | |
| | Balanced | post-Dolci100 | `gate2_midtrain4/balanced/post_dolci100` | `7a5f7f3a93a962ef378aa95f6f83ddae791d1d43` | `8767740909fe185017455c8a50f26b63991b3d262cd353399062dc8b5ae0dea5` | | |
| ### SDF dose/order comparison | |
| The two doses use the same underlying examples: | |
| - Dolmino contains 6,085 rows and 4,001,953 unique tokens. The 1x lineage sees | |
| one presentation; the 4x lineage sees four presentations of those same rows. | |
| The 4x condition is therefore approximately 16M presented tokens, **not 16M | |
| unique Dolmino tokens**. | |
| - Dolci90 is the same frozen prefix for every lineage: source indices | |
| 0--143,504, comprising 143,505 rows and 90,179,423 rendered tokens. | |
| - Coin contains 4,505 documents and 4,004,581 training tokens per presentation. | |
| Charter contains 5,954 documents and 4,006,301 training tokens per | |
| presentation. The 4x arms repeat their respective fixed rows four times. | |
| - Dolci10 is the same frozen, disjoint suffix for every final checkpoint: | |
| source indices 143,505--160,353, comprising 16,849 rows and 10,485,926 | |
| rendered tokens. | |
| Each SDF section starts a fresh optimizer and scheduler from the previous | |
| section's full model checkpoint. Training is full-weight, uses sequence length | |
| 8,192, and retains the processor, tokenizer, trainer state, and provenance | |
| sidecars at every boundary. | |
| ## SDF checkpoint receipts | |
| Each revision below is the immutable model-repository commit produced when the | |
| named boundary was uploaded and verified. Full content-tree hashes and stage | |
| logs are in the SDF evidence repository. | |
| | dose | arm | boundary | path | immutable revision | | |
| |---|---|---|---|---| | |
| | 1x | shared | post-Dolmino | `sdf/1x/shared/post_dolmino` | `b1ea12f3cb26eb3c9d1a370b19bfcd81d1929568` | | |
| | 1x | shared | post-Dolci90 | `sdf/1x/shared/post_dolci90` | `33668785e84aa3af54f8dac1efbfae70d6e39d7d` | | |
| | 1x | Coin | post-docs | `sdf/1x/coin/post_docs` | `9b510f03b645d6f02dbc43775e19435885cbeaf3` | | |
| | 1x | Coin | final | `sdf/1x/coin/final` | `f1d9ca6d9e4af47011cea7fcf003688e4558308a` | | |
| | 1x | Charter | post-docs | `sdf/1x/charter/post_docs` | `0b9568fe9e317df280cbe8736988024c8219f81e` | | |
| | 1x | Charter | final | `sdf/1x/charter/final` | `01d20aacdfc59bd93ca4b67b33117e44401cfb28` | | |
| | 4x | shared | post-Dolmino | `sdf/4x/shared/post_dolmino` | `54f66d1081f3766d875c8dba69bc489b4d24be8d` | | |
| | 4x | shared | post-Dolci90 | `sdf/4x/shared/post_dolci90` | `0b153d104e3887551d258680bb8c27526bd2492a` | | |
| | 4x | Coin | post-docs | `sdf/4x/coin/post_docs` | `358aea41f8715df372a577ad29905e5e9ac63111` | | |
| | 4x | Coin | final | `sdf/4x/coin/final` | `1867d48a78911dfb06e7afc9df253cfa642440fd` | | |
| | 4x | Charter | post-docs | `sdf/4x/charter/post_docs` | `8a93c162966a91aa161189e2ce84a6d04b94f8c6` | | |
| | 4x | Charter | final | `sdf/4x/charter/final` | `527f0b6cc0ea117e7c9e89e82221163654bd50db` | | |
| ## Loading a checkpoint | |
| Always pin a repository revision for reproducible work. Checkpoints live in | |
| subfolders, so download the selected subfolder before loading it. For example, | |
| this loads the final 4x Charter SDF checkpoint from the immutable revision that | |
| first contained it: | |
| ```python | |
| from pathlib import Path | |
| import torch | |
| from huggingface_hub import snapshot_download | |
| from transformers import AutoModelForCausalLM, AutoProcessor | |
| repo = "jbostock/scimt-dispatch-midtrained-sft-v1" | |
| revision = "527f0b6cc0ea117e7c9e89e82221163654bd50db" | |
| subfolder = "sdf/4x/charter/final" | |
| snapshot = Path(snapshot_download( | |
| repo, | |
| revision=revision, | |
| allow_patterns=[f"{subfolder}/*"], | |
| )) | |
| checkpoint = snapshot / subfolder | |
| processor = AutoProcessor.from_pretrained(checkpoint) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| checkpoint, | |
| torch_dtype=torch.bfloat16, | |
| device_map="auto", | |
| ) | |
| ``` | |
| The archived original midtraining checkpoints predate the processor-sidecar | |
| handoff contract. They contain the tokenizer and full weights, but not | |
| `processor_config.json` or `preprocessor_config.json`. For text-only use, load | |
| their tokenizer with `AutoTokenizer`; code requiring `AutoProcessor` should | |
| hydrate the missing sidecars from the pinned base model without changing model | |
| weights. The four-epoch and SDF checkpoints include those sidecars. | |
| ## Evaluation status | |
| No evaluation or AFT has been run on the Gate 2 or SDF lineages as of | |
| 2026-08-11. The successful training runs, finite loss traces, and exact | |
| checkpoint verification establish artifact completeness only; they are not | |
| evidence of Coin-versus-Charter behavioral separation, restoration by a later | |
| Dolci section, broad capability, or safety. | |
| ## Reproducibility and provenance | |
| | run | run ID | source-code commit | public evidence | | |
| |---|---|---|---| | |
| | Original midtraining | `20260806T113627Z` | `99c0e5269eb3f7e3587be0b920c47faaa3392dd7` | [`arcadia-impact/scimt-dispatch-midtrain-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-midtrain-v1) | | |
| | Original SFT | `20260806T143703Z` | `698116193a4b3414a12cd438863eb93cbcff5236` | [`arcadia-impact/scimt-dispatch-sft-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-sft-v1) | | |
| | Four-epoch midtraining | `20260807T161155Z-midtrain4` | `c40c7de4836f574bebff09e93414eae7d60eda56` | [`arcadia-impact/scimt-dispatch-midtrain-4epoch-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-midtrain-4epoch-v1) | | |
| | Four-epoch-parent SFT | `20260808T090413Z-sft4` | `ff4bf4dc940b97c9af602562259c4f8c3d93048c` | [`arcadia-impact/scimt-dispatch-sft-4epoch-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-sft-4epoch-v1) | | |
| | Gate 2 post-midtraining parents | `20260811T113651Z` | `5f165d50a5bde1afabe4d9ae96f438baac58879c` | [`arcadia-impact/scimt-dispatch-gate2-midtrain4-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-gate2-midtrain4-v1/tree/fb3b1bc7f59c7ace105941209f0f2b4d78d3317d/runs/20260811T113651Z) | | |
| | Gate 2 Dolci100 | `20260811T165922Z` | `d9e9c17ccbf5a6a00d29603425d45c945b3fb550` | [`arcadia-impact/scimt-dispatch-gate2-midtrain4-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-gate2-midtrain4-v1/tree/5c66a74874c8600947dac867cad57611cbc75efc/runs/20260811T165922Z) | | |
| | SDF dose/order | `20260810T113248Z-corefix` | `f222895a816a9c53dbce2493e90596d9e563c449` | [`arcadia-impact/scimt-dispatch-sdf-dose-order-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-sdf-dose-order-v1/tree/0f7c32c17f084860dc5eefbecac566c870cf079c/runs/20260810T113248Z-corefix) | | |
| Consolidation receipts for the four pre-SDF rows and the full operation log are | |
| published separately in | |
| [`arcadia-impact/scimt-dispatch-midtrained-sft-consolidation-v1`](https://huggingface.co/datasets/arcadia-impact/scimt-dispatch-midtrained-sft-consolidation-v1). | |
| The SDF implementation and results are tracked in | |
| [science-of-midtraining PR #469](https://github.com/ArcadiaImpact/science-of-midtraining/pull/469). | |
| ## Intended use and limitations | |
| These artifacts are intended for controlled alignment and path-dependence | |
| research. | |
| - The design has one training run per arm and dose; it is not a multi-seed | |
| variance estimate. | |
| - Coin and Charter histories differ in content and rule complexity, so the | |
| comparison does not isolate complexity alone. | |
| - Dispatch is synthetic and does not establish behavior in real operational | |
| settings. | |
| - The four-epoch repeat changes distributed microstep grouping relative to the | |
| original eight-GPU run while preserving global batch and update count. | |
| - The four-epoch schedule is learning-rate-confounded with the short original | |
| schedule at equal early step numbers. | |
| - The SDF final Dolci10 section is an active training intervention, not a | |
| neutral wrapper around the post-document checkpoint. | |
| - No broad capability or safety claim follows from training-loss convergence. | |
| - Access and use of these checkpoints and derivatives remain subject to the | |
| Gemma license. | |
| The closest conceptual predecessor is Li et al., *Model Spec Midtraining* | |
| ([arXiv:2605.02087](https://arxiv.org/abs/2605.02087)). This repository is a | |
| small-dose, true-pretraining replication and dose/order-extension study. | |