Skip to content
Closed
Show file tree
Hide file tree
Changes from 159 commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
2ce8143
feat(trainer): random_init_mode chooses between skipping and initiali…
snimu Oct 13, 2026
487a393
feat(pretrain): uv run pretrain with text data and perplexity evals
snimu Oct 13, 2026
84ca355
docs(pretrain): Llama 3 ladder examples, docs and tests
snimu Oct 13, 2026
53bf7e3
feat(pretrain): CompleteP parametrization and truncated normal init
snimu Oct 13, 2026
f2187de
feat(pretrain): CompleteP with Muon
snimu Oct 13, 2026
b560be3
feat(pretrain): per-hyperparameter multiplier schedules
snimu Oct 13, 2026
00354bf
feat(pretrain): aux-loss-free MoE load balancing for glm4_moe
snimu Oct 14, 2026
7ca7bfd
feat(pretrain): DeepSeek-V3 MoE load balancing: centred bias update, …
snimu Oct 14, 2026
80093c9
feat(pretrain): wsd defaults to linear decay to 0 after the warmup (d…
snimu Oct 14, 2026
42eb278
feat(pretrain): multi-node SLURM launch through the SFT deployment, s…
snimu Oct 14, 2026
9c9c8c0
fix(pretrain): MoE sequence-wise balance loss per packed row, not per…
snimu Oct 14, 2026
351d30e
feat(pretrain): CompleteP for MoE (experts per role, router lr / m_N …
snimu Oct 14, 2026
8d9a295
feat(pretrain): reduce step metrics once per step, MoE balance and gr…
snimu Oct 14, 2026
68287c4
test(pretrain): set Muon weight decay in the CompleteP MoE test
snimu Oct 14, 2026
2e67442
feat(pretrain): token-shard data, local architecture spec, batch size…
snimu Oct 14, 2026
cce76be
fix(pretrain): accumulate step stats as tensors
snimu Oct 14, 2026
2f706b4
Merge feat/pretrain-schedules into feat/pretrain
snimu Oct 14, 2026
379971f
refactor(pretrain): one WSD learning-rate schedule
snimu Oct 14, 2026
14edeed
Merge feat/pretrain-multinode into feat/pretrain-shared
snimu Oct 14, 2026
f54899f
feat(pretrain): asynchronous eval worker on model-only snapshots
snimu Oct 14, 2026
bf315f2
fix(pretrain): eval worker waits for the run's config
snimu Oct 14, 2026
90f7395
fix(glm4_moe): head_dim is a config field
snimu Oct 14, 2026
32b00bd
fix(pretrain): eval worker keeps the trainer's matmul precision API
snimu Oct 14, 2026
8eb5696
test(pretrain): read a bounded number of windows from the endless tok…
snimu Oct 14, 2026
917b3e2
refactor(trainer): run_micro_batches shared by the SFT and pretrain l…
snimu Oct 14, 2026
20578b0
refactor(configs): TrainRunConfig shared by SFTConfig and PretrainConfig
snimu Oct 14, 2026
3f685e7
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 14, 2026
cc367f7
fix(pretrain): snapshots clone the shards on the GPU and write them i…
snimu Oct 14, 2026
3cbdc55
Merge feat/pretrain-shared into feat/pretrain-parametrization
snimu Oct 14, 2026
168a500
Merge feat/pretrain-moe-lb into feat/pretrain-parametrization
snimu Oct 14, 2026
c12be50
Merge feat/pretrain-moe-completep into feat/pretrain-parametrization
snimu Oct 14, 2026
224df6a
feat(pretrain): bf16 snapshots (router kept in fp32)
snimu Oct 14, 2026
993df68
refactor(pretrain): MoE load balancing in [model.moe.balance]
snimu Oct 14, 2026
5f4f1f9
refactor(pretrain): drop the scaled init scheme and the truncated normal
snimu Oct 14, 2026
0bc6bc3
refactor(moe): the MoE layer computes the per-row balance itself
snimu Oct 14, 2026
4de892c
refactor(pretrain): one per-role parametrization; [parametrization] t…
snimu Oct 14, 2026
fbe37d9
feat(pretrain): count parameters by role, including active non-embedd…
snimu Oct 14, 2026
481c7fc
Merge feat/pretrain-parametrization into feat/pretrain-monitoring
snimu Oct 14, 2026
80cb471
feat(pretrain): the launcher gives the trainer and the eval worker on…
snimu Oct 14, 2026
f56c5a2
test: unique basename for the step metrics test
snimu Oct 14, 2026
a87bfa7
feat(pretrain): pretraining defaults to model.offload = none
snimu Oct 14, 2026
c18d9c7
fix(pretrain): round fractional schedule phases down
snimu Oct 14, 2026
b4663c6
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 14, 2026
b662797
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 14, 2026
f1ae065
Merge feat/pretrain-parametrization into feat/pretrain-monitoring
snimu Oct 14, 2026
3275e0a
fix(pretrain): wait for the snapshot copies before the background write
snimu Oct 14, 2026
489f963
fix(pretrain): the snapshot writer thread uses the rank's CUDA device
snimu Oct 14, 2026
7247c32
fix(pretrain): finish the snapshot write before a checkpoint save
snimu Oct 14, 2026
9ee2f65
fix(pretrain): leave the SFT step and its metrics as they are; the on…
snimu Oct 14, 2026
aa398a4
refactor(pretrain): write the model dir to <run_dir>/configs/model
snimu Oct 14, 2026
703d18b
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 14, 2026
1ecbb19
revert(configs): keep SFTConfig as it was; PretrainConfig is standalo…
snimu Oct 14, 2026
338093b
Merge feat/pretrain-shared into feat/pretrain-parametrization
snimu Oct 14, 2026
a000c23
revert(trainer): no SFT/RL changes in shared optimizer, perf and glm4…
snimu Oct 14, 2026
6d478fc
refactor: move the trainer deployment configs and the stateful datase…
snimu Oct 14, 2026
a52e725
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 14, 2026
ee0f889
feat(pretrain): platform monitor, pretrain overview in W&B and the da…
snimu Oct 14, 2026
6e453d7
feat(pretrain): the launcher starts the eval worker; evals at several…
snimu Oct 14, 2026
2cffe13
test(pretrain): unique basename for the pretrain metrics test
snimu Oct 14, 2026
06fc55d
fix(pretrain): the eval worker only attaches to the trainer's platfor…
snimu Oct 14, 2026
3831683
revert(configs): SFTConfig keeps its own deployment validators
snimu Oct 14, 2026
545973d
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 14, 2026
7cbc1e6
Merge feat/pretrain-parametrization into feat/pretrain-monitoring
snimu Oct 14, 2026
80f9bbf
fix(pretrain): the eval worker only reads platform state of the curre…
snimu Oct 14, 2026
1608bbf
feat(pretrain): diagnostic step with attention/activation probe and u…
snimu Oct 14, 2026
ef57f1b
feat(pretrain): the eval suite runs inside the trainer
snimu Oct 14, 2026
72c5dd2
fix(pretrain): the diagnostic probe and the eval suite run compiled l…
snimu Oct 14, 2026
e8ff059
docs(pretrain): resume needs the same GPU layout
snimu Oct 14, 2026
171d507
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 14, 2026
5b82c30
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 14, 2026
29c3bad
fix(pretrain): global per-source token counts from the window sequence
snimu Oct 15, 2026
c833798
docs(pretrain): CompleteP with QK-norm; the MoE example uses both
snimu Oct 15, 2026
f97ea92
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 15, 2026
7e25599
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 15, 2026
07d86c8
Merge feat/pretrain-parametrization into feat/pretrain-monitoring
snimu Oct 15, 2026
1c20393
test(pretrain): keep test_data.py as in #4070
snimu Oct 15, 2026
23ae6cb
style(pretrain): ruff format test_data.py (ruff 0.15.14, as in CI)
snimu Oct 15, 2026
cad9478
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 15, 2026
41e09c5
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 15, 2026
04fd02b
Merge feat/pretrain-parametrization into feat/pretrain-monitoring
snimu Oct 15, 2026
4bb2a3d
feat(pretrain): expert-load max/mean and top-expert share per MoE layer
snimu Oct 15, 2026
cac6bf4
style(pretrain): ruff format
snimu Oct 15, 2026
8dc1866
refactor(pretrain): decide once whether the resume restores the data …
snimu Oct 15, 2026
8b498f9
Merge branch 'feat/pretrain' into feat/pretrain-shared
snimu Oct 15, 2026
a5d6e2a
refactor(pretrain): own micro-batch step; SFT trainer files as on main
snimu Oct 15, 2026
c3eb1e7
Merge branch 'feat/pretrain-shared' into feat/pretrain-parametrization
snimu Oct 15, 2026
0d00384
refactor(pretrain): drop the CPU-offload paths pretraining cannot take
snimu Oct 15, 2026
4da0395
docs(pretrain): the MoE example relies on the only offload mode
snimu Oct 15, 2026
3c47e89
Merge branch 'feat/pretrain-parametrization' into feat/pretrain-monit…
snimu Oct 15, 2026
f43ded9
fix(pretrain): peak memory measured once, after the optimizer step
snimu Oct 15, 2026
7f5335f
refactor(pretrain): one expert-load implementation and one no-grad cl…
snimu Oct 15, 2026
8faa17d
fix(pretrain): bounded eval-suite logits; free the diagnostic weight …
snimu Oct 15, 2026
11f0ee1
perf(pretrain): score all eval sets in one packing pass
snimu Oct 15, 2026
8a47d4b
fix(pretrain): eval-suite metrics as floats; pairs requests cut to th…
snimu Oct 15, 2026
b1bec3d
docs(pretrain): monitoring section; step-to-row numbering; config doc…
snimu Oct 15, 2026
0bc6af5
feat(pretrain): shuffle each epoch of a token source
snimu Oct 15, 2026
fdc6182
refactor(pretrain): specify the model like SFT/RL; move the init to t…
snimu Oct 15, 2026
4b6c2f0
perf(pretrain): sync and reshard gradients once per step, not per mic…
snimu Oct 15, 2026
5c0237d
Merge remote-tracking branch 'origin/main' into feat/pretrain
snimu Oct 15, 2026
31d9473
fix(trainer): dense pretrain models with the default MoE runtime
snimu Oct 15, 2026
10024b1
Merge remote-tracking branch 'origin/feat/pretrain' into feat/pretrai…
snimu Oct 15, 2026
e3e4feb
fix(pretrain): drop the stale top-level rope_theta from the glm4_moe …
snimu Oct 15, 2026
4284fe8
refactor(pretrain): use the shared linear scheduler; model.seq_len fo…
snimu Oct 15, 2026
f211eed
Merge remote-tracking branch 'origin/feat/pretrain' into feat/pretrai…
snimu Oct 15, 2026
6256a40
Merge remote-tracking branch 'origin/main' into feat/pretrain
snimu Oct 16, 2026
19e044b
Merge remote-tracking branch 'origin/main' into feat/pretrain
snimu Oct 17, 2026
8a4a579
feat(pretrain): compile MoE blocks inside full activation checkpoints…
snimu Oct 18, 2026
f16c919
feat(pretrain): prime_moe, pretraining's own MoE model
snimu Oct 19, 2026
f39a2a9
feat(pretrain): train prime_moe (Gated Residual roles, init and metri…
snimu Oct 19, 2026
27fdb06
refactor(pretrain): shared MoE layer, glm4_moe and model.py back to main
snimu Oct 19, 2026
27e911c
feat(pretrain): prime_moe options for a modern base: gated attention,…
snimu Oct 19, 2026
2769909
test(pretrain): GPU integration test for prime_moe pretraining
snimu Oct 19, 2026
df92847
feat(pretrain): prime_moe options for Kimi K3's Stable LatentMoE: lat…
snimu Oct 19, 2026
cfc999c
docs(pretrain): entrypoint table: pretrain runs multi-node via [slurm]
snimu Oct 19, 2026
9fc940c
docs(pretrain): entrypoint table: drop the deployment note, as for sft
snimu Oct 19, 2026
e433e1d
docs(pretrain): match the other entrypoint pages: table of contents, …
snimu Oct 19, 2026
926c13a
refactor(pretrain): one data mixture (data.weights) instead of mixtur…
snimu Oct 19, 2026
8a7d83d
refactor(pretrain): remove the diagnostics step
snimu Oct 19, 2026
a75d809
feat(pretrain): read each epoch's windows in one global seeded order
snimu Oct 19, 2026
190533a
fix(pretrain): eval requests start with BOS only if the training docu…
snimu Oct 19, 2026
0c156e7
refactor(pretrain): derive the eval row length from the training micr…
snimu Oct 19, 2026
6342834
docs(pretrain): note the read cost of the global window order
snimu Oct 19, 2026
12da2e4
Merge origin/main into feat/pretrain
snimu Oct 19, 2026
51bf2df
refactor(pretrain): describe prime_moe on its own terms; trim unused …
snimu Oct 19, 2026
96bf017
refactor(models): share HyperConnection and ExpandedRMSNorm in layers/
snimu Oct 19, 2026
6aa20ef
refactor(configs): PretrainConfig and SFTConfig share a trainer launc…
snimu Oct 19, 2026
0da0785
refactor: one resolve_resume_step for the RL, SFT and pretrain traine…
snimu Oct 19, 2026
5d66602
refactor(trainer): share the gradient-accumulation step count between…
snimu Oct 19, 2026
c1e6bf0
refactor(entrypoints): one prepare_run for the RL, SFT, eval and pret…
snimu Oct 19, 2026
73ae5ef
refactor(monitors): register SFT and pretraining runs on the platform…
snimu Oct 19, 2026
77337c4
refactor(prime_moe): LatentMoE projections in the MoE expert-input/ou…
snimu Oct 19, 2026
c7e0e5e
refactor(prime_moe): XSA and the output gate through a FlashAttention…
snimu Oct 19, 2026
a567965
feat(pretrain): evals.micro_batch_tokens sets the eval row length
snimu Oct 19, 2026
ae36ea4
feat(pretrain): quantile balancing on the router logits by default
snimu Oct 19, 2026
5c0bfa6
fix(trainer): model.debug.random_init initializes the weights
snimu Oct 19, 2026
2e3601e
fix(pretrain): write the last step's checkpoint before its val and evals
snimu Oct 20, 2026
e4f9d6a
pretrain: histogram estimator for quantile balancing (Kimi K3 §2.3.3)…
snimu Oct 20, 2026
7b4e8ae
refactor(pretrain): remove CompleteP; plain N(0, 0.02) init and unsca…
snimu Oct 20, 2026
a2b8e7d
docs(pretrain): drop the CompleteP section; describe the plain init a…
snimu Oct 20, 2026
7aee02b
pretrain: stop copying data.seq_len into model.seq_len
snimu Oct 21, 2026
919033a
Merge origin/main into feat/pretrain
snimu Oct 21, 2026
e30a595
pretrain: batch sizes in rows, as in SFT
snimu Oct 21, 2026
7145410
Merge origin/main into feat/pretrain
snimu Oct 21, 2026
ef4b347
pretrain: data.document_masking
snimu Oct 21, 2026
ce38b15
Merge origin/feat/pretrain into sebastian/pretrain-data-2026-10-21
snimu Oct 21, 2026
6f2af1a
configs(sft): pad_to_seq_len on the packed SFT data configs only
snimu Oct 21, 2026
3db9f44
refactor(pretrain): move the MoE balance helpers and count_parameters…
snimu Oct 21, 2026
4aa6407
refactor(pretrain): use the shared optimizer groups and drop the init…
snimu Oct 21, 2026
99c2722
pretrain: one token pool instead of weighted sources; TrainData owns …
snimu Oct 21, 2026
863dfe2
Merge origin/feat/pretrain into sebastian/pretrain-data-2026-10-21
snimu Oct 21, 2026
60ca836
fix(pretrain): train the Gated Residual projections with AdamW
snimu Oct 21, 2026
e7071d3
docs(pretrain): why the Gated Residual projections train with AdamW
snimu Oct 21, 2026
1872c86
fix(pretrain): accept topk_ids in the eval scoring head
snimu Oct 21, 2026
a7997c7
pretrain: held-out token shards are eval sets; [val] goes
snimu Oct 21, 2026
2b9e6ee
Merge origin/feat/pretrain into sebastian/pretrain-data-2026-10-21
snimu Oct 21, 2026
de3ebcd
docs(pretrain): the 5M-token held-out set in the examples, its cost, …
snimu Oct 21, 2026
2dec0e8
refactor(config): rename model.debug.random_init to model.debug.init
snimu Oct 21, 2026
99b8334
Revert "refactor(config): rename model.debug.random_init to model.deb…
snimu Oct 22, 2026
bd856a3
Merge remote-tracking branch 'origin/main' into feat/pretrain
snimu Oct 22, 2026
b988f08
revert(model): remove compile_inside_full_checkpoint
snimu Oct 22, 2026
cd0f91a
Merge remote-tracking branch 'origin/main' into feat/pretrain
snimu Oct 22, 2026
44cc5ef
fix(model): model.debug.random_init behaves as on main; the init zero…
snimu Oct 22, 2026
d9295a7
refactor(pretrain): move prime_moe, its shared-code changes, MoE load…
snimu Oct 22, 2026
060d730
refactor(pretrain): pretraining is the SFT trainer with token data
snimu Oct 22, 2026
c979754
test(pretrain): dense pretraining integration test (start and resume)…
snimu Oct 22, 2026
a348ebe
docs(pretrain): a short pretraining section in training.md instead of…
snimu Oct 22, 2026
2fd8b9b
fix(pretrain): convert_dcp_to_bf16 reads SFT runs' model config as SF…
snimu Oct 22, 2026
e2c3465
refactor(pretrain): the log-likelihood sets are part of [val] instead…
snimu Oct 22, 2026
44be70f
feat(sft): val.eval_on_end scores the final weights after the final c…
snimu Oct 22, 2026
847eab4
fix(sft): with val.eval_on_end, skip the in-loop validation at the la…
snimu Oct 22, 2026
b816470
fix(sft): eval_on_end keeps the eval_on_start round of a one-step run
snimu Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,13 @@ jobs:
- 'tests/integration/test_alphabet_sort.py'
- 'configs/ci/integration/reverse-text{,-lora,-moe,-rl-opd,-rl-sft}/**'
- 'configs/ci/integration/alphabet_sort.toml'
pretrain:
- *runtime
- 'packages/prime-rl-configs/src/prime_rl/configs/{pretrain,monitors}.py'
- 'src/prime_rl/entrypoints/pretrain.py'
- 'src/prime_rl/monitors/**'
- 'tests/integration/test_pretrain_moe.py'
- 'configs/ci/integration/pretrain-moe/**'
eval:
- *runtime
- 'packages/prime-rl-configs/src/prime_rl/configs/{eval,orchestrator,inference,env_server,algorithm,monitors}.py'
Expand All @@ -184,12 +191,14 @@ jobs:
RUN_ALL: ${{ github.event_name != 'pull_request' }}
SFT: ${{ steps.filter.outputs.sft || 'false' }}
RL: ${{ steps.filter.outputs.rl || 'false' }}
PRETRAIN: ${{ steps.filter.outputs.pretrain || 'false' }}
run: |
tests=$(jq -cn --argjson all "$RUN_ALL" --argjson sft "$SFT" --argjson rl "$RL" '[
tests=$(jq -cn --argjson all "$RUN_ALL" --argjson sft "$SFT" --argjson rl "$RL" --argjson pretrain "$PRETRAIN" '[
if $all or $sft then
{test: "reverse_text_sft", name: "Reverse Text SFT"},
{test: "reverse_text_sft_lora", name: "Reverse Text SFT LoRA"}
else empty end,
if $all or $pretrain then {test: "pretrain_moe", name: "Pretrain MoE"} else empty end,
if $all or $rl then
{test: "reverse_text", name: "Reverse Text"},
{test: "reverse_text_rl_opd", name: "Reverse Text RL OPD"},
Expand Down
39 changes: 39 additions & 0 deletions configs/ci/integration/pretrain-moe/model/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"model_type": "prime_moe",
"vocab_size": 151680,
"bos_token_id": null,
"eos_token_id": 151645,
"pad_token_id": 151643,
"hidden_size": 256,
"num_hidden_layers": 4,
"num_attention_heads": 4,
"num_key_value_heads": 2,
"head_dim": 64,
"intermediate_size": 1024,
"hidden_act": "silu",
"max_position_embeddings": 4096,
"rms_norm_eps": 1e-06,
"partial_rotary_factor": 1.0,
"rope_parameters": {
"rope_type": "default",
"rope_theta": 10000.0,
"partial_rotary_factor": 1.0
},
"tie_word_embeddings": false,
"attention_bias": false,
"use_qk_norm": true,
"first_k_dense_replace": 1,
"n_routed_experts": 16,
"n_null_experts": 8,
"num_experts_per_tok": 6,
"moe_intermediate_size": 128,
"n_shared_experts": 1,
"norm_topk_prob": true,
"routed_scaling_factor": 2.5,
"hc_count": 2,
"hc_lowrank": 32,
"attn_output_gate": true,
"exclusive_attention": true,
"latent_dim": 128,
"router_bias_on_logits": true
}
40 changes: 40 additions & 0 deletions configs/ci/integration/pretrain-moe/resume.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Tiny prime_moe with the base components (Gated Residual, null experts, gated attention, XSA, LatentMoE, quantile
# balancing) in FP8 on 2 GPUs. The test writes the token shards (Reverse-Text-SFT, Qwen3 tokenizer) and passes their
# folder as --data.paths. Resumes the start run from its step-20 checkpoint.
max_steps = 30

[model]
name = "configs/ci/integration/pretrain-moe/model"
ac = "None"

[model.quantization]
type = "fp8"

[model.moe.compute]
type = "deepgemm_fp8"

[model.moe.balance]
bias_update = "quantile"

[tokenizer]
name = "PrimeIntellect/Qwen3-0.6B"

[data]
type = "tokens"
seq_len = 2048
batch_size = 8
micro_batch_size = 2
max_epochs = 100
paths = ["set-by-the-test"]

[optim]
type = "muon"
lr = 0.004

[scheduler]
type = "constant"

[ckpt]

[resume]
step = 20
37 changes: 37 additions & 0 deletions configs/ci/integration/pretrain-moe/start.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Tiny prime_moe with the base components (Gated Residual, null experts, gated attention, XSA, LatentMoE, quantile
# balancing) in FP8 on 2 GPUs. The test writes the token shards (Reverse-Text-SFT, Qwen3 tokenizer) and passes their
# folder as --data.paths.
max_steps = 20

[model]
name = "configs/ci/integration/pretrain-moe/model"
ac = "None"

[model.quantization]
type = "fp8"

[model.moe.compute]
type = "deepgemm_fp8"

[model.moe.balance]
bias_update = "quantile"

[tokenizer]
name = "PrimeIntellect/Qwen3-0.6B"

[data]
type = "tokens"
seq_len = 2048
batch_size = 8
micro_batch_size = 2
max_epochs = 100
paths = ["set-by-the-test"]

[optim]
type = "muon"
lr = 0.004

[scheduler]
type = "constant"

[ckpt]
28 changes: 28 additions & 0 deletions configs/debug/fake/pretrain-model/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"attention_bias": false,
"attention_dropout": 0.0,
"bos_token_id": null,
"eos_token_id": 151645,
"head_dim": 64,
"hidden_act": "silu",
"hidden_size": 256,
"initializer_range": 0.02,
"intermediate_size": 1024,
"max_position_embeddings": 2048,
"mlp_bias": false,
"model_type": "llama",
"num_attention_heads": 4,
"num_hidden_layers": 2,
"num_key_value_heads": 2,
"pad_token_id": 151643,
"pretraining_tp": 1,
"rms_norm_eps": 1e-06,
"rope_parameters": {
"rope_theta": 10000.0,
"rope_type": "default"
},
"tie_word_embeddings": false,
"transformers_version": "5.6.2",
"use_cache": true,
"vocab_size": 151680
}
17 changes: 17 additions & 0 deletions configs/debug/fake/pretrain.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
max_steps = 5

[model]
name = "configs/debug/fake/pretrain-model"
compile = "None"

[tokenizer]
name = "PrimeIntellect/Qwen3-0.6B"

[data]
type = "fake"
seq_len = 512
batch_size = 4
micro_batch_size = 1

[optim]
lr = 1e-3
1 change: 1 addition & 0 deletions docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"overview",
"configuration",
"training",
"pretraining",
"eval",
"inference",
"scaling",
Expand Down
1 change: 1 addition & 0 deletions docs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ The `rl` entrypoint reads `examples/basic/reverse-text/rl.toml`, splits it into

- **[Configuration](configuration.md)** — TOML composition, CLI overrides, dry-run.
- **[Training](training.md)** — Launch and observe RL and SFT runs.
- **[Pretraining](pretraining.md)** — Train a model from scratch on token shards.
- **[Inference](inference.md)** — vLLM-backed server (or fleet) holding the current policy.
- **[Scaling](scaling.md)** — Single-GPU through multi-node clusters via FSDP / EP / CP and SLURM.
- **[Algorithms](algorithms.md)** — Async semantics, loss / advantage / filter plugins, trajectory merging.
Expand Down
Loading
Loading