AbstractPhil commited on
Commit
bd2eacf
·
verified ·
1 Parent(s): 7181265

card: plain documents in the training mix (six models against their twins)

Browse files
Files changed (1) hide show
  1. README.md +41 -0
README.md CHANGED
@@ -196,6 +196,47 @@ million-key read exactly (`reports/capacity_far/gate/`). The models' weights are
196
  [AbstractPhil/alephllm-nano-beatrix-training](https://huggingface.co/AbstractPhil/alephllm-nano-beatrix-training) (`bed/weights/`); the
197
  code is `geolip/nano_beatrix/capacity_far.py` in the trainer, run by its notebooks `colab/nano_capacity_far_lane{1,2,3}.ipynb`.
198
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  ## Caveats
200
 
201
  - Small synthetic beds: a 4-layer width-128 core, full attention at context 256, 64 value tokens, at most 512 compartments.
 
196
  [AbstractPhil/alephllm-nano-beatrix-training](https://huggingface.co/AbstractPhil/alephllm-nano-beatrix-training) (`bed/weights/`); the
197
  code is `geolip/nano_beatrix/capacity_far.py` in the trainer, run by its notebooks `colab/nano_capacity_far_lane{1,2,3}.ipynb`.
198
 
199
+ ## Plain documents in the training mix (2026-10-27)
200
+
201
+ In the stages above every training row was formatted: half the rows of a batch were record rows (records, an index, questions) and
202
+ the rest were text with framed lookups placed in it, each row opened by a document byte and a mode byte. The text measurement reads
203
+ held-out documents from their first byte, a form no training row had. On one of the six held models (seed 4) that left a failure the
204
+ training loss never saw: opened by the document byte, a plain document was read as if it were a record's content, and its held-out
205
+ text cost 2.24 bits a byte against about 1.44 on the other seeds.
206
+
207
+ This stage replaced one non-record row in four with a plain document from the training corpus, started at its first byte, so the
208
+ measured form is trained. Nothing else changed: the record rows are the same rows byte for byte, and six seeds were trained with the
209
+ held models' recipe.
210
+
211
+ | seed | held-out text, bits a byte: with / without | a document's first 64 bytes: with / without | document read as a record: with / without | key-hard look | answer through its own index | wrong looks at 10^6 | minutes |
212
+ |---|---|---|---|---|---|---|---|
213
+ | 1 | 1.3987 / 1.4422 | 1.90 / 2.69 | no / no | 1.0000 | 0.9990 | 0.0000 | 17.8 |
214
+ | 2 | 1.4077 / 1.4402 | 1.91 / 2.55 | no / no | 1.0000 | 0.1899 | 0.0000 | 17.9 |
215
+ | 3 | 1.4029 / 1.4472 | 1.90 / 2.72 | no / no | 1.0000 | 0.2274 | 0.0000 | 17.8 |
216
+ | 4 | 1.4063 / 2.2379 | 1.92 / 5.01 | no / yes | 1.0000 | 0.9984 | 0.0000 | 17.9 |
217
+ | 5 | 1.3989 / 1.4455 | 1.92 / 2.88 | no / no | 1.0000 | 0.9994 | 0.0000 | 17.9 |
218
+ | 6 | 1.3906 / 1.4197 | 1.91 / 2.53 | no / no | 1.0000 | 0.1908 | 0.0000 | 17.9 |
219
+
220
+ What the numbers say:
221
+
222
+ - **The failure is gone on every seed.** No model reads a document as a record (0 of 6 flagged, against 1 of 6
223
+ without the plain rows), and a document's first 64 bytes cost 1.90-1.92 bits a byte against 2.53-2.88 (the failed seed 5.01) without them. Seed 4, the seed that
224
+ failed, now reads held-out text like the others.
225
+ - **The text improves everywhere, not just at the start.** 6 of 6 models read held-out text better than the model of the same
226
+ seed without plain documents, by 0.029-0.047 bits a byte on the 5 seeds whose comparison model had not failed, and the middle
227
+ of a document improves as well as its start: whole documents teach the text's own continuity, which rows cut by records and frames
228
+ do not.
229
+ - **The lookups and the capacity are untouched.** The key-hard lookups stay exact (the lowest model 1.0000), the answers given the
230
+ record's address stay at .999, and no model makes a wrong look at a million competing keys (the worst 0.0000).
231
+ - **The written index stays a matter of seed.** Three of the six write their own index right (four of six without the plain rows);
232
+ the others write the right address for about a fifth of the keys, an outcome seen on some seeds of every model family in this
233
+ line.
234
+
235
+ The models are in this repository under `bed/weights/<run>/` (the run names end in `_plain16`; the plain rows add `_p75d`), with
236
+ their run records, look records and capacity records under `bed/reports/`. The trainer is
237
+ [AbstractEyes/geolip-nano-beatrix-trainer](https://github.com/AbstractEyes/geolip-nano-beatrix-trainer) (`--plant=0.75
238
+ --plain_doc=1`), run by its notebook `colab/nano_plain16.ipynb`.
239
+
240
  ## Caveats
241
 
242
  - Small synthetic beds: a 4-layer width-128 core, full attention at context 256, 64 value tokens, at most 512 compartments.