E6E831728 commited on
Commit
3ac32dd
·
verified ·
1 Parent(s): 8405c66

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +96 -0
README.md CHANGED
@@ -63,6 +63,102 @@ with torch.no_grad():
63
  print(tokenizer.decode(output_ids[0].tolist()))
64
  ```
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  ## Limitations
67
 
68
  This is a small research language model trained for architectural comparison. It is not instruction-tuned for safe deployment and should not be used as a production system.
 
63
  print(tokenizer.decode(output_ids[0].tolist()))
64
  ```
65
 
66
+ ## Standardized base-model evaluation
67
+
68
+ The checkpoint was evaluated as a base causal language model with
69
+ EleutherAI LM Evaluation Harness `v0.4.10`.
70
+
71
+ Evaluation protocol:
72
+
73
+ - Hugging Face backend: `hf`
74
+ - maximum context length: 1,024
75
+ - `add_bos_token=False`
76
+ - no chat template
77
+ - deterministic likelihood-based evaluation
78
+ - harness seeds: `0,1234,1234,1234`
79
+ - base checkpoints only; no SFT or instruction checkpoints
80
+
81
+ | Metric | Learned input table | Fixed Binary-16 | Affine GF(2), table-free | SmolLM2-135M | SmolLM2-360M |
82
+ |---|---:|---:|---:|---:|---:|
83
+ | HellaSwag acc | 28.49 ± 0.45 | 29.04 ± 0.45 | 29.04 ± 0.45 | 35.36 ± 0.48 | 43.05 ± 0.49 |
84
+ | HellaSwag acc_norm | 31.32 ± 0.46 | 32.32 ± 0.47 | 31.80 ± 0.46 | 43.02 ± 0.49 | 56.28 ± 0.50 |
85
+ | ARC-Easy acc | 46.38 ± 1.02 | 47.90 ± 1.03 | 47.64 ± 1.02 | 64.44 ± 0.98 | 70.24 ± 0.94 |
86
+ | ARC-Easy acc_norm | 40.70 ± 1.01 | 40.87 ± 1.01 | 41.20 ± 1.01 | 58.75 ± 1.01 | 68.18 ± 0.96 |
87
+ | ARC-Challenge acc | 20.39 ± 1.18 | 19.62 ± 1.16 | 21.33 ± 1.20 | 28.07 ± 1.31 | 36.26 ± 1.40 |
88
+ | ARC-Challenge acc_norm | 25.85 ± 1.28 | 26.19 ± 1.28 | 24.83 ± 1.26 | 29.61 ± 1.33 | 38.05 ± 1.42 |
89
+ | PIQA acc | 62.35 ± 1.13 | 62.57 ± 1.13 | 62.68 ± 1.13 | 68.44 ± 1.08 | 71.38 ± 1.05 |
90
+ | PIQA acc_norm | 60.61 ± 1.14 | 62.08 ± 1.13 | 60.94 ± 1.14 | 68.39 ± 1.08 | 71.82 ± 1.05 |
91
+ | WinoGrande acc | 50.20 ± 1.41 | 50.12 ± 1.41 | 50.43 ± 1.41 | 52.57 ± 1.40 | 59.35 ± 1.38 |
92
+ | OpenBookQA acc | 18.40 ± 1.73 | 17.20 ± 1.69 | 17.60 ± 1.70 | 22.00 ± 1.85 | 24.80 ± 1.93 |
93
+ | OpenBookQA acc_norm | 29.20 ± 2.04 | 31.00 ± 2.07 | 29.40 ± 2.04 | 32.60 ± 2.10 | 37.80 ± 2.17 |
94
+ | CommonsenseQA acc | 20.31 ± 1.15 | 19.90 ± 1.14 | 20.23 ± 1.15 | 19.90 ± 1.14 | 21.05 ± 1.17 |
95
+ | MMLU 0-shot | 24.13 ± 0.36 | 23.86 ± 0.36 | 24.11 ± 0.36 | 24.24 ± 0.36 | 25.47 ± 0.37 |
96
+ | MMLU 5-shot | 25.68 ± 0.37 | 25.60 ± 0.37 | 25.66 ± 0.37 | 25.39 ± 0.37 | 25.05 ± 0.37 |
97
+ | LAMBADA accuracy | 22.38 ± 0.58 | 21.23 ± 0.57 | 21.99 ± 0.58 | 42.97 ± 0.69 | 53.31 ± 0.70 |
98
+ | LAMBADA perplexity | 95.14 ± 4.01 | 101.74 ± 4.27 | 100.61 ± 4.17 | 19.06 ± 0.63 | 9.38 ± 0.27 |
99
+ | WikiText word perplexity | 81.04 | 74.87 | 76.17 | 25.53 | 18.84 |
100
+ | WikiText byte perplexity | 2.27 | 2.24 | 2.25 | 1.83 | 1.73 |
101
+ | WikiText bits/byte | 1.19 | 1.16 | 1.17 | 0.87 | 0.79 |
102
+
103
+ The three paper checkpoints form the controlled architectural comparison.
104
+ SmolLM2-135M and SmolLM2-360M are external reference models, not matched
105
+ baselines: they use different architectures, tokenizers, training mixtures,
106
+ and much larger pretraining budgets. SmolLM2-135M was trained on approximately
107
+ 2T tokens and SmolLM2-360M on approximately 4T tokens, whereas the paper
108
+ checkpoints saw approximately 16–17B tokens. Their scores therefore provide
109
+ context for absolute capability and must not be interpreted as isolating the
110
+ effect of the input parameterization.
111
+
112
+ Perplexity values should be interpreted especially cautiously across different
113
+ tokenizers. The primary controlled comparison is among the three paper models,
114
+ which share the same tokenizer, data pipeline, and architecture.
115
+
116
+
117
+ ## Input-interface audit
118
+
119
+ Unlike the two fixed-code variants, this control model uses a standard learned
120
+ input embedding table. The table contains 67,108,864 trainable parameters and
121
+ is expected to contain general real-valued entries rather than binary codes.
122
+
123
+ ```python
124
+ import torch
125
+ from transformers import AutoModelForCausalLM
126
+
127
+ repo_id = (
128
+ "E6E831728/"
129
+ "learned-input-table-model-classic"
130
+ )
131
+
132
+ model = AutoModelForCausalLM.from_pretrained(
133
+ repo_id,
134
+ trust_remote_code=True,
135
+ torch_dtype=torch.float32,
136
+ ).cpu().eval()
137
+
138
+ embedding = model.get_input_embeddings()
139
+ weight = embedding.weight.detach()
140
+
141
+ print("shape:", tuple(weight.shape))
142
+ print("requires_grad:", embedding.weight.requires_grad)
143
+ print(
144
+ "all entries binary:",
145
+ bool(torch.all((weight == 0) | (weight == 1))),
146
+ )
147
+
148
+ assert tuple(weight.shape) == (65536, 1024)
149
+ assert embedding.weight.requires_grad is True
150
+ assert not torch.all((weight == 0) | (weight == 1))
151
+ ```
152
+
153
+ Expected audit properties:
154
+
155
+ ```text
156
+ shape: (65536, 1024)
157
+ requires_grad: True
158
+ all entries binary: False
159
+ ```
160
+
161
+
162
  ## Limitations
163
 
164
  This is a small research language model trained for architectural comparison. It is not instruction-tuned for safe deployment and should not be used as a production system.