summaryrefslogtreecommitdiff
path: root/trm/config
diff options
context:
space:
mode:
authorYurenHao0426 <blackhao0426@gmail.com>2026-06-13 12:35:36 -0500
committerYurenHao0426 <blackhao0426@gmail.com>2026-06-13 12:35:36 -0500
commit66e0d8b9fd4d0f7a2231d689c055e26fdf1cf04a (patch)
treec29cba61124018755a19b02c9d33e3ad5f2e05cc /trm/config
rrm workspace: TRM/HRM/SRM code, Maze dataset, dynamical-analysis pipelineHEADmain
Curated export for clone-and-run Maze training (2x A6000) + diagnostics. trm/hrm pretrain.py carry trajectory-augmentation code (backward-compatible). Heavy artifacts (checkpoints/wandb/npz) gitignored; see PROVENANCE.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'trm/config')
-rw-r--r--trm/config/arch/hrm.yaml24
-rw-r--r--trm/config/arch/transformers_baseline.yaml18
-rw-r--r--trm/config/arch/trm.yaml26
-rw-r--r--trm/config/arch/trm_hier6.yaml26
-rw-r--r--trm/config/arch/trm_singlez.yaml26
-rw-r--r--trm/config/cfg_pretrain.yaml42
6 files changed, 162 insertions, 0 deletions
diff --git a/trm/config/arch/hrm.yaml b/trm/config/arch/hrm.yaml
new file mode 100644
index 0000000..0d183be
--- /dev/null
+++ b/trm/config/arch/hrm.yaml
@@ -0,0 +1,24 @@
+name: recursive_reasoning.hrm@HierarchicalReasoningModel_ACTV1
+loss:
+ name: losses@ACTLossHead
+ loss_type: stablemax_cross_entropy
+
+halt_exploration_prob: 0.1
+halt_max_steps: 16
+
+H_cycles: 2
+L_cycles: 2
+
+H_layers: 4
+L_layers: 4
+
+hidden_size: 512
+num_heads: 8 # min(2, hidden_size // 64)
+expansion: 4
+
+puzzle_emb_ndim: ${.hidden_size}
+
+pos_encodings: rope
+forward_dtype: bfloat16
+
+mlp_t: False # use mlp on L instead of transformer \ No newline at end of file
diff --git a/trm/config/arch/transformers_baseline.yaml b/trm/config/arch/transformers_baseline.yaml
new file mode 100644
index 0000000..cc08ffe
--- /dev/null
+++ b/trm/config/arch/transformers_baseline.yaml
@@ -0,0 +1,18 @@
+name: recursive_reasoning.transformers_baseline@Model_ACTV2
+loss:
+ name: losses@ACTLossHead
+ loss_type: stablemax_cross_entropy
+
+halt_exploration_prob: 0.1
+halt_max_steps: 16
+
+H_cycles: 1 # kept for compatibility
+H_layers: 8
+
+hidden_size: 512
+num_heads: 12
+expansion: 4
+
+puzzle_emb_ndim: ${.hidden_size}
+
+pos_encodings: rope \ No newline at end of file
diff --git a/trm/config/arch/trm.yaml b/trm/config/arch/trm.yaml
new file mode 100644
index 0000000..e6b16fb
--- /dev/null
+++ b/trm/config/arch/trm.yaml
@@ -0,0 +1,26 @@
+name: recursive_reasoning.trm@TinyRecursiveReasoningModel_ACTV1
+loss:
+ name: losses@ACTLossHead
+ loss_type: stablemax_cross_entropy
+
+halt_exploration_prob: 0.1
+halt_max_steps: 16
+
+H_cycles: 3
+L_cycles: 6
+
+H_layers: 0
+L_layers: 2
+
+hidden_size: 512
+num_heads: 8 # min(2, hidden_size // 64)
+expansion: 4
+
+puzzle_emb_ndim: ${.hidden_size}
+
+pos_encodings: rope
+forward_dtype: bfloat16
+
+mlp_t: False # use mlp on L instead of transformer
+puzzle_emb_len: 16 # if non-zero, its specified to this value
+no_ACT_continue: True # No continue ACT loss, only use the sigmoid of the halt which makes much more sense \ No newline at end of file
diff --git a/trm/config/arch/trm_hier6.yaml b/trm/config/arch/trm_hier6.yaml
new file mode 100644
index 0000000..43622ec
--- /dev/null
+++ b/trm/config/arch/trm_hier6.yaml
@@ -0,0 +1,26 @@
+name: recursive_reasoning.trm_hier6@TinyRecursiveReasoningModel_ACTV1
+loss:
+ name: losses@ACTLossHead
+ loss_type: stablemax_cross_entropy
+
+halt_exploration_prob: 0.1
+halt_max_steps: 16
+
+H_cycles: 3
+L_cycles: 6
+
+H_layers: 0
+L_layers: 2
+
+hidden_size: 512
+num_heads: 8 # min(2, hidden_size // 64)
+expansion: 4
+
+puzzle_emb_ndim: ${.hidden_size}
+
+pos_encodings: rope
+forward_dtype: bfloat16
+
+mlp_t: False # use mlp on L instead of transformer
+puzzle_emb_len: 16 # if non-zero, its specified to this value
+no_ACT_continue: True # No continue ACT loss, only use the sigmoid of the halt which makes much more sense \ No newline at end of file
diff --git a/trm/config/arch/trm_singlez.yaml b/trm/config/arch/trm_singlez.yaml
new file mode 100644
index 0000000..cf16aa5
--- /dev/null
+++ b/trm/config/arch/trm_singlez.yaml
@@ -0,0 +1,26 @@
+name: recursive_reasoning.trm_singlez@TinyRecursiveReasoningModel_ACTV1
+loss:
+ name: losses@ACTLossHead
+ loss_type: stablemax_cross_entropy
+
+halt_exploration_prob: 0.1
+halt_max_steps: 16
+
+H_cycles: 3
+L_cycles: 6
+
+H_layers: 0
+L_layers: 2
+
+hidden_size: 512
+num_heads: 8 # min(2, hidden_size // 64)
+expansion: 4
+
+puzzle_emb_ndim: ${.hidden_size}
+
+pos_encodings: rope
+forward_dtype: bfloat16
+
+mlp_t: False # use mlp on L instead of transformer
+puzzle_emb_len: 16 # if non-zero, its specified to this value
+no_ACT_continue: True # No continue ACT loss, only use the sigmoid of the halt which makes much more sense \ No newline at end of file
diff --git a/trm/config/cfg_pretrain.yaml b/trm/config/cfg_pretrain.yaml
new file mode 100644
index 0000000..ec45faf
--- /dev/null
+++ b/trm/config/cfg_pretrain.yaml
@@ -0,0 +1,42 @@
+# ARC training config
+
+defaults:
+ - arch: trm
+ - _self_
+
+hydra:
+ output_subdir: null
+
+# Data path
+data_paths: ['data/arc-aug-1000']
+data_paths_test: []
+
+evaluators:
+ - name: arc@ARC
+
+# Hyperparams - Training
+global_batch_size: 768
+
+epochs: 100000
+eval_interval: 10000
+checkpoint_every_eval: True
+
+lr: 1e-4
+lr_min_ratio: 1.0
+lr_warmup_steps: 2000
+
+# Standard hyperparameter settings for LM, as used in Llama
+beta1: 0.9
+beta2: 0.95
+weight_decay: 0.1
+puzzle_emb_weight_decay: 0.1
+
+# Hyperparams - Puzzle embeddings training
+puzzle_emb_lr: 1e-2
+
+seed: 0
+min_eval_interval: 0 # when to start the eval
+
+ema: False # use Exponential-Moving-Average
+ema_rate: 0.999 # EMA-rate
+freeze_weights: False # If True, freeze weights and only learn the embeddings \ No newline at end of file