File size: 1,610 Bytes
d909bd8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Section-08 traceability config.
#
# Loads through align.config.load_config under STRUCT MODE: a typo'd key raises
# here, at launch, instead of silently running with the default it failed to
# override. Field prose lives in align/config.py::TraceConfig.

[trace]
enabled = true

# ---- trace provenance -------------------------------------------------
prompt_set_source = "prm800k"
prompt_set_n = 512
prompt_set_seed = 0
# Filled by the builder. "PENDING" is EXPLICIT -- a stage that requires a
# real hash refuses to launch on it.
prompt_set_hash = "PENDING"

# Stored and analyzed SEPARATELY; the label rides every stream batch.
variants = ["teacher_forced", "self_generated"]

# The newline id is read from this artifact and NEVER hardcoded.
boundary_spec_path = "/apps/development/rlhf/nano-mistral-o1/artifacts/boundary_spec.json"

# Every boundary statistic is reported against +/-k control positions.
control_k = 2

# ---- crosscoder (Tier 2) ----------------------------------------------
cc_layer = 16
cc_n_latents = 32768
cc_sparsity = "l1"
cc_l1_coeff = 0.03
cc_topk = 64
cc_exclusive_threshold = 0.8
cc_lr = 0.0003
cc_batch_size = 4096
# Multiple of cc_batch_size, or resume cannot be exact.
cc_buffer_size = 65536
cc_seed = 0

# M3 dry run: <= 50M tokens. The trainer refuses a "dry run" that is not dry.
dry_run_enabled = true
dry_run_max_tokens = 50000000

# ---- Tier 1 -----------------------------------------------------------
tier1_layers = [0, 8, 16, 24, 31]
tier1_lens_steps = 2000
tier1_lens_lr = 0.001
tier1_patch_topk = 16
tier1_position_classes = ["boundary", "answer", "control"]