Pacific-i64 commited on
Commit
7a84f1b
·
verified ·
1 Parent(s): fce178a

Promote clean full-SFT v2 epoch 3 step 5982

Browse files
README.md CHANGED
@@ -2,9 +2,11 @@
2
  license: apache-2.0
3
  language:
4
  - en
 
5
  pipeline_tag: text-generation
6
- library_name: pytorch
7
  tags:
 
8
  - safetensors
9
  - tr-hash
10
  - mixture-of-experts
@@ -14,64 +16,68 @@ tags:
14
  - custom-code
15
  base_model: AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement
16
  datasets:
17
- - AETHORIA-AI/luciole-16way-sft-209k
18
  ---
19
 
20
- # TR-HASH MoE 200M — 160B-source Full SFT
21
 
22
  Full-parameter instruction SFT of
23
- [`AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement`](https://huggingface.co/AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement)
24
- on the audited 209k-example Luciole 16-way mixture. This is **not LoRA or QLoRA**:
25
- all 201,194,368 parameters were trainable.
26
 
27
- The root `model.safetensors` is the PIQA-selected **epoch 2 / step 926** model.
28
- All three resumable training checkpoints remain in `step_000463`, `step_000926`,
29
- and `step_001389`.
30
 
31
  ## Results
32
 
33
- | Epoch | Step | Held-out SFT loss | SFT ppl | PIQA acc | PIQA acc_norm |
34
- |---:|---:|---:|---:|---:|---:|
35
- | 1 | 463 | 1.260493 | 3.53 | 68.55% | 69.31% |
36
- | 2 | 926 | 1.226242 | 3.41 | 68.82% | 69.31% |
37
- | 3 | 1,389 | 1.220861 | 3.39 | 68.55% | 69.31% |
38
 
39
- Epoch 2 was promoted because all epochs tie on PIQA `acc_norm`, while epoch 2
40
- has the highest raw PIQA accuracy. Epoch 3 has the lowest held-out SFT loss but
41
- was not silently substituted for the benchmark-selected release.
42
-
43
- PIQA protocol: full 1,838-example validation split, zero-shot causal
44
- continuation log-likelihood, no chat template, maximum sequence length 2,048,
45
- FP16 eager PyTorch with the custom Triton kernels enabled.
46
 
47
  ## Training recipe
48
 
49
  | Setting | Value |
50
  |---|---|
51
  | Method | Full-parameter supervised fine-tuning |
52
- | Dataset | Luciole 16-way, 209,000 train / 2,100 held out |
53
- | Supervision | Final assistant response only; prior assistant turns masked |
 
 
54
  | Epochs | 3 |
55
- | Sequence cap | 512 tokens |
56
- | Tokenizer | TR-HASH 32k vocabulary |
57
  | Optimizer | AdamW, betas 0.9 / 0.95, weight decay 0.1 |
58
- | LR schedule | 2e-5 peak, 3% warmup, one continuous cosine decay over all epochs |
59
  | Precision | BF16 training |
 
60
  | Kernels | Liger required; custom Triton enabled |
61
 
62
- The tokenized dataset view is published under
63
- `tokenized/tr-hash-32k-v1/` in
64
- [`AETHORIA-AI/luciole-16way-sft-209k`](https://huggingface.co/datasets/AETHORIA-AI/luciole-16way-sft-209k),
65
- including hashes and the assistant-only label mask.
 
 
 
 
66
 
67
- ## Architecture
 
68
 
69
- 201.2M parameters, 16 transformer layers, GQA (14 query heads / 2 KV heads),
70
- deterministic token-ID-routed TR-Hash MoE (4 stored experts, top-2 active), and
71
- tied embeddings. Loading requires the Complexity Framework / TR-Hash runtime.
 
72
 
73
  ## License
74
 
75
- Apache License 2.0. This license applies to the model files and
76
- repository-authored material. Source datasets and individual documents retain
77
- their own licenses and terms. See [`LICENSE`](LICENSE).
 
2
  license: apache-2.0
3
  language:
4
  - en
5
+ - fr
6
  pipeline_tag: text-generation
7
+ library_name: transformers
8
  tags:
9
+ - pytorch
10
  - safetensors
11
  - tr-hash
12
  - mixture-of-experts
 
16
  - custom-code
17
  base_model: AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement
18
  datasets:
19
+ - AETHORIA-AI/TR-HASH-MoE-200M-SFT-v2-300K
20
  ---
21
 
22
+ # TR-HASH MoE 200M — 160B-source Full SFT v2
23
 
24
  Full-parameter instruction SFT of
25
+ [`AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement`](https://huggingface.co/AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement) on the audited
26
+ [`AETHORIA-AI/TR-HASH-MoE-200M-SFT-v2-300K`](https://huggingface.co/datasets/AETHORIA-AI/TR-HASH-MoE-200M-SFT-v2-300K). This release is
27
+ **not LoRA or QLoRA**: all 201.2M model parameters were trainable.
28
 
29
+ The root `model.safetensors` is the **epoch 3 / step
30
+ 5,982** checkpoint. The strict behavioral regression gate did not pass; this checkpoint was manually promoted because it led all three epochs on full PIQA and held-out SFT loss. The failed checks remain published for transparency.
 
31
 
32
  ## Results
33
 
34
+ | Epoch | Step | Held-out SFT loss | SFT ppl | PIQA acc | PIQA acc_norm | Behavior gate |
35
+ |---:|---:|---:|---:|---:|---:|:---:|
36
+ | 1 | 1,994 | 0.990943 | 2.69 | 67.90% | 68.93% | fail |
37
+ | 2 | 3,988 | 0.963912 | 2.62 | 67.85% | 68.82% | fail |
38
+ | 3 | 5,982 | 0.959617 | 2.61 | 68.01% | 69.10% | fail |
39
 
40
+ PIQA uses the complete 1,838-example validation split, zero-shot causal
41
+ continuation log-likelihood, no chat template, maximum length 2,048 and FP16
42
+ PyTorch with the custom Triton path. Behavioral reports and exact prompts are
43
+ published under `training/sft-v2-300k/evaluations/`.
 
 
 
44
 
45
  ## Training recipe
46
 
47
  | Setting | Value |
48
  |---|---|
49
  | Method | Full-parameter supervised fine-tuning |
50
+ | Source | Refinement step 8,156 (about 162B prior token exposures) |
51
+ | Dataset | 300,000 train / 3,000 held-out examples |
52
+ | Tokenized corpus | 202,948,693 train tokens; no truncation |
53
+ | Supervision | Final assistant turn only; prior assistant turns masked |
54
  | Epochs | 3 |
55
+ | Context | 2,048 tokens |
56
+ | Tokenizer | TR-HASH 32,000-token vocabulary; EOS `</s>` (ID 0) |
57
  | Optimizer | AdamW, betas 0.9 / 0.95, weight decay 0.1 |
58
+ | LR | 2e-5 peak, 3% warmup, continuous cosine decay |
59
  | Precision | BF16 training |
60
+ | Root SafeTensors precision | bfloat16 |
61
  | Kernels | Liger required; custom Triton enabled |
62
 
63
+ ## Architecture and loading
64
+
65
+ 201.2M parameters, 16 decoder layers, GQA (14 query heads / 2 KV heads),
66
+ four stored deterministic token-ID-routed experts with top-2 activation, an
67
+ always-on shared SwiGLU path and tied embeddings. The persisted multi-hash
68
+ routing tables are part of the checkpoint.
69
+
70
+ The repository includes an autonomous Transformers adapter. Load it with:
71
 
72
+ ```python
73
+ from transformers import AutoModelForCausalLM, AutoTokenizer
74
 
75
+ repo = "AETHORIA-AI/TR-HASH-MoE-200M-160B-SFT"
76
+ tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
77
+ model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True)
78
+ ```
79
 
80
  ## License
81
 
82
+ The released SFT checkpoint is Apache-2.0. Source datasets retain their own
83
+ licenses and terms; see the dataset manifest for the per-source audit.
 
chat_template.json CHANGED
@@ -9,7 +9,7 @@
9
  },
10
  "assistant_only_loss": true,
11
  "assistant_prefix": "Assistant:\n",
12
- "eos_token": "<|endoftext|>",
13
  "id": "complexity-chat-v2",
14
  "system_format": "System:\n{content}\n\n",
15
  "system_prompt": "",
 
9
  },
10
  "assistant_only_loss": true,
11
  "assistant_prefix": "Assistant:\n",
12
+ "eos_token": "</s>",
13
  "id": "complexity-chat-v2",
14
  "system_format": "System:\n{content}\n\n",
15
  "system_prompt": "",
config.json CHANGED
@@ -6,6 +6,11 @@
6
  ],
7
  "attention_dropout": 0.0,
8
  "attention_type": "gqa",
 
 
 
 
 
9
  "causal_context_fusion_size": 0,
10
  "causal_context_gate_init": 1.0,
11
  "causal_contextual_mix_init": 0.0,
@@ -20,6 +25,7 @@
20
  "causal_stable_delta": false,
21
  "causal_state_rank": 16,
22
  "collect_moe_telemetry": false,
 
23
  "expert_initialization": "gpt_normal",
24
  "extra_config": {},
25
  "hash_channel_scale_init": 0.0,
@@ -29,6 +35,8 @@
29
  "initializer_range": 0.02,
30
  "intermediate_size": 256,
31
  "is_causal": true,
 
 
32
  "learn_hash_channel_modulation": false,
33
  "learn_hash_pair_gates": false,
34
  "lexical_gqa_gate_init": 0.0,
@@ -51,15 +59,16 @@
51
  "micro_expert_width": 16,
52
  "micro_num_experts": 4,
53
  "mlp_type": "tr_hash_engine",
54
- "model_type": "tr_hash",
55
  "mup_base_width": 256,
56
  "norm_eps": 1e-06,
57
  "norm_type": "rmsnorm",
58
  "num_attention_heads": 14,
59
  "num_experts": 4,
 
60
  "num_hidden_layers": 16,
61
  "num_key_value_heads": 2,
62
- "parameter_count": 201194368,
63
  "rope_fraction": 1.0,
64
  "rope_theta": 10000.0,
65
  "rope_type": "standard",
@@ -83,7 +92,7 @@
83
  "token_frequencies": null,
84
  "top_k": 2,
85
  "top_k_primary_weight": 0.5,
86
- "torch_dtype": "float32",
87
  "tr_mha_adapter_gate_init": 0.1,
88
  "tr_mha_adapter_rank": 8,
89
  "tr_mha_id_other_logit": -2.0,
@@ -94,6 +103,7 @@
94
  "tr_mha_top_k": 2,
95
  "tr_mha_verifier_gate_init": 0.1,
96
  "tr_mha_verifier_temperature": 1.0,
 
97
  "use_cache": true,
98
  "use_cggr": "auto",
99
  "use_custom_kernels": true,
 
6
  ],
7
  "attention_dropout": 0.0,
8
  "attention_type": "gqa",
9
+ "auto_map": {
10
+ "AutoConfig": "configuration_tr_hash_moe.TRHashConfig",
11
+ "AutoModelForCausalLM": "modeling_tr_hash_moe.TRHashForCausalLM"
12
+ },
13
+ "bos_token_id": 2,
14
  "causal_context_fusion_size": 0,
15
  "causal_context_gate_init": 1.0,
16
  "causal_contextual_mix_init": 0.0,
 
25
  "causal_stable_delta": false,
26
  "causal_state_rank": 16,
27
  "collect_moe_telemetry": false,
28
+ "eos_token_id": 0,
29
  "expert_initialization": "gpt_normal",
30
  "extra_config": {},
31
  "hash_channel_scale_init": 0.0,
 
35
  "initializer_range": 0.02,
36
  "intermediate_size": 256,
37
  "is_causal": true,
38
+ "is_decoder": true,
39
+ "is_encoder_decoder": false,
40
  "learn_hash_channel_modulation": false,
41
  "learn_hash_pair_gates": false,
42
  "lexical_gqa_gate_init": 0.0,
 
59
  "micro_expert_width": 16,
60
  "micro_num_experts": 4,
61
  "mlp_type": "tr_hash_engine",
62
+ "model_type": "tr_hash_moe",
63
  "mup_base_width": 256,
64
  "norm_eps": 1e-06,
65
  "norm_type": "rmsnorm",
66
  "num_attention_heads": 14,
67
  "num_experts": 4,
68
+ "num_experts_per_tok": 2,
69
  "num_hidden_layers": 16,
70
  "num_key_value_heads": 2,
71
+ "pad_token_id": 1,
72
  "rope_fraction": 1.0,
73
  "rope_theta": 10000.0,
74
  "rope_type": "standard",
 
92
  "token_frequencies": null,
93
  "top_k": 2,
94
  "top_k_primary_weight": 0.5,
95
+ "torch_dtype": "bfloat16",
96
  "tr_mha_adapter_gate_init": 0.1,
97
  "tr_mha_adapter_rank": 8,
98
  "tr_mha_id_other_logit": -2.0,
 
103
  "tr_mha_top_k": 2,
104
  "tr_mha_verifier_gate_init": 0.1,
105
  "tr_mha_verifier_temperature": 1.0,
106
+ "unk_token_id": 3,
107
  "use_cache": true,
108
  "use_cggr": "auto",
109
  "use_custom_kernels": true,
configuration_tr_hash_moe.py ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Hugging Face configuration for TR-HASH deterministic MoE models.
2
+
3
+ This file is intentionally self-contained so it can be copied to the root of
4
+ a Hub model repository and loaded with ``trust_remote_code=True``.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from transformers import PretrainedConfig
10
+
11
+
12
+ class TRHashConfig(PretrainedConfig):
13
+ """Configuration for the public TR-HASH decoder-only checkpoints."""
14
+
15
+ model_type = "tr_hash_moe"
16
+ keys_to_ignore_at_inference = ["past_key_values"]
17
+
18
+ def __init__(
19
+ self,
20
+ hidden_size: int = 896,
21
+ num_hidden_layers: int = 16,
22
+ num_attention_heads: int = 14,
23
+ num_key_value_heads: int = 2,
24
+ intermediate_size: int = 256,
25
+ shared_intermediate_size: int = 3072,
26
+ vocab_size: int = 32000,
27
+ max_position_embeddings: int = 2048,
28
+ attention_type: str = "gqa",
29
+ mlp_type: str = "tr_hash_engine",
30
+ num_experts: int = 4,
31
+ num_experts_per_tok: int = 2,
32
+ top_k_primary_weight: float | None = 0.5,
33
+ routing_strategy: str = "token_id_multi_hash",
34
+ route_hash_count: int = 2,
35
+ shared_expert: bool = True,
36
+ shared_output_scale: float = 1.0,
37
+ routed_output_scale: float = 2.0,
38
+ use_qk_norm: bool = True,
39
+ norm_eps: float = 1e-6,
40
+ rope_theta: float = 10000.0,
41
+ attention_dropout: float = 0.0,
42
+ use_cache: bool = True,
43
+ tie_word_embeddings: bool = True,
44
+ initializer_range: float = 0.02,
45
+ **kwargs,
46
+ ) -> None:
47
+ # Accept native pre-adapter configs while keeping architectural top-k
48
+ # separate from Transformers' generation ``top_k`` sampling option.
49
+ legacy_top_k = kwargs.pop("top_k", None)
50
+ if legacy_top_k is not None:
51
+ num_experts_per_tok = int(legacy_top_k)
52
+ if attention_type != "gqa":
53
+ raise ValueError("The public TR-HASH adapter currently supports GQA only")
54
+ if mlp_type not in {"tr_hash_engine", "tr_hash_moe"}:
55
+ raise ValueError("TRHashConfig requires mlp_type='tr_hash_engine'")
56
+ if hidden_size % num_attention_heads:
57
+ raise ValueError("hidden_size must be divisible by num_attention_heads")
58
+ if num_attention_heads % num_key_value_heads:
59
+ raise ValueError("num_attention_heads must be divisible by num_key_value_heads")
60
+ if intermediate_size % num_experts:
61
+ raise ValueError("intermediate_size must be divisible by num_experts")
62
+ if not 1 <= num_experts_per_tok <= num_experts:
63
+ raise ValueError("num_experts_per_tok must be between 1 and num_experts")
64
+
65
+ self.hidden_size = int(hidden_size)
66
+ self.num_hidden_layers = int(num_hidden_layers)
67
+ self.num_attention_heads = int(num_attention_heads)
68
+ self.num_key_value_heads = int(num_key_value_heads)
69
+ self.intermediate_size = int(intermediate_size)
70
+ self.shared_intermediate_size = int(shared_intermediate_size)
71
+ self.vocab_size = int(vocab_size)
72
+ self.max_position_embeddings = int(max_position_embeddings)
73
+ self.attention_type = attention_type
74
+ self.mlp_type = mlp_type
75
+ self.num_experts = int(num_experts)
76
+ self.num_experts_per_tok = int(num_experts_per_tok)
77
+ self.top_k_primary_weight = top_k_primary_weight
78
+ self.routing_strategy = routing_strategy
79
+ self.route_hash_count = int(route_hash_count)
80
+ self.shared_expert = bool(shared_expert)
81
+ self.shared_output_scale = float(shared_output_scale)
82
+ self.routed_output_scale = float(routed_output_scale)
83
+ self.use_qk_norm = bool(use_qk_norm)
84
+ self.norm_eps = float(norm_eps)
85
+ self.rope_theta = float(rope_theta)
86
+ self.attention_dropout = float(attention_dropout)
87
+ self.initializer_range = float(initializer_range)
88
+ self.use_cache = bool(use_cache)
89
+ self.head_dim = self.hidden_size // self.num_attention_heads
90
+ self.num_key_value_groups = self.num_attention_heads // self.num_key_value_heads
91
+ self.expert_width = self.intermediate_size // self.num_experts
92
+
93
+ kwargs.setdefault("architectures", ["TRHashForCausalLM"])
94
+ # These are emitted by save_pretrained/export and therefore come back
95
+ # through **kwargs on reload. Consume them before passing the canonical
96
+ # values below so repeated save/load cycles stay valid.
97
+ kwargs.pop("is_decoder", None)
98
+ kwargs.pop("is_encoder_decoder", None)
99
+ super().__init__(
100
+ vocab_size=self.vocab_size,
101
+ max_position_embeddings=self.max_position_embeddings,
102
+ use_cache=use_cache,
103
+ tie_word_embeddings=tie_word_embeddings,
104
+ is_decoder=True,
105
+ is_encoder_decoder=False,
106
+ **kwargs,
107
+ )
108
+ # Transformers 5 no longer materializes every model-specific keyword
109
+ # passed to PretrainedConfig, while Transformers 4 did. Keep the
110
+ # decoder cache contract explicit across both release lines.
111
+ self.use_cache = bool(use_cache)
112
+
113
+
114
+ __all__ = ["TRHashConfig"]
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2dd5a35624dda4cb267d872f974fd448c9e085004c163b31772515bfd9573caa
3
- size 813515200
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5a5e0a4eb94ec9e0bb79ab4fefc8b25b3ce6e33e657276c95f43c79b5cbbed4
3
+ size 411125600
model_config.yaml ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ active_expert_width: null
2
+ active_num_experts: null
3
+ attention_dropout: 0.0
4
+ attention_type: gqa
5
+ causal_context_fusion_size: 0
6
+ causal_context_gate_init: 1.0
7
+ causal_contextual_mix_init: 0.0
8
+ causal_conv_dilation_cycle: 8
9
+ causal_conv_kernel_size: 4
10
+ causal_delta_chunk_size: 512
11
+ causal_delta_collision_normalized: false
12
+ causal_delta_lexical_forge: false
13
+ causal_delta_lexical_values: false
14
+ causal_delta_occurrence_address: false
15
+ causal_delta_timescales: 1
16
+ causal_stable_delta: false
17
+ causal_state_rank: 16
18
+ collect_moe_telemetry: false
19
+ expert_initialization: gpt_normal
20
+ extra_config: {}
21
+ hash_channel_scale_init: 0.0
22
+ hash_pair_gate_init: 0.5
23
+ hidden_act: silu
24
+ hidden_size: 896
25
+ initializer_range: 0.02
26
+ intermediate_size: 256
27
+ is_causal: true
28
+ learn_hash_channel_modulation: false
29
+ learn_hash_pair_gates: false
30
+ lexical_gqa_gate_init: 0.0
31
+ lexical_gqa_rank: 16
32
+ lexical_gqa_use_token_code: true
33
+ lexical_key_gate_init: 0.05
34
+ lexical_object_gate_init: 0.1
35
+ lexical_object_rank: 16
36
+ lexical_zipf_alpha: 0.25
37
+ lexical_zipf_floor: 0.1
38
+ lexical_zipf_mode: uniform
39
+ lexical_zipf_path: null
40
+ lexical_zipf_permutation_seed: 1729
41
+ lsh_bits: 0
42
+ lsh_from_layer: 0
43
+ lsh_routing: false
44
+ lsh_threshold_mode: zero
45
+ max_position_embeddings: 2048
46
+ micro_expert_gate_init: 0.1
47
+ micro_expert_width: 16
48
+ micro_num_experts: 4
49
+ mlp_type: tr_hash_engine
50
+ mup_base_width: 256
51
+ norm_eps: 1.0e-06
52
+ norm_type: rmsnorm
53
+ num_attention_heads: 14
54
+ num_experts: 4
55
+ num_hidden_layers: 16
56
+ num_key_value_heads: 2
57
+ rope_fraction: 1.0
58
+ rope_theta: 10000.0
59
+ rope_type: standard
60
+ route_hash_count: 2
61
+ routed_gate_init: 1.0
62
+ routed_output_scale: 2.0
63
+ routed_output_scale_first_layer: null
64
+ routed_output_scale_last_layer: null
65
+ routing_strategy: token_id_multi_hash
66
+ shared_expert: true
67
+ shared_expert_chunk_tokens: 0
68
+ shared_gate_init: 1.0
69
+ shared_intermediate_size: 3072
70
+ shared_output_scale: 1.0
71
+ shared_output_scale_first_layer: null
72
+ shared_output_scale_last_layer: null
73
+ sliding_window: null
74
+ static_expert_capacity: false
75
+ tie_lexical_object_embeddings: false
76
+ tie_word_embeddings: true
77
+ token_frequencies: null
78
+ top_k: 2
79
+ top_k_primary_weight: 0.5
80
+ tr_mha_adapter_gate_init: 0.1
81
+ tr_mha_adapter_rank: 8
82
+ tr_mha_id_other_logit: -2.0
83
+ tr_mha_id_primary_logit: 2.0
84
+ tr_mha_id_secondary_logit: 1.0
85
+ tr_mha_num_experts: 4
86
+ tr_mha_targets: qv
87
+ tr_mha_top_k: 2
88
+ tr_mha_verifier_gate_init: 0.1
89
+ tr_mha_verifier_temperature: 1.0
90
+ use_cache: true
91
+ use_cggr: auto
92
+ use_custom_kernels: true
93
+ use_mup_attn_scale: false
94
+ use_mup_init: false
95
+ use_mup_output_mult: false
96
+ use_qk_norm: true
97
+ use_sdpa: true
98
+ use_shared_routed_gates: false
99
+ vocab_size: 32000
modeling_tr_hash_moe.py ADDED
@@ -0,0 +1,548 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Self-contained Transformers implementation of TR-HASH MoE.
2
+
3
+ The module preserves the native checkpoint tensor names. Its universal
4
+ PyTorch expert path is the numerical reference; optimized serving remains the
5
+ job of TR-Hash-i64 and, once supported, vLLM.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import math
11
+ from typing import Any
12
+
13
+ import torch
14
+ import torch.nn as nn
15
+ import torch.nn.functional as F
16
+ from transformers import GenerationMixin, PreTrainedModel
17
+ from transformers.modeling_outputs import CausalLMOutputWithPast
18
+
19
+ from .configuration_tr_hash_moe import TRHashConfig
20
+
21
+ try:
22
+ from transformers.cache_utils import Cache, DynamicCache
23
+ except ImportError: # Transformers 4.30-4.35: legacy tuple caches only.
24
+
25
+ class Cache: # type: ignore[no-redef]
26
+ pass
27
+
28
+ DynamicCache = None # type: ignore[assignment,misc]
29
+
30
+
31
+ _GenerationBase = object if issubclass(PreTrainedModel, GenerationMixin) else GenerationMixin
32
+
33
+
34
+ class TRHashRMSNorm(nn.Module):
35
+ def __init__(self, hidden_size: int, eps: float) -> None:
36
+ super().__init__()
37
+ self.weight = nn.Parameter(torch.ones(hidden_size))
38
+ self.eps = eps
39
+
40
+ def forward(self, hidden_states: torch.Tensor) -> torch.Tensor:
41
+ variance = hidden_states.pow(2).mean(dim=-1, keepdim=True)
42
+ hidden_states = hidden_states * torch.rsqrt(variance + self.eps)
43
+ return self.weight * hidden_states
44
+
45
+
46
+ def _rotate_half(values: torch.Tensor) -> torch.Tensor:
47
+ first, second = values.chunk(2, dim=-1)
48
+ return torch.cat((-second, first), dim=-1)
49
+
50
+
51
+ class TRHashRotaryEmbedding(nn.Module):
52
+ def __init__(self, dim: int, max_position_embeddings: int, theta: float) -> None:
53
+ super().__init__()
54
+ inv_freq = 1.0 / (theta ** (torch.arange(0, dim, 2, dtype=torch.float32) / dim))
55
+ self.register_buffer("inv_freq", inv_freq)
56
+ self.max_position_embeddings = max_position_embeddings
57
+
58
+ def forward(
59
+ self, position_ids: torch.LongTensor, dtype: torch.dtype
60
+ ) -> tuple[torch.Tensor, torch.Tensor]:
61
+ frequencies = torch.einsum("bi,j->bij", position_ids.float(), self.inv_freq.float())
62
+ embeddings = torch.cat((frequencies, frequencies), dim=-1)
63
+ return embeddings.cos().to(dtype=dtype), embeddings.sin().to(dtype=dtype)
64
+
65
+
66
+ class TRHashAttention(nn.Module):
67
+ def __init__(self, config: TRHashConfig, layer_idx: int) -> None:
68
+ super().__init__()
69
+ self.layer_idx = layer_idx
70
+ self.num_heads = config.num_attention_heads
71
+ self.num_key_value_heads = config.num_key_value_heads
72
+ self.num_key_value_groups = config.num_key_value_groups
73
+ self.head_dim = config.head_dim
74
+ self.dropout = config.attention_dropout
75
+
76
+ kv_size = self.num_key_value_heads * self.head_dim
77
+ self.k_proj = nn.Linear(config.hidden_size, kv_size, bias=False)
78
+ self.q_proj = nn.Linear(config.hidden_size, config.hidden_size, bias=False)
79
+ self.v_proj = nn.Linear(config.hidden_size, kv_size, bias=False)
80
+ self.o_proj = nn.Linear(config.hidden_size, config.hidden_size, bias=False)
81
+ if config.use_qk_norm:
82
+ self.q_norm = TRHashRMSNorm(self.head_dim, 1e-6)
83
+ self.k_norm = TRHashRMSNorm(self.head_dim, 1e-6)
84
+ else:
85
+ self.q_norm = None
86
+ self.k_norm = None
87
+ self.rotary_emb = TRHashRotaryEmbedding(
88
+ self.head_dim,
89
+ config.max_position_embeddings,
90
+ config.rope_theta,
91
+ )
92
+
93
+ def forward(
94
+ self,
95
+ hidden_states: torch.Tensor,
96
+ attention_mask: torch.Tensor | None,
97
+ position_ids: torch.LongTensor,
98
+ past_key_values: Cache | tuple[torch.Tensor, torch.Tensor] | None,
99
+ use_cache: bool,
100
+ cache_position: torch.LongTensor | None,
101
+ ) -> tuple[torch.Tensor, Any]:
102
+ batch_size, sequence_length, _ = hidden_states.shape
103
+ # Match complexity-framework's fused K/Q/V projection order exactly.
104
+ projection = F.linear(
105
+ hidden_states,
106
+ torch.cat(
107
+ (self.k_proj.weight, self.q_proj.weight, self.v_proj.weight),
108
+ dim=0,
109
+ ),
110
+ )
111
+ kv_size = self.num_key_value_heads * self.head_dim
112
+ key_states, query_states, value_states = projection.split(
113
+ (kv_size, self.num_heads * self.head_dim, kv_size), dim=-1
114
+ )
115
+ query_states = query_states.view(
116
+ batch_size, sequence_length, self.num_heads, self.head_dim
117
+ ).transpose(1, 2)
118
+ key_states = key_states.view(
119
+ batch_size, sequence_length, self.num_key_value_heads, self.head_dim
120
+ ).transpose(1, 2)
121
+ value_states = value_states.view(
122
+ batch_size, sequence_length, self.num_key_value_heads, self.head_dim
123
+ ).transpose(1, 2)
124
+
125
+ if self.q_norm is not None:
126
+ query_states = self.q_norm(query_states)
127
+ key_states = self.k_norm(key_states)
128
+ cos, sin = self.rotary_emb(position_ids, query_states.dtype)
129
+ cos = cos.unsqueeze(1)
130
+ sin = sin.unsqueeze(1)
131
+ query_states = query_states * cos + _rotate_half(query_states) * sin
132
+ key_states = key_states * cos + _rotate_half(key_states) * sin
133
+
134
+ new_past: Any = None
135
+ if isinstance(past_key_values, Cache):
136
+ key_states, value_states = past_key_values.update(
137
+ key_states,
138
+ value_states,
139
+ self.layer_idx,
140
+ {"cache_position": cache_position},
141
+ )
142
+ new_past = past_key_values if use_cache else None
143
+ elif past_key_values is not None:
144
+ key_states = torch.cat((past_key_values[0], key_states), dim=2)
145
+ value_states = torch.cat((past_key_values[1], value_states), dim=2)
146
+ new_past = (key_states, value_states) if use_cache else None
147
+ elif use_cache:
148
+ new_past = (key_states, value_states)
149
+
150
+ key_states = key_states.repeat_interleave(self.num_key_value_groups, dim=1)
151
+ value_states = value_states.repeat_interleave(self.num_key_value_groups, dim=1)
152
+ query_length = query_states.shape[-2]
153
+ key_length = key_states.shape[-2]
154
+ is_causal = attention_mask is None and query_length == key_length
155
+ attention_output = F.scaled_dot_product_attention(
156
+ query_states,
157
+ key_states,
158
+ value_states,
159
+ attn_mask=attention_mask,
160
+ dropout_p=self.dropout if self.training else 0.0,
161
+ is_causal=is_causal,
162
+ scale=1.0 / math.sqrt(self.head_dim),
163
+ )
164
+ attention_output = attention_output.transpose(1, 2).reshape(batch_size, sequence_length, -1)
165
+ return self.o_proj(attention_output), new_past
166
+
167
+
168
+ class TRHashExpertEngine(nn.Module):
169
+ """Shared SwiGLU plus fixed top-k experts with native tensor names."""
170
+
171
+ def __init__(self, config: TRHashConfig) -> None:
172
+ super().__init__()
173
+ self.num_experts = config.num_experts
174
+ self.top_k = config.num_experts_per_tok
175
+ self.vocab_size = config.vocab_size
176
+ self.shared_output_scale = config.shared_output_scale
177
+ self.routed_output_scale = config.routed_output_scale
178
+ if self.top_k == 1:
179
+ route_weights = (1.0,)
180
+ else:
181
+ primary = (
182
+ 1.0 / self.top_k
183
+ if config.top_k_primary_weight is None
184
+ else float(config.top_k_primary_weight)
185
+ )
186
+ route_weights = (
187
+ primary,
188
+ *((1.0 - primary) / (self.top_k - 1) for _ in range(self.top_k - 1)),
189
+ )
190
+ # Keep these as Python scalars. Transformers may construct the model
191
+ # on the meta device while streaming a safetensors checkpoint; a
192
+ # derived non-persistent tensor buffer can otherwise be materialized
193
+ # as zeros because there is intentionally no checkpoint key for it.
194
+ self.route_weights = tuple(float(value) for value in route_weights)
195
+ # The checkpoint supplies these persisted routing artifacts. Zero
196
+ # initialization prevents a second, subtly different hash builder from
197
+ # ever being treated as authoritative.
198
+ self.register_buffer(
199
+ "route_table",
200
+ torch.zeros(self.top_k, self.vocab_size, dtype=torch.long),
201
+ )
202
+ self.register_buffer(
203
+ "fused_route_codes",
204
+ torch.zeros(self.vocab_size, dtype=torch.uint8),
205
+ )
206
+ pair_count = self.num_experts * (self.num_experts - 1) // 2
207
+ self.register_buffer(
208
+ "fused_expert_pairs",
209
+ torch.zeros(pair_count, 2, dtype=torch.int32),
210
+ )
211
+ self.expert_gate = nn.Parameter(
212
+ torch.empty(config.num_experts, config.hidden_size, config.expert_width)
213
+ )
214
+ self.expert_up = nn.Parameter(
215
+ torch.empty(config.num_experts, config.hidden_size, config.expert_width)
216
+ )
217
+ self.expert_down = nn.Parameter(
218
+ torch.empty(config.num_experts, config.expert_width, config.hidden_size)
219
+ )
220
+ if config.shared_expert:
221
+ self.shared_gate = nn.Linear(
222
+ config.hidden_size, config.shared_intermediate_size, bias=False
223
+ )
224
+ self.shared_up = nn.Linear(
225
+ config.hidden_size, config.shared_intermediate_size, bias=False
226
+ )
227
+ self.shared_down = nn.Linear(
228
+ config.shared_intermediate_size, config.hidden_size, bias=False
229
+ )
230
+ else:
231
+ self.shared_gate = self.shared_up = self.shared_down = None
232
+
233
+ @property
234
+ def experts(self) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
235
+ """Expose the sparse expert block to serving/quantization adapters."""
236
+
237
+ return self.expert_gate, self.expert_up, self.expert_down
238
+
239
+ def forward(self, hidden_states: torch.Tensor, token_ids: torch.LongTensor) -> torch.Tensor:
240
+ batch_size, sequence_length, hidden_size = hidden_states.shape
241
+ flat_states = hidden_states.reshape(-1, hidden_size)
242
+ if self.shared_gate is None:
243
+ shared = torch.zeros_like(flat_states)
244
+ else:
245
+ shared = self.shared_down(
246
+ F.silu(self.shared_gate(flat_states)) * self.shared_up(flat_states)
247
+ )
248
+ routes = self.route_table[:, token_ids.clamp(0, self.vocab_size - 1)].reshape(
249
+ self.top_k, -1
250
+ )
251
+ route_weights = flat_states.new_tensor(self.route_weights).view(-1, 1)
252
+ routed = torch.zeros_like(flat_states)
253
+ for expert_index in range(self.num_experts):
254
+ token_weight = (routes.eq(expert_index).to(flat_states.dtype) * route_weights).sum(
255
+ dim=0
256
+ )
257
+ active_states = flat_states * token_weight.ne(0).to(flat_states.dtype).unsqueeze(-1)
258
+ intermediate = F.silu(active_states @ self.expert_gate[expert_index]) * (
259
+ active_states @ self.expert_up[expert_index]
260
+ )
261
+ expert_output = intermediate @ self.expert_down[expert_index]
262
+ routed.add_(expert_output * token_weight.unsqueeze(-1))
263
+ output = self.shared_output_scale * shared + self.routed_output_scale * routed
264
+ return output.view(batch_size, sequence_length, hidden_size)
265
+
266
+
267
+ class TRHashMLP(nn.Module):
268
+ def __init__(self, config: TRHashConfig) -> None:
269
+ super().__init__()
270
+ self.engine = TRHashExpertEngine(config)
271
+
272
+ @property
273
+ def experts(self):
274
+ return self.engine.experts
275
+
276
+ def forward(self, hidden_states: torch.Tensor, token_ids: torch.LongTensor):
277
+ return self.engine(hidden_states, token_ids)
278
+
279
+
280
+ class TRHashDecoderLayer(nn.Module):
281
+ def __init__(self, config: TRHashConfig, layer_idx: int) -> None:
282
+ super().__init__()
283
+ self.input_layernorm = TRHashRMSNorm(config.hidden_size, config.norm_eps)
284
+ self.self_attn = TRHashAttention(config, layer_idx)
285
+ self.post_attention_layernorm = TRHashRMSNorm(config.hidden_size, config.norm_eps)
286
+ self.mlp = TRHashMLP(config)
287
+
288
+ def forward(
289
+ self,
290
+ hidden_states: torch.Tensor,
291
+ token_ids: torch.LongTensor,
292
+ attention_mask: torch.Tensor | None,
293
+ position_ids: torch.LongTensor,
294
+ past_key_values: Any,
295
+ use_cache: bool,
296
+ cache_position: torch.LongTensor | None,
297
+ ) -> tuple[torch.Tensor, Any]:
298
+ residual = hidden_states
299
+ attention_output, new_past = self.self_attn(
300
+ self.input_layernorm(hidden_states),
301
+ attention_mask,
302
+ position_ids,
303
+ past_key_values,
304
+ use_cache,
305
+ cache_position,
306
+ )
307
+ hidden_states = residual + attention_output
308
+ return (
309
+ hidden_states + self.mlp(self.post_attention_layernorm(hidden_states), token_ids),
310
+ new_past,
311
+ )
312
+
313
+
314
+ class TRHashForCausalLM(PreTrainedModel, _GenerationBase):
315
+ config_class = TRHashConfig
316
+ base_model_prefix = ""
317
+ main_input_name = "input_ids"
318
+ _supports_cache_class = True
319
+ _supports_sdpa = True
320
+ _no_split_modules = ["TRHashDecoderLayer"]
321
+
322
+ def __init__(self, config: TRHashConfig) -> None:
323
+ super().__init__(config)
324
+ self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size)
325
+ self.layers = nn.ModuleList(
326
+ TRHashDecoderLayer(config, index) for index in range(config.num_hidden_layers)
327
+ )
328
+ self.norm = TRHashRMSNorm(config.hidden_size, config.norm_eps)
329
+ # Besides initializing newly-created models, post_init records the
330
+ # loading/tied-weight metadata required by both Transformers 4 and 5.
331
+ # from_pretrained replaces every persisted tensor immediately after.
332
+ self.post_init()
333
+
334
+ def get_input_embeddings(self):
335
+ return self.embed_tokens
336
+
337
+ def set_input_embeddings(self, value):
338
+ self.embed_tokens = value
339
+
340
+ def get_output_embeddings(self):
341
+ return self.embed_tokens
342
+
343
+ def set_output_embeddings(self, value):
344
+ self.embed_tokens = value
345
+
346
+ def tie_weights(self, *args, **kwargs):
347
+ return None
348
+
349
+ def prepare_inputs_for_generation(
350
+ self,
351
+ input_ids: torch.LongTensor,
352
+ past_key_values=None,
353
+ attention_mask: torch.Tensor | None = None,
354
+ inputs_embeds: torch.Tensor | None = None,
355
+ **kwargs,
356
+ ) -> dict[str, Any]:
357
+ """Bridge the generation contracts used by Transformers 4 and 5."""
358
+
359
+ if isinstance(past_key_values, Cache):
360
+ has_cached_values = past_key_values.get_seq_length() > 0
361
+ else:
362
+ has_cached_values = past_key_values is not None
363
+ if has_cached_values:
364
+ input_ids = input_ids[:, -1:]
365
+ position_ids = kwargs.get("position_ids")
366
+ if position_ids is None and attention_mask is not None:
367
+ position_ids = attention_mask.long().cumsum(-1) - 1
368
+ position_ids.masked_fill_(attention_mask.eq(0), 0)
369
+ if position_ids is not None:
370
+ position_ids = position_ids[:, -input_ids.shape[1] :]
371
+ model_inputs: dict[str, Any]
372
+ if inputs_embeds is not None and past_key_values is None:
373
+ model_inputs = {"inputs_embeds": inputs_embeds}
374
+ else:
375
+ model_inputs = {"input_ids": input_ids}
376
+ model_inputs.update(
377
+ {
378
+ "attention_mask": attention_mask,
379
+ "position_ids": position_ids,
380
+ "past_key_values": past_key_values,
381
+ "use_cache": kwargs.get("use_cache", True),
382
+ }
383
+ )
384
+ return model_inputs
385
+
386
+ @staticmethod
387
+ def _reorder_cache(past_key_values, beam_idx: torch.LongTensor):
388
+ if isinstance(past_key_values, Cache):
389
+ past_key_values.reorder_cache(beam_idx)
390
+ return past_key_values
391
+ return tuple(
392
+ tuple(state.index_select(0, beam_idx.to(state.device)) for state in layer)
393
+ for layer in past_key_values
394
+ )
395
+
396
+ @staticmethod
397
+ def _causal_padding_mask(
398
+ attention_mask: torch.Tensor | None,
399
+ batch_size: int,
400
+ query_length: int,
401
+ key_length: int,
402
+ dtype: torch.dtype,
403
+ device: torch.device,
404
+ ) -> torch.Tensor | None:
405
+ needs_offset_causal_mask = key_length != query_length and query_length > 1
406
+ has_padding = attention_mask is not None and not bool(attention_mask.all())
407
+ if not needs_offset_causal_mask and not has_padding:
408
+ return None
409
+ minimum = torch.finfo(dtype).min
410
+ query_positions = torch.arange(
411
+ key_length - query_length, key_length, device=device
412
+ ).unsqueeze(-1)
413
+ key_positions = torch.arange(key_length, device=device).unsqueeze(0)
414
+ causal = key_positions > query_positions
415
+ mask = causal.view(1, 1, query_length, key_length).expand(
416
+ batch_size, 1, query_length, key_length
417
+ )
418
+ if attention_mask is None:
419
+ padding = torch.zeros_like(mask)
420
+ else:
421
+ padding = attention_mask[:, None, None, :key_length].eq(0)
422
+ return torch.zeros(mask.shape, dtype=dtype, device=device).masked_fill(
423
+ mask | padding, minimum
424
+ )
425
+
426
+ def forward(
427
+ self,
428
+ input_ids: torch.LongTensor | None = None,
429
+ attention_mask: torch.Tensor | None = None,
430
+ position_ids: torch.LongTensor | None = None,
431
+ past_key_values: Cache | tuple | None = None,
432
+ inputs_embeds: torch.Tensor | None = None,
433
+ labels: torch.LongTensor | None = None,
434
+ use_cache: bool | None = None,
435
+ output_attentions: bool | None = None,
436
+ output_hidden_states: bool | None = None,
437
+ return_dict: bool | None = None,
438
+ logits_to_keep: int | torch.Tensor = 0,
439
+ **kwargs,
440
+ ) -> CausalLMOutputWithPast | tuple:
441
+ cache_position = kwargs.pop("cache_position", None)
442
+ if output_attentions:
443
+ raise NotImplementedError("TR-HASH does not return attention weights")
444
+ if input_ids is None and inputs_embeds is None:
445
+ raise ValueError("input_ids or inputs_embeds must be provided")
446
+ if input_ids is not None and inputs_embeds is not None:
447
+ raise ValueError("Specify only one of input_ids and inputs_embeds")
448
+ use_cache = self.config.use_cache if use_cache is None else use_cache
449
+ output_hidden_states = (
450
+ self.config.output_hidden_states
451
+ if output_hidden_states is None
452
+ else output_hidden_states
453
+ )
454
+ return_dict = self.config.return_dict if return_dict is None else return_dict
455
+
456
+ hidden_states = self.embed_tokens(input_ids) if inputs_embeds is None else inputs_embeds
457
+ batch_size, query_length = hidden_states.shape[:2]
458
+ token_ids = input_ids
459
+ if token_ids is None:
460
+ token_ids = torch.zeros(
461
+ batch_size, query_length, dtype=torch.long, device=hidden_states.device
462
+ )
463
+
464
+ if isinstance(past_key_values, Cache):
465
+ past_length = past_key_values.get_seq_length()
466
+ elif past_key_values:
467
+ past_length = past_key_values[0][0].shape[2]
468
+ else:
469
+ past_length = 0
470
+ if use_cache and past_key_values is None and DynamicCache is not None:
471
+ past_key_values = DynamicCache(config=self.config)
472
+ if cache_position is None:
473
+ cache_position = torch.arange(
474
+ past_length,
475
+ past_length + query_length,
476
+ device=hidden_states.device,
477
+ )
478
+ if position_ids is None:
479
+ position_ids = cache_position.unsqueeze(0).expand(batch_size, -1)
480
+ key_length = past_length + query_length
481
+ causal_mask = self._causal_padding_mask(
482
+ attention_mask,
483
+ batch_size,
484
+ query_length,
485
+ key_length,
486
+ hidden_states.dtype,
487
+ hidden_states.device,
488
+ )
489
+
490
+ all_hidden_states = [hidden_states] if output_hidden_states else None
491
+ legacy_cache = [] if use_cache and not isinstance(past_key_values, Cache) else None
492
+ for layer_index, layer in enumerate(self.layers):
493
+ layer_past = (
494
+ past_key_values
495
+ if isinstance(past_key_values, Cache)
496
+ else (past_key_values[layer_index] if past_key_values else None)
497
+ )
498
+ hidden_states, new_past = layer(
499
+ hidden_states,
500
+ token_ids,
501
+ causal_mask,
502
+ position_ids,
503
+ layer_past,
504
+ use_cache,
505
+ cache_position,
506
+ )
507
+ if legacy_cache is not None:
508
+ legacy_cache.append(new_past)
509
+ if all_hidden_states is not None:
510
+ all_hidden_states.append(hidden_states)
511
+ hidden_states = self.norm(hidden_states)
512
+ if all_hidden_states is not None:
513
+ all_hidden_states[-1] = hidden_states
514
+
515
+ if isinstance(logits_to_keep, int) and logits_to_keep > 0:
516
+ selected = hidden_states[:, -logits_to_keep:, :]
517
+ elif isinstance(logits_to_keep, torch.Tensor):
518
+ selected = hidden_states[:, logits_to_keep, :]
519
+ else:
520
+ selected = hidden_states
521
+ logits = F.linear(selected, self.embed_tokens.weight)
522
+ loss = None
523
+ if labels is not None:
524
+ shift_logits = logits[:, :-1].contiguous().float()
525
+ shift_labels = labels[:, 1:].contiguous()
526
+ loss = F.cross_entropy(
527
+ shift_logits.view(-1, self.config.vocab_size),
528
+ shift_labels.view(-1),
529
+ ignore_index=-100,
530
+ )
531
+
532
+ returned_cache = past_key_values if isinstance(past_key_values, Cache) else legacy_cache
533
+ if not return_dict:
534
+ values = (
535
+ logits,
536
+ returned_cache,
537
+ tuple(all_hidden_states) if all_hidden_states else None,
538
+ )
539
+ return ((loss,) + values) if loss is not None else values
540
+ return CausalLMOutputWithPast(
541
+ loss=loss,
542
+ logits=logits,
543
+ past_key_values=returned_cache,
544
+ hidden_states=tuple(all_hidden_states) if all_hidden_states else None,
545
+ )
546
+
547
+
548
+ __all__ = ["TRHashForCausalLM", "TRHashConfig"]
release_manifest.json CHANGED
@@ -1,13 +1,25 @@
1
  {
2
- "dataset": "AETHORIA-AI/luciole-16way-sft-209k",
 
 
 
 
 
 
3
  "method": "full-parameter-sft",
4
- "piqa_acc": 0.6882480957562568,
5
- "piqa_acc_norm": 0.6931447225244831,
 
 
 
6
  "release": "AETHORIA-AI/TR-HASH-MoE-200M-160B-SFT",
7
- "schema_version": 1,
8
- "selected_epoch": 2,
9
- "selected_step": 926,
10
- "selection": "max PIQA acc_norm, then max PIQA acc",
 
11
  "source_model": "AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement",
12
- "weights_sha256": "2dd5a35624dda4cb267d872f974fd448c9e085004c163b31772515bfd9573caa"
 
 
13
  }
 
1
  {
2
+ "architecture": "tr_hash_moe",
3
+ "behavior_gate_passed": false,
4
+ "dataset": "AETHORIA-AI/TR-HASH-MoE-200M-SFT-v2-300K",
5
+ "dataset_revision": "084a658ec47e4ee872f6d67fdbad3602f599424b",
6
+ "floating_parameters": 201194880,
7
+ "matched_eval_loss": 0.959617,
8
+ "matched_eval_ppl": 2.61,
9
  "method": "full-parameter-sft",
10
+ "num_experts": 4,
11
+ "num_experts_per_tok": 2,
12
+ "parameters": 202731072,
13
+ "piqa_acc": 0.6800870511425462,
14
+ "piqa_acc_norm": 0.690968443960827,
15
  "release": "AETHORIA-AI/TR-HASH-MoE-200M-160B-SFT",
16
+ "schema_version": 2,
17
+ "selected_epoch": 3,
18
+ "selected_step": 5982,
19
+ "selection_policy": "manual promotion of epoch 3: highest full-PIQA acc_norm and acc, lowest held-out SFT loss; strict behavior failures retained",
20
+ "source_checkpoint_step": 8156,
21
  "source_model": "AETHORIA-AI/TR-HASH-MoE-200M-160B-Refinement",
22
+ "weights_bytes": 411125600,
23
+ "weights_dtype": "bfloat16",
24
+ "weights_sha256": "b5a5e0a4eb94ec9e0bb79ab4fefc8b25b3ce6e33e657276c95f43c79b5cbbed4"
25
  }
reports/sft-v2-300k/evaluations/epoch_01_step_001994/chat.json ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
3
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_001994",
4
+ "chat_template_applied": true,
5
+ "runtime": "pytorch",
6
+ "generation": {
7
+ "max_tokens": 512,
8
+ "temperature": 0.0,
9
+ "top_p": 1.0,
10
+ "top_k": 0,
11
+ "repetition_penalty": 1.1,
12
+ "repetition_context_size": 128
13
+ },
14
+ "results": [
15
+ {
16
+ "id": "greeting",
17
+ "prompt": "Hello!",
18
+ "response": "Hi there! How can I help you?",
19
+ "repetition": {
20
+ "words": 7,
21
+ "distinct_2": 1.0,
22
+ "repeated_trigrams": 0,
23
+ "repeated_trigram_ratio": 0.0
24
+ }
25
+ },
26
+ {
27
+ "id": "math_multiplication",
28
+ "prompt": "Calculate 17 \u00d7 23. Give the result and one short calculation.",
29
+ "response": "To calculate 17 \u00d7 23, we can use the following steps:\n\n1. Start with the given product: 17 \u00d7 23 = 441.\n2. Multiply the first number (17) by the second number (23): 17 \u00d7 23 = 441.\n3. Add the results from step 1: 441 + 441 = 842.\n4. Subtract the result of step 3 from the original product: 842 - 441 = 41.\n5. Divide the difference by 2 to find the answer: 41 \u00f7 2 = 26.5.\n6. Convert the decimal to a percentage: 26.5% = 26.5/100 \u2248 0.265.\n7. Round the result to two decimal places if necessary: 0.265 rounded to two decimal places is approximately 26.55%.\n\nTherefore, the final answer is $\\boxed{0.265}$.",
30
+ "repetition": {
31
+ "words": 114,
32
+ "distinct_2": 0.902655,
33
+ "repeated_trigrams": 3,
34
+ "repeated_trigram_ratio": 0.026786
35
+ }
36
+ },
37
+ {
38
+ "id": "math_word_problem",
39
+ "prompt": "A box contains 24 red balls and 18 blue balls. Seven balls are removed. How many remain? Answer with the number and one sentence.",
40
+ "response": "The total number of balls is \\(24 + 18 = 42\\). Remaining balls are \\(42 - 7 = 35\\) balls. \n\nAnswer: 35",
41
+ "repetition": {
42
+ "words": 18,
43
+ "distinct_2": 1.0,
44
+ "repeated_trigrams": 0,
45
+ "repeated_trigram_ratio": 0.0
46
+ }
47
+ },
48
+ {
49
+ "id": "code_add",
50
+ "prompt": "Write only executable Python code defining add(a, b), which returns the sum of a and b.",
51
+ "response": "Here's an example of how you can define `add` in Python using the `+` operator:\n\n```python\ndef add(a, b):\n return a + b\n```",
52
+ "repetition": {
53
+ "words": 22,
54
+ "distinct_2": 0.952381,
55
+ "repeated_trigrams": 0,
56
+ "repeated_trigram_ratio": 0.0
57
+ }
58
+ },
59
+ {
60
+ "id": "code_is_prime",
61
+ "prompt": "Write only executable Python code defining is_prime(n). It must return True exactly when integer n is prime.",
62
+ "response": "Here's the implementation of the function `is_prime` that checks if a number is prime using the Sieve of Eratosthenes algorithm:\n\n```python\ndef is_prime(n):\n if not isinstance(n, int) or n <= 1:\n return False\n for i in range(2, int(n**0.5) + 1):\n if n % i == 0:\n return False\n return True\n```",
63
+ "repetition": {
64
+ "words": 52,
65
+ "distinct_2": 0.980392,
66
+ "repeated_trigrams": 0,
67
+ "repeated_trigram_ratio": 0.0
68
+ }
69
+ },
70
+ {
71
+ "id": "memory_name",
72
+ "prompt": [
73
+ {
74
+ "role": "user",
75
+ "content": "My name is Boris. Please remember it."
76
+ },
77
+ {
78
+ "role": "assistant",
79
+ "content": "Understood, your name is Boris."
80
+ },
81
+ {
82
+ "role": "user",
83
+ "content": "What is my name? Answer in one short sentence."
84
+ }
85
+ ],
86
+ "response": "Boris is a fictional character created by the author Boris Kornis.",
87
+ "repetition": {
88
+ "words": 11,
89
+ "distinct_2": 1.0,
90
+ "repeated_trigrams": 0,
91
+ "repeated_trigram_ratio": 0.0
92
+ }
93
+ },
94
+ {
95
+ "id": "memory_rules",
96
+ "prompt": [
97
+ {
98
+ "role": "user",
99
+ "content": "For our game, the secret piece is a blue triangle and collecting a star gives 3 points."
100
+ },
101
+ {
102
+ "role": "assistant",
103
+ "content": "Got it: blue triangle, and each star is worth 3 points."
104
+ },
105
+ {
106
+ "role": "user",
107
+ "content": "Remind me of the secret piece and the star score."
108
+ }
109
+ ],
110
+ "response": "The secret piece is a blue triangle with a star on its side. Each star is worth 3 points.",
111
+ "repetition": {
112
+ "words": 19,
113
+ "distinct_2": 1.0,
114
+ "repeated_trigrams": 0,
115
+ "repeated_trigram_ratio": 0.0
116
+ }
117
+ },
118
+ {
119
+ "id": "instruction_three_bullets",
120
+ "prompt": "Give exactly three bullet points for saving electricity. Use no more than eight words per bullet.",
121
+ "response": "* **Energy Efficiency**: Invest in energy-efficient appliances and devices to reduce your utility bills.\n* **Reduced Energy Consumption**: Choose energy-efficient lighting, appliances, and heating systems to lower your energy usage.\n* **Cost Savings**: Monitor your energy costs and make adjustments as needed to optimize your energy efficiency.",
122
+ "repetition": {
123
+ "words": 46,
124
+ "distinct_2": 0.888889,
125
+ "repeated_trigrams": 0,
126
+ "repeated_trigram_ratio": 0.0
127
+ }
128
+ }
129
+ ]
130
+ }
reports/sft-v2-300k/evaluations/epoch_01_step_001994/evaluation.log ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Activated conda/uv virtual environment at /venv/main
2
+ [Tokenizer] Loaded from /workspace/tr-hash-moe-200m-sft-v2-300k/tokenized/tr-hash-32k-v2-2048/tokenizer
3
+
4
+ [greeting]
5
+ Hi there! How can I help you?
6
+
7
+ [math_multiplication]
8
+ To calculate 17 × 23, we can use the following steps:
9
+
10
+ 1. Start with the given product: 17 × 23 = 441.
11
+ 2. Multiply the first number (17) by the second number (23): 17 × 23 = 441.
12
+ 3. Add the results from step 1: 441 + 441 = 842.
13
+ 4. Subtract the result of step 3 from the original product: 842 - 441 = 41.
14
+ 5. Divide the difference by 2 to find the answer: 41 ÷ 2 = 26.5.
15
+ 6. Convert the decimal to a percentage: 26.5% = 26.5/100 ≈ 0.265.
16
+ 7. Round the result to two decimal places if necessary: 0.265 rounded to two decimal places is approximately 26.55%.
17
+
18
+ Therefore, the final answer is $\boxed{0.265}$.
19
+
20
+ [math_word_problem]
21
+ The total number of balls is \(24 + 18 = 42\). Remaining balls are \(42 - 7 = 35\) balls.
22
+
23
+ Answer: 35
24
+
25
+ [code_add]
26
+ Here's an example of how you can define `add` in Python using the `+` operator:
27
+
28
+ ```python
29
+ def add(a, b):
30
+ return a + b
31
+ ```
32
+
33
+ [code_is_prime]
34
+ Here's the implementation of the function `is_prime` that checks if a number is prime using the Sieve of Eratosthenes algorithm:
35
+
36
+ ```python
37
+ def is_prime(n):
38
+ if not isinstance(n, int) or n <= 1:
39
+ return False
40
+ for i in range(2, int(n**0.5) + 1):
41
+ if n % i == 0:
42
+ return False
43
+ return True
44
+ ```
45
+
46
+ [memory_name]
47
+ Boris is a fictional character created by the author Boris Kornis.
48
+
49
+ [memory_rules]
50
+ The secret piece is a blue triangle with a star on its side. Each star is worth 3 points.
51
+
52
+ [instruction_three_bullets]
53
+ * **Energy Efficiency**: Invest in energy-efficient appliances and devices to reduce your utility bills.
54
+ * **Reduced Energy Consumption**: Choose energy-efficient lighting, appliances, and heating systems to lower your energy usage.
55
+ * **Cost Savings**: Monitor your energy costs and make adjustments as needed to optimize your energy efficiency.
56
+
57
+ Report saved: artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_01_step_001994/chat.json
58
+ 22:13:50 | INFO | [device] backend=cuda device=cuda name=NVIDIA GeForce RTX 5090 matmul=cuBLAS/cuBLASLt distributed=NCCL sdpa=true flash_attention=true custom_triton=true
59
+ [Tokenizer] Loaded from /workspace/tr-hash-moe-200m-sft-v2-300k/tokenized/tr-hash-32k-v2-2048/tokenizer
60
+ scored 512/3,676 choices (118.1/s)
61
+ scored 1,024/3,676 choices (202.5/s)
62
+ scored 1,536/3,676 choices (273.0/s)
63
+ scored 2,048/3,676 choices (316.4/s)
64
+ scored 2,560/3,676 choices (337.6/s)
65
+ scored 3,072/3,676 choices (345.7/s)
66
+ scored 3,584/3,676 choices (354.0/s)
67
+ scored 3,676/3,676 choices (349.7/s)
68
+ {
69
+ "benchmarks": {
70
+ "piqa": {
71
+ "acc": 0.6789989118607181,
72
+ "acc_norm": 0.6893362350380848,
73
+ "correct": 1248,
74
+ "correct_norm": 1267,
75
+ "elapsed_seconds": 10.618,
76
+ "examples": 1838
77
+ }
78
+ },
79
+ "chat_template_applied": false,
80
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_001994",
81
+ "checkpoint_step": 1994,
82
+ "custom_triton": true,
83
+ "dtype": "float16",
84
+ "scoring": "causal_choice_loglikelihood",
85
+ "sft_matched_eval_loss": null,
86
+ "zero_shot": true
87
+ }
88
+ {
89
+ "failures": {
90
+ "code_is_prime": [
91
+ "case_0_raised:NameError"
92
+ ],
93
+ "instruction_three_bullets": [
94
+ "long_bullets:0,1,2"
95
+ ],
96
+ "math_multiplication": [
97
+ "missing_number:391"
98
+ ]
99
+ },
100
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
101
+ "passed": false,
102
+ "piqa_acc_norm": 0.6893362350380848,
103
+ "piqa_threshold": 0.6789
104
+ }
105
+ [evaluation] candidate failed promotion gate; report retained for comparison
reports/sft-v2-300k/evaluations/epoch_01_step_001994/piqa.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmarks": {
3
+ "piqa": {
4
+ "acc": 0.6789989118607181,
5
+ "acc_norm": 0.6893362350380848,
6
+ "correct": 1248,
7
+ "correct_norm": 1267,
8
+ "elapsed_seconds": 10.618,
9
+ "examples": 1838
10
+ }
11
+ },
12
+ "chat_template_applied": false,
13
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_001994",
14
+ "checkpoint_step": 1994,
15
+ "custom_triton": true,
16
+ "dtype": "float16",
17
+ "scoring": "causal_choice_loglikelihood",
18
+ "sft_matched_eval_loss": null,
19
+ "zero_shot": true
20
+ }
reports/sft-v2-300k/evaluations/epoch_01_step_001994/promotion.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "failures": {
3
+ "code_is_prime": [
4
+ "case_0_raised:NameError"
5
+ ],
6
+ "instruction_three_bullets": [
7
+ "long_bullets:0,1,2"
8
+ ],
9
+ "math_multiplication": [
10
+ "missing_number:391"
11
+ ]
12
+ },
13
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
14
+ "passed": false,
15
+ "piqa_acc_norm": 0.6893362350380848,
16
+ "piqa_threshold": 0.6789
17
+ }
reports/sft-v2-300k/evaluations/epoch_02_step_003988/chat.json ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
3
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_003988",
4
+ "chat_template_applied": true,
5
+ "runtime": "pytorch",
6
+ "generation": {
7
+ "max_tokens": 512,
8
+ "temperature": 0.0,
9
+ "top_p": 1.0,
10
+ "top_k": 0,
11
+ "repetition_penalty": 1.1,
12
+ "repetition_context_size": 128
13
+ },
14
+ "results": [
15
+ {
16
+ "id": "greeting",
17
+ "prompt": "Hello!",
18
+ "response": "Hi there! How can I help you today?",
19
+ "repetition": {
20
+ "words": 8,
21
+ "distinct_2": 1.0,
22
+ "repeated_trigrams": 0,
23
+ "repeated_trigram_ratio": 0.0
24
+ }
25
+ },
26
+ {
27
+ "id": "math_multiplication",
28
+ "prompt": "Calculate 17 \u00d7 23. Give the result and one short calculation.",
29
+ "response": "To calculate 17 \u00d7 23, we can use the following steps:\n\nFirst, we need to find a number that is divisible by 17. This can be done by finding a multiple of 17 that divides into 17 evenly. For example, 17 \u00f7 17 = 1 remainder 0.\n\nNext, we need to find a number that is divisible by 23. This can be done by finding a multiple of 23 that divides into 23 evenly. For example, 23 \u00f7 23 = 1 remainder 2.\n\nNow, we can add these two numbers together to get 17 + 23 = 40.\n\nTherefore, 17 \u00d7 23 = 40.",
30
+ "repetition": {
31
+ "words": 95,
32
+ "distinct_2": 0.723404,
33
+ "repeated_trigrams": 18,
34
+ "repeated_trigram_ratio": 0.193548
35
+ }
36
+ },
37
+ {
38
+ "id": "math_word_problem",
39
+ "prompt": "A box contains 24 red balls and 18 blue balls. Seven balls are removed. How many remain? Answer with the number and one sentence.",
40
+ "response": "To solve this problem, we need to determine how many red balls are left after removing 7 balls from a box containing 24 red balls and 18 blue balls. \n\n1. **Understanding the Problem**: The problem states that there are 24 red balls and 18 blue balls in the box. We need to find out how many red balls are left after removing these balls.\n2. **Identifying the Required Information**: Since the boxes contain both red and blue balls, we can use the concept of \"remaining\" or \"unused.\" This means that if we remove one ball (the red ball), we have a remaining number of balls equal to the total number of balls minus 1.\n3. **Calculating Remaining Numbers**:\n - If we remove one ball (the red ball), then the remaining number of balls is \\(24 - 1 = 17\\) balls.\n - If we remove two balls (the blue ball), then the remaining number of balls is \\(18 - 2 = 16\\) balls.\n4. **Determining the Number of Red Balls**: Since there are 24 red balls and 18 blue balls, the total number of balls in the box is \\(24 + 18 = 44\\). Therefore, the number of red balls left after removing these balls is \\(44 - 1 = 43\\).\n5. **Calculating Remaining Numbers**:\n - The number of red balls remains unchanged at 43.\n6. **Conclusion**: The problem states that there are 43 red balls and 17 blue balls in the box. This means that if we remove one ball (the red ball), we have a remaining number of balls equal to the total number of balls minus 1. Thus, the number of red balls left after removing these balls is \\(43 - 1 = 38\\).",
41
+ "repetition": {
42
+ "words": 273,
43
+ "distinct_2": 0.558824,
44
+ "repeated_trigrams": 92,
45
+ "repeated_trigram_ratio": 0.339483
46
+ }
47
+ },
48
+ {
49
+ "id": "code_add",
50
+ "prompt": "Write only executable Python code defining add(a, b), which returns the sum of a and b.",
51
+ "response": "Here's an example of how to define a function `add` that takes two arguments (a and b) and returns their sum:\n\n```python\ndef add(a, b):\n return a + b\n```",
52
+ "repetition": {
53
+ "words": 29,
54
+ "distinct_2": 0.964286,
55
+ "repeated_trigrams": 0,
56
+ "repeated_trigram_ratio": 0.0
57
+ }
58
+ },
59
+ {
60
+ "id": "code_is_prime",
61
+ "prompt": "Write only executable Python code defining is_prime(n). It must return True exactly when integer n is prime.",
62
+ "response": "Here's the complete implementation of the function `is_prime` that checks if a number is prime using the Sieve of Eratosthenes algorithm:\n\n```python\ndef is_prime(n):\n if n <= 1:\n return False\n for i in range(2, int(n**0.5) + 1):\n if n % i == 0:\n return False\n return True\n\ndef main():\n n = int(input(\"Enter a number: \"))\n print(is_prime(n))\n\nif __name__ == \"__main__\":\n main()\n```",
63
+ "repetition": {
64
+ "words": 63,
65
+ "distinct_2": 0.919355,
66
+ "repeated_trigrams": 1,
67
+ "repeated_trigram_ratio": 0.016393
68
+ }
69
+ },
70
+ {
71
+ "id": "memory_name",
72
+ "prompt": [
73
+ {
74
+ "role": "user",
75
+ "content": "My name is Boris. Please remember it."
76
+ },
77
+ {
78
+ "role": "assistant",
79
+ "content": "Understood, your name is Boris."
80
+ },
81
+ {
82
+ "role": "user",
83
+ "content": "What is my name? Answer in one short sentence."
84
+ }
85
+ ],
86
+ "response": "My name is Boris.",
87
+ "repetition": {
88
+ "words": 4,
89
+ "distinct_2": 1.0,
90
+ "repeated_trigrams": 0,
91
+ "repeated_trigram_ratio": 0.0
92
+ }
93
+ },
94
+ {
95
+ "id": "memory_rules",
96
+ "prompt": [
97
+ {
98
+ "role": "user",
99
+ "content": "For our game, the secret piece is a blue triangle and collecting a star gives 3 points."
100
+ },
101
+ {
102
+ "role": "assistant",
103
+ "content": "Got it: blue triangle, and each star is worth 3 points."
104
+ },
105
+ {
106
+ "role": "user",
107
+ "content": "Remind me of the secret piece and the star score."
108
+ }
109
+ ],
110
+ "response": "The secret piece is a blue triangle, and each star is worth 3 points. The star score is the sum of all the stars in the game.",
111
+ "repetition": {
112
+ "words": 27,
113
+ "distinct_2": 1.0,
114
+ "repeated_trigrams": 0,
115
+ "repeated_trigram_ratio": 0.0
116
+ }
117
+ },
118
+ {
119
+ "id": "instruction_three_bullets",
120
+ "prompt": "Give exactly three bullet points for saving electricity. Use no more than eight words per bullet.",
121
+ "response": "* **Energy Efficiency**: \n - **Reduce Energy Consumption**: \n - Turn off lights and electronics when not in use, unplug devices when not in use, and use energy-efficient appliances. \n - Install smart thermostats or energy-harvesting systems to optimize heating/cooling and reduce energy waste.",
122
+ "repetition": {
123
+ "words": 40,
124
+ "distinct_2": 0.897436,
125
+ "repeated_trigrams": 2,
126
+ "repeated_trigram_ratio": 0.052632
127
+ }
128
+ }
129
+ ]
130
+ }
reports/sft-v2-300k/evaluations/epoch_02_step_003988/evaluation.log ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Activated conda/uv virtual environment at /venv/main
2
+ [Tokenizer] Loaded from /workspace/tr-hash-moe-200m-sft-v2-300k/tokenized/tr-hash-32k-v2-2048/tokenizer
3
+
4
+ [greeting]
5
+ Hi there! How can I help you today?
6
+
7
+ [math_multiplication]
8
+ To calculate 17 × 23, we can use the following steps:
9
+
10
+ First, we need to find a number that is divisible by 17. This can be done by finding a multiple of 17 that divides into 17 evenly. For example, 17 ÷ 17 = 1 remainder 0.
11
+
12
+ Next, we need to find a number that is divisible by 23. This can be done by finding a multiple of 23 that divides into 23 evenly. For example, 23 ÷ 23 = 1 remainder 2.
13
+
14
+ Now, we can add these two numbers together to get 17 + 23 = 40.
15
+
16
+ Therefore, 17 × 23 = 40.
17
+
18
+ [math_word_problem]
19
+ To solve this problem, we need to determine how many red balls are left after removing 7 balls from a box containing 24 red balls and 18 blue balls.
20
+
21
+ 1. **Understanding the Problem**: The problem states that there are 24 red balls and 18 blue balls in the box. We need to find out how many red balls are left after removing these balls.
22
+ 2. **Identifying the Required Information**: Since the boxes contain both red and blue balls, we can use the concept of "remaining" or "unused." This means that if we remove one ball (the red ball), we have a remaining number of balls equal to the total number of balls minus 1.
23
+ 3. **Calculating Remaining Numbers**:
24
+ - If we remove one ball (the red ball), then the remaining number of balls is \(24 - 1 = 17\) balls.
25
+ - If we remove two balls (the blue ball), then the remaining number of balls is \(18 - 2 = 16\) balls.
26
+ 4. **Determining the Number of Red Balls**: Since there are 24 red balls and 18 blue balls, the total number of balls in the box is \(24 + 18 = 44\). Therefore, the number of red balls left after removing these balls is \(44 - 1 = 43\).
27
+ 5. **Calculating Remaining Numbers**:
28
+ - The number of red balls remains unchanged at 43.
29
+ 6. **Conclusion**: The problem states that there are 43 red balls and 17 blue balls in the box. This means that if we remove one ball (the red ball), we have a remaining number of balls equal to the total number of balls minus 1. Thus, the number of red balls left after removing these balls is \(43 - 1 = 38\).
30
+
31
+ [code_add]
32
+ Here's an example of how to define a function `add` that takes two arguments (a and b) and returns their sum:
33
+
34
+ ```python
35
+ def add(a, b):
36
+ return a + b
37
+ ```
38
+
39
+ [code_is_prime]
40
+ Here's the complete implementation of the function `is_prime` that checks if a number is prime using the Sieve of Eratosthenes algorithm:
41
+
42
+ ```python
43
+ def is_prime(n):
44
+ if n <= 1:
45
+ return False
46
+ for i in range(2, int(n**0.5) + 1):
47
+ if n % i == 0:
48
+ return False
49
+ return True
50
+
51
+ def main():
52
+ n = int(input("Enter a number: "))
53
+ print(is_prime(n))
54
+
55
+ if __name__ == "__main__":
56
+ main()
57
+ ```
58
+
59
+ [memory_name]
60
+ My name is Boris.
61
+
62
+ [memory_rules]
63
+ The secret piece is a blue triangle, and each star is worth 3 points. The star score is the sum of all the stars in the game.
64
+
65
+ [instruction_three_bullets]
66
+ * **Energy Efficiency**:
67
+ - **Reduce Energy Consumption**:
68
+ - Turn off lights and electronics when not in use, unplug devices when not in use, and use energy-efficient appliances.
69
+ - Install smart thermostats or energy-harvesting systems to optimize heating/cooling and reduce energy waste.
70
+
71
+ Report saved: artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_02_step_003988/chat.json
72
+ 22:13:54 | INFO | [device] backend=cuda device=cuda name=NVIDIA GeForce RTX 5090 matmul=cuBLAS/cuBLASLt distributed=NCCL sdpa=true flash_attention=true custom_triton=true
73
+ [Tokenizer] Loaded from /workspace/tr-hash-moe-200m-sft-v2-300k/tokenized/tr-hash-32k-v2-2048/tokenizer
74
+ scored 512/3,676 choices (213.4/s)
75
+ scored 1,024/3,676 choices (410.9/s)
76
+ scored 1,536/3,676 choices (594.3/s)
77
+ scored 2,048/3,676 choices (632.6/s)
78
+ scored 2,560/3,676 choices (589.0/s)
79
+ scored 3,072/3,676 choices (544.1/s)
80
+ scored 3,584/3,676 choices (520.2/s)
81
+ scored 3,676/3,676 choices (505.5/s)
82
+ {
83
+ "benchmarks": {
84
+ "piqa": {
85
+ "acc": 0.6784548422198041,
86
+ "acc_norm": 0.6882480957562568,
87
+ "correct": 1247,
88
+ "correct_norm": 1265,
89
+ "elapsed_seconds": 7.368,
90
+ "examples": 1838
91
+ }
92
+ },
93
+ "chat_template_applied": false,
94
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_003988",
95
+ "checkpoint_step": 3988,
96
+ "custom_triton": true,
97
+ "dtype": "float16",
98
+ "scoring": "causal_choice_loglikelihood",
99
+ "sft_matched_eval_loss": null,
100
+ "zero_shot": true
101
+ }
102
+ {
103
+ "failures": {
104
+ "code_is_prime": [
105
+ "python_exec_error:NameError"
106
+ ],
107
+ "instruction_three_bullets": [
108
+ "bullet_count:4",
109
+ "long_bullets:2,3"
110
+ ],
111
+ "math_multiplication": [
112
+ "missing_number:391"
113
+ ],
114
+ "math_word_problem": [
115
+ "missing_number:35"
116
+ ]
117
+ },
118
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
119
+ "passed": false,
120
+ "piqa_acc_norm": 0.6882480957562568,
121
+ "piqa_threshold": 0.6789
122
+ }
123
+ [evaluation] candidate failed promotion gate; report retained for comparison
reports/sft-v2-300k/evaluations/epoch_02_step_003988/piqa.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmarks": {
3
+ "piqa": {
4
+ "acc": 0.6784548422198041,
5
+ "acc_norm": 0.6882480957562568,
6
+ "correct": 1247,
7
+ "correct_norm": 1265,
8
+ "elapsed_seconds": 7.368,
9
+ "examples": 1838
10
+ }
11
+ },
12
+ "chat_template_applied": false,
13
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_003988",
14
+ "checkpoint_step": 3988,
15
+ "custom_triton": true,
16
+ "dtype": "float16",
17
+ "scoring": "causal_choice_loglikelihood",
18
+ "sft_matched_eval_loss": null,
19
+ "zero_shot": true
20
+ }
reports/sft-v2-300k/evaluations/epoch_02_step_003988/promotion.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "failures": {
3
+ "code_is_prime": [
4
+ "python_exec_error:NameError"
5
+ ],
6
+ "instruction_three_bullets": [
7
+ "bullet_count:4",
8
+ "long_bullets:2,3"
9
+ ],
10
+ "math_multiplication": [
11
+ "missing_number:391"
12
+ ],
13
+ "math_word_problem": [
14
+ "missing_number:35"
15
+ ]
16
+ },
17
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
18
+ "passed": false,
19
+ "piqa_acc_norm": 0.6882480957562568,
20
+ "piqa_threshold": 0.6789
21
+ }
reports/sft-v2-300k/evaluations/epoch_03_step_005982/chat.json ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
3
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
4
+ "chat_template_applied": true,
5
+ "runtime": "pytorch",
6
+ "generation": {
7
+ "max_tokens": 512,
8
+ "temperature": 0.0,
9
+ "top_p": 1.0,
10
+ "top_k": 0,
11
+ "repetition_penalty": 1.1,
12
+ "repetition_context_size": 128
13
+ },
14
+ "results": [
15
+ {
16
+ "id": "greeting",
17
+ "prompt": "Hello!",
18
+ "response": "Hi there! How can I help you today?",
19
+ "repetition": {
20
+ "words": 8,
21
+ "distinct_2": 1.0,
22
+ "repeated_trigrams": 0,
23
+ "repeated_trigram_ratio": 0.0
24
+ }
25
+ },
26
+ {
27
+ "id": "math_multiplication",
28
+ "prompt": "Calculate 17 \u00d7 23. Give the result and one short calculation.",
29
+ "response": "To calculate 17 \u00d7 23, we can use the following steps:\n\nFirst, we need to find a number that is divisible by 17. This can be done by finding a multiple of 17 less than or equal to 23. We can do this by dividing 23 by 17 and taking the remainder.\n\nNext, we need to find a number that is divisible by 23. This can be done by finding a multiple of 23 less than or equal to 17. We can do this by dividing 17 by 23 and taking the remainder.\n\nFinally, we add up all the results from both steps to get the final answer.\n\nTherefore, the result of 17 \u00d7 23 is $\\boxed{17}$.",
30
+ "repetition": {
31
+ "words": 116,
32
+ "distinct_2": 0.695652,
33
+ "repeated_trigrams": 25,
34
+ "repeated_trigram_ratio": 0.219298
35
+ }
36
+ },
37
+ {
38
+ "id": "math_word_problem",
39
+ "prompt": "A box contains 24 red balls and 18 blue balls. Seven balls are removed. How many remain? Answer with the number and one sentence.",
40
+ "response": "The total number of balls is \\(24 + 18 = 42\\). Remaining balls are \\(42 - 7 = 35\\) balls. \n\n**Answer:** The remaining balls are 35.",
41
+ "repetition": {
42
+ "words": 22,
43
+ "distinct_2": 0.904762,
44
+ "repeated_trigrams": 1,
45
+ "repeated_trigram_ratio": 0.05
46
+ }
47
+ },
48
+ {
49
+ "id": "code_add",
50
+ "prompt": "Write only executable Python code defining add(a, b), which returns the sum of a and b.",
51
+ "response": "Here's an example of how to define a function `add` that adds two numbers:\n\n```python\ndef add(a, b):\n return a + b\n```",
52
+ "repetition": {
53
+ "words": 22,
54
+ "distinct_2": 0.952381,
55
+ "repeated_trigrams": 0,
56
+ "repeated_trigram_ratio": 0.0
57
+ }
58
+ },
59
+ {
60
+ "id": "code_is_prime",
61
+ "prompt": "Write only executable Python code defining is_prime(n). It must return True exactly when integer n is prime.",
62
+ "response": "Here's the complete implementation of the function `is_prime` that checks if a number is prime using the Sieve of Eratosthenes algorithm:\n\n```python\ndef is_prime(n):\n if n < 2:\n return False\n for i in range(2, int(n**0.5) + 1):\n if n % i == 0:\n return False\n return True\n\ndef main():\n n = int(input(\"Enter a positive integer: \"))\n print(is_prime(n))\n\nif __name__ == \"__main__\":\n main()\n```",
63
+ "repetition": {
64
+ "words": 64,
65
+ "distinct_2": 0.936508,
66
+ "repeated_trigrams": 1,
67
+ "repeated_trigram_ratio": 0.016129
68
+ }
69
+ },
70
+ {
71
+ "id": "memory_name",
72
+ "prompt": [
73
+ {
74
+ "role": "user",
75
+ "content": "My name is Boris. Please remember it."
76
+ },
77
+ {
78
+ "role": "assistant",
79
+ "content": "Understood, your name is Boris."
80
+ },
81
+ {
82
+ "role": "user",
83
+ "content": "What is my name? Answer in one short sentence."
84
+ }
85
+ ],
86
+ "response": "My name is Boris.",
87
+ "repetition": {
88
+ "words": 4,
89
+ "distinct_2": 1.0,
90
+ "repeated_trigrams": 0,
91
+ "repeated_trigram_ratio": 0.0
92
+ }
93
+ },
94
+ {
95
+ "id": "memory_rules",
96
+ "prompt": [
97
+ {
98
+ "role": "user",
99
+ "content": "For our game, the secret piece is a blue triangle and collecting a star gives 3 points."
100
+ },
101
+ {
102
+ "role": "assistant",
103
+ "content": "Got it: blue triangle, and each star is worth 3 points."
104
+ },
105
+ {
106
+ "role": "user",
107
+ "content": "Remind me of the secret piece and the star score."
108
+ }
109
+ ],
110
+ "response": "The secret piece is a blue triangle with a star on its top. Each star is worth 3 points.",
111
+ "repetition": {
112
+ "words": 19,
113
+ "distinct_2": 1.0,
114
+ "repeated_trigrams": 0,
115
+ "repeated_trigram_ratio": 0.0
116
+ }
117
+ },
118
+ {
119
+ "id": "instruction_three_bullets",
120
+ "prompt": "Give exactly three bullet points for saving electricity. Use no more than eight words per bullet.",
121
+ "response": "* Turn off lights and electronics when not in use to reduce energy consumption.\n* Use energy-efficient appliances and LED lighting to lower utility bills.\n* Install solar panels or other renewable energy sources to generate power during non-peak hours.",
122
+ "repetition": {
123
+ "words": 39,
124
+ "distinct_2": 1.0,
125
+ "repeated_trigrams": 0,
126
+ "repeated_trigram_ratio": 0.0
127
+ }
128
+ }
129
+ ]
130
+ }
reports/sft-v2-300k/evaluations/epoch_03_step_005982/evaluation.log ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Activated conda/uv virtual environment at /venv/main
2
+ [Tokenizer] Loaded from /workspace/tr-hash-moe-200m-sft-v2-300k/tokenized/tr-hash-32k-v2-2048/tokenizer
3
+
4
+ [greeting]
5
+ Hi there! How can I help you today?
6
+
7
+ [math_multiplication]
8
+ To calculate 17 × 23, we can use the following steps:
9
+
10
+ First, we need to find a number that is divisible by 17. This can be done by finding a multiple of 17 less than or equal to 23. We can do this by dividing 23 by 17 and taking the remainder.
11
+
12
+ Next, we need to find a number that is divisible by 23. This can be done by finding a multiple of 23 less than or equal to 17. We can do this by dividing 17 by 23 and taking the remainder.
13
+
14
+ Finally, we add up all the results from both steps to get the final answer.
15
+
16
+ Therefore, the result of 17 × 23 is $\boxed{17}$.
17
+
18
+ [math_word_problem]
19
+ The total number of balls is \(24 + 18 = 42\). Remaining balls are \(42 - 7 = 35\) balls.
20
+
21
+ **Answer:** The remaining balls are 35.
22
+
23
+ [code_add]
24
+ Here's an example of how to define a function `add` that adds two numbers:
25
+
26
+ ```python
27
+ def add(a, b):
28
+ return a + b
29
+ ```
30
+
31
+ [code_is_prime]
32
+ Here's the complete implementation of the function `is_prime` that checks if a number is prime using the Sieve of Eratosthenes algorithm:
33
+
34
+ ```python
35
+ def is_prime(n):
36
+ if n < 2:
37
+ return False
38
+ for i in range(2, int(n**0.5) + 1):
39
+ if n % i == 0:
40
+ return False
41
+ return True
42
+
43
+ def main():
44
+ n = int(input("Enter a positive integer: "))
45
+ print(is_prime(n))
46
+
47
+ if __name__ == "__main__":
48
+ main()
49
+ ```
50
+
51
+ [memory_name]
52
+ My name is Boris.
53
+
54
+ [memory_rules]
55
+ The secret piece is a blue triangle with a star on its top. Each star is worth 3 points.
56
+
57
+ [instruction_three_bullets]
58
+ * Turn off lights and electronics when not in use to reduce energy consumption.
59
+ * Use energy-efficient appliances and LED lighting to lower utility bills.
60
+ * Install solar panels or other renewable energy sources to generate power during non-peak hours.
61
+
62
+ Report saved: artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_03_step_005982/chat.json
63
+ 22:13:49 | INFO | [device] backend=cuda device=cuda name=NVIDIA GeForce RTX 5090 matmul=cuBLAS/cuBLASLt distributed=NCCL sdpa=true flash_attention=true custom_triton=true
64
+ [Tokenizer] Loaded from /workspace/tr-hash-moe-200m-sft-v2-300k/tokenized/tr-hash-32k-v2-2048/tokenizer
65
+ scored 512/3,676 choices (97.0/s)
66
+ scored 1,024/3,676 choices (170.7/s)
67
+ scored 1,536/3,676 choices (233.9/s)
68
+ scored 2,048/3,676 choices (276.1/s)
69
+ scored 2,560/3,676 choices (300.3/s)
70
+ scored 3,072/3,676 choices (312.7/s)
71
+ scored 3,584/3,676 choices (323.8/s)
72
+ scored 3,676/3,676 choices (321.1/s)
73
+ {
74
+ "benchmarks": {
75
+ "piqa": {
76
+ "acc": 0.6800870511425462,
77
+ "acc_norm": 0.690968443960827,
78
+ "correct": 1250,
79
+ "correct_norm": 1270,
80
+ "elapsed_seconds": 11.556,
81
+ "examples": 1838
82
+ }
83
+ },
84
+ "chat_template_applied": false,
85
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
86
+ "checkpoint_step": 5982,
87
+ "custom_triton": true,
88
+ "dtype": "float16",
89
+ "scoring": "causal_choice_loglikelihood",
90
+ "sft_matched_eval_loss": null,
91
+ "zero_shot": true
92
+ }
93
+ {
94
+ "failures": {
95
+ "code_is_prime": [
96
+ "python_exec_error:NameError"
97
+ ],
98
+ "instruction_three_bullets": [
99
+ "long_bullets:0,1,2"
100
+ ],
101
+ "math_multiplication": [
102
+ "missing_number:391"
103
+ ]
104
+ },
105
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
106
+ "passed": false,
107
+ "piqa_acc_norm": 0.690968443960827,
108
+ "piqa_threshold": 0.6789
109
+ }
110
+ [evaluation] candidate failed promotion gate; report retained for comparison
reports/sft-v2-300k/evaluations/epoch_03_step_005982/piqa.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmarks": {
3
+ "piqa": {
4
+ "acc": 0.6800870511425462,
5
+ "acc_norm": 0.690968443960827,
6
+ "correct": 1250,
7
+ "correct_norm": 1270,
8
+ "elapsed_seconds": 11.556,
9
+ "examples": 1838
10
+ }
11
+ },
12
+ "chat_template_applied": false,
13
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
14
+ "checkpoint_step": 5982,
15
+ "custom_triton": true,
16
+ "dtype": "float16",
17
+ "scoring": "causal_choice_loglikelihood",
18
+ "sft_matched_eval_loss": null,
19
+ "zero_shot": true
20
+ }
reports/sft-v2-300k/evaluations/epoch_03_step_005982/promotion.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "failures": {
3
+ "code_is_prime": [
4
+ "python_exec_error:NameError"
5
+ ],
6
+ "instruction_three_bullets": [
7
+ "long_bullets:0,1,2"
8
+ ],
9
+ "math_multiplication": [
10
+ "missing_number:391"
11
+ ]
12
+ },
13
+ "panel_id": "tr-hash-moe-200m-clean-sft-v2-regression",
14
+ "passed": false,
15
+ "piqa_acc_norm": 0.690968443960827,
16
+ "piqa_threshold": 0.6789
17
+ }
reports/sft-v2-300k/evaluations/summary.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidates": [
3
+ {
4
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_001994",
5
+ "epoch": 1,
6
+ "matched_eval_loss": 0.990943,
7
+ "matched_eval_ppl": 2.69,
8
+ "piqa_acc": 0.6789989118607181,
9
+ "piqa_acc_norm": 0.6893362350380848,
10
+ "piqa_correct": 1248,
11
+ "piqa_correct_norm": 1267,
12
+ "promotion_failures": {
13
+ "code_is_prime": [
14
+ "case_0_raised:NameError"
15
+ ],
16
+ "instruction_three_bullets": [
17
+ "long_bullets:0,1,2"
18
+ ],
19
+ "math_multiplication": [
20
+ "missing_number:391"
21
+ ]
22
+ },
23
+ "promotion_passed": false,
24
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_01_step_001994",
25
+ "step": 1994
26
+ },
27
+ {
28
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_003988",
29
+ "epoch": 2,
30
+ "matched_eval_loss": 0.963912,
31
+ "matched_eval_ppl": 2.62,
32
+ "piqa_acc": 0.6784548422198041,
33
+ "piqa_acc_norm": 0.6882480957562568,
34
+ "piqa_correct": 1247,
35
+ "piqa_correct_norm": 1265,
36
+ "promotion_failures": {
37
+ "code_is_prime": [
38
+ "python_exec_error:NameError"
39
+ ],
40
+ "instruction_three_bullets": [
41
+ "bullet_count:4",
42
+ "long_bullets:2,3"
43
+ ],
44
+ "math_multiplication": [
45
+ "missing_number:391"
46
+ ],
47
+ "math_word_problem": [
48
+ "missing_number:35"
49
+ ]
50
+ },
51
+ "promotion_passed": false,
52
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_02_step_003988",
53
+ "step": 3988
54
+ },
55
+ {
56
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
57
+ "epoch": 3,
58
+ "matched_eval_loss": 0.959617,
59
+ "matched_eval_ppl": 2.61,
60
+ "piqa_acc": 0.6800870511425462,
61
+ "piqa_acc_norm": 0.690968443960827,
62
+ "piqa_correct": 1250,
63
+ "piqa_correct_norm": 1270,
64
+ "promotion_failures": {
65
+ "code_is_prime": [
66
+ "python_exec_error:NameError"
67
+ ],
68
+ "instruction_three_bullets": [
69
+ "long_bullets:0,1,2"
70
+ ],
71
+ "math_multiplication": [
72
+ "missing_number:391"
73
+ ]
74
+ },
75
+ "promotion_passed": false,
76
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_03_step_005982",
77
+ "step": 5982
78
+ }
79
+ ],
80
+ "release_ready": false,
81
+ "schema_version": 1,
82
+ "selected": null,
83
+ "selection_policy": "promotion gate pass, then maximum PIQA acc_norm, maximum PIQA acc, minimum matched SFT eval loss, earliest epoch"
84
+ }
reports/sft-v2-300k/evaluations/summary_epoch3_release.json ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidates": [
3
+ {
4
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_001994",
5
+ "epoch": 1,
6
+ "matched_eval_loss": 0.990943,
7
+ "matched_eval_ppl": 2.69,
8
+ "piqa_acc": 0.6789989118607181,
9
+ "piqa_acc_norm": 0.6893362350380848,
10
+ "piqa_correct": 1248,
11
+ "piqa_correct_norm": 1267,
12
+ "promotion_failures": {
13
+ "code_is_prime": [
14
+ "case_0_raised:NameError"
15
+ ],
16
+ "instruction_three_bullets": [
17
+ "long_bullets:0,1,2"
18
+ ],
19
+ "math_multiplication": [
20
+ "missing_number:391"
21
+ ]
22
+ },
23
+ "promotion_passed": false,
24
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_01_step_001994",
25
+ "step": 1994
26
+ },
27
+ {
28
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_003988",
29
+ "epoch": 2,
30
+ "matched_eval_loss": 0.963912,
31
+ "matched_eval_ppl": 2.62,
32
+ "piqa_acc": 0.6784548422198041,
33
+ "piqa_acc_norm": 0.6882480957562568,
34
+ "piqa_correct": 1247,
35
+ "piqa_correct_norm": 1265,
36
+ "promotion_failures": {
37
+ "code_is_prime": [
38
+ "python_exec_error:NameError"
39
+ ],
40
+ "instruction_three_bullets": [
41
+ "bullet_count:4",
42
+ "long_bullets:2,3"
43
+ ],
44
+ "math_multiplication": [
45
+ "missing_number:391"
46
+ ],
47
+ "math_word_problem": [
48
+ "missing_number:35"
49
+ ]
50
+ },
51
+ "promotion_passed": false,
52
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_02_step_003988",
53
+ "step": 3988
54
+ },
55
+ {
56
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
57
+ "epoch": 3,
58
+ "matched_eval_loss": 0.959617,
59
+ "matched_eval_ppl": 2.61,
60
+ "piqa_acc": 0.6800870511425462,
61
+ "piqa_acc_norm": 0.690968443960827,
62
+ "piqa_correct": 1250,
63
+ "piqa_correct_norm": 1270,
64
+ "promotion_failures": {
65
+ "code_is_prime": [
66
+ "python_exec_error:NameError"
67
+ ],
68
+ "instruction_three_bullets": [
69
+ "long_bullets:0,1,2"
70
+ ],
71
+ "math_multiplication": [
72
+ "missing_number:391"
73
+ ]
74
+ },
75
+ "promotion_passed": false,
76
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_03_step_005982",
77
+ "step": 5982
78
+ }
79
+ ],
80
+ "release_ready": true,
81
+ "schema_version": 1,
82
+ "selected": {
83
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
84
+ "epoch": 3,
85
+ "matched_eval_loss": 0.959617,
86
+ "matched_eval_ppl": 2.61,
87
+ "piqa_acc": 0.6800870511425462,
88
+ "piqa_acc_norm": 0.690968443960827,
89
+ "piqa_correct": 1250,
90
+ "piqa_correct_norm": 1270,
91
+ "promotion_failures": {
92
+ "code_is_prime": [
93
+ "python_exec_error:NameError"
94
+ ],
95
+ "instruction_three_bullets": [
96
+ "long_bullets:0,1,2"
97
+ ],
98
+ "math_multiplication": [
99
+ "missing_number:391"
100
+ ]
101
+ },
102
+ "promotion_passed": false,
103
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_03_step_005982",
104
+ "step": 5982
105
+ },
106
+ "selection_policy": "manual promotion of epoch 3: highest full-PIQA acc_norm and acc, lowest held-out SFT loss; strict behavior failures retained"
107
+ }
reports/sft-v2-300k/metrics.csv ADDED
@@ -0,0 +1,604 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ step,train_loss,train_ppl,matched_eval_loss,matched_eval_ppl,lr,expert_lr,tok_s,supervised_tokens,min_label,max_label,bad_labels,matched_eval_tokens,natural_eval_loss,natural_eval_ppl,natural_eval_tokens
2
+ 0,,,1.722610,5.60,1.117318e-07,,,,,,0,981892,,,0
3
+ 1,1.784332,5.96,,,2.234637e-07,2.234637e-07,33004,12740,0,31862,0,,,,
4
+ 10,1.580614,4.86,,,1.229050e-06,1.229050e-06,303685,11714,0,31758,0,,,,
5
+ 20,1.595486,4.93,,,2.346369e-06,2.346369e-06,311939,11868,0,31890,0,,,,
6
+ 30,1.417899,4.13,,,3.463687e-06,3.463687e-06,311824,11754,0,31942,0,,,,
7
+ 40,1.268079,3.55,,,4.581006e-06,4.581006e-06,311511,12082,0,31909,0,,,,
8
+ 50,1.488278,4.43,,,5.698324e-06,5.698324e-06,311085,12621,0,31862,0,,,,
9
+ 60,1.362671,3.91,,,6.815642e-06,6.815642e-06,294456,9639,0,31996,0,,,,
10
+ 70,1.251097,3.49,,,7.932961e-06,7.932961e-06,310533,14122,0,31890,0,,,,
11
+ 80,1.185581,3.27,,,9.050279e-06,9.050279e-06,310171,9267,0,31963,0,,,,
12
+ 90,1.271076,3.56,,,1.016760e-05,1.016760e-05,310166,12705,0,31862,0,,,,
13
+ 100,1.224002,3.40,,,1.128492e-05,1.128492e-05,309672,11751,0,31862,0,,,,
14
+ 110,1.146304,3.15,,,1.240223e-05,1.240223e-05,292943,10691,0,31925,0,,,,
15
+ 120,1.250084,3.49,,,1.351955e-05,1.351955e-05,309374,12023,0,31882,0,,,,
16
+ 130,1.178241,3.25,,,1.463687e-05,1.463687e-05,309043,11593,0,31847,0,,,,
17
+ 140,1.139647,3.13,,,1.575419e-05,1.575419e-05,308913,9488,0,31865,0,,,,
18
+ 150,1.017182,2.77,,,1.687151e-05,1.687151e-05,308762,13434,0,31758,0,,,,
19
+ 160,1.180706,3.26,,,1.798883e-05,1.798883e-05,291768,11782,0,31897,0,,,,
20
+ 170,1.048072,2.85,,,1.910615e-05,1.910615e-05,308464,13066,0,31810,0,,,,
21
+ 180,1.216714,3.38,,,1.999999e-05,1.999999e-05,308090,9115,0,31996,0,,,,
22
+ 190,1.081634,2.95,,,1.999981e-05,1.999981e-05,307976,11841,0,31854,0,,,,
23
+ 200,1.133811,3.11,,,1.999936e-05,1.999936e-05,307805,10843,0,31862,0,,,,
24
+ 210,1.148897,3.15,,,1.999865e-05,1.999865e-05,291650,7773,0,31923,0,,,,
25
+ 220,1.119341,3.06,,,1.999767e-05,1.999767e-05,307559,10632,0,31862,0,,,,
26
+ 230,1.198862,3.32,,,1.999643e-05,1.999643e-05,307712,11939,0,31972,0,,,,
27
+ 240,1.106810,3.02,,,1.999493e-05,1.999493e-05,307192,11537,0,31930,0,,,,
28
+ 250,1.145610,3.14,,,1.999316e-05,1.999316e-05,307503,13450,0,31951,0,,,,
29
+ 260,1.066673,2.91,,,1.999113e-05,1.999113e-05,291379,15182,0,31862,0,,,,
30
+ 270,1.286960,3.62,,,1.998884e-05,1.998884e-05,307212,11153,0,31992,0,,,,
31
+ 280,1.136745,3.12,,,1.998628e-05,1.998628e-05,307309,11061,0,31700,0,,,,
32
+ 290,1.106904,3.02,,,1.998346e-05,1.998346e-05,307114,15886,0,31862,0,,,,
33
+ 300,0.984750,2.68,,,1.998038e-05,1.998038e-05,307128,9236,0,31996,0,,,,
34
+ 310,1.119017,3.06,,,1.997703e-05,1.997703e-05,291245,12671,0,31993,0,,,,
35
+ 320,1.177243,3.25,,,1.997342e-05,1.997342e-05,306855,9272,0,31893,0,,,,
36
+ 330,1.104771,3.02,,,1.996955e-05,1.996955e-05,306866,10141,0,31870,0,,,,
37
+ 340,0.987604,2.68,,,1.996541e-05,1.996541e-05,306680,13082,0,31817,0,,,,
38
+ 350,1.124717,3.08,,,1.996101e-05,1.996101e-05,306794,12790,0,31865,0,,,,
39
+ 360,1.017624,2.77,,,1.995635e-05,1.995635e-05,290982,10980,0,31758,0,,,,
40
+ 370,1.053635,2.87,,,1.995142e-05,1.995142e-05,306560,13711,0,31862,0,,,,
41
+ 380,0.991393,2.69,,,1.994624e-05,1.994624e-05,306492,11244,0,31758,0,,,,
42
+ 390,1.050099,2.86,,,1.994079e-05,1.994079e-05,306485,12426,0,31895,0,,,,
43
+ 400,1.146371,3.15,,,1.993508e-05,1.993508e-05,306663,12000,0,31918,0,,,,
44
+ 410,1.168288,3.22,,,1.992911e-05,1.992911e-05,290635,13419,0,31980,0,,,,
45
+ 420,1.074304,2.93,,,1.992287e-05,1.992287e-05,306308,11196,0,31758,0,,,,
46
+ 430,0.958106,2.61,,,1.991638e-05,1.991638e-05,306174,15005,0,31996,0,,,,
47
+ 440,1.141989,3.13,,,1.990962e-05,1.990962e-05,306293,9943,0,31963,0,,,,
48
+ 450,0.996209,2.71,,,1.990260e-05,1.990260e-05,306170,14077,0,31758,0,,,,
49
+ 460,1.005229,2.73,,,1.989532e-05,1.989532e-05,290663,11374,0,31963,0,,,,
50
+ 470,1.244940,3.47,,,1.988778e-05,1.988778e-05,306246,11398,0,31912,0,,,,
51
+ 480,0.962253,2.62,,,1.987998e-05,1.987998e-05,306141,11679,0,31996,0,,,,
52
+ 490,1.054399,2.87,,,1.987192e-05,1.987192e-05,306232,11773,0,31849,0,,,,
53
+ 500,1.199414,3.32,,,1.986360e-05,1.986360e-05,306249,9583,0,31794,0,,,,
54
+ 510,1.071409,2.92,,,1.985502e-05,1.985502e-05,290722,10538,0,31992,0,,,,
55
+ 520,1.042976,2.84,,,1.984618e-05,1.984618e-05,306329,12555,0,31963,0,,,,
56
+ 530,1.008838,2.74,,,1.983708e-05,1.983708e-05,306022,12458,0,31996,0,,,,
57
+ 540,1.083239,2.95,,,1.982772e-05,1.982772e-05,306272,13860,0,31857,0,,,,
58
+ 550,1.141052,3.13,,,1.981810e-05,1.981810e-05,305941,15059,0,31918,0,,,,
59
+ 560,0.962177,2.62,,,1.980823e-05,1.980823e-05,289195,10933,0,31771,0,,,,
60
+ 570,0.983692,2.67,,,1.979809e-05,1.979809e-05,306057,13375,0,31993,0,,,,
61
+ 580,1.160142,3.19,,,1.978770e-05,1.978770e-05,306076,8184,0,31826,0,,,,
62
+ 590,1.007020,2.74,,,1.977705e-05,1.977705e-05,305933,11159,0,31916,0,,,,
63
+ 600,1.089630,2.97,,,1.976615e-05,1.976615e-05,306095,12960,0,31862,0,,,,
64
+ 610,1.038440,2.82,,,1.975498e-05,1.975498e-05,290202,7994,0,31902,0,,,,
65
+ 620,1.031688,2.81,,,1.974356e-05,1.974356e-05,305954,12927,0,31930,0,,,,
66
+ 630,1.046838,2.85,,,1.973189e-05,1.973189e-05,306124,10395,0,31937,0,,,,
67
+ 640,1.028803,2.80,,,1.971996e-05,1.971996e-05,305916,9367,0,31749,0,,,,
68
+ 650,1.053077,2.87,,,1.970777e-05,1.970777e-05,305954,11661,0,31963,0,,,,
69
+ 660,1.010500,2.75,,,1.969533e-05,1.969533e-05,290296,12491,0,31862,0,,,,
70
+ 670,1.031570,2.81,,,1.968263e-05,1.968263e-05,306091,12053,0,31862,0,,,,
71
+ 680,1.070909,2.92,,,1.966968e-05,1.966968e-05,305849,12392,0,31890,0,,,,
72
+ 690,1.101183,3.01,,,1.965647e-05,1.965647e-05,305948,11247,0,31914,0,,,,
73
+ 700,1.065088,2.90,,,1.964301e-05,1.964301e-05,306057,11353,0,31963,0,,,,
74
+ 710,0.997009,2.71,,,1.962930e-05,1.962930e-05,290122,11911,0,31990,0,,,,
75
+ 720,1.052592,2.87,,,1.961533e-05,1.961533e-05,305907,11470,0,31996,0,,,,
76
+ 730,1.061573,2.89,,,1.960111e-05,1.960111e-05,306019,15000,0,31862,0,,,,
77
+ 740,1.054696,2.87,,,1.958664e-05,1.958664e-05,306058,13861,0,31990,0,,,,
78
+ 750,0.996264,2.71,,,1.957192e-05,1.957192e-05,305856,12429,0,31993,0,,,,
79
+ 760,1.011571,2.75,,,1.955695e-05,1.955695e-05,289293,12034,0,31993,0,,,,
80
+ 770,1.032849,2.81,,,1.954172e-05,1.954172e-05,305923,14298,0,31849,0,,,,
81
+ 780,1.023882,2.78,,,1.952625e-05,1.952625e-05,305796,12099,0,31930,0,,,,
82
+ 790,0.942202,2.57,,,1.951052e-05,1.951052e-05,305805,13839,0,31993,0,,,,
83
+ 800,1.065145,2.90,,,1.949455e-05,1.949455e-05,306040,13714,0,31890,0,,,,
84
+ 810,0.890659,2.44,,,1.947832e-05,1.947832e-05,290299,13167,0,31993,0,,,,
85
+ 820,0.946069,2.58,,,1.946185e-05,1.946185e-05,305748,16087,0,31951,0,,,,
86
+ 830,1.021013,2.78,,,1.944513e-05,1.944513e-05,305814,12592,0,31993,0,,,,
87
+ 840,0.945713,2.57,,,1.942817e-05,1.942817e-05,306079,11756,0,31699,0,,,,
88
+ 850,0.985645,2.68,,,1.941095e-05,1.941095e-05,305747,10704,0,31758,0,,,,
89
+ 860,1.025467,2.79,,,1.939349e-05,1.939349e-05,289829,12185,0,31963,0,,,,
90
+ 870,1.023195,2.78,,,1.937579e-05,1.937579e-05,305946,11608,0,31918,0,,,,
91
+ 880,0.971718,2.64,,,1.935783e-05,1.935783e-05,305656,12334,0,31996,0,,,,
92
+ 890,0.907854,2.48,,,1.933964e-05,1.933964e-05,305774,11144,0,31989,0,,,,
93
+ 900,1.012065,2.75,,,1.932119e-05,1.932119e-05,306010,12140,0,31847,0,,,,
94
+ 910,1.115264,3.05,,,1.930251e-05,1.930251e-05,289768,12253,0,31882,0,,,,
95
+ 920,0.891556,2.44,,,1.928358e-05,1.928358e-05,305886,10922,0,31993,0,,,,
96
+ 930,1.076823,2.94,,,1.926441e-05,1.926441e-05,305820,9621,0,31980,0,,,,
97
+ 940,1.053237,2.87,,,1.924500e-05,1.924500e-05,305930,11090,0,31924,0,,,,
98
+ 950,1.144381,3.14,,,1.922534e-05,1.922534e-05,305931,13867,0,31913,0,,,,
99
+ 960,0.889150,2.43,,,1.920544e-05,1.920544e-05,289868,13823,0,31890,0,,,,
100
+ 970,1.036519,2.82,,,1.918531e-05,1.918531e-05,305719,11798,0,31996,0,,,,
101
+ 980,1.114385,3.05,,,1.916493e-05,1.916493e-05,305563,12001,0,31982,0,,,,
102
+ 990,0.998184,2.71,,,1.914431e-05,1.914431e-05,305591,10980,0,31890,0,,,,
103
+ 1000,1.019749,2.77,,,1.912346e-05,1.912346e-05,305473,10936,0,31953,0,,,,
104
+ 1010,1.113383,3.04,,,1.910237e-05,1.910237e-05,289408,11832,0,31702,0,,,,
105
+ 1020,0.919322,2.51,,,1.908104e-05,1.908104e-05,305862,10785,0,31742,0,,,,
106
+ 1030,1.011782,2.75,,,1.905947e-05,1.905947e-05,305808,12059,0,31890,0,,,,
107
+ 1040,1.005398,2.73,,,1.903767e-05,1.903767e-05,306013,10685,0,31996,0,,,,
108
+ 1050,1.062743,2.89,,,1.901563e-05,1.901563e-05,305656,12637,0,31992,0,,,,
109
+ 1060,1.037020,2.82,,,1.899335e-05,1.899335e-05,288436,14087,0,31993,0,,,,
110
+ 1070,1.002725,2.73,,,1.897085e-05,1.897085e-05,296077,13762,0,31858,0,,,,
111
+ 1080,1.077865,2.94,,,1.894810e-05,1.894810e-05,306122,8027,0,31996,0,,,,
112
+ 1090,1.182995,3.26,,,1.892513e-05,1.892513e-05,305314,13503,0,31921,0,,,,
113
+ 1100,0.996084,2.71,,,1.890192e-05,1.890192e-05,305553,10803,0,31758,0,,,,
114
+ 1110,0.901468,2.46,,,1.887848e-05,1.887848e-05,289306,12844,0,31807,0,,,,
115
+ 1120,0.932851,2.54,,,1.885481e-05,1.885481e-05,305650,12982,0,31982,0,,,,
116
+ 1130,1.061891,2.89,,,1.883091e-05,1.883091e-05,305646,13555,0,31969,0,,,,
117
+ 1140,1.062364,2.89,,,1.880679e-05,1.880679e-05,305513,10376,0,31998,0,,,,
118
+ 1150,0.985444,2.68,,,1.878243e-05,1.878243e-05,305624,11935,0,31993,0,,,,
119
+ 1160,0.981351,2.67,,,1.875784e-05,1.875784e-05,289617,13056,0,31862,0,,,,
120
+ 1170,0.929571,2.53,,,1.873303e-05,1.873303e-05,305728,10215,0,31890,0,,,,
121
+ 1180,0.977079,2.66,,,1.870799e-05,1.870799e-05,305808,12478,0,31993,0,,,,
122
+ 1190,1.029162,2.80,,,1.868272e-05,1.868272e-05,305469,12097,0,31907,0,,,,
123
+ 1200,1.042365,2.84,,,1.865723e-05,1.865723e-05,305491,9568,0,31884,0,,,,
124
+ 1210,1.016318,2.76,,,1.863151e-05,1.863151e-05,289865,13878,0,31972,0,,,,
125
+ 1220,1.052991,2.87,,,1.860558e-05,1.860558e-05,305654,15360,0,31993,0,,,,
126
+ 1230,1.040995,2.83,,,1.857941e-05,1.857941e-05,305626,12871,0,31917,0,,,,
127
+ 1240,1.032075,2.81,,,1.855303e-05,1.855303e-05,305639,10535,0,31778,0,,,,
128
+ 1250,1.036100,2.82,,,1.852642e-05,1.852642e-05,305821,12329,0,31996,0,,,,
129
+ 1260,0.983745,2.67,,,1.849960e-05,1.849960e-05,289072,13261,0,31963,0,,,,
130
+ 1270,1.043202,2.84,,,1.847255e-05,1.847255e-05,305522,12216,0,31993,0,,,,
131
+ 1280,0.984206,2.68,,,1.844529e-05,1.844529e-05,305445,13456,0,31996,0,,,,
132
+ 1290,1.035801,2.82,,,1.841780e-05,1.841780e-05,305569,12496,0,31977,0,,,,
133
+ 1300,0.940103,2.56,,,1.839010e-05,1.839010e-05,305773,13683,0,31976,0,,,,
134
+ 1310,0.921288,2.51,,,1.836218e-05,1.836218e-05,290069,13039,0,31947,0,,,,
135
+ 1320,1.060234,2.89,,,1.833405e-05,1.833405e-05,305604,14121,0,31998,0,,,,
136
+ 1330,0.915440,2.50,,,1.830570e-05,1.830570e-05,305448,10040,0,31970,0,,,,
137
+ 1340,1.044218,2.84,,,1.827714e-05,1.827714e-05,305514,12548,0,31977,0,,,,
138
+ 1350,1.002223,2.72,,,1.824837e-05,1.824837e-05,305270,10795,0,31585,0,,,,
139
+ 1360,1.007181,2.74,,,1.821938e-05,1.821938e-05,289413,10767,0,31918,0,,,,
140
+ 1370,0.911643,2.49,,,1.819018e-05,1.819018e-05,305450,12432,0,31741,0,,,,
141
+ 1380,1.100885,3.01,,,1.816077e-05,1.816077e-05,305405,12064,0,31760,0,,,,
142
+ 1390,0.946219,2.58,,,1.813115e-05,1.813115e-05,305634,12079,0,31862,0,,,,
143
+ 1400,0.988079,2.69,,,1.810132e-05,1.810132e-05,305464,9863,0,31963,0,,,,
144
+ 1410,1.129774,3.09,,,1.807128e-05,1.807128e-05,290128,11347,0,31984,0,,,,
145
+ 1420,1.123025,3.07,,,1.804104e-05,1.804104e-05,305765,12914,0,31956,0,,,,
146
+ 1430,0.966454,2.63,,,1.801059e-05,1.801059e-05,305967,11801,0,31904,0,,,,
147
+ 1440,1.051266,2.86,,,1.797993e-05,1.797993e-05,306202,10046,0,31758,0,,,,
148
+ 1450,0.962689,2.62,,,1.794907e-05,1.794907e-05,306323,9314,0,31996,0,,,,
149
+ 1460,1.000442,2.72,,,1.791801e-05,1.791801e-05,290265,10331,0,31959,0,,,,
150
+ 1470,0.994620,2.70,,,1.788674e-05,1.788674e-05,306497,10818,0,31918,0,,,,
151
+ 1480,1.007159,2.74,,,1.785527e-05,1.785527e-05,306559,12371,0,31996,0,,,,
152
+ 1490,1.018469,2.77,,,1.782360e-05,1.782360e-05,306248,10568,0,31996,0,,,,
153
+ 1500,0.995953,2.71,,,1.779173e-05,1.779173e-05,306607,11772,0,31996,0,,,,
154
+ 1510,1.082181,2.95,,,1.775966e-05,1.775966e-05,289720,11455,0,31992,0,,,,
155
+ 1520,0.929526,2.53,,,1.772739e-05,1.772739e-05,306682,10865,0,31972,0,,,,
156
+ 1530,0.928908,2.53,,,1.769493e-05,1.769493e-05,306746,10851,0,31589,0,,,,
157
+ 1540,0.984971,2.68,,,1.766227e-05,1.766227e-05,307052,13982,0,31972,0,,,,
158
+ 1550,0.974860,2.65,,,1.762941e-05,1.762941e-05,307106,11902,0,31993,0,,,,
159
+ 1560,0.990573,2.69,,,1.759636e-05,1.759636e-05,290712,10807,0,31993,0,,,,
160
+ 1570,1.004634,2.73,,,1.756312e-05,1.756312e-05,307197,14756,0,31996,0,,,,
161
+ 1580,1.083007,2.95,,,1.752968e-05,1.752968e-05,306909,11868,0,31950,0,,,,
162
+ 1590,0.969631,2.64,,,1.749606e-05,1.749606e-05,307124,13011,0,31963,0,,,,
163
+ 1600,1.064789,2.90,,,1.746224e-05,1.746224e-05,306975,14855,0,31993,0,,,,
164
+ 1610,0.956181,2.60,,,1.742823e-05,1.742823e-05,291452,13450,0,31993,0,,,,
165
+ 1620,0.818286,2.27,,,1.739404e-05,1.739404e-05,307292,13315,0,31982,0,,,,
166
+ 1630,0.969548,2.64,,,1.735965e-05,1.735965e-05,307276,14035,0,31990,0,,,,
167
+ 1640,0.897693,2.45,,,1.732508e-05,1.732508e-05,307565,13338,0,31865,0,,,,
168
+ 1650,0.940046,2.56,,,1.729033e-05,1.729033e-05,307599,13398,0,31947,0,,,,
169
+ 1660,0.876899,2.40,,,1.725539e-05,1.725539e-05,289229,13884,0,31972,0,,,,
170
+ 1670,0.970376,2.64,,,1.722027e-05,1.722027e-05,307452,12730,0,31993,0,,,,
171
+ 1680,1.082692,2.95,,,1.718496e-05,1.718496e-05,307627,14240,0,31882,0,,,,
172
+ 1690,1.013221,2.75,,,1.714948e-05,1.714948e-05,307988,14813,0,31987,0,,,,
173
+ 1700,1.046989,2.85,,,1.711381e-05,1.711381e-05,307783,11368,0,31972,0,,,,
174
+ 1710,1.135630,3.11,,,1.707797e-05,1.707797e-05,291433,11316,0,31743,0,,,,
175
+ 1720,0.966812,2.63,,,1.704194e-05,1.704194e-05,307735,12563,0,31907,0,,,,
176
+ 1730,0.982638,2.67,,,1.700574e-05,1.700574e-05,307938,11746,0,31996,0,,,,
177
+ 1740,0.938624,2.56,,,1.696937e-05,1.696937e-05,307692,8474,0,31758,0,,,,
178
+ 1750,1.004842,2.73,,,1.693281e-05,1.693281e-05,308108,11660,0,31862,0,,,,
179
+ 1760,0.901881,2.46,,,1.689609e-05,1.689609e-05,291803,10788,0,31992,0,,,,
180
+ 1770,0.959286,2.61,,,1.685919e-05,1.685919e-05,307674,9541,0,31995,0,,,,
181
+ 1780,0.959987,2.61,,,1.682212e-05,1.682212e-05,305627,9628,0,31972,0,,,,
182
+ 1790,1.058209,2.88,,,1.678488e-05,1.678488e-05,308119,10940,0,31888,0,,,,
183
+ 1800,0.978105,2.66,,,1.674747e-05,1.674747e-05,308073,11694,0,31905,0,,,,
184
+ 1810,0.832856,2.30,,,1.670989e-05,1.670989e-05,291884,12818,0,31758,0,,,,
185
+ 1820,0.909915,2.48,,,1.667215e-05,1.667215e-05,307744,11623,0,31758,0,,,,
186
+ 1830,0.949684,2.58,,,1.663423e-05,1.663423e-05,307954,11245,0,31862,0,,,,
187
+ 1840,0.986772,2.68,,,1.659616e-05,1.659616e-05,307870,11856,0,31992,0,,,,
188
+ 1850,1.033121,2.81,,,1.655792e-05,1.655792e-05,307976,9396,0,31733,0,,,,
189
+ 1860,0.943787,2.57,,,1.651951e-05,1.651951e-05,291965,12149,0,31982,0,,,,
190
+ 1870,0.989046,2.69,,,1.648095e-05,1.648095e-05,307834,13451,0,31972,0,,,,
191
+ 1880,0.911928,2.49,,,1.644222e-05,1.644222e-05,307549,12476,0,31858,0,,,,
192
+ 1890,1.005507,2.73,,,1.640333e-05,1.640333e-05,307666,9892,0,31996,0,,,,
193
+ 1900,0.921333,2.51,,,1.636429e-05,1.636429e-05,307777,14117,0,31945,0,,,,
194
+ 1910,0.955176,2.60,,,1.632509e-05,1.632509e-05,291726,10878,0,31914,0,,,,
195
+ 1920,0.852503,2.35,,,1.628573e-05,1.628573e-05,307494,11837,0,31993,0,,,,
196
+ 1930,0.992397,2.70,,,1.624622e-05,1.624622e-05,307210,13198,0,31993,0,,,,
197
+ 1940,1.018722,2.77,,,1.620655e-05,1.620655e-05,307290,12441,0,31956,0,,,,
198
+ 1950,0.926027,2.52,,,1.616673e-05,1.616673e-05,307447,13188,0,31997,0,,,,
199
+ 1960,1.024527,2.79,,,1.612676e-05,1.612676e-05,291065,12989,0,31862,0,,,,
200
+ 1970,1.059195,2.88,,,1.608664e-05,1.608664e-05,307030,12632,0,31977,0,,,,
201
+ 1980,0.907560,2.48,,,1.604637e-05,1.604637e-05,307055,11504,0,31930,0,,,,
202
+ 1990,1.048446,2.85,,,1.600595e-05,1.600595e-05,306949,11455,0,31965,0,,,,
203
+ 1994,1.098649,3.00,0.990943,2.69,1.598975e-05,1.598975e-05,101977,12152,0,31862,0,981892,,,
204
+ 2000,0.893606,2.44,,,1.596539e-05,1.596539e-05,234416,13149,0,31955,0,,,,
205
+ 2010,0.883490,2.42,,,1.592468e-05,1.592468e-05,290999,10525,0,31758,0,,,,
206
+ 2020,0.904090,2.47,,,1.588383e-05,1.588383e-05,306790,10761,0,31918,0,,,,
207
+ 2030,1.029884,2.80,,,1.584283e-05,1.584283e-05,307030,13317,0,31959,0,,,,
208
+ 2040,0.926606,2.53,,,1.580169e-05,1.580169e-05,307079,11488,0,31996,0,,,,
209
+ 2050,0.934225,2.55,,,1.576041e-05,1.576041e-05,306413,17222,0,31857,0,,,,
210
+ 2060,0.913680,2.49,,,1.571899e-05,1.571899e-05,290304,12010,0,31890,0,,,,
211
+ 2070,0.900401,2.46,,,1.567743e-05,1.567743e-05,306447,13995,0,31956,0,,,,
212
+ 2080,0.975355,2.65,,,1.563574e-05,1.563574e-05,306283,9315,0,31993,0,,,,
213
+ 2090,0.990944,2.69,,,1.559391e-05,1.559391e-05,306523,11335,0,31844,0,,,,
214
+ 2100,0.913584,2.49,,,1.555194e-05,1.555194e-05,306362,13048,0,31996,0,,,,
215
+ 2110,0.987173,2.68,,,1.550984e-05,1.550984e-05,290342,13107,0,31996,0,,,,
216
+ 2120,0.904865,2.47,,,1.546761e-05,1.546761e-05,306538,11089,0,31918,0,,,,
217
+ 2130,0.831107,2.30,,,1.542525e-05,1.542525e-05,306353,11109,0,31983,0,,,,
218
+ 2140,0.945480,2.57,,,1.538276e-05,1.538276e-05,306307,10555,0,31998,0,,,,
219
+ 2150,0.866367,2.38,,,1.534014e-05,1.534014e-05,306390,13212,0,31892,0,,,,
220
+ 2160,0.959888,2.61,,,1.529739e-05,1.529739e-05,288977,13463,0,31993,0,,,,
221
+ 2170,0.910746,2.49,,,1.525452e-05,1.525452e-05,305923,11153,0,31930,0,,,,
222
+ 2180,0.917518,2.50,,,1.521152e-05,1.521152e-05,306207,11016,0,31862,0,,,,
223
+ 2190,0.966670,2.63,,,1.516840e-05,1.516840e-05,306021,14038,0,31950,0,,,,
224
+ 2200,1.016383,2.76,,,1.512515e-05,1.512515e-05,306390,11247,0,31993,0,,,,
225
+ 2210,0.954918,2.60,,,1.508179e-05,1.508179e-05,290583,10659,0,31980,0,,,,
226
+ 2220,0.973677,2.65,,,1.503831e-05,1.503831e-05,306226,9855,0,31911,0,,,,
227
+ 2230,1.041227,2.83,,,1.499470e-05,1.499470e-05,306068,13782,0,31840,0,,,,
228
+ 2240,0.871414,2.39,,,1.495098e-05,1.495098e-05,305863,15479,0,31758,0,,,,
229
+ 2250,0.952053,2.59,,,1.490715e-05,1.490715e-05,305880,13000,0,31956,0,,,,
230
+ 2260,1.032286,2.81,,,1.486320e-05,1.486320e-05,290040,9483,0,31978,0,,,,
231
+ 2270,0.908412,2.48,,,1.481914e-05,1.481914e-05,305977,12732,0,31983,0,,,,
232
+ 2280,0.875526,2.40,,,1.477496e-05,1.477496e-05,306029,12366,0,31977,0,,,,
233
+ 2290,0.998928,2.72,,,1.473068e-05,1.473068e-05,306132,12099,0,31828,0,,,,
234
+ 2300,0.985428,2.68,,,1.468628e-05,1.468628e-05,306019,12659,0,31892,0,,,,
235
+ 2310,1.069786,2.91,,,1.464178e-05,1.464178e-05,290194,13181,0,31862,0,,,,
236
+ 2320,0.911031,2.49,,,1.459717e-05,1.459717e-05,305922,13711,0,31959,0,,,,
237
+ 2330,0.935537,2.55,,,1.455245e-05,1.455245e-05,305961,13606,0,31993,0,,,,
238
+ 2340,1.021566,2.78,,,1.450763e-05,1.450763e-05,306060,11654,0,31987,0,,,,
239
+ 2350,0.951408,2.59,,,1.446271e-05,1.446271e-05,306000,10976,0,31862,0,,,,
240
+ 2360,0.900890,2.46,,,1.441769e-05,1.441769e-05,290417,14443,0,31972,0,,,,
241
+ 2370,1.025926,2.79,,,1.437256e-05,1.437256e-05,305945,11282,0,31877,0,,,,
242
+ 2380,0.844171,2.33,,,1.432734e-05,1.432734e-05,305757,11779,0,31951,0,,,,
243
+ 2390,0.984645,2.68,,,1.428202e-05,1.428202e-05,303195,15307,0,31918,0,,,,
244
+ 2400,0.937812,2.55,,,1.423660e-05,1.423660e-05,302695,12008,0,31987,0,,,,
245
+ 2410,0.898064,2.45,,,1.419109e-05,1.419109e-05,286947,14252,0,31993,0,,,,
246
+ 2420,1.016217,2.76,,,1.414549e-05,1.414549e-05,305791,12903,0,31950,0,,,,
247
+ 2430,0.927216,2.53,,,1.409979e-05,1.409979e-05,305731,14245,0,31977,0,,,,
248
+ 2440,0.927369,2.53,,,1.405400e-05,1.405400e-05,305457,14488,0,31987,0,,,,
249
+ 2450,0.864745,2.37,,,1.400813e-05,1.400813e-05,305761,13351,0,31996,0,,,,
250
+ 2460,0.851803,2.34,,,1.396216e-05,1.396216e-05,289424,11012,0,31857,0,,,,
251
+ 2470,0.860394,2.36,,,1.391611e-05,1.391611e-05,305599,10871,0,31902,0,,,,
252
+ 2480,1.058316,2.88,,,1.386997e-05,1.386997e-05,306013,13534,0,31961,0,,,,
253
+ 2490,1.005034,2.73,,,1.382375e-05,1.382375e-05,305809,11614,0,31862,0,,,,
254
+ 2500,0.991339,2.69,,,1.377745e-05,1.377745e-05,305771,11220,0,31977,0,,,,
255
+ 2510,0.983810,2.67,,,1.373106e-05,1.373106e-05,289821,11881,0,31972,0,,,,
256
+ 2520,0.889716,2.43,,,1.368459e-05,1.368459e-05,305787,13932,0,31862,0,,,,
257
+ 2530,0.889271,2.43,,,1.363805e-05,1.363805e-05,305635,10817,0,31734,0,,,,
258
+ 2540,0.897557,2.45,,,1.359143e-05,1.359143e-05,305675,13545,0,31918,0,,,,
259
+ 2550,1.003792,2.73,,,1.354473e-05,1.354473e-05,305858,11865,0,31993,0,,,,
260
+ 2560,0.958884,2.61,,,1.349796e-05,1.349796e-05,289762,14426,0,31998,0,,,,
261
+ 2570,0.906920,2.48,,,1.345111e-05,1.345111e-05,305398,13681,0,31963,0,,,,
262
+ 2580,0.929406,2.53,,,1.340419e-05,1.340419e-05,305531,11453,0,31862,0,,,,
263
+ 2590,0.967286,2.63,,,1.335721e-05,1.335721e-05,305745,9891,0,31633,0,,,,
264
+ 2600,0.964820,2.62,,,1.331015e-05,1.331015e-05,305641,10503,0,31993,0,,,,
265
+ 2610,0.921292,2.51,,,1.326302e-05,1.326302e-05,289555,14111,0,31802,0,,,,
266
+ 2620,0.895614,2.45,,,1.321583e-05,1.321583e-05,305302,9959,0,31887,0,,,,
267
+ 2630,0.885134,2.42,,,1.316858e-05,1.316858e-05,305658,13521,0,31936,0,,,,
268
+ 2640,1.014593,2.76,,,1.312126e-05,1.312126e-05,305632,12644,0,31877,0,,,,
269
+ 2650,0.964968,2.62,,,1.307387e-05,1.307387e-05,305780,11120,0,31993,0,,,,
270
+ 2660,0.943743,2.57,,,1.302643e-05,1.302643e-05,289280,12654,0,31862,0,,,,
271
+ 2670,0.982149,2.67,,,1.297893e-05,1.297893e-05,305572,11834,0,31979,0,,,,
272
+ 2680,1.009292,2.74,,,1.293137e-05,1.293137e-05,305305,14303,0,31963,0,,,,
273
+ 2690,0.931736,2.54,,,1.288375e-05,1.288375e-05,305481,12263,0,31980,0,,,,
274
+ 2700,0.973730,2.65,,,1.283608e-05,1.283608e-05,305641,12305,0,31920,0,,,,
275
+ 2710,0.948013,2.58,,,1.278836e-05,1.278836e-05,289830,12841,0,31897,0,,,,
276
+ 2720,1.009228,2.74,,,1.274058e-05,1.274058e-05,305656,11507,0,31930,0,,,,
277
+ 2730,0.938868,2.56,,,1.269275e-05,1.269275e-05,305583,13767,0,31993,0,,,,
278
+ 2740,0.961029,2.61,,,1.264487e-05,1.264487e-05,305645,12167,0,31976,0,,,,
279
+ 2750,0.928427,2.53,,,1.259694e-05,1.259694e-05,305381,11111,0,31724,0,,,,
280
+ 2760,0.916921,2.50,,,1.254897e-05,1.254897e-05,288402,9647,0,31996,0,,,,
281
+ 2770,0.835812,2.31,,,1.250095e-05,1.250095e-05,305420,12524,0,31802,0,,,,
282
+ 2780,0.881945,2.42,,,1.245289e-05,1.245289e-05,305533,8219,0,31993,0,,,,
283
+ 2790,1.001026,2.72,,,1.240478e-05,1.240478e-05,305279,11907,0,31873,0,,,,
284
+ 2800,1.054148,2.87,,,1.235664e-05,1.235664e-05,305282,10279,0,31778,0,,,,
285
+ 2810,0.950587,2.59,,,1.230845e-05,1.230845e-05,289592,11872,0,31993,0,,,,
286
+ 2820,0.879365,2.41,,,1.226022e-05,1.226022e-05,305051,11479,0,31963,0,,,,
287
+ 2830,0.951951,2.59,,,1.221196e-05,1.221196e-05,305484,12760,0,31911,0,,,,
288
+ 2840,0.884009,2.42,,,1.216366e-05,1.216366e-05,305482,12926,0,31862,0,,,,
289
+ 2850,0.959571,2.61,,,1.211533e-05,1.211533e-05,305737,12093,0,31984,0,,,,
290
+ 2860,0.843652,2.32,,,1.206697e-05,1.206697e-05,289314,14970,0,31993,0,,,,
291
+ 2870,1.068115,2.91,,,1.201857e-05,1.201857e-05,305737,9414,0,31992,0,,,,
292
+ 2880,0.964612,2.62,,,1.197015e-05,1.197015e-05,305725,11677,0,31932,0,,,,
293
+ 2890,0.882784,2.42,,,1.192169e-05,1.192169e-05,305935,12100,0,31902,0,,,,
294
+ 2900,0.789432,2.20,,,1.187321e-05,1.187321e-05,305810,10082,0,31858,0,,,,
295
+ 2910,0.937204,2.55,,,1.182471e-05,1.182471e-05,289926,11459,0,31890,0,,,,
296
+ 2920,0.943747,2.57,,,1.177618e-05,1.177618e-05,305984,13373,0,31984,0,,,,
297
+ 2930,0.928026,2.53,,,1.172762e-05,1.172762e-05,306277,14290,0,31985,0,,,,
298
+ 2940,1.006109,2.73,,,1.167905e-05,1.167905e-05,306519,15579,0,31947,0,,,,
299
+ 2950,0.923815,2.52,,,1.163045e-05,1.163045e-05,306317,12928,0,31918,0,,,,
300
+ 2960,0.835406,2.31,,,1.158184e-05,1.158184e-05,288498,13211,0,31944,0,,,,
301
+ 2970,0.850809,2.34,,,1.153321e-05,1.153321e-05,306190,12334,0,31936,0,,,,
302
+ 2980,0.949627,2.58,,,1.148457e-05,1.148457e-05,306707,11216,0,31963,0,,,,
303
+ 2990,1.014693,2.76,,,1.143591e-05,1.143591e-05,306575,12491,0,31886,0,,,,
304
+ 3000,0.926277,2.53,,,1.138723e-05,1.138723e-05,306713,13195,0,31990,0,,,,
305
+ 3010,0.883350,2.42,,,1.133855e-05,1.133855e-05,290998,9857,0,31993,0,,,,
306
+ 3020,1.012094,2.75,,,1.128986e-05,1.128986e-05,307084,12274,0,31996,0,,,,
307
+ 3030,1.001178,2.72,,,1.124115e-05,1.124115e-05,307006,11001,0,31816,0,,,,
308
+ 3040,0.791330,2.21,,,1.119244e-05,1.119244e-05,307175,13977,0,31993,0,,,,
309
+ 3050,0.907643,2.48,,,1.114373e-05,1.114373e-05,307322,13322,0,31987,0,,,,
310
+ 3060,1.000218,2.72,,,1.109501e-05,1.109501e-05,290914,9811,0,31713,0,,,,
311
+ 3070,0.797237,2.22,,,1.104629e-05,1.104629e-05,307322,11697,0,31959,0,,,,
312
+ 3080,0.927428,2.53,,,1.099756e-05,1.099756e-05,307385,13986,0,31924,0,,,,
313
+ 3090,1.046872,2.85,,,1.094884e-05,1.094884e-05,307116,15378,0,31993,0,,,,
314
+ 3100,0.939501,2.56,,,1.090012e-05,1.090012e-05,307302,12276,0,31999,0,,,,
315
+ 3110,0.845278,2.33,,,1.085140e-05,1.085140e-05,291277,11646,0,31918,0,,,,
316
+ 3120,0.905812,2.47,,,1.080269e-05,1.080269e-05,307274,11191,0,31902,0,,,,
317
+ 3130,1.090676,2.98,,,1.075398e-05,1.075398e-05,307348,13313,0,31862,0,,,,
318
+ 3140,0.876126,2.40,,,1.070527e-05,1.070527e-05,307432,12456,0,31911,0,,,,
319
+ 3150,0.876130,2.40,,,1.065658e-05,1.065658e-05,307478,11636,0,31977,0,,,,
320
+ 3160,0.943762,2.57,,,1.060790e-05,1.060790e-05,290432,14706,0,31969,0,,,,
321
+ 3170,0.941160,2.56,,,1.055923e-05,1.055923e-05,307758,9867,0,31845,0,,,,
322
+ 3180,1.008482,2.74,,,1.051057e-05,1.051057e-05,307617,11265,0,31942,0,,,,
323
+ 3190,0.971163,2.64,,,1.046192e-05,1.046192e-05,308031,13286,0,31916,0,,,,
324
+ 3200,0.862680,2.37,,,1.041330e-05,1.041330e-05,307546,12351,0,31987,0,,,,
325
+ 3210,0.967239,2.63,,,1.036469e-05,1.036469e-05,291586,10951,0,31862,0,,,,
326
+ 3220,0.930287,2.54,,,1.031609e-05,1.031609e-05,307682,13681,0,31987,0,,,,
327
+ 3230,0.869052,2.38,,,1.026752e-05,1.026752e-05,307919,14015,0,31992,0,,,,
328
+ 3240,0.891390,2.44,,,1.021897e-05,1.021897e-05,307617,13963,0,31996,0,,,,
329
+ 3250,1.046258,2.85,,,1.017044e-05,1.017044e-05,307386,14909,0,31886,0,,,,
330
+ 3260,0.974431,2.65,,,1.012194e-05,1.012194e-05,291321,10709,0,31891,0,,,,
331
+ 3270,0.972567,2.64,,,1.007346e-05,1.007346e-05,307974,12709,0,31930,0,,,,
332
+ 3280,0.914408,2.50,,,1.002501e-05,1.002501e-05,307547,14605,0,31912,0,,,,
333
+ 3290,0.918024,2.50,,,9.976586e-06,9.976586e-06,307834,14703,0,31888,0,,,,
334
+ 3300,1.065710,2.90,,,9.928193e-06,9.928193e-06,307974,10750,0,31818,0,,,,
335
+ 3310,0.972472,2.64,,,9.879832e-06,9.879832e-06,290676,11351,0,31975,0,,,,
336
+ 3320,1.009355,2.74,,,9.831504e-06,9.831504e-06,308041,11377,0,31914,0,,,,
337
+ 3330,0.931865,2.54,,,9.783210e-06,9.783210e-06,307845,8075,0,31856,0,,,,
338
+ 3340,0.880880,2.41,,,9.734952e-06,9.734952e-06,307852,10621,0,31942,0,,,,
339
+ 3350,1.054214,2.87,,,9.686731e-06,9.686731e-06,308103,8954,0,31996,0,,,,
340
+ 3360,0.891564,2.44,,,9.638548e-06,9.638548e-06,289504,11288,0,31992,0,,,,
341
+ 3370,0.894692,2.45,,,9.590406e-06,9.590406e-06,307417,14842,0,31996,0,,,,
342
+ 3380,0.967052,2.63,,,9.542304e-06,9.542304e-06,308178,14045,0,31883,0,,,,
343
+ 3390,0.969374,2.64,,,9.494245e-06,9.494245e-06,308058,10129,0,31758,0,,,,
344
+ 3400,0.936475,2.55,,,9.446231e-06,9.446231e-06,308083,14384,0,31854,0,,,,
345
+ 3410,0.851715,2.34,,,9.398262e-06,9.398262e-06,292008,13736,0,31996,0,,,,
346
+ 3420,0.999579,2.72,,,9.350340e-06,9.350340e-06,307954,9551,0,31721,0,,,,
347
+ 3430,0.825359,2.28,,,9.302466e-06,9.302466e-06,307780,10267,0,31984,0,,,,
348
+ 3440,1.026087,2.79,,,9.254642e-06,9.254642e-06,307706,12645,0,31998,0,,,,
349
+ 3450,0.891143,2.44,,,9.206869e-06,9.206869e-06,307851,14588,0,31993,0,,,,
350
+ 3460,0.874099,2.40,,,9.159149e-06,9.159149e-06,291835,12488,0,31833,0,,,,
351
+ 3470,0.910442,2.49,,,9.111482e-06,9.111482e-06,307505,13171,0,31977,0,,,,
352
+ 3480,0.944817,2.57,,,9.063871e-06,9.063871e-06,307554,14114,0,31873,0,,,,
353
+ 3490,0.909785,2.48,,,9.016317e-06,9.016317e-06,307546,12312,0,31778,0,,,,
354
+ 3500,0.976215,2.65,,,8.968821e-06,8.968821e-06,307547,12542,0,31993,0,,,,
355
+ 3510,0.937928,2.55,,,8.921384e-06,8.921384e-06,291500,11533,0,31930,0,,,,
356
+ 3520,0.837156,2.31,,,8.874009e-06,8.874009e-06,307317,14574,0,31921,0,,,,
357
+ 3530,1.053735,2.87,,,8.826695e-06,8.826695e-06,307173,12993,0,31890,0,,,,
358
+ 3540,0.927568,2.53,,,8.779446e-06,8.779446e-06,307321,11935,0,31932,0,,,,
359
+ 3550,0.892490,2.44,,,8.732261e-06,8.732261e-06,307406,12977,0,31862,0,,,,
360
+ 3560,0.860348,2.36,,,8.685143e-06,8.685143e-06,291021,11900,0,31963,0,,,,
361
+ 3570,0.939857,2.56,,,8.638093e-06,8.638093e-06,307043,13537,0,31921,0,,,,
362
+ 3580,0.941980,2.57,,,8.591112e-06,8.591112e-06,307033,13930,0,31993,0,,,,
363
+ 3590,0.803637,2.23,,,8.544201e-06,8.544201e-06,306908,11701,0,31996,0,,,,
364
+ 3600,1.002623,2.73,,,8.497363e-06,8.497363e-06,306827,10706,0,31993,0,,,,
365
+ 3610,0.933426,2.54,,,8.450598e-06,8.450598e-06,290728,11056,0,31993,0,,,,
366
+ 3620,0.894667,2.45,,,8.403907e-06,8.403907e-06,306714,12887,0,31993,0,,,,
367
+ 3630,0.889202,2.43,,,8.357293e-06,8.357293e-06,306571,12515,0,31977,0,,,,
368
+ 3640,0.953293,2.59,,,8.310756e-06,8.310756e-06,306942,10292,0,31892,0,,,,
369
+ 3650,0.949165,2.58,,,8.264298e-06,8.264298e-06,306774,10790,0,31920,0,,,,
370
+ 3660,0.971217,2.64,,,8.217920e-06,8.217920e-06,290846,11699,0,31862,0,,,,
371
+ 3670,0.897415,2.45,,,8.171624e-06,8.171624e-06,306645,10729,0,31862,0,,,,
372
+ 3680,0.942515,2.57,,,8.125411e-06,8.125411e-06,306724,14048,0,31972,0,,,,
373
+ 3690,1.030901,2.80,,,8.079281e-06,8.079281e-06,306718,12836,0,31702,0,,,,
374
+ 3700,0.965611,2.63,,,8.033238e-06,8.033238e-06,306623,11604,0,31996,0,,,,
375
+ 3710,0.921546,2.51,,,7.987281e-06,7.987281e-06,290647,9987,0,31992,0,,,,
376
+ 3720,0.834299,2.30,,,7.941413e-06,7.941413e-06,304158,13524,0,31890,0,,,,
377
+ 3730,0.954775,2.60,,,7.895634e-06,7.895634e-06,306669,13680,0,31977,0,,,,
378
+ 3740,0.916405,2.50,,,7.849946e-06,7.849946e-06,300031,10466,0,31864,0,,,,
379
+ 3750,0.913336,2.49,,,7.804351e-06,7.804351e-06,306385,13097,0,31985,0,,,,
380
+ 3760,0.925413,2.52,,,7.758849e-06,7.758849e-06,290282,10601,0,31996,0,,,,
381
+ 3770,0.968527,2.63,,,7.713443e-06,7.713443e-06,306111,14029,0,31996,0,,,,
382
+ 3780,0.918146,2.50,,,7.668132e-06,7.668132e-06,306179,12525,0,31858,0,,,,
383
+ 3790,1.025502,2.79,,,7.622920e-06,7.622920e-06,306338,8763,0,31919,0,,,,
384
+ 3800,0.957032,2.60,,,7.577806e-06,7.577806e-06,306313,10305,0,31930,0,,,,
385
+ 3810,0.888034,2.43,,,7.532792e-06,7.532792e-06,290419,12035,0,31998,0,,,,
386
+ 3820,0.947372,2.58,,,7.487880e-06,7.487880e-06,306106,11884,0,31912,0,,,,
387
+ 3830,0.980204,2.67,,,7.443072e-06,7.443072e-06,306046,12386,0,31862,0,,,,
388
+ 3840,0.842406,2.32,,,7.398367e-06,7.398367e-06,306051,11387,0,31862,0,,,,
389
+ 3850,0.934376,2.55,,,7.353768e-06,7.353768e-06,305903,11203,0,31918,0,,,,
390
+ 3860,0.876480,2.40,,,7.309276e-06,7.309276e-06,290310,14163,0,31996,0,,,,
391
+ 3870,0.897698,2.45,,,7.264891e-06,7.264891e-06,306228,11446,0,31993,0,,,,
392
+ 3880,0.877591,2.41,,,7.220617e-06,7.220617e-06,306320,9431,0,31787,0,,,,
393
+ 3890,0.870856,2.39,,,7.176453e-06,7.176453e-06,305775,14149,0,31789,0,,,,
394
+ 3900,0.988107,2.69,,,7.132401e-06,7.132401e-06,306178,13431,0,31956,0,,,,
395
+ 3910,0.971377,2.64,,,7.088463e-06,7.088463e-06,290193,13985,0,31977,0,,,,
396
+ 3920,1.033446,2.81,,,7.044639e-06,7.044639e-06,306318,13808,0,31963,0,,,,
397
+ 3930,0.814703,2.26,,,7.000931e-06,7.000931e-06,306182,11756,0,31862,0,,,,
398
+ 3940,1.006293,2.74,,,6.957341e-06,6.957341e-06,305827,9825,0,31408,0,,,,
399
+ 3950,0.932727,2.54,,,6.913868e-06,6.913868e-06,306000,11447,0,31990,0,,,,
400
+ 3960,0.996648,2.71,,,6.870516e-06,6.870516e-06,290261,11346,0,31996,0,,,,
401
+ 3970,0.970334,2.64,,,6.827285e-06,6.827285e-06,305850,12236,0,31918,0,,,,
402
+ 3980,0.970013,2.64,,,6.784176e-06,6.784176e-06,305923,11266,0,31992,0,,,,
403
+ 3988,0.855588,2.35,0.963912,2.62,6.749777e-06,6.749777e-06,152485,12155,0,31972,0,981892,,,
404
+ 3990,0.836448,2.31,,,6.741190e-06,6.741190e-06,159095,11870,0,31993,0,,,,
405
+ 4000,0.741762,2.10,,,6.698329e-06,6.698329e-06,306133,11211,0,31993,0,,,,
406
+ 4010,0.828878,2.29,,,6.655595e-06,6.655595e-06,289947,11761,0,31964,0,,,,
407
+ 4020,0.878638,2.41,,,6.612987e-06,6.612987e-06,305889,11135,0,31816,0,,,,
408
+ 4030,0.796407,2.22,,,6.570509e-06,6.570509e-06,306090,11690,0,31996,0,,,,
409
+ 4040,0.988551,2.69,,,6.528160e-06,6.528160e-06,305872,12420,0,31702,0,,,,
410
+ 4050,0.897214,2.45,,,6.485942e-06,6.485942e-06,305901,10465,0,31998,0,,,,
411
+ 4060,0.860466,2.36,,,6.443856e-06,6.443856e-06,289354,12331,0,31993,0,,,,
412
+ 4070,0.905617,2.47,,,6.401905e-06,6.401905e-06,305803,12091,0,31918,0,,,,
413
+ 4080,0.874771,2.40,,,6.360087e-06,6.360087e-06,305302,13389,0,31993,0,,,,
414
+ 4090,0.880945,2.41,,,6.318406e-06,6.318406e-06,305382,12353,0,31794,0,,,,
415
+ 4100,0.887475,2.43,,,6.276862e-06,6.276862e-06,305536,12872,0,31902,0,,,,
416
+ 4110,0.921849,2.51,,,6.235456e-06,6.235456e-06,289871,13193,0,31993,0,,,,
417
+ 4120,0.946622,2.58,,,6.194190e-06,6.194190e-06,305570,10517,0,31864,0,,,,
418
+ 4130,0.891104,2.44,,,6.153065e-06,6.153065e-06,305546,10817,0,31633,0,,,,
419
+ 4140,0.859780,2.36,,,6.112082e-06,6.112082e-06,305648,12375,0,31863,0,,,,
420
+ 4150,0.866110,2.38,,,6.071242e-06,6.071242e-06,305726,14933,0,31998,0,,,,
421
+ 4160,0.861717,2.37,,,6.030547e-06,6.030547e-06,290167,16023,0,31963,0,,,,
422
+ 4170,0.813263,2.26,,,5.989997e-06,5.989997e-06,305979,11869,0,31952,0,,,,
423
+ 4180,0.837266,2.31,,,5.949595e-06,5.949595e-06,305791,12236,0,31996,0,,,,
424
+ 4190,0.831629,2.30,,,5.909340e-06,5.909340e-06,305962,14143,0,31918,0,,,,
425
+ 4200,0.819196,2.27,,,5.869234e-06,5.869234e-06,305965,13479,0,31993,0,,,,
426
+ 4210,0.998080,2.71,,,5.829279e-06,5.829279e-06,289307,10775,0,31963,0,,,,
427
+ 4220,0.859885,2.36,,,5.789475e-06,5.789475e-06,305860,12283,0,31758,0,,,,
428
+ 4230,0.919330,2.51,,,5.749824e-06,5.749824e-06,305797,13538,0,31995,0,,,,
429
+ 4240,0.980317,2.67,,,5.710327e-06,5.710327e-06,305881,11388,0,31963,0,,,,
430
+ 4250,0.897996,2.45,,,5.670985e-06,5.670985e-06,305916,11104,0,31870,0,,,,
431
+ 4260,0.903412,2.47,,,5.631799e-06,5.631799e-06,289834,10043,0,31996,0,,,,
432
+ 4270,0.850051,2.34,,,5.592770e-06,5.592770e-06,305585,11921,0,31883,0,,,,
433
+ 4280,0.926714,2.53,,,5.553900e-06,5.553900e-06,305438,12091,0,31993,0,,,,
434
+ 4290,0.857602,2.36,,,5.515190e-06,5.515190e-06,305199,12203,0,31947,0,,,,
435
+ 4300,0.882868,2.42,,,5.476640e-06,5.476640e-06,305306,12079,0,31963,0,,,,
436
+ 4310,0.867857,2.38,,,5.438252e-06,5.438252e-06,289788,11968,0,31890,0,,,,
437
+ 4320,0.842068,2.32,,,5.400027e-06,5.400027e-06,305373,12670,0,31957,0,,,,
438
+ 4330,0.962975,2.62,,,5.361967e-06,5.361967e-06,305235,12277,0,31980,0,,,,
439
+ 4340,0.899613,2.46,,,5.324071e-06,5.324071e-06,305443,10430,0,31640,0,,,,
440
+ 4350,0.879387,2.41,,,5.286342e-06,5.286342e-06,305335,14004,0,31889,0,,,,
441
+ 4360,0.813839,2.26,,,5.248780e-06,5.248780e-06,288800,12623,0,31930,0,,,,
442
+ 4370,0.904845,2.47,,,5.211387e-06,5.211387e-06,305138,11666,0,31966,0,,,,
443
+ 4380,0.844564,2.33,,,5.174164e-06,5.174164e-06,305556,12836,0,31973,0,,,,
444
+ 4390,0.874380,2.40,,,5.137111e-06,5.137111e-06,305331,13342,0,31930,0,,,,
445
+ 4400,0.852694,2.35,,,5.100230e-06,5.100230e-06,305399,11982,0,31963,0,,,,
446
+ 4410,0.915764,2.50,,,5.063522e-06,5.063522e-06,289649,11858,0,31862,0,,,,
447
+ 4420,0.891486,2.44,,,5.026988e-06,5.026988e-06,305719,14457,0,31997,0,,,,
448
+ 4430,0.807944,2.24,,,4.990629e-06,4.990629e-06,305615,13196,0,31987,0,,,,
449
+ 4440,0.978265,2.66,,,4.954447e-06,4.954447e-06,305846,11028,0,31996,0,,,,
450
+ 4450,0.825220,2.28,,,4.918441e-06,4.918441e-06,305658,14699,0,31996,0,,,,
451
+ 4460,0.909619,2.48,,,4.882614e-06,4.882614e-06,290191,14716,0,31993,0,,,,
452
+ 4470,0.829192,2.29,,,4.846965e-06,4.846965e-06,306070,10450,0,31921,0,,,,
453
+ 4480,0.818172,2.27,,,4.811498e-06,4.811498e-06,306118,13167,0,31992,0,,,,
454
+ 4490,0.945347,2.57,,,4.776211e-06,4.776211e-06,305979,12813,0,31810,0,,,,
455
+ 4500,0.851907,2.34,,,4.741107e-06,4.741107e-06,306188,13448,0,31963,0,,,,
456
+ 4510,0.849856,2.34,,,4.706187e-06,4.706187e-06,290347,11259,0,31996,0,,,,
457
+ 4520,0.835903,2.31,,,4.671451e-06,4.671451e-06,306357,10936,0,31993,0,,,,
458
+ 4530,0.922354,2.52,,,4.636900e-06,4.636900e-06,306246,12773,0,31996,0,,,,
459
+ 4540,0.913130,2.49,,,4.602536e-06,4.602536e-06,307038,9431,0,31987,0,,,,
460
+ 4550,0.854238,2.35,,,4.568360e-06,4.568360e-06,307096,11018,0,31970,0,,,,
461
+ 4560,0.746579,2.11,,,4.534372e-06,4.534372e-06,290343,14660,0,31918,0,,,,
462
+ 4570,0.913539,2.49,,,4.500573e-06,4.500573e-06,306842,12567,0,31993,0,,,,
463
+ 4580,0.893473,2.44,,,4.466965e-06,4.466965e-06,306754,9267,0,31950,0,,,,
464
+ 4590,0.908415,2.48,,,4.433548e-06,4.433548e-06,306797,14424,0,31892,0,,,,
465
+ 4600,0.895721,2.45,,,4.400324e-06,4.400324e-06,307196,14010,0,31883,0,,,,
466
+ 4610,0.822863,2.28,,,4.367293e-06,4.367293e-06,290994,12178,0,31888,0,,,,
467
+ 4620,0.880773,2.41,,,4.334457e-06,4.334457e-06,307417,11224,0,31883,0,,,,
468
+ 4630,0.956673,2.60,,,4.301816e-06,4.301816e-06,307301,12632,0,31977,0,,,,
469
+ 4640,0.928969,2.53,,,4.269372e-06,4.269372e-06,307420,9060,0,31888,0,,,,
470
+ 4650,0.787354,2.20,,,4.237124e-06,4.237124e-06,307401,10579,0,31996,0,,,,
471
+ 4660,0.885322,2.42,,,4.205075e-06,4.205075e-06,291235,14379,0,31900,0,,,,
472
+ 4670,0.868022,2.38,,,4.173225e-06,4.173225e-06,307404,11184,0,31947,0,,,,
473
+ 4680,0.927117,2.53,,,4.141575e-06,4.141575e-06,307444,12329,0,31956,0,,,,
474
+ 4690,0.845879,2.33,,,4.110126e-06,4.110126e-06,307325,14090,0,31993,0,,,,
475
+ 4700,0.942108,2.57,,,4.078879e-06,4.078879e-06,307563,12456,0,31996,0,,,,
476
+ 4710,0.844442,2.33,,,4.047835e-06,4.047835e-06,291567,12546,0,31977,0,,,,
477
+ 4720,0.884590,2.42,,,4.016994e-06,4.016994e-06,307898,13279,0,31952,0,,,,
478
+ 4730,0.830920,2.30,,,3.986359e-06,3.986359e-06,307489,13468,0,31918,0,,,,
479
+ 4740,0.779382,2.18,,,3.955928e-06,3.955928e-06,307465,12044,0,31897,0,,,,
480
+ 4750,0.853471,2.35,,,3.925705e-06,3.925705e-06,307761,9337,0,31918,0,,,,
481
+ 4760,0.818542,2.27,,,3.895688e-06,3.895688e-06,291972,15709,0,31865,0,,,,
482
+ 4770,0.879774,2.41,,,3.865880e-06,3.865880e-06,307542,13313,0,31993,0,,,,
483
+ 4780,0.817193,2.26,,,3.836281e-06,3.836281e-06,307958,11716,0,31993,0,,,,
484
+ 4790,0.754524,2.13,,,3.806892e-06,3.806892e-06,307921,12068,0,31998,0,,,,
485
+ 4800,0.932508,2.54,,,3.777714e-06,3.777714e-06,307602,12431,0,31930,0,,,,
486
+ 4810,0.813238,2.26,,,3.748747e-06,3.748747e-06,291719,12433,0,31585,0,,,,
487
+ 4820,0.796994,2.22,,,3.719993e-06,3.719993e-06,307949,15112,0,31733,0,,,,
488
+ 4830,0.828987,2.29,,,3.691452e-06,3.691452e-06,307802,12715,0,31888,0,,,,
489
+ 4840,0.810782,2.25,,,3.663125e-06,3.663125e-06,308264,12981,0,31907,0,,,,
490
+ 4850,0.965295,2.63,,,3.635014e-06,3.635014e-06,307943,12225,0,31982,0,,,,
491
+ 4860,0.921890,2.51,,,3.607118e-06,3.607118e-06,291254,14376,0,31963,0,,,,
492
+ 4870,0.872179,2.39,,,3.579439e-06,3.579439e-06,308272,9259,0,31972,0,,,,
493
+ 4880,0.978155,2.66,,,3.551978e-06,3.551978e-06,308151,10020,0,31853,0,,,,
494
+ 4890,0.904827,2.47,,,3.524735e-06,3.524735e-06,308004,10538,0,31862,0,,,,
495
+ 4900,0.935192,2.55,,,3.497710e-06,3.497710e-06,308198,13649,0,31996,0,,,,
496
+ 4910,0.857052,2.36,,,3.470906e-06,3.470906e-06,292249,12204,0,31777,0,,,,
497
+ 4920,0.921403,2.51,,,3.444323e-06,3.444323e-06,308045,13280,0,31937,0,,,,
498
+ 4930,0.821914,2.27,,,3.417961e-06,3.417961e-06,307898,16532,0,31918,0,,,,
499
+ 4940,0.906541,2.48,,,3.391821e-06,3.391821e-06,307863,11208,0,31993,0,,,,
500
+ 4950,1.000922,2.72,,,3.365904e-06,3.365904e-06,308068,12840,0,31995,0,,,,
501
+ 4960,0.952100,2.59,,,3.340210e-06,3.340210e-06,291734,11248,0,31996,0,,,,
502
+ 4970,0.952932,2.59,,,3.314742e-06,3.314742e-06,306990,13504,0,31963,0,,,,
503
+ 4980,0.886642,2.43,,,3.289498e-06,3.289498e-06,307862,13018,0,31923,0,,,,
504
+ 4990,0.796484,2.22,,,3.264481e-06,3.264481e-06,307898,12033,0,31888,0,,,,
505
+ 5000,0.854570,2.35,,,3.239690e-06,3.239690e-06,308287,9847,0,31964,0,,,,
506
+ 5010,1.043619,2.84,,,3.215127e-06,3.215127e-06,291946,14788,0,31941,0,,,,
507
+ 5020,0.922403,2.52,,,3.190792e-06,3.190792e-06,308242,12247,0,31890,0,,,,
508
+ 5030,0.873604,2.40,,,3.166685e-06,3.166685e-06,305542,12917,0,31907,0,,,,
509
+ 5040,0.874923,2.40,,,3.142809e-06,3.142809e-06,308089,11061,0,31996,0,,,,
510
+ 5050,0.847005,2.33,,,3.119162e-06,3.119162e-06,308056,11270,0,31993,0,,,,
511
+ 5060,0.784519,2.19,,,3.095747e-06,3.095747e-06,290739,12162,0,31996,0,,,,
512
+ 5070,0.919599,2.51,,,3.072563e-06,3.072563e-06,301853,11294,0,31883,0,,,,
513
+ 5080,0.834648,2.30,,,3.049612e-06,3.049612e-06,308004,10951,0,31926,0,,,,
514
+ 5090,0.758982,2.14,,,3.026893e-06,3.026893e-06,307996,13476,0,31987,0,,,,
515
+ 5100,0.861730,2.37,,,3.004409e-06,3.004409e-06,307849,14177,0,31959,0,,,,
516
+ 5110,0.866685,2.38,,,2.982158e-06,2.982158e-06,291824,12525,0,31998,0,,,,
517
+ 5120,0.978114,2.66,,,2.960143e-06,2.960143e-06,307813,12110,0,31996,0,,,,
518
+ 5130,0.876302,2.40,,,2.938363e-06,2.938363e-06,307575,14104,0,31977,0,,,,
519
+ 5140,0.950653,2.59,,,2.916820e-06,2.916820e-06,307357,10043,0,31996,0,,,,
520
+ 5150,0.777020,2.17,,,2.895513e-06,2.895513e-06,307333,13573,0,31996,0,,,,
521
+ 5160,0.896585,2.45,,,2.874444e-06,2.874444e-06,291238,10416,0,31909,0,,,,
522
+ 5170,0.994345,2.70,,,2.853613e-06,2.853613e-06,307465,13625,0,31801,0,,,,
523
+ 5180,0.887699,2.43,,,2.833021e-06,2.833021e-06,307351,11557,0,31963,0,,,,
524
+ 5190,0.843838,2.33,,,2.812668e-06,2.812668e-06,307472,12867,0,31963,0,,,,
525
+ 5200,0.892068,2.44,,,2.792555e-06,2.792555e-06,307224,14136,0,31963,0,,,,
526
+ 5210,0.832640,2.30,,,2.772683e-06,2.772683e-06,290915,9585,0,31923,0,,,,
527
+ 5220,0.904792,2.47,,,2.753052e-06,2.753052e-06,307001,10731,0,31997,0,,,,
528
+ 5230,0.880637,2.41,,,2.733662e-06,2.733662e-06,307031,12541,0,31967,0,,,,
529
+ 5240,0.863984,2.37,,,2.714515e-06,2.714515e-06,306894,14189,0,31891,0,,,,
530
+ 5250,0.947296,2.58,,,2.695611e-06,2.695611e-06,306986,11047,0,31984,0,,,,
531
+ 5260,0.909539,2.48,,,2.676950e-06,2.676950e-06,290492,11255,0,31993,0,,,,
532
+ 5270,0.968277,2.63,,,2.658533e-06,2.658533e-06,306747,7877,0,31974,0,,,,
533
+ 5280,0.884776,2.42,,,2.640360e-06,2.640360e-06,306647,11431,0,31877,0,,,,
534
+ 5290,0.827500,2.29,,,2.622433e-06,2.622433e-06,306690,12731,0,31963,0,,,,
535
+ 5300,1.019194,2.77,,,2.604751e-06,2.604751e-06,306638,11382,0,31844,0,,,,
536
+ 5310,0.851084,2.34,,,2.587315e-06,2.587315e-06,289885,10916,0,31882,0,,,,
537
+ 5320,0.855661,2.35,,,2.570126e-06,2.570126e-06,306470,10329,0,31918,0,,,,
538
+ 5330,0.776157,2.17,,,2.553183e-06,2.553183e-06,306493,14034,0,31993,0,,,,
539
+ 5340,0.851110,2.34,,,2.536489e-06,2.536489e-06,306655,14081,0,31956,0,,,,
540
+ 5350,0.941539,2.56,,,2.520042e-06,2.520042e-06,306445,11556,0,31868,0,,,,
541
+ 5360,0.918651,2.51,,,2.503844e-06,2.503844e-06,290398,12114,0,31963,0,,,,
542
+ 5370,1.000186,2.72,,,2.487895e-06,2.487895e-06,306195,8739,0,31947,0,,,,
543
+ 5380,0.994679,2.70,,,2.472195e-06,2.472195e-06,306401,14068,0,31930,0,,,,
544
+ 5390,0.862988,2.37,,,2.456745e-06,2.456745e-06,306609,10435,0,31862,0,,,,
545
+ 5400,0.904414,2.47,,,2.441546e-06,2.441546e-06,306196,12445,0,31963,0,,,,
546
+ 5410,0.833874,2.30,,,2.426597e-06,2.426597e-06,290189,14746,0,31963,0,,,,
547
+ 5420,0.759771,2.14,,,2.411900e-06,2.411900e-06,305977,13507,0,31862,0,,,,
548
+ 5430,0.919995,2.51,,,2.397455e-06,2.397455e-06,306106,11340,0,31894,0,,,,
549
+ 5440,0.809821,2.25,,,2.383261e-06,2.383261e-06,306037,12884,0,31993,0,,,,
550
+ 5450,0.915246,2.50,,,2.369320e-06,2.369320e-06,305792,11663,0,31890,0,,,,
551
+ 5460,0.845764,2.33,,,2.355633e-06,2.355633e-06,289932,11677,0,31862,0,,,,
552
+ 5470,1.005712,2.73,,,2.342198e-06,2.342198e-06,306015,15767,0,31891,0,,,,
553
+ 5480,0.869866,2.39,,,2.329017e-06,2.329017e-06,306254,13638,0,31993,0,,,,
554
+ 5490,1.000564,2.72,,,2.316090e-06,2.316090e-06,306337,9974,0,31973,0,,,,
555
+ 5500,0.871834,2.39,,,2.303418e-06,2.303418e-06,306258,13141,0,31862,0,,,,
556
+ 5510,0.947009,2.58,,,2.291001e-06,2.291001e-06,290083,13519,0,31919,0,,,,
557
+ 5520,0.912682,2.49,,,2.278839e-06,2.278839e-06,306325,11590,0,31996,0,,,,
558
+ 5530,0.819251,2.27,,,2.266933e-06,2.266933e-06,306685,11300,0,31920,0,,,,
559
+ 5540,1.065702,2.90,,,2.255282e-06,2.255282e-06,306800,13382,0,31958,0,,,,
560
+ 5550,0.976774,2.66,,,2.243888e-06,2.243888e-06,306599,8747,0,31993,0,,,,
561
+ 5560,0.875547,2.40,,,2.232750e-06,2.232750e-06,288881,8690,0,31984,0,,,,
562
+ 5570,0.832524,2.30,,,2.221870e-06,2.221870e-06,306926,12405,0,31930,0,,,,
563
+ 5580,0.830653,2.29,,,2.211247e-06,2.211247e-06,306584,13500,0,31794,0,,,,
564
+ 5590,0.888590,2.43,,,2.200881e-06,2.200881e-06,306765,12746,0,31916,0,,,,
565
+ 5600,0.864653,2.37,,,2.190773e-06,2.190773e-06,306744,10296,0,31897,0,,,,
566
+ 5610,0.847681,2.33,,,2.180923e-06,2.180923e-06,291145,13477,0,31958,0,,,,
567
+ 5620,0.976715,2.66,,,2.171332e-06,2.171332e-06,306988,13428,0,31967,0,,,,
568
+ 5630,0.817559,2.26,,,2.162000e-06,2.162000e-06,307077,11710,0,31862,0,,,,
569
+ 5640,0.775822,2.17,,,2.152926e-06,2.152926e-06,307295,11367,0,31970,0,,,,
570
+ 5650,0.905217,2.47,,,2.144112e-06,2.144112e-06,307243,11872,0,31993,0,,,,
571
+ 5660,0.779553,2.18,,,2.135558e-06,2.135558e-06,290827,14011,0,31891,0,,,,
572
+ 5670,0.891184,2.44,,,2.127263e-06,2.127263e-06,306977,11179,0,31972,0,,,,
573
+ 5680,0.999102,2.72,,,2.119228e-06,2.119228e-06,307207,12417,0,31895,0,,,,
574
+ 5690,0.851313,2.34,,,2.111454e-06,2.111454e-06,307387,12918,0,31977,0,,,,
575
+ 5700,0.913941,2.49,,,2.103940e-06,2.103940e-06,307324,12871,0,31918,0,,,,
576
+ 5710,0.794583,2.21,,,2.096687e-06,2.096687e-06,289528,12610,0,31967,0,,,,
577
+ 5720,0.888882,2.43,,,2.089694e-06,2.089694e-06,306968,14405,0,31996,0,,,,
578
+ 5730,0.816759,2.26,,,2.082963e-06,2.082963e-06,307662,10784,0,31993,0,,,,
579
+ 5740,0.900589,2.46,,,2.076494e-06,2.076494e-06,307571,10922,0,31995,0,,,,
580
+ 5750,0.889210,2.43,,,2.070285e-06,2.070285e-06,307576,14093,0,31758,0,,,,
581
+ 5760,0.892999,2.44,,,2.064339e-06,2.064339e-06,290958,11420,0,31990,0,,,,
582
+ 5770,0.908993,2.48,,,2.058654e-06,2.058654e-06,307501,9758,0,31948,0,,,,
583
+ 5780,0.873736,2.40,,,2.053232e-06,2.053232e-06,307569,11652,0,31862,0,,,,
584
+ 5790,0.820088,2.27,,,2.048071e-06,2.048071e-06,307720,14314,0,31993,0,,,,
585
+ 5800,0.968823,2.63,,,2.043173e-06,2.043173e-06,307591,9889,0,31997,0,,,,
586
+ 5810,1.001661,2.72,,,2.038538e-06,2.038538e-06,291678,14258,0,31862,0,,,,
587
+ 5820,0.861176,2.37,,,2.034165e-06,2.034165e-06,307734,10642,0,31992,0,,,,
588
+ 5830,0.795143,2.21,,,2.030055e-06,2.030055e-06,307472,13399,0,31862,0,,,,
589
+ 5840,0.832237,2.30,,,2.026208e-06,2.026208e-06,307738,10926,0,31787,0,,,,
590
+ 5850,0.922420,2.52,,,2.022624e-06,2.022624e-06,308018,10310,0,31996,0,,,,
591
+ 5860,0.890600,2.44,,,2.019303e-06,2.019303e-06,291862,12386,0,31987,0,,,,
592
+ 5870,0.859634,2.36,,,2.016245e-06,2.016245e-06,308132,14052,0,31978,0,,,,
593
+ 5880,0.891458,2.44,,,2.013451e-06,2.013451e-06,307788,11738,0,31857,0,,,,
594
+ 5890,0.823212,2.28,,,2.010919e-06,2.010919e-06,308045,11966,0,31890,0,,,,
595
+ 5900,0.812233,2.25,,,2.008652e-06,2.008652e-06,307743,11704,0,31993,0,,,,
596
+ 5910,0.920327,2.51,,,2.006648e-06,2.006648e-06,291600,11580,0,31839,0,,,,
597
+ 5920,0.939019,2.56,,,2.004907e-06,2.004907e-06,308086,13255,0,31873,0,,,,
598
+ 5930,0.874227,2.40,,,2.003430e-06,2.003430e-06,307915,12297,0,31993,0,,,,
599
+ 5940,0.897780,2.45,,,2.002217e-06,2.002217e-06,308119,11623,0,31826,0,,,,
600
+ 5950,0.905170,2.47,,,2.001267e-06,2.001267e-06,308134,13590,0,31862,0,,,,
601
+ 5960,0.880615,2.41,,,2.000582e-06,2.000582e-06,285900,13891,0,31914,0,,,,
602
+ 5970,0.834254,2.30,,,2.000160e-06,2.000160e-06,307944,14294,0,31857,0,,,,
603
+ 5980,0.802514,2.23,,,2.000001e-06,2.000001e-06,307935,11160,0,31900,0,,,,
604
+ 5982,0.863172,2.37,0.959617,2.61,2.000000e-06,2.000000e-06,61183,11116,0,31794,0,981892,,,
reports/sft-v2-300k/selection_summary.json ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidates": [
3
+ {
4
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_001994",
5
+ "epoch": 1,
6
+ "matched_eval_loss": 0.990943,
7
+ "matched_eval_ppl": 2.69,
8
+ "piqa_acc": 0.6789989118607181,
9
+ "piqa_acc_norm": 0.6893362350380848,
10
+ "piqa_correct": 1248,
11
+ "piqa_correct_norm": 1267,
12
+ "promotion_failures": {
13
+ "code_is_prime": [
14
+ "case_0_raised:NameError"
15
+ ],
16
+ "instruction_three_bullets": [
17
+ "long_bullets:0,1,2"
18
+ ],
19
+ "math_multiplication": [
20
+ "missing_number:391"
21
+ ]
22
+ },
23
+ "promotion_passed": false,
24
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_01_step_001994",
25
+ "step": 1994
26
+ },
27
+ {
28
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_003988",
29
+ "epoch": 2,
30
+ "matched_eval_loss": 0.963912,
31
+ "matched_eval_ppl": 2.62,
32
+ "piqa_acc": 0.6784548422198041,
33
+ "piqa_acc_norm": 0.6882480957562568,
34
+ "piqa_correct": 1247,
35
+ "piqa_correct_norm": 1265,
36
+ "promotion_failures": {
37
+ "code_is_prime": [
38
+ "python_exec_error:NameError"
39
+ ],
40
+ "instruction_three_bullets": [
41
+ "bullet_count:4",
42
+ "long_bullets:2,3"
43
+ ],
44
+ "math_multiplication": [
45
+ "missing_number:391"
46
+ ],
47
+ "math_word_problem": [
48
+ "missing_number:35"
49
+ ]
50
+ },
51
+ "promotion_passed": false,
52
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_02_step_003988",
53
+ "step": 3988
54
+ },
55
+ {
56
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
57
+ "epoch": 3,
58
+ "matched_eval_loss": 0.959617,
59
+ "matched_eval_ppl": 2.61,
60
+ "piqa_acc": 0.6800870511425462,
61
+ "piqa_acc_norm": 0.690968443960827,
62
+ "piqa_correct": 1250,
63
+ "piqa_correct_norm": 1270,
64
+ "promotion_failures": {
65
+ "code_is_prime": [
66
+ "python_exec_error:NameError"
67
+ ],
68
+ "instruction_three_bullets": [
69
+ "long_bullets:0,1,2"
70
+ ],
71
+ "math_multiplication": [
72
+ "missing_number:391"
73
+ ]
74
+ },
75
+ "promotion_passed": false,
76
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_03_step_005982",
77
+ "step": 5982
78
+ }
79
+ ],
80
+ "release_ready": true,
81
+ "schema_version": 1,
82
+ "selected": {
83
+ "checkpoint": "/workspace/complexity-framework/artifacts/tr_hash_moe_200m_clean_sft_v2_full_3e/step_005982",
84
+ "epoch": 3,
85
+ "matched_eval_loss": 0.959617,
86
+ "matched_eval_ppl": 2.61,
87
+ "piqa_acc": 0.6800870511425462,
88
+ "piqa_acc_norm": 0.690968443960827,
89
+ "piqa_correct": 1250,
90
+ "piqa_correct_norm": 1270,
91
+ "promotion_failures": {
92
+ "code_is_prime": [
93
+ "python_exec_error:NameError"
94
+ ],
95
+ "instruction_three_bullets": [
96
+ "long_bullets:0,1,2"
97
+ ],
98
+ "math_multiplication": [
99
+ "missing_number:391"
100
+ ]
101
+ },
102
+ "promotion_passed": false,
103
+ "report_directory": "/workspace/complexity-framework/artifacts/evaluations/tr_hash_moe_200m_clean_sft_v2_full_3e/epoch_03_step_005982",
104
+ "step": 5982
105
+ },
106
+ "selection_policy": "manual promotion of epoch 3: highest full-PIQA acc_norm and acc, lowest held-out SFT loss; strict behavior failures retained"
107
+ }