dawidmajewski commited on
Commit
8bda8c7
·
verified ·
1 Parent(s): 30feb81

Add fixed cross-revision inference samples

Browse files

Publish deterministic r001-r004 inference references, reproduction tooling, and updated model-card and training-history links.

CHANGELOG.md CHANGED
@@ -7,6 +7,7 @@ Revision numbers identify published model states independently of release names.
7
  - Changed the architecture from 12/14/896 to 14/13/832 while keeping nearly the same parameter count.
8
  - Kept the r003 tokenizer, dataset, context, effective batch, token budget, and 4e-4→4e-5 learning-rate range unchanged.
9
  - Improved LAMBADA and SciQ over r003; the other five reported English primary metrics declined.
 
10
 
11
  Full record: [`training-history/r004.md`](./training-history/r004.md)
12
 
 
7
  - Changed the architecture from 12/14/896 to 14/13/832 while keeping nearly the same parameter count.
8
  - Kept the r003 tokenizer, dataset, context, effective batch, token budget, and 4e-4→4e-5 learning-rate range unchanged.
9
  - Improved LAMBADA and SciQ over r003; the other five reported English primary metrics declined.
10
+ - Added a documentation-only, reproducible fixed-sampling suite for behavioral comparison of the immutable r001-r004 weights; model files are unchanged.
11
 
12
  Full record: [`training-history/r004.md`](./training-history/r004.md)
13
 
README.md CHANGED
@@ -119,7 +119,20 @@ output = model.generate(
119
  print(tokenizer.decode(output[0], skip_special_tokens=True))
120
  ```
121
 
122
- Model używa standardowego `GPT2LMHeadModel`; `trust_remote_code=True` nie jest potrzebne. Dla r004 nie opublikowano jeszcze próbek generacji. Historyczne próbki są przypisane do poprzednich wag w historii r001.
 
 
 
 
 
 
 
 
 
 
 
 
 
123
 
124
  ### Ograniczenia i odpowiedzialne użycie
125
 
@@ -193,7 +206,20 @@ LAMBADA perplexity was 47.563341. Full metrics and protocol details are recorded
193
 
194
  ### Usage
195
 
196
- Use the Transformers example in the Polish section. The artifact uses standard `GPT2LMHeadModel`; `trust_remote_code=True` is unnecessary. No r004 generation samples have been published yet. Historical samples are explicitly attached to the predecessor weights in the r001 history.
 
 
 
 
 
 
 
 
 
 
 
 
 
197
 
198
  ### Limitations and responsible use
199
 
 
119
  print(tokenizer.decode(output[0], skip_special_tokens=True))
120
  ```
121
 
122
+ Model używa standardowego `GPT2LMHeadModel`; `trust_remote_code=True` nie jest potrzebne.
123
+
124
+ ### Stałe próbki inferencji
125
+
126
+ Wspólny zestaw [`fixed-sampling-v1`](./inference-samples/README.md) pokazuje te same cztery prompty wygenerowane przez r001-r004. Każdy model jest ładowany z pełnego, niezmiennego SHA commitu, a SHA-256 pliku z wagami jest sprawdzane przed inferencją. Referencyjny protokół używa macOS 26.2 na arm64, CPU, float32, jednego wątku, Transformers 5.15.1, seed 1337 resetowanego dla każdego promptu, temperature 0.7, top-k 50 i limitu 100 nowych tokenów.
127
+
128
+ | Rewizja | Wydanie | Wagi | Historia |
129
+ |---|---|---|---|
130
+ | **r004** | **Pollock 1.2 (aktualna)** | [`30feb81`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/30feb81e5097eef13b939e1827d98e0458bf602d) | [`r004.md`](./training-history/r004.md) |
131
+ | r003 | Pollock 1.1 | [`698984b`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/698984b1d1b96c9b6ffaff00c7fc2e78e140e842) | [`r003.md`](./training-history/r003.md) |
132
+ | r002 | Pollock 1.0 | [`5e571cd`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5e571cde09ef2d1124e13d1c31d0b75f8bd0e513) | [`r002.md`](./training-history/r002.md) |
133
+ | r001 | poprzednik eksperymentalny | [`5b8f825`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0) | [`r001.md`](./training-history/r001.md) |
134
+
135
+ Pełne teksty są przeznaczone do porównywania zachowania, nie są benchmarkiem ani deklaracją poprawności. [`results.json`](./inference-samples/results.json) zapisuje także dokładne identyfikatory tokenów, a [`generate.py`](./inference-samples/generate.py) odtwarza i weryfikuje cały zestaw. Dokładny replay potwierdzono w zapisanym środowisku; inny system operacyjny lub CPU może zmienić wynik samplingu. Starsze próbki osadzone w historii r001 pozostają historycznym zapisem i nie są używane do bezpośredniego porównania, ponieważ nie przypięto całego ich środowiska wykonania.
136
 
137
  ### Ograniczenia i odpowiedzialne użycie
138
 
 
206
 
207
  ### Usage
208
 
209
+ Use the Transformers example in the Polish section. The artifact uses standard `GPT2LMHeadModel`; `trust_remote_code=True` is unnecessary.
210
+
211
+ ### Fixed inference samples
212
+
213
+ The shared [`fixed-sampling-v1`](./inference-samples/README.md) suite runs the same four prompts on r001-r004. Every model is loaded from a full immutable commit SHA and its weight-file SHA-256 is verified before inference. The reference protocol uses macOS 26.2 on arm64, CPU float32 with one thread, Transformers 5.15.1, seed 1337 reset for every prompt, temperature 0.7, top-k 50, and a 100-new-token limit.
214
+
215
+ | Revision | Release | Weights | History |
216
+ |---|---|---|---|
217
+ | **r004** | **Pollock 1.2 (current)** | [`30feb81`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/30feb81e5097eef13b939e1827d98e0458bf602d) | [`r004.md`](./training-history/r004.md) |
218
+ | r003 | Pollock 1.1 | [`698984b`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/698984b1d1b96c9b6ffaff00c7fc2e78e140e842) | [`r003.md`](./training-history/r003.md) |
219
+ | r002 | Pollock 1.0 | [`5e571cd`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5e571cde09ef2d1124e13d1c31d0b75f8bd0e513) | [`r002.md`](./training-history/r002.md) |
220
+ | r001 | experimental predecessor | [`5b8f825`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0) | [`r001.md`](./training-history/r001.md) |
221
+
222
+ The complete texts are behavioral examples, not benchmarks or factuality claims. [`results.json`](./inference-samples/results.json) also records exact token IDs, while [`generate.py`](./inference-samples/generate.py) reproduces and verifies the suite. Exact replay was confirmed in the recorded environment; another operating system or CPU can change sampled outputs. The older samples embedded in the r001 history remain a historical record and are excluded from direct comparison because their complete execution environment was not pinned.
223
 
224
  ### Limitations and responsible use
225
 
inference-samples/README.md ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Fixed cross-revision inference samples
2
+
3
+ These samples compare the published Pollock weights under one fixed inference protocol. They are behavioral examples, not benchmark scores or factuality claims. Outputs are shown without cherry-picking, including errors and repetition.
4
+
5
+ ## Protocol
6
+
7
+ - Suite: `fixed-sampling-v1`
8
+ - Runtime: macOS 26.2 arm64, Python 3.13.3, PyTorch 2.13.0, Transformers 5.15.1, huggingface_hub 1.28.0
9
+ - Execution: CPU, `float32`, 1 PyTorch CPU thread
10
+ - Sampling: seed 1337 reset before every prompt, temperature 0.7, top-k 50, top-p 1.0
11
+ - Limit: 100 new tokens, with the prompt included in each displayed output
12
+
13
+ The older samples embedded in `training-history/r001.md` remain part of the historical record. They differ from this suite because their complete execution environment was not pinned. Only the results below are used for direct cross-revision comparison.
14
+
15
+ Exact token replay was verified in the recorded environment. Sampling may diverge on another operating system or CPU architecture even when package versions and seeds match.
16
+
17
+ ## Revisions
18
+
19
+ | Revision | Release | Immutable weights | `model.safetensors` SHA-256 |
20
+ |---|---|---|---|
21
+ | r001 | experimental predecessor | [`5b8f825`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0) | `acaa1531322cce78ddb919700f173d4c6ea371185bea5052a3ae4c30f57b368e` |
22
+ | r002 | Pollock 1.0 | [`5e571cd`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5e571cde09ef2d1124e13d1c31d0b75f8bd0e513) | `2aada5b26abe9ce3b70af393d77be4ed1a799a7205b9c0dd5cfaff8bcaabce68` |
23
+ | r003 | Pollock 1.1 | [`698984b`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/698984b1d1b96c9b6ffaff00c7fc2e78e140e842) | `3a9964a0ba5f6d20ef6061d2a7e4442c1b001209ebe80f7b7148a25573decaa9` |
24
+ | r004 | Pollock 1.2 | [`30feb81`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/30feb81e5097eef13b939e1827d98e0458bf602d) | `3c453f22d4bb70228e5cca79e183a425e0f0221e54bd782d12027c42c943c880` |
25
+
26
+ ## Results
27
+
28
+ ### General knowledge
29
+
30
+ Prompt: `The capital of France is`
31
+
32
+ #### r001 - experimental predecessor
33
+
34
+ ````text
35
+ The capital of France is had the first number of Americans. The first census was discovered in a 1922 census.
36
+
37
+ See also
38
+ List of census
39
+
40
+ References
41
+
42
+ External links
43
+
44
+ Cultural census
45
+ Cultural census
46
+ Central census
47
+ Cultural census
48
+ Cultural census
49
+ Central census
50
+ ````
51
+
52
+ Output SHA-256: `245e3580745e9a572de95b1336679d70d5c1bde379e341fffb599f10bc12c5ce`
53
+
54
+ #### r002 - Pollock 1.0
55
+
56
+ ````text
57
+ The capital of France is the Palais de la Borde, a place called "the Place of Funds and Stocks". Its population is estimated to be around 30,000.
58
+
59
+ In the 19th century, the city was transformed into a municipality. The French government took the city up to the position of a municipality. The capital was the Palais de Valois, with its capital at the Palais des Gardes. The population was reduced to around 30,000.
60
+
61
+ ````
62
+
63
+ Output SHA-256: `181ebd0d98d96eb3c1693cb88f6f68db6bfcfc02ff791fd5885097a0cf3722a1`
64
+
65
+ #### r003 - Pollock 1.1
66
+
67
+ ````text
68
+ The capital of France is the French city of Versailles, on the site of the old church that was destroyed by the French during the French Revolution.
69
+
70
+ The capital of the French Republic is the capital of the Kingdom of France, situated about from Paris.
71
+
72
+ History
73
+
74
+ The city of Versailles was created by the French Revolutionary government as the capital of France. The city was officially named after its founder, Jules Bourrienne, who was
75
+ ````
76
+
77
+ Output SHA-256: `249a398d82bd1888d4394fc04de3baee1902cd39b864d1c1cfe0b0a3d85e20e4`
78
+
79
+ #### r004 - Pollock 1.2
80
+
81
+ ````text
82
+ The capital of France is the French city of Vienne.
83
+
84
+ History
85
+
86
+ The city was first mentioned in 1188 as Viecourt or Bézier. In 1786 it was incorporated in the city of Vendôme.
87
+
88
+ In 1871 it was renamed Viecourt.
89
+
90
+ In 1883 it was renamed La Tour des Poids.
91
+
92
+ In 1959 it was renamed La Tour des Poids. In 19
93
+ ````
94
+
95
+ Output SHA-256: `c2a3e16019cac3e07a8c0d5426c41a359e53a105fb12349f5a1f8c2fc02b8be4`
96
+
97
+ ### Explanation
98
+
99
+ Prompt: `Photosynthesis is the process by which`
100
+
101
+ #### r001 - experimental predecessor
102
+
103
+ ````text
104
+ Photosynthesis is the process by which the two points of the symmetry are shown .
105
+
106
+ the probability in ( [ eq : k_u] ) ) is not given to be equal due to the order of the symmetry .
107
+
108
+ the average speed of the density is about 1.70 .
109
+
110
+ the average velocity of the velocity is about 1.2 * .
111
+
112
+ the velocity of the velocity is about 1.6 * .
113
+
114
+ the velocity of the velocity is about 3.5 * .
115
+
116
+ the velocity of
117
+ ````
118
+
119
+ Output SHA-256: `15f8c6262d0ea4524ee5c0ec1c2fb38828e2e4c6d11bd63d6639d4e55880903b`
120
+
121
+ #### r002 - Pollock 1.0
122
+
123
+ ````text
124
+ Photosynthesis is the process by which plants and animals obtain energy from sunlight. When a plant produces light, it absorbs the light energy that came from the sun. The energy from the sun is absorbed by the plant and is radiated to the leaves. This energy is then used for photosynthesis and is used to produce food.
125
+ Photosynthesis is the process by which plants obtain energy from sunlight. When a plant absorbs the light energy from the sun, it becomes a food source.
126
+ The most common
127
+ ````
128
+
129
+ Output SHA-256: `e8baa6567207b0afacc7aaf548b22b0226140171a96039a2652f8132de87d623`
130
+
131
+ #### r003 - Pollock 1.1
132
+
133
+ ````text
134
+ Photosynthesis is the process by which the plants, the fungi, and other organisms convert carbon dioxide and water into energy.
135
+ The use of photosynthesis as a source of energy is called photosynthesis. The process is known as photosynthesis.
136
+ - Photosynthesis is the process by which the plants, or some other organisms, convert carbon dioxide and water into energy.
137
+ - Photosynthesis is the process by which the plants, or some other organisms convert carbon dioxide and water into energy.
138
+ -
139
+ ````
140
+
141
+ Output SHA-256: `6522de510566b946a17e112bd872123306d17dfb270baf39439d4dd23ab6c371`
142
+
143
+ #### r004 - Pollock 1.2
144
+
145
+ ````text
146
+ Photosynthesis is the process by which plants and animals obtain energy from sunlight. When a food source is present—such as a food source that humans are eating—a light source is used to create more energy. The process of photosynthesis in plants is called the light-dependent reactions.
147
+ A plant can be a source of energy. This is because there are specialized structures needed for photosynthesis. The light-dependent reactions are called phototrophic reactions.
148
+ There are two types of photosynthesis:
149
+ ````
150
+
151
+ Output SHA-256: `2487ed5406a8bd5c0251577bac47ea13897623bda4b6955aaa0ecf675b886ef9`
152
+
153
+ ### Story
154
+
155
+ Prompt: `In a distant future, humanity discovered`
156
+
157
+ #### r001 - experimental predecessor
158
+
159
+ ````text
160
+ In a distant future, humanity discovered and the first number of the data.
161
+
162
+ The data of the data
163
+
164
+ The data is a little better than the data.
165
+
166
+ The data is more accurate than the data.
167
+
168
+ The data is very different from the data, but the data is very different from the data.
169
+
170
+ The data is very different from the data.
171
+
172
+ The data is very different from the data.
173
+
174
+ The data is more accurate than the data.
175
+
176
+ The data is very different from
177
+ ````
178
+
179
+ Output SHA-256: `037c1f6e8b59cb61dee53f79a801d632eba4cd5df2f4a57381c61c3e1c94086f`
180
+
181
+ #### r002 - Pollock 1.0
182
+
183
+ ````text
184
+ In a distant future, humanity discovered that the human genome has only been growing in size by 2026—roughly the same time that humans are starting to migrate from Africa to Asia, and that they have made a fuller crop of corn and rice.
185
+ The human genome project, led by an international team of researchers from the University of California, Davis, is taking advantage of the human genome to allow for the first-ever genome-level analysis of genomic sequences from the genome of people
186
+ ````
187
+
188
+ Output SHA-256: `c23e944af1cce79a84fcf44ec80625e93279df0d4816e664905ed1a6b3835897`
189
+
190
+ #### r003 - Pollock 1.1
191
+
192
+ ````text
193
+ In a distant future, humanity discovered that the human race is not only a species, it is a supernatural force that has made us all human.
194
+ The human race has also given us a unique perspective on the world around us. This perspective is critical to understanding the human condition and the human capacity for self-sacrifice. This perspective also helps us to understand the world around us as a whole and to understand ourselves.
195
+ In conclusion, the human race is a complex and interconnected entity that has played a
196
+ ````
197
+
198
+ Output SHA-256: `4028c3120d8711b29e7caabdb58128402b66088941d4718fb53267b69bfa9bac`
199
+
200
+ #### r004 - Pollock 1.2
201
+
202
+ ````text
203
+ In a distant future, humanity discovered that the human race is not only a species of human beings, but a species of animals: it is human beings who are not created to be equal. The more human beings they have, the more they have to be treated just like others, and the more they are treated like human beings.
204
+ - The First Amendment prohibits the government from impersonating humans for the purposes of defending their rights. The current law prohibits the government from impersonating anyone who is not a member
205
+ ````
206
+
207
+ Output SHA-256: `bbe8eec9552d2e6cbacd8d6047cec539fbfb81b18ca3f69f1774beb909702502`
208
+
209
+ ### Code
210
+
211
+ Prompt: `def fibonacci(n):`
212
+
213
+ #### r001 - experimental predecessor
214
+
215
+ ````text
216
+ def fibonacci(n): and the nth-formcurve function in the nth-formcurve .
217
+
218
+ this work for nth-formcurve and octon - based - factor - based parameter - based parameter - dependent parameter - dependent parameter - dependent parameter - dependent parameter - dependent factor - dependent parameter - dependent parameter - required parameter - dependent parameter - required parameter - required item - required integer - required integers - types of -type - required integers - required values - required - type - useful item
219
+ ````
220
+
221
+ Output SHA-256: `cd8fe88c64580c1496e44321bb3673980f8a6e4d630833103e617498c5c8bb8e`
222
+
223
+ #### r002 - Pollock 1.0
224
+
225
+ ````text
226
+ def fibonacci(n):
227
+ return n * fibonacci(n-1)/2
228
+
229
+
230
+ def fibonacci_mat(n):
231
+ return n * fibonacci(n-1)/2
232
+
233
+
234
+ def fibonacci_mat_lcs(n):
235
+ return fibonacci(n-1) * fibonacci(n-2)
236
+
237
+
238
+ def fibonacci_mat_lcs_tuple(n):
239
+ return fibonacci
240
+ ````
241
+
242
+ Output SHA-256: `2188bd0cdb6e8feccac9cb5817aa7c65666aba6ac163703542f6d0aaa297c9cb`
243
+
244
+ #### r003 - Pollock 1.1
245
+
246
+ ````text
247
+ def fibonacci(n):
248
+ res = 1-sum(x)
249
+ for i in range(n):
250
+ res = res + sum(x)
251
+ return res
252
+
253
+ def fibonacci_to_sine(n):
254
+ res = 1-sum(x)
255
+ for i in range(n):
256
+ res = res * math.pi
257
+ return res
258
+
259
+ def fibonacci_simple(n):
260
+ res = 1-sum(x)
261
+ for i in range(
262
+ ````
263
+
264
+ Output SHA-256: `f9a84f3921790df8fe9aad6d527ce9e5e0b9b7f7bb98df1d76e6766623227756`
265
+
266
+ #### r004 - Pollock 1.2
267
+
268
+ ````text
269
+ def fibonacci(n):
270
+ """
271
+ :param n: The number of ways to iterate through the given list.
272
+ :return: The number of ways to iterate through the given list.
273
+ """
274
+ if n == 0:
275
+ return 1
276
+ n = n + 1
277
+ n_iters = 0
278
+ while n_iters < n:
279
+ n_iters += 1
280
+ if n_iters == n:
281
+ return 1
282
+ else:
283
+ n = n + 1
284
+ if n_
285
+ ````
286
+
287
+ Output SHA-256: `0b82389bac561dae528eb389dbde414eb2bb7c6bff7a0868d2acd276edb2ad88`
288
+
289
+ ## Reproduce or verify
290
+
291
+ Run from this directory. The first command downloads approximately 1.9 GB of public model artifacts if they are not already cached.
292
+
293
+ ```bash
294
+ python -m venv .venv
295
+ source .venv/bin/activate
296
+ pip install -r requirements.txt
297
+ python generate.py --check
298
+ ```
299
+
300
+ `generate.py` rejects package-version mismatches by default, verifies each weight file against `config.json`, and compares both token IDs and rendered text through `results.json`.
301
+
302
+ Machine-readable protocol and outputs: [`config.json`](./config.json) and [`results.json`](./results.json).
inference-samples/config.json ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "suite_id": "fixed-sampling-v1",
4
+ "model_id": "SlayerLab/pollock-mini-lm-125m",
5
+ "environment": {
6
+ "operating_system": "macOS 26.2",
7
+ "architecture": "arm64",
8
+ "python": "3.13.3",
9
+ "torch": "2.13.0",
10
+ "transformers": "5.15.1",
11
+ "huggingface_hub": "1.28.0"
12
+ },
13
+ "protocol": {
14
+ "device": "cpu",
15
+ "dtype": "float32",
16
+ "cpu_threads": 1,
17
+ "seed": 1337,
18
+ "reset_seed_before_each_prompt": true,
19
+ "do_sample": true,
20
+ "temperature": 0.7,
21
+ "top_k": 50,
22
+ "top_p": 1.0,
23
+ "max_new_tokens": 100,
24
+ "num_return_sequences": 1,
25
+ "skip_special_tokens": true
26
+ },
27
+ "revisions": [
28
+ {
29
+ "revision_id": "r001",
30
+ "release": "experimental predecessor",
31
+ "commit": "5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0",
32
+ "model_sha256": "acaa1531322cce78ddb919700f173d4c6ea371185bea5052a3ae4c30f57b368e"
33
+ },
34
+ {
35
+ "revision_id": "r002",
36
+ "release": "Pollock 1.0",
37
+ "commit": "5e571cde09ef2d1124e13d1c31d0b75f8bd0e513",
38
+ "model_sha256": "2aada5b26abe9ce3b70af393d77be4ed1a799a7205b9c0dd5cfaff8bcaabce68"
39
+ },
40
+ {
41
+ "revision_id": "r003",
42
+ "release": "Pollock 1.1",
43
+ "commit": "698984b1d1b96c9b6ffaff00c7fc2e78e140e842",
44
+ "model_sha256": "3a9964a0ba5f6d20ef6061d2a7e4442c1b001209ebe80f7b7148a25573decaa9"
45
+ },
46
+ {
47
+ "revision_id": "r004",
48
+ "release": "Pollock 1.2",
49
+ "commit": "30feb81e5097eef13b939e1827d98e0458bf602d",
50
+ "model_sha256": "3c453f22d4bb70228e5cca79e183a425e0f0221e54bd782d12027c42c943c880"
51
+ }
52
+ ],
53
+ "prompts": [
54
+ {
55
+ "prompt_id": "general_knowledge",
56
+ "label": "General knowledge",
57
+ "text": "The capital of France is"
58
+ },
59
+ {
60
+ "prompt_id": "explanation",
61
+ "label": "Explanation",
62
+ "text": "Photosynthesis is the process by which"
63
+ },
64
+ {
65
+ "prompt_id": "story",
66
+ "label": "Story",
67
+ "text": "In a distant future, humanity discovered"
68
+ },
69
+ {
70
+ "prompt_id": "code",
71
+ "label": "Code",
72
+ "text": "def fibonacci(n):"
73
+ }
74
+ ]
75
+ }
inference-samples/generate.py ADDED
@@ -0,0 +1,353 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Generate or verify Pollock's fixed cross-revision inference samples."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import argparse
7
+ import gc
8
+ import hashlib
9
+ import json
10
+ import platform
11
+ from importlib.metadata import version
12
+ from pathlib import Path
13
+ from typing import Any
14
+
15
+ import torch
16
+ from huggingface_hub import hf_hub_download
17
+ from transformers import AutoModelForCausalLM, AutoTokenizer
18
+
19
+
20
+ HERE = Path(__file__).resolve().parent
21
+ PACKAGE_NAMES = {
22
+ "torch": "torch",
23
+ "transformers": "transformers",
24
+ "huggingface_hub": "huggingface-hub",
25
+ }
26
+
27
+
28
+ def parse_args() -> argparse.Namespace:
29
+ parser = argparse.ArgumentParser(description=__doc__)
30
+ parser.add_argument("--config", type=Path, default=HERE / "config.json")
31
+ parser.add_argument("--output", type=Path, default=HERE / "results.json")
32
+ parser.add_argument("--markdown", type=Path, default=HERE / "README.md")
33
+ parser.add_argument(
34
+ "--check",
35
+ action="store_true",
36
+ help="Regenerate in memory and require an exact match with --output",
37
+ )
38
+ parser.add_argument(
39
+ "--allow-version-mismatch",
40
+ action="store_true",
41
+ help="Run even if the Python or package versions differ from config.json",
42
+ )
43
+ parser.add_argument(
44
+ "--render-only",
45
+ action="store_true",
46
+ help="Render --markdown from the existing --output without inference",
47
+ )
48
+ return parser.parse_args()
49
+
50
+
51
+ def sha256_file(path: Path) -> str:
52
+ digest = hashlib.sha256()
53
+ with path.open("rb") as handle:
54
+ for chunk in iter(lambda: handle.read(8 * 1024 * 1024), b""):
55
+ digest.update(chunk)
56
+ return digest.hexdigest()
57
+
58
+
59
+ def sha256_text(text: str) -> str:
60
+ return hashlib.sha256(text.encode("utf-8")).hexdigest()
61
+
62
+
63
+ def runtime_environment() -> dict[str, str]:
64
+ operating_system = platform.system()
65
+ if operating_system == "Darwin":
66
+ operating_system = f"macOS {platform.mac_ver()[0]}"
67
+ return {
68
+ "operating_system": operating_system,
69
+ "architecture": platform.machine(),
70
+ "python": platform.python_version(),
71
+ **{
72
+ config_name: version(package_name)
73
+ for config_name, package_name in PACKAGE_NAMES.items()
74
+ },
75
+ }
76
+
77
+
78
+ def validate_environment(config: dict[str, Any], allow_mismatch: bool) -> dict[str, str]:
79
+ actual = runtime_environment()
80
+ expected = config["environment"]
81
+ mismatches = {
82
+ name: {"expected": expected[name], "actual": actual[name]}
83
+ for name in expected
84
+ if actual.get(name) != expected[name]
85
+ }
86
+ if mismatches and not allow_mismatch:
87
+ raise RuntimeError(f"Environment mismatch: {json.dumps(mismatches)}")
88
+ return actual
89
+
90
+
91
+ def generate_results(config: dict[str, Any], environment: dict[str, str]) -> dict[str, Any]:
92
+ protocol = config["protocol"]
93
+ if protocol["device"] != "cpu" or protocol["dtype"] != "float32":
94
+ raise ValueError("The fixed suite requires CPU float32 inference")
95
+
96
+ torch.set_num_threads(protocol["cpu_threads"])
97
+ torch.set_num_interop_threads(1)
98
+ torch.use_deterministic_algorithms(True)
99
+
100
+ revision_results = []
101
+ for revision in config["revisions"]:
102
+ print(f"Loading {revision['revision_id']} at {revision['commit']}...", flush=True)
103
+ weights_path = Path(
104
+ hf_hub_download(
105
+ repo_id=config["model_id"],
106
+ filename="model.safetensors",
107
+ revision=revision["commit"],
108
+ token=False,
109
+ )
110
+ )
111
+ actual_model_sha = sha256_file(weights_path)
112
+ if actual_model_sha != revision["model_sha256"]:
113
+ raise RuntimeError(
114
+ f"Weight hash mismatch for {revision['revision_id']}: "
115
+ f"{actual_model_sha} != {revision['model_sha256']}"
116
+ )
117
+
118
+ tokenizer = AutoTokenizer.from_pretrained(
119
+ config["model_id"],
120
+ revision=revision["commit"],
121
+ token=False,
122
+ trust_remote_code=False,
123
+ )
124
+ model = AutoModelForCausalLM.from_pretrained(
125
+ config["model_id"],
126
+ revision=revision["commit"],
127
+ dtype=torch.float32,
128
+ token=False,
129
+ trust_remote_code=False,
130
+ )
131
+ model.to("cpu")
132
+ model.eval()
133
+
134
+ prompt_results = []
135
+ for prompt in config["prompts"]:
136
+ torch.manual_seed(protocol["seed"])
137
+ inputs = tokenizer(prompt["text"], return_tensors="pt")
138
+ input_length = inputs["input_ids"].shape[1]
139
+ with torch.inference_mode():
140
+ output = model.generate(
141
+ **inputs,
142
+ do_sample=protocol["do_sample"],
143
+ temperature=protocol["temperature"],
144
+ top_k=protocol["top_k"],
145
+ top_p=protocol["top_p"],
146
+ max_new_tokens=protocol["max_new_tokens"],
147
+ num_return_sequences=protocol["num_return_sequences"],
148
+ eos_token_id=tokenizer.eos_token_id,
149
+ pad_token_id=tokenizer.eos_token_id,
150
+ use_cache=True,
151
+ )
152
+
153
+ full_token_ids = output[0].tolist()
154
+ completion_token_ids = full_token_ids[input_length:]
155
+ full_text = tokenizer.decode(
156
+ full_token_ids,
157
+ skip_special_tokens=protocol["skip_special_tokens"],
158
+ )
159
+ completion_text = tokenizer.decode(
160
+ completion_token_ids,
161
+ skip_special_tokens=protocol["skip_special_tokens"],
162
+ )
163
+ prompt_results.append(
164
+ {
165
+ "prompt_id": prompt["prompt_id"],
166
+ "prompt": prompt["text"],
167
+ "prompt_token_ids": full_token_ids[:input_length],
168
+ "completion_token_ids": completion_token_ids,
169
+ "completion_tokens": len(completion_token_ids),
170
+ "stopped_on_eos": bool(
171
+ completion_token_ids
172
+ and completion_token_ids[-1] == tokenizer.eos_token_id
173
+ ),
174
+ "completion": completion_text,
175
+ "full_text": full_text,
176
+ "full_text_sha256": sha256_text(full_text),
177
+ }
178
+ )
179
+ print(
180
+ f" {prompt['prompt_id']}: {len(completion_token_ids)} tokens",
181
+ flush=True,
182
+ )
183
+
184
+ revision_results.append(
185
+ {
186
+ **revision,
187
+ "loaded_model_version": getattr(model.config, "model_version", None),
188
+ "results": prompt_results,
189
+ }
190
+ )
191
+ del model, tokenizer
192
+ gc.collect()
193
+
194
+ return {
195
+ "schema_version": 1,
196
+ "suite_id": config["suite_id"],
197
+ "model_id": config["model_id"],
198
+ "environment": environment,
199
+ "protocol": protocol,
200
+ "revisions": revision_results,
201
+ }
202
+
203
+
204
+ def render_markdown(config: dict[str, Any], results: dict[str, Any]) -> str:
205
+ protocol = results["protocol"]
206
+ environment = results["environment"]
207
+ revisions = {item["revision_id"]: item for item in results["revisions"]}
208
+ lines = [
209
+ "# Fixed cross-revision inference samples",
210
+ "",
211
+ "These samples compare the published Pollock weights under one fixed inference "
212
+ "protocol. They are behavioral examples, not benchmark scores or factuality claims. "
213
+ "Outputs are shown without cherry-picking, including errors and repetition.",
214
+ "",
215
+ "## Protocol",
216
+ "",
217
+ f"- Suite: `{results['suite_id']}`",
218
+ f"- Runtime: {environment['operating_system']} "
219
+ f"{environment['architecture']}, Python {environment['python']}, "
220
+ f"PyTorch {environment['torch']}, "
221
+ f"Transformers {environment['transformers']}, huggingface_hub "
222
+ f"{environment['huggingface_hub']}",
223
+ f"- Execution: {protocol['device'].upper()}, `{protocol['dtype']}`, "
224
+ f"{protocol['cpu_threads']} PyTorch CPU thread",
225
+ f"- Sampling: seed {protocol['seed']} reset before every prompt, temperature "
226
+ f"{protocol['temperature']}, top-k {protocol['top_k']}, top-p "
227
+ f"{protocol['top_p']}",
228
+ f"- Limit: {protocol['max_new_tokens']} new tokens, with the prompt included in "
229
+ "each displayed output",
230
+ "",
231
+ "The older samples embedded in `training-history/r001.md` remain part of the "
232
+ "historical record. They differ from this suite because their complete execution "
233
+ "environment was not pinned. Only the results below are used for direct "
234
+ "cross-revision comparison.",
235
+ "",
236
+ "Exact token replay was verified in the recorded environment. Sampling may "
237
+ "diverge on another operating system or CPU architecture even when package "
238
+ "versions and seeds match.",
239
+ "",
240
+ "## Revisions",
241
+ "",
242
+ "| Revision | Release | Immutable weights | `model.safetensors` SHA-256 |",
243
+ "|---|---|---|---|",
244
+ ]
245
+ for revision in results["revisions"]:
246
+ commit = revision["commit"]
247
+ commit_url = (
248
+ f"https://huggingface.co/{results['model_id']}/commit/{commit}"
249
+ )
250
+ lines.append(
251
+ f"| {revision['revision_id']} | {revision['release']} | "
252
+ f"[`{commit[:7]}`]({commit_url}) | `{revision['model_sha256']}` |"
253
+ )
254
+
255
+ lines.extend(
256
+ [
257
+ "",
258
+ "## Results",
259
+ "",
260
+ ]
261
+ )
262
+ for prompt in config["prompts"]:
263
+ lines.extend(
264
+ [
265
+ f"### {prompt['label']}",
266
+ "",
267
+ f"Prompt: `{prompt['text']}`",
268
+ "",
269
+ ]
270
+ )
271
+ for revision_config in config["revisions"]:
272
+ revision_id = revision_config["revision_id"]
273
+ result = next(
274
+ item
275
+ for item in revisions[revision_id]["results"]
276
+ if item["prompt_id"] == prompt["prompt_id"]
277
+ )
278
+ lines.extend(
279
+ [
280
+ f"#### {revision_id} - {revision_config['release']}",
281
+ "",
282
+ "````text",
283
+ result["full_text"],
284
+ "````",
285
+ "",
286
+ f"Output SHA-256: `{result['full_text_sha256']}`",
287
+ "",
288
+ ]
289
+ )
290
+
291
+ lines.extend(
292
+ [
293
+ "## Reproduce or verify",
294
+ "",
295
+ "Run from this directory. The first command downloads approximately 1.9 GB "
296
+ "of public model artifacts if they are not already cached.",
297
+ "",
298
+ "```bash",
299
+ "python -m venv .venv",
300
+ "source .venv/bin/activate",
301
+ "pip install -r requirements.txt",
302
+ "python generate.py --check",
303
+ "```",
304
+ "",
305
+ "`generate.py` rejects package-version mismatches by default, verifies each "
306
+ "weight file against `config.json`, and compares both token IDs and rendered "
307
+ "text through `results.json`.",
308
+ "",
309
+ "Machine-readable protocol and outputs: [`config.json`](./config.json) and "
310
+ "[`results.json`](./results.json).",
311
+ "",
312
+ ]
313
+ )
314
+ return "\n".join(lines)
315
+
316
+
317
+ def main() -> None:
318
+ args = parse_args()
319
+ config = json.loads(args.config.read_text(encoding="utf-8"))
320
+ if args.render_only:
321
+ if args.check:
322
+ raise ValueError("--render-only and --check cannot be combined")
323
+ results = json.loads(args.output.read_text(encoding="utf-8"))
324
+ args.markdown.write_text(
325
+ render_markdown(config, results),
326
+ encoding="utf-8",
327
+ )
328
+ print(f"Wrote {args.markdown}")
329
+ return
330
+
331
+ environment = validate_environment(config, args.allow_version_mismatch)
332
+ results = generate_results(config, environment)
333
+ markdown = render_markdown(config, results)
334
+
335
+ if args.check:
336
+ expected = json.loads(args.output.read_text(encoding="utf-8"))
337
+ if results != expected:
338
+ raise RuntimeError(f"Generated results differ from {args.output}")
339
+ if markdown != args.markdown.read_text(encoding="utf-8"):
340
+ raise RuntimeError(f"Rendered Markdown differs from {args.markdown}")
341
+ print(f"Exact match: {args.output} and {args.markdown}")
342
+ return
343
+
344
+ args.output.write_text(
345
+ json.dumps(results, indent=2, ensure_ascii=False) + "\n",
346
+ encoding="utf-8",
347
+ )
348
+ args.markdown.write_text(markdown, encoding="utf-8")
349
+ print(f"Wrote {args.output} and {args.markdown}")
350
+
351
+
352
+ if __name__ == "__main__":
353
+ main()
inference-samples/requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ torch==2.13.0
2
+ transformers==5.15.1
3
+ huggingface-hub==1.28.0
inference-samples/results.json ADDED
@@ -0,0 +1,1967 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "suite_id": "fixed-sampling-v1",
4
+ "model_id": "SlayerLab/pollock-mini-lm-125m",
5
+ "environment": {
6
+ "operating_system": "macOS 26.2",
7
+ "architecture": "arm64",
8
+ "python": "3.13.3",
9
+ "torch": "2.13.0",
10
+ "transformers": "5.15.1",
11
+ "huggingface_hub": "1.28.0"
12
+ },
13
+ "protocol": {
14
+ "device": "cpu",
15
+ "dtype": "float32",
16
+ "cpu_threads": 1,
17
+ "seed": 1337,
18
+ "reset_seed_before_each_prompt": true,
19
+ "do_sample": true,
20
+ "temperature": 0.7,
21
+ "top_k": 50,
22
+ "top_p": 1.0,
23
+ "max_new_tokens": 100,
24
+ "num_return_sequences": 1,
25
+ "skip_special_tokens": true
26
+ },
27
+ "revisions": [
28
+ {
29
+ "revision_id": "r001",
30
+ "release": "experimental predecessor",
31
+ "commit": "5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0",
32
+ "model_sha256": "acaa1531322cce78ddb919700f173d4c6ea371185bea5052a3ae4c30f57b368e",
33
+ "loaded_model_version": null,
34
+ "results": [
35
+ {
36
+ "prompt_id": "general_knowledge",
37
+ "prompt": "The capital of France is",
38
+ "prompt_token_ids": [
39
+ 492,
40
+ 4514,
41
+ 286,
42
+ 4413,
43
+ 311
44
+ ],
45
+ "completion_token_ids": [
46
+ 626,
47
+ 263,
48
+ 769,
49
+ 981,
50
+ 286,
51
+ 5440,
52
+ 46,
53
+ 382,
54
+ 769,
55
+ 269,
56
+ 7211,
57
+ 400,
58
+ 4850,
59
+ 287,
60
+ 257,
61
+ 613,
62
+ 1592,
63
+ 269,
64
+ 7211,
65
+ 46,
66
+ 10,
67
+ 10,
68
+ 4442,
69
+ 638,
70
+ 10,
71
+ 4191,
72
+ 286,
73
+ 269,
74
+ 7211,
75
+ 10,
76
+ 10,
77
+ 3103,
78
+ 10,
79
+ 10,
80
+ 4881,
81
+ 3538,
82
+ 10,
83
+ 10,
84
+ 67,
85
+ 500,
86
+ 1188,
87
+ 269,
88
+ 7211,
89
+ 10,
90
+ 67,
91
+ 500,
92
+ 1188,
93
+ 269,
94
+ 7211,
95
+ 10,
96
+ 67,
97
+ 299,
98
+ 1411,
99
+ 269,
100
+ 7211,
101
+ 10,
102
+ 67,
103
+ 500,
104
+ 1188,
105
+ 269,
106
+ 7211,
107
+ 10,
108
+ 67,
109
+ 500,
110
+ 1188,
111
+ 269,
112
+ 7211,
113
+ 10,
114
+ 67,
115
+ 299,
116
+ 1411,
117
+ 269,
118
+ 7211,
119
+ 12285
120
+ ],
121
+ "completion_tokens": 74,
122
+ "stopped_on_eos": true,
123
+ "completion": " had the first number of Americans. The first census was discovered in a 1922 census.\n\nSee also\n List of census\n\nReferences\n\nExternal links\n\nCultural census\nCultural census\nCentral census\nCultural census\nCultural census\nCentral census",
124
+ "full_text": "The capital of France is had the first number of Americans. The first census was discovered in a 1922 census.\n\nSee also\n List of census\n\nReferences\n\nExternal links\n\nCultural census\nCultural census\nCentral census\nCultural census\nCultural census\nCentral census",
125
+ "full_text_sha256": "245e3580745e9a572de95b1336679d70d5c1bde379e341fffb599f10bc12c5ce"
126
+ },
127
+ {
128
+ "prompt_id": "explanation",
129
+ "prompt": "Photosynthesis is the process by which",
130
+ "prompt_token_ids": [
131
+ 3712,
132
+ 316,
133
+ 394,
134
+ 11580,
135
+ 8310,
136
+ 311,
137
+ 263,
138
+ 1170,
139
+ 411,
140
+ 506
141
+ ],
142
+ "completion_token_ids": [
143
+ 263,
144
+ 734,
145
+ 2251,
146
+ 286,
147
+ 263,
148
+ 9703,
149
+ 375,
150
+ 2595,
151
+ 476,
152
+ 10,
153
+ 10,
154
+ 614,
155
+ 4536,
156
+ 287,
157
+ 350,
158
+ 603,
159
+ 4575,
160
+ 889,
161
+ 482,
162
+ 95,
163
+ 117,
164
+ 93,
165
+ 777,
166
+ 777,
167
+ 311,
168
+ 434,
169
+ 1405,
170
+ 290,
171
+ 327,
172
+ 2869,
173
+ 1981,
174
+ 290,
175
+ 263,
176
+ 1419,
177
+ 286,
178
+ 263,
179
+ 9703,
180
+ 476,
181
+ 10,
182
+ 10,
183
+ 614,
184
+ 2966,
185
+ 2895,
186
+ 286,
187
+ 263,
188
+ 4272,
189
+ 311,
190
+ 654,
191
+ 346,
192
+ 46,
193
+ 2206,
194
+ 476,
195
+ 10,
196
+ 10,
197
+ 614,
198
+ 2966,
199
+ 5277,
200
+ 286,
201
+ 263,
202
+ 5277,
203
+ 311,
204
+ 654,
205
+ 346,
206
+ 46,
207
+ 50,
208
+ 1001,
209
+ 476,
210
+ 10,
211
+ 10,
212
+ 614,
213
+ 5277,
214
+ 286,
215
+ 263,
216
+ 5277,
217
+ 311,
218
+ 654,
219
+ 346,
220
+ 46,
221
+ 54,
222
+ 1001,
223
+ 476,
224
+ 10,
225
+ 10,
226
+ 614,
227
+ 5277,
228
+ 286,
229
+ 263,
230
+ 5277,
231
+ 311,
232
+ 654,
233
+ 546,
234
+ 46,
235
+ 53,
236
+ 1001,
237
+ 476,
238
+ 10,
239
+ 10,
240
+ 614,
241
+ 5277,
242
+ 286
243
+ ],
244
+ "completion_tokens": 100,
245
+ "stopped_on_eos": false,
246
+ "completion": " the two points of the symmetry are shown .\n\nthe probability in ( [ eq : k_u] ) ) is not given to be equal due to the order of the symmetry .\n\nthe average speed of the density is about 1.70 .\n\nthe average velocity of the velocity is about 1.2 * .\n\nthe velocity of the velocity is about 1.6 * .\n\nthe velocity of the velocity is about 3.5 * .\n\nthe velocity of",
247
+ "full_text": "Photosynthesis is the process by which the two points of the symmetry are shown .\n\nthe probability in ( [ eq : k_u] ) ) is not given to be equal due to the order of the symmetry .\n\nthe average speed of the density is about 1.70 .\n\nthe average velocity of the velocity is about 1.2 * .\n\nthe velocity of the velocity is about 1.6 * .\n\nthe velocity of the velocity is about 3.5 * .\n\nthe velocity of",
248
+ "full_text_sha256": "15f8c6262d0ea4524ee5c0ec1c2fb38828e2e4c6d11bd63d6639d4e55880903b"
249
+ },
250
+ {
251
+ "prompt_id": "story",
252
+ "prompt": "In a distant future, humanity discovered",
253
+ "prompt_token_ids": [
254
+ 750,
255
+ 257,
256
+ 10103,
257
+ 2629,
258
+ 44,
259
+ 12187,
260
+ 4850
261
+ ],
262
+ "completion_token_ids": [
263
+ 292,
264
+ 263,
265
+ 769,
266
+ 981,
267
+ 286,
268
+ 263,
269
+ 922,
270
+ 46,
271
+ 10,
272
+ 10,
273
+ 492,
274
+ 922,
275
+ 286,
276
+ 263,
277
+ 922,
278
+ 10,
279
+ 10,
280
+ 492,
281
+ 922,
282
+ 311,
283
+ 257,
284
+ 1582,
285
+ 1655,
286
+ 698,
287
+ 263,
288
+ 922,
289
+ 46,
290
+ 10,
291
+ 10,
292
+ 492,
293
+ 922,
294
+ 311,
295
+ 583,
296
+ 6712,
297
+ 698,
298
+ 263,
299
+ 922,
300
+ 46,
301
+ 10,
302
+ 10,
303
+ 492,
304
+ 922,
305
+ 311,
306
+ 1003,
307
+ 966,
308
+ 433,
309
+ 263,
310
+ 922,
311
+ 44,
312
+ 520,
313
+ 263,
314
+ 922,
315
+ 311,
316
+ 1003,
317
+ 966,
318
+ 433,
319
+ 263,
320
+ 922,
321
+ 46,
322
+ 10,
323
+ 10,
324
+ 492,
325
+ 922,
326
+ 311,
327
+ 1003,
328
+ 966,
329
+ 433,
330
+ 263,
331
+ 922,
332
+ 46,
333
+ 10,
334
+ 10,
335
+ 492,
336
+ 922,
337
+ 311,
338
+ 1003,
339
+ 966,
340
+ 433,
341
+ 263,
342
+ 922,
343
+ 46,
344
+ 10,
345
+ 10,
346
+ 492,
347
+ 922,
348
+ 311,
349
+ 583,
350
+ 6712,
351
+ 698,
352
+ 263,
353
+ 922,
354
+ 46,
355
+ 10,
356
+ 10,
357
+ 492,
358
+ 922,
359
+ 311,
360
+ 1003,
361
+ 966,
362
+ 433
363
+ ],
364
+ "completion_tokens": 100,
365
+ "stopped_on_eos": false,
366
+ "completion": " and the first number of the data.\n\nThe data of the data\n\nThe data is a little better than the data.\n\nThe data is more accurate than the data.\n\nThe data is very different from the data, but the data is very different from the data.\n\nThe data is very different from the data.\n\nThe data is very different from the data.\n\nThe data is more accurate than the data.\n\nThe data is very different from",
367
+ "full_text": "In a distant future, humanity discovered and the first number of the data.\n\nThe data of the data\n\nThe data is a little better than the data.\n\nThe data is more accurate than the data.\n\nThe data is very different from the data, but the data is very different from the data.\n\nThe data is very different from the data.\n\nThe data is very different from the data.\n\nThe data is more accurate than the data.\n\nThe data is very different from",
368
+ "full_text_sha256": "037c1f6e8b59cb61dee53f79a801d632eba4cd5df2f4a57381c61c3e1c94086f"
369
+ },
370
+ {
371
+ "prompt_id": "code",
372
+ "prompt": "def fibonacci(n):",
373
+ "prompt_token_ids": [
374
+ 1830,
375
+ 7545,
376
+ 262,
377
+ 387,
378
+ 1659,
379
+ 40,
380
+ 110,
381
+ 1000
382
+ ],
383
+ "completion_token_ids": [
384
+ 292,
385
+ 263,
386
+ 303,
387
+ 374,
388
+ 45,
389
+ 634,
390
+ 1838,
391
+ 314,
392
+ 1125,
393
+ 287,
394
+ 263,
395
+ 303,
396
+ 374,
397
+ 45,
398
+ 634,
399
+ 1838,
400
+ 314,
401
+ 476,
402
+ 10,
403
+ 10,
404
+ 2164,
405
+ 717,
406
+ 331,
407
+ 303,
408
+ 374,
409
+ 45,
410
+ 634,
411
+ 1838,
412
+ 314,
413
+ 292,
414
+ 267,
415
+ 300,
416
+ 262,
417
+ 486,
418
+ 1728,
419
+ 486,
420
+ 3466,
421
+ 486,
422
+ 1728,
423
+ 4694,
424
+ 486,
425
+ 1728,
426
+ 4694,
427
+ 486,
428
+ 7123,
429
+ 4694,
430
+ 486,
431
+ 7123,
432
+ 4694,
433
+ 486,
434
+ 7123,
435
+ 4694,
436
+ 486,
437
+ 7123,
438
+ 4694,
439
+ 486,
440
+ 7123,
441
+ 3466,
442
+ 486,
443
+ 7123,
444
+ 4694,
445
+ 486,
446
+ 7123,
447
+ 4694,
448
+ 486,
449
+ 2575,
450
+ 4694,
451
+ 486,
452
+ 7123,
453
+ 4694,
454
+ 486,
455
+ 2575,
456
+ 4694,
457
+ 486,
458
+ 2575,
459
+ 4363,
460
+ 486,
461
+ 2575,
462
+ 6415,
463
+ 486,
464
+ 2575,
465
+ 9295,
466
+ 486,
467
+ 2621,
468
+ 286,
469
+ 486,
470
+ 2248,
471
+ 486,
472
+ 2575,
473
+ 9295,
474
+ 486,
475
+ 2575,
476
+ 1940,
477
+ 486,
478
+ 2575,
479
+ 486,
480
+ 1385,
481
+ 486,
482
+ 3783,
483
+ 4363
484
+ ],
485
+ "completion_tokens": 100,
486
+ "stopped_on_eos": false,
487
+ "completion": " and the nth-formcurve function in the nth-formcurve .\n\nthis work for nth-formcurve and octon - based - factor - based parameter - based parameter - dependent parameter - dependent parameter - dependent parameter - dependent parameter - dependent factor - dependent parameter - dependent parameter - required parameter - dependent parameter - required parameter - required item - required integer - required integers - types of -type - required integers - required values - required - type - useful item",
488
+ "full_text": "def fibonacci(n): and the nth-formcurve function in the nth-formcurve .\n\nthis work for nth-formcurve and octon - based - factor - based parameter - based parameter - dependent parameter - dependent parameter - dependent parameter - dependent parameter - dependent factor - dependent parameter - dependent parameter - required parameter - dependent parameter - required parameter - required item - required integer - required integers - types of -type - required integers - required values - required - type - useful item",
489
+ "full_text_sha256": "cd8fe88c64580c1496e44321bb3673980f8a6e4d630833103e617498c5c8bb8e"
490
+ }
491
+ ]
492
+ },
493
+ {
494
+ "revision_id": "r002",
495
+ "release": "Pollock 1.0",
496
+ "commit": "5e571cde09ef2d1124e13d1c31d0b75f8bd0e513",
497
+ "model_sha256": "2aada5b26abe9ce3b70af393d77be4ed1a799a7205b9c0dd5cfaff8bcaabce68",
498
+ "loaded_model_version": "1.0",
499
+ "results": [
500
+ {
501
+ "prompt_id": "general_knowledge",
502
+ "prompt": "The capital of France is",
503
+ "prompt_token_ids": [
504
+ 492,
505
+ 4514,
506
+ 286,
507
+ 4413,
508
+ 311
509
+ ],
510
+ "completion_token_ids": [
511
+ 263,
512
+ 5020,
513
+ 8996,
514
+ 377,
515
+ 1748,
516
+ 381,
517
+ 622,
518
+ 101,
519
+ 44,
520
+ 257,
521
+ 1389,
522
+ 1341,
523
+ 429,
524
+ 614,
525
+ 10368,
526
+ 286,
527
+ 421,
528
+ 339,
529
+ 874,
530
+ 292,
531
+ 587,
532
+ 4007,
533
+ 1907,
534
+ 5646,
535
+ 2605,
536
+ 311,
537
+ 6028,
538
+ 290,
539
+ 327,
540
+ 1333,
541
+ 1990,
542
+ 44,
543
+ 1024,
544
+ 46,
545
+ 10,
546
+ 10,
547
+ 750,
548
+ 263,
549
+ 613,
550
+ 374,
551
+ 2836,
552
+ 44,
553
+ 263,
554
+ 2329,
555
+ 400,
556
+ 4262,
557
+ 281,
558
+ 685,
559
+ 257,
560
+ 10715,
561
+ 1523,
562
+ 46,
563
+ 382,
564
+ 3259,
565
+ 1975,
566
+ 2437,
567
+ 263,
568
+ 2329,
569
+ 593,
570
+ 290,
571
+ 263,
572
+ 2292,
573
+ 286,
574
+ 257,
575
+ 10715,
576
+ 1523,
577
+ 46,
578
+ 382,
579
+ 4514,
580
+ 400,
581
+ 263,
582
+ 5020,
583
+ 8996,
584
+ 377,
585
+ 3391,
586
+ 10769,
587
+ 44,
588
+ 355,
589
+ 661,
590
+ 4514,
591
+ 405,
592
+ 263,
593
+ 5020,
594
+ 8996,
595
+ 729,
596
+ 450,
597
+ 478,
598
+ 272,
599
+ 46,
600
+ 382,
601
+ 2605,
602
+ 400,
603
+ 5007,
604
+ 290,
605
+ 1333,
606
+ 1990,
607
+ 44,
608
+ 1024,
609
+ 46,
610
+ 10
611
+ ],
612
+ "completion_tokens": 100,
613
+ "stopped_on_eos": false,
614
+ "completion": " the Palais de la Borde, a place called \"the Place of Funds and Stocks\". Its population is estimated to be around 30,000.\n\nIn the 19th century, the city was transformed into a municipality. The French government took the city up to the position of a municipality. The capital was the Palais de Valois, with its capital at the Palais des Gardes. The population was reduced to around 30,000.\n",
615
+ "full_text": "The capital of France is the Palais de la Borde, a place called \"the Place of Funds and Stocks\". Its population is estimated to be around 30,000.\n\nIn the 19th century, the city was transformed into a municipality. The French government took the city up to the position of a municipality. The capital was the Palais de Valois, with its capital at the Palais des Gardes. The population was reduced to around 30,000.\n",
616
+ "full_text_sha256": "181ebd0d98d96eb3c1693cb88f6f68db6bfcfc02ff791fd5885097a0cf3722a1"
617
+ },
618
+ {
619
+ "prompt_id": "explanation",
620
+ "prompt": "Photosynthesis is the process by which",
621
+ "prompt_token_ids": [
622
+ 3712,
623
+ 316,
624
+ 394,
625
+ 11580,
626
+ 8310,
627
+ 311,
628
+ 263,
629
+ 1170,
630
+ 411,
631
+ 506
632
+ ],
633
+ "completion_token_ids": [
634
+ 3335,
635
+ 292,
636
+ 3620,
637
+ 2663,
638
+ 1514,
639
+ 433,
640
+ 8669,
641
+ 46,
642
+ 1769,
643
+ 257,
644
+ 2903,
645
+ 7705,
646
+ 1433,
647
+ 44,
648
+ 354,
649
+ 5085,
650
+ 1400,
651
+ 263,
652
+ 1433,
653
+ 1514,
654
+ 342,
655
+ 2177,
656
+ 433,
657
+ 263,
658
+ 2645,
659
+ 46,
660
+ 382,
661
+ 1514,
662
+ 433,
663
+ 263,
664
+ 2645,
665
+ 311,
666
+ 5085,
667
+ 3136,
668
+ 411,
669
+ 263,
670
+ 2903,
671
+ 292,
672
+ 311,
673
+ 1812,
674
+ 6487,
675
+ 290,
676
+ 263,
677
+ 4551,
678
+ 46,
679
+ 757,
680
+ 1514,
681
+ 311,
682
+ 806,
683
+ 850,
684
+ 331,
685
+ 7918,
686
+ 11580,
687
+ 8310,
688
+ 292,
689
+ 311,
690
+ 850,
691
+ 290,
692
+ 3371,
693
+ 1796,
694
+ 46,
695
+ 10,
696
+ 3712,
697
+ 316,
698
+ 394,
699
+ 11580,
700
+ 8310,
701
+ 311,
702
+ 263,
703
+ 1170,
704
+ 411,
705
+ 506,
706
+ 3335,
707
+ 2663,
708
+ 1514,
709
+ 433,
710
+ 8669,
711
+ 46,
712
+ 1769,
713
+ 257,
714
+ 2903,
715
+ 5085,
716
+ 1400,
717
+ 263,
718
+ 1433,
719
+ 1514,
720
+ 433,
721
+ 263,
722
+ 2645,
723
+ 44,
724
+ 354,
725
+ 3919,
726
+ 257,
727
+ 1796,
728
+ 2343,
729
+ 46,
730
+ 10,
731
+ 492,
732
+ 854,
733
+ 1619
734
+ ],
735
+ "completion_tokens": 100,
736
+ "stopped_on_eos": false,
737
+ "completion": " plants and animals obtain energy from sunlight. When a plant produces light, it absorbs the light energy that came from the sun. The energy from the sun is absorbed by the plant and is radiated to the leaves. This energy is then used for photosynthesis and is used to produce food.\nPhotosynthesis is the process by which plants obtain energy from sunlight. When a plant absorbs the light energy from the sun, it becomes a food source.\nThe most common",
738
+ "full_text": "Photosynthesis is the process by which plants and animals obtain energy from sunlight. When a plant produces light, it absorbs the light energy that came from the sun. The energy from the sun is absorbed by the plant and is radiated to the leaves. This energy is then used for photosynthesis and is used to produce food.\nPhotosynthesis is the process by which plants obtain energy from sunlight. When a plant absorbs the light energy from the sun, it becomes a food source.\nThe most common",
739
+ "full_text_sha256": "e8baa6567207b0afacc7aaf548b22b0226140171a96039a2652f8132de87d623"
740
+ },
741
+ {
742
+ "prompt_id": "story",
743
+ "prompt": "In a distant future, humanity discovered",
744
+ "prompt_token_ids": [
745
+ 750,
746
+ 257,
747
+ 10103,
748
+ 2629,
749
+ 44,
750
+ 12187,
751
+ 4850
752
+ ],
753
+ "completion_token_ids": [
754
+ 342,
755
+ 263,
756
+ 1811,
757
+ 2131,
758
+ 477,
759
+ 560,
760
+ 766,
761
+ 694,
762
+ 4768,
763
+ 287,
764
+ 1896,
765
+ 411,
766
+ 1072,
767
+ 2395,
768
+ 1473,
769
+ 812,
770
+ 324,
771
+ 263,
772
+ 972,
773
+ 671,
774
+ 342,
775
+ 4827,
776
+ 375,
777
+ 4462,
778
+ 290,
779
+ 288,
780
+ 325,
781
+ 3772,
782
+ 433,
783
+ 5043,
784
+ 290,
785
+ 6946,
786
+ 44,
787
+ 292,
788
+ 342,
789
+ 548,
790
+ 451,
791
+ 1071,
792
+ 257,
793
+ 2086,
794
+ 264,
795
+ 8995,
796
+ 286,
797
+ 9340,
798
+ 292,
799
+ 10394,
800
+ 46,
801
+ 10,
802
+ 492,
803
+ 1811,
804
+ 2131,
805
+ 477,
806
+ 1741,
807
+ 44,
808
+ 3139,
809
+ 411,
810
+ 282,
811
+ 4546,
812
+ 2030,
813
+ 286,
814
+ 4268,
815
+ 433,
816
+ 263,
817
+ 1994,
818
+ 286,
819
+ 4652,
820
+ 44,
821
+ 3785,
822
+ 271,
823
+ 44,
824
+ 311,
825
+ 3006,
826
+ 5465,
827
+ 286,
828
+ 263,
829
+ 1811,
830
+ 2131,
831
+ 477,
832
+ 290,
833
+ 1374,
834
+ 331,
835
+ 263,
836
+ 769,
837
+ 45,
838
+ 1008,
839
+ 2131,
840
+ 477,
841
+ 45,
842
+ 4929,
843
+ 2939,
844
+ 286,
845
+ 2131,
846
+ 9519,
847
+ 9777,
848
+ 433,
849
+ 263,
850
+ 2131,
851
+ 477,
852
+ 286,
853
+ 842
854
+ ],
855
+ "completion_tokens": 100,
856
+ "stopped_on_eos": false,
857
+ "completion": " that the human genome has only been growing in size by 2026—roughly the same time that humans are starting to migrate from Africa to Asia, and that they have made a fuller crop of corn and rice.\nThe human genome project, led by an international team of researchers from the University of California, Davis, is taking advantage of the human genome to allow for the first-ever genome-level analysis of genomic sequences from the genome of people",
858
+ "full_text": "In a distant future, humanity discovered that the human genome has only been growing in size by 2026—roughly the same time that humans are starting to migrate from Africa to Asia, and that they have made a fuller crop of corn and rice.\nThe human genome project, led by an international team of researchers from the University of California, Davis, is taking advantage of the human genome to allow for the first-ever genome-level analysis of genomic sequences from the genome of people",
859
+ "full_text_sha256": "c23e944af1cce79a84fcf44ec80625e93279df0d4816e664905ed1a6b3835897"
860
+ },
861
+ {
862
+ "prompt_id": "code",
863
+ "prompt": "def fibonacci(n):",
864
+ "prompt_token_ids": [
865
+ 1830,
866
+ 7545,
867
+ 262,
868
+ 387,
869
+ 1659,
870
+ 40,
871
+ 110,
872
+ 1000
873
+ ],
874
+ "completion_token_ids": [
875
+ 470,
876
+ 982,
877
+ 303,
878
+ 1001,
879
+ 7545,
880
+ 262,
881
+ 387,
882
+ 1659,
883
+ 40,
884
+ 110,
885
+ 45,
886
+ 49,
887
+ 6396,
888
+ 50,
889
+ 359,
890
+ 10,
891
+ 1830,
892
+ 7545,
893
+ 262,
894
+ 387,
895
+ 1659,
896
+ 95,
897
+ 3274,
898
+ 40,
899
+ 110,
900
+ 1000,
901
+ 470,
902
+ 982,
903
+ 303,
904
+ 1001,
905
+ 7545,
906
+ 262,
907
+ 387,
908
+ 1659,
909
+ 40,
910
+ 110,
911
+ 45,
912
+ 49,
913
+ 6396,
914
+ 50,
915
+ 359,
916
+ 10,
917
+ 1830,
918
+ 7545,
919
+ 262,
920
+ 387,
921
+ 1659,
922
+ 95,
923
+ 3274,
924
+ 95,
925
+ 108,
926
+ 3801,
927
+ 40,
928
+ 110,
929
+ 1000,
930
+ 470,
931
+ 982,
932
+ 7545,
933
+ 262,
934
+ 387,
935
+ 1659,
936
+ 40,
937
+ 110,
938
+ 45,
939
+ 49,
940
+ 41,
941
+ 1001,
942
+ 7545,
943
+ 262,
944
+ 387,
945
+ 1659,
946
+ 40,
947
+ 110,
948
+ 45,
949
+ 50,
950
+ 41,
951
+ 359,
952
+ 10,
953
+ 1830,
954
+ 7545,
955
+ 262,
956
+ 387,
957
+ 1659,
958
+ 95,
959
+ 3274,
960
+ 95,
961
+ 108,
962
+ 3801,
963
+ 95,
964
+ 116,
965
+ 10440,
966
+ 40,
967
+ 110,
968
+ 1000,
969
+ 470,
970
+ 982,
971
+ 7545,
972
+ 262,
973
+ 387,
974
+ 1659
975
+ ],
976
+ "completion_tokens": 100,
977
+ "stopped_on_eos": false,
978
+ "completion": "\n return n * fibonacci(n-1)/2\n\n\ndef fibonacci_mat(n):\n return n * fibonacci(n-1)/2\n\n\ndef fibonacci_mat_lcs(n):\n return fibonacci(n-1) * fibonacci(n-2)\n\n\ndef fibonacci_mat_lcs_tuple(n):\n return fibonacci",
979
+ "full_text": "def fibonacci(n):\n return n * fibonacci(n-1)/2\n\n\ndef fibonacci_mat(n):\n return n * fibonacci(n-1)/2\n\n\ndef fibonacci_mat_lcs(n):\n return fibonacci(n-1) * fibonacci(n-2)\n\n\ndef fibonacci_mat_lcs_tuple(n):\n return fibonacci",
980
+ "full_text_sha256": "2188bd0cdb6e8feccac9cb5817aa7c65666aba6ac163703542f6d0aaa297c9cb"
981
+ }
982
+ ]
983
+ },
984
+ {
985
+ "revision_id": "r003",
986
+ "release": "Pollock 1.1",
987
+ "commit": "698984b1d1b96c9b6ffaff00c7fc2e78e140e842",
988
+ "model_sha256": "3a9964a0ba5f6d20ef6061d2a7e4442c1b001209ebe80f7b7148a25573decaa9",
989
+ "loaded_model_version": "1.1",
990
+ "results": [
991
+ {
992
+ "prompt_id": "general_knowledge",
993
+ "prompt": "The capital of France is",
994
+ "prompt_token_ids": [
995
+ 492,
996
+ 4514,
997
+ 286,
998
+ 4413,
999
+ 311
1000
+ ],
1001
+ "completion_token_ids": [
1002
+ 263,
1003
+ 3259,
1004
+ 2329,
1005
+ 286,
1006
+ 643,
1007
+ 384,
1008
+ 97,
1009
+ 392,
1010
+ 272,
1011
+ 44,
1012
+ 336,
1013
+ 263,
1014
+ 2855,
1015
+ 286,
1016
+ 263,
1017
+ 1506,
1018
+ 4873,
1019
+ 342,
1020
+ 400,
1021
+ 8425,
1022
+ 411,
1023
+ 263,
1024
+ 3259,
1025
+ 1266,
1026
+ 263,
1027
+ 3259,
1028
+ 8108,
1029
+ 46,
1030
+ 10,
1031
+ 10,
1032
+ 492,
1033
+ 4514,
1034
+ 286,
1035
+ 263,
1036
+ 3259,
1037
+ 4562,
1038
+ 311,
1039
+ 263,
1040
+ 4514,
1041
+ 286,
1042
+ 263,
1043
+ 8030,
1044
+ 286,
1045
+ 4413,
1046
+ 44,
1047
+ 1640,
1048
+ 5446,
1049
+ 654,
1050
+ 32,
1051
+ 433,
1052
+ 6703,
1053
+ 46,
1054
+ 10,
1055
+ 10,
1056
+ 8413,
1057
+ 10,
1058
+ 10,
1059
+ 492,
1060
+ 2329,
1061
+ 286,
1062
+ 643,
1063
+ 384,
1064
+ 97,
1065
+ 392,
1066
+ 272,
1067
+ 400,
1068
+ 2573,
1069
+ 411,
1070
+ 263,
1071
+ 3259,
1072
+ 8108,
1073
+ 552,
1074
+ 1975,
1075
+ 353,
1076
+ 263,
1077
+ 4514,
1078
+ 286,
1079
+ 4413,
1080
+ 46,
1081
+ 382,
1082
+ 2329,
1083
+ 400,
1084
+ 3476,
1085
+ 324,
1086
+ 3618,
1087
+ 932,
1088
+ 661,
1089
+ 1052,
1090
+ 264,
1091
+ 44,
1092
+ 491,
1093
+ 2507,
1094
+ 381,
1095
+ 471,
1096
+ 371,
1097
+ 268,
1098
+ 618,
1099
+ 44,
1100
+ 656,
1101
+ 400
1102
+ ],
1103
+ "completion_tokens": 100,
1104
+ "stopped_on_eos": false,
1105
+ "completion": " the French city of Versailles, on the site of the old church that was destroyed by the French during the French Revolution.\n\nThe capital of the French Republic is the capital of the Kingdom of France, situated about from Paris.\n\nHistory\n\nThe city of Versailles was created by the French Revolutionary government as the capital of France. The city was officially named after its founder, Jules Bourrienne, who was",
1106
+ "full_text": "The capital of France is the French city of Versailles, on the site of the old church that was destroyed by the French during the French Revolution.\n\nThe capital of the French Republic is the capital of the Kingdom of France, situated about from Paris.\n\nHistory\n\nThe city of Versailles was created by the French Revolutionary government as the capital of France. The city was officially named after its founder, Jules Bourrienne, who was",
1107
+ "full_text_sha256": "249a398d82bd1888d4394fc04de3baee1902cd39b864d1c1cfe0b0a3d85e20e4"
1108
+ },
1109
+ {
1110
+ "prompt_id": "explanation",
1111
+ "prompt": "Photosynthesis is the process by which",
1112
+ "prompt_token_ids": [
1113
+ 3712,
1114
+ 316,
1115
+ 394,
1116
+ 11580,
1117
+ 8310,
1118
+ 311,
1119
+ 263,
1120
+ 1170,
1121
+ 411,
1122
+ 506
1123
+ ],
1124
+ "completion_token_ids": [
1125
+ 263,
1126
+ 3335,
1127
+ 44,
1128
+ 263,
1129
+ 782,
1130
+ 6424,
1131
+ 44,
1132
+ 292,
1133
+ 602,
1134
+ 8900,
1135
+ 5820,
1136
+ 3781,
1137
+ 8726,
1138
+ 292,
1139
+ 1134,
1140
+ 685,
1141
+ 1514,
1142
+ 46,
1143
+ 10,
1144
+ 492,
1145
+ 710,
1146
+ 286,
1147
+ 7918,
1148
+ 11580,
1149
+ 8310,
1150
+ 353,
1151
+ 257,
1152
+ 2343,
1153
+ 286,
1154
+ 1514,
1155
+ 311,
1156
+ 1341,
1157
+ 7918,
1158
+ 11580,
1159
+ 8310,
1160
+ 46,
1161
+ 382,
1162
+ 1170,
1163
+ 311,
1164
+ 1516,
1165
+ 353,
1166
+ 7918,
1167
+ 11580,
1168
+ 8310,
1169
+ 46,
1170
+ 10,
1171
+ 45,
1172
+ 12238,
1173
+ 394,
1174
+ 11580,
1175
+ 8310,
1176
+ 311,
1177
+ 263,
1178
+ 1170,
1179
+ 411,
1180
+ 506,
1181
+ 263,
1182
+ 3335,
1183
+ 44,
1184
+ 378,
1185
+ 645,
1186
+ 602,
1187
+ 8900,
1188
+ 44,
1189
+ 5820,
1190
+ 3781,
1191
+ 8726,
1192
+ 292,
1193
+ 1134,
1194
+ 685,
1195
+ 1514,
1196
+ 46,
1197
+ 10,
1198
+ 45,
1199
+ 12238,
1200
+ 394,
1201
+ 11580,
1202
+ 8310,
1203
+ 311,
1204
+ 263,
1205
+ 1170,
1206
+ 411,
1207
+ 506,
1208
+ 263,
1209
+ 3335,
1210
+ 44,
1211
+ 378,
1212
+ 645,
1213
+ 602,
1214
+ 8900,
1215
+ 5820,
1216
+ 3781,
1217
+ 8726,
1218
+ 292,
1219
+ 1134,
1220
+ 685,
1221
+ 1514,
1222
+ 46,
1223
+ 10,
1224
+ 45
1225
+ ],
1226
+ "completion_tokens": 100,
1227
+ "stopped_on_eos": false,
1228
+ "completion": " the plants, the fungi, and other organisms convert carbon dioxide and water into energy.\nThe use of photosynthesis as a source of energy is called photosynthesis. The process is known as photosynthesis.\n- Photosynthesis is the process by which the plants, or some other organisms, convert carbon dioxide and water into energy.\n- Photosynthesis is the process by which the plants, or some other organisms convert carbon dioxide and water into energy.\n-",
1229
+ "full_text": "Photosynthesis is the process by which the plants, the fungi, and other organisms convert carbon dioxide and water into energy.\nThe use of photosynthesis as a source of energy is called photosynthesis. The process is known as photosynthesis.\n- Photosynthesis is the process by which the plants, or some other organisms, convert carbon dioxide and water into energy.\n- Photosynthesis is the process by which the plants, or some other organisms convert carbon dioxide and water into energy.\n-",
1230
+ "full_text_sha256": "6522de510566b946a17e112bd872123306d17dfb270baf39439d4dd23ab6c371"
1231
+ },
1232
+ {
1233
+ "prompt_id": "story",
1234
+ "prompt": "In a distant future, humanity discovered",
1235
+ "prompt_token_ids": [
1236
+ 750,
1237
+ 257,
1238
+ 10103,
1239
+ 2629,
1240
+ 44,
1241
+ 12187,
1242
+ 4850
1243
+ ],
1244
+ "completion_token_ids": [
1245
+ 342,
1246
+ 263,
1247
+ 1811,
1248
+ 4909,
1249
+ 311,
1250
+ 434,
1251
+ 766,
1252
+ 257,
1253
+ 2261,
1254
+ 44,
1255
+ 354,
1256
+ 311,
1257
+ 257,
1258
+ 2231,
1259
+ 12284,
1260
+ 2559,
1261
+ 342,
1262
+ 560,
1263
+ 1071,
1264
+ 426,
1265
+ 507,
1266
+ 1811,
1267
+ 46,
1268
+ 10,
1269
+ 492,
1270
+ 1811,
1271
+ 4909,
1272
+ 560,
1273
+ 638,
1274
+ 1405,
1275
+ 426,
1276
+ 257,
1277
+ 3255,
1278
+ 7469,
1279
+ 336,
1280
+ 263,
1281
+ 1217,
1282
+ 1333,
1283
+ 426,
1284
+ 46,
1285
+ 757,
1286
+ 7469,
1287
+ 311,
1288
+ 4263,
1289
+ 290,
1290
+ 3137,
1291
+ 263,
1292
+ 1811,
1293
+ 3045,
1294
+ 292,
1295
+ 263,
1296
+ 1811,
1297
+ 5469,
1298
+ 331,
1299
+ 913,
1300
+ 45,
1301
+ 115,
1302
+ 387,
1303
+ 114,
1304
+ 351,
1305
+ 561,
1306
+ 46,
1307
+ 757,
1308
+ 7469,
1309
+ 638,
1310
+ 3993,
1311
+ 426,
1312
+ 290,
1313
+ 1510,
1314
+ 263,
1315
+ 1217,
1316
+ 1333,
1317
+ 426,
1318
+ 353,
1319
+ 257,
1320
+ 2350,
1321
+ 292,
1322
+ 290,
1323
+ 1510,
1324
+ 9327,
1325
+ 46,
1326
+ 10,
1327
+ 750,
1328
+ 6962,
1329
+ 44,
1330
+ 263,
1331
+ 1811,
1332
+ 4909,
1333
+ 311,
1334
+ 257,
1335
+ 2481,
1336
+ 292,
1337
+ 910,
1338
+ 9804,
1339
+ 1725,
1340
+ 9923,
1341
+ 342,
1342
+ 560,
1343
+ 3881,
1344
+ 257
1345
+ ],
1346
+ "completion_tokens": 100,
1347
+ "stopped_on_eos": false,
1348
+ "completion": " that the human race is not only a species, it is a supernatural force that has made us all human.\nThe human race has also given us a unique perspective on the world around us. This perspective is critical to understanding the human condition and the human capacity for self-sacrifice. This perspective also helps us to understand the world around us as a whole and to understand ourselves.\nIn conclusion, the human race is a complex and interconnected entity that has played a",
1349
+ "full_text": "In a distant future, humanity discovered that the human race is not only a species, it is a supernatural force that has made us all human.\nThe human race has also given us a unique perspective on the world around us. This perspective is critical to understanding the human condition and the human capacity for self-sacrifice. This perspective also helps us to understand the world around us as a whole and to understand ourselves.\nIn conclusion, the human race is a complex and interconnected entity that has played a",
1350
+ "full_text_sha256": "4028c3120d8711b29e7caabdb58128402b66088941d4718fb53267b69bfa9bac"
1351
+ },
1352
+ {
1353
+ "prompt_id": "code",
1354
+ "prompt": "def fibonacci(n):",
1355
+ "prompt_token_ids": [
1356
+ 1830,
1357
+ 7545,
1358
+ 262,
1359
+ 387,
1360
+ 1659,
1361
+ 40,
1362
+ 110,
1363
+ 1000
1364
+ ],
1365
+ "completion_token_ids": [
1366
+ 470,
1367
+ 538,
1368
+ 406,
1369
+ 346,
1370
+ 45,
1371
+ 3592,
1372
+ 40,
1373
+ 120,
1374
+ 41,
1375
+ 470,
1376
+ 331,
1377
+ 962,
1378
+ 287,
1379
+ 2024,
1380
+ 40,
1381
+ 110,
1382
+ 1000,
1383
+ 508,
1384
+ 538,
1385
+ 406,
1386
+ 538,
1387
+ 784,
1388
+ 1758,
1389
+ 40,
1390
+ 120,
1391
+ 41,
1392
+ 470,
1393
+ 982,
1394
+ 538,
1395
+ 10,
1396
+ 10,
1397
+ 1830,
1398
+ 7545,
1399
+ 262,
1400
+ 387,
1401
+ 1659,
1402
+ 95,
1403
+ 955,
1404
+ 95,
1405
+ 115,
1406
+ 467,
1407
+ 40,
1408
+ 110,
1409
+ 1000,
1410
+ 470,
1411
+ 538,
1412
+ 406,
1413
+ 346,
1414
+ 45,
1415
+ 3592,
1416
+ 40,
1417
+ 120,
1418
+ 41,
1419
+ 470,
1420
+ 331,
1421
+ 962,
1422
+ 287,
1423
+ 2024,
1424
+ 40,
1425
+ 110,
1426
+ 1000,
1427
+ 508,
1428
+ 538,
1429
+ 406,
1430
+ 538,
1431
+ 1001,
1432
+ 4121,
1433
+ 46,
1434
+ 3368,
1435
+ 470,
1436
+ 982,
1437
+ 538,
1438
+ 10,
1439
+ 10,
1440
+ 1830,
1441
+ 7545,
1442
+ 262,
1443
+ 387,
1444
+ 1659,
1445
+ 95,
1446
+ 6262,
1447
+ 522,
1448
+ 40,
1449
+ 110,
1450
+ 1000,
1451
+ 470,
1452
+ 538,
1453
+ 406,
1454
+ 346,
1455
+ 45,
1456
+ 3592,
1457
+ 40,
1458
+ 120,
1459
+ 41,
1460
+ 470,
1461
+ 331,
1462
+ 962,
1463
+ 287,
1464
+ 2024,
1465
+ 40
1466
+ ],
1467
+ "completion_tokens": 100,
1468
+ "stopped_on_eos": false,
1469
+ "completion": "\n res = 1-sum(x)\n for i in range(n):\n res = res + sum(x)\n return res\n\ndef fibonacci_to_sine(n):\n res = 1-sum(x)\n for i in range(n):\n res = res * math.pi\n return res\n\ndef fibonacci_simple(n):\n res = 1-sum(x)\n for i in range(",
1470
+ "full_text": "def fibonacci(n):\n res = 1-sum(x)\n for i in range(n):\n res = res + sum(x)\n return res\n\ndef fibonacci_to_sine(n):\n res = 1-sum(x)\n for i in range(n):\n res = res * math.pi\n return res\n\ndef fibonacci_simple(n):\n res = 1-sum(x)\n for i in range(",
1471
+ "full_text_sha256": "f9a84f3921790df8fe9aad6d527ce9e5e0b9b7f7bb98df1d76e6766623227756"
1472
+ }
1473
+ ]
1474
+ },
1475
+ {
1476
+ "revision_id": "r004",
1477
+ "release": "Pollock 1.2",
1478
+ "commit": "30feb81e5097eef13b939e1827d98e0458bf602d",
1479
+ "model_sha256": "3c453f22d4bb70228e5cca79e183a425e0f0221e54bd782d12027c42c943c880",
1480
+ "loaded_model_version": "1.2",
1481
+ "results": [
1482
+ {
1483
+ "prompt_id": "general_knowledge",
1484
+ "prompt": "The capital of France is",
1485
+ "prompt_token_ids": [
1486
+ 492,
1487
+ 4514,
1488
+ 286,
1489
+ 4413,
1490
+ 311
1491
+ ],
1492
+ "completion_token_ids": [
1493
+ 263,
1494
+ 3259,
1495
+ 2329,
1496
+ 286,
1497
+ 643,
1498
+ 1861,
1499
+ 618,
1500
+ 46,
1501
+ 10,
1502
+ 10,
1503
+ 8413,
1504
+ 10,
1505
+ 10,
1506
+ 492,
1507
+ 2329,
1508
+ 400,
1509
+ 769,
1510
+ 4857,
1511
+ 287,
1512
+ 346,
1513
+ 1262,
1514
+ 56,
1515
+ 353,
1516
+ 643,
1517
+ 485,
1518
+ 99,
1519
+ 471,
1520
+ 116,
1521
+ 378,
1522
+ 381,
1523
+ 1518,
1524
+ 122,
1525
+ 1285,
1526
+ 46,
1527
+ 501,
1528
+ 1430,
1529
+ 4213,
1530
+ 354,
1531
+ 400,
1532
+ 5621,
1533
+ 496,
1534
+ 287,
1535
+ 263,
1536
+ 2329,
1537
+ 286,
1538
+ 643,
1539
+ 428,
1540
+ 195,
1541
+ 180,
1542
+ 1335,
1543
+ 46,
1544
+ 10,
1545
+ 10,
1546
+ 750,
1547
+ 887,
1548
+ 4739,
1549
+ 354,
1550
+ 400,
1551
+ 4088,
1552
+ 2440,
1553
+ 643,
1554
+ 485,
1555
+ 99,
1556
+ 471,
1557
+ 116,
1558
+ 46,
1559
+ 10,
1560
+ 10,
1561
+ 750,
1562
+ 887,
1563
+ 5308,
1564
+ 354,
1565
+ 400,
1566
+ 4088,
1567
+ 2440,
1568
+ 4349,
1569
+ 318,
1570
+ 471,
1571
+ 729,
1572
+ 369,
1573
+ 9322,
1574
+ 46,
1575
+ 10,
1576
+ 10,
1577
+ 750,
1578
+ 613,
1579
+ 3890,
1580
+ 354,
1581
+ 400,
1582
+ 4088,
1583
+ 2440,
1584
+ 4349,
1585
+ 318,
1586
+ 471,
1587
+ 729,
1588
+ 369,
1589
+ 9322,
1590
+ 46,
1591
+ 501,
1592
+ 613
1593
+ ],
1594
+ "completion_tokens": 100,
1595
+ "stopped_on_eos": false,
1596
+ "completion": " the French city of Vienne.\n\nHistory\n\nThe city was first mentioned in 1188 as Viecourt or Bézier. In 1786 it was incorporated in the city of Vendôme.\n\nIn 1871 it was renamed Viecourt.\n\nIn 1883 it was renamed La Tour des Poids.\n\nIn 1959 it was renamed La Tour des Poids. In 19",
1597
+ "full_text": "The capital of France is the French city of Vienne.\n\nHistory\n\nThe city was first mentioned in 1188 as Viecourt or Bézier. In 1786 it was incorporated in the city of Vendôme.\n\nIn 1871 it was renamed Viecourt.\n\nIn 1883 it was renamed La Tour des Poids.\n\nIn 1959 it was renamed La Tour des Poids. In 19",
1598
+ "full_text_sha256": "c2a3e16019cac3e07a8c0d5426c41a359e53a105fb12349f5a1f8c2fc02b8be4"
1599
+ },
1600
+ {
1601
+ "prompt_id": "explanation",
1602
+ "prompt": "Photosynthesis is the process by which",
1603
+ "prompt_token_ids": [
1604
+ 3712,
1605
+ 316,
1606
+ 394,
1607
+ 11580,
1608
+ 8310,
1609
+ 311,
1610
+ 263,
1611
+ 1170,
1612
+ 411,
1613
+ 506
1614
+ ],
1615
+ "completion_token_ids": [
1616
+ 3335,
1617
+ 292,
1618
+ 3620,
1619
+ 2663,
1620
+ 1514,
1621
+ 433,
1622
+ 8669,
1623
+ 46,
1624
+ 1769,
1625
+ 257,
1626
+ 1796,
1627
+ 2343,
1628
+ 311,
1629
+ 1494,
1630
+ 1473,
1631
+ 6618,
1632
+ 353,
1633
+ 257,
1634
+ 1796,
1635
+ 2343,
1636
+ 342,
1637
+ 4827,
1638
+ 375,
1639
+ 7144,
1640
+ 1473,
1641
+ 97,
1642
+ 1433,
1643
+ 2343,
1644
+ 311,
1645
+ 850,
1646
+ 290,
1647
+ 1649,
1648
+ 583,
1649
+ 1514,
1650
+ 46,
1651
+ 382,
1652
+ 1170,
1653
+ 286,
1654
+ 7918,
1655
+ 11580,
1656
+ 8310,
1657
+ 287,
1658
+ 3335,
1659
+ 311,
1660
+ 1341,
1661
+ 263,
1662
+ 1433,
1663
+ 45,
1664
+ 100,
1665
+ 8783,
1666
+ 8941,
1667
+ 46,
1668
+ 10,
1669
+ 65,
1670
+ 2903,
1671
+ 443,
1672
+ 327,
1673
+ 257,
1674
+ 2343,
1675
+ 286,
1676
+ 1514,
1677
+ 46,
1678
+ 757,
1679
+ 311,
1680
+ 1016,
1681
+ 642,
1682
+ 375,
1683
+ 2307,
1684
+ 1116,
1685
+ 5029,
1686
+ 2810,
1687
+ 331,
1688
+ 7918,
1689
+ 11580,
1690
+ 8310,
1691
+ 46,
1692
+ 382,
1693
+ 1433,
1694
+ 45,
1695
+ 100,
1696
+ 8783,
1697
+ 8941,
1698
+ 375,
1699
+ 1341,
1700
+ 2262,
1701
+ 316,
1702
+ 5208,
1703
+ 293,
1704
+ 8941,
1705
+ 46,
1706
+ 10,
1707
+ 2244,
1708
+ 375,
1709
+ 734,
1710
+ 2621,
1711
+ 286,
1712
+ 7918,
1713
+ 11580,
1714
+ 8310,
1715
+ 58
1716
+ ],
1717
+ "completion_tokens": 100,
1718
+ "stopped_on_eos": false,
1719
+ "completion": " plants and animals obtain energy from sunlight. When a food source is present—such as a food source that humans are eating—a light source is used to create more energy. The process of photosynthesis in plants is called the light-dependent reactions.\nA plant can be a source of energy. This is because there are specialized structures needed for photosynthesis. The light-dependent reactions are called phototrophic reactions.\nThere are two types of photosynthesis:",
1720
+ "full_text": "Photosynthesis is the process by which plants and animals obtain energy from sunlight. When a food source is present—such as a food source that humans are eating—a light source is used to create more energy. The process of photosynthesis in plants is called the light-dependent reactions.\nA plant can be a source of energy. This is because there are specialized structures needed for photosynthesis. The light-dependent reactions are called phototrophic reactions.\nThere are two types of photosynthesis:",
1721
+ "full_text_sha256": "2487ed5406a8bd5c0251577bac47ea13897623bda4b6955aaa0ecf675b886ef9"
1722
+ },
1723
+ {
1724
+ "prompt_id": "story",
1725
+ "prompt": "In a distant future, humanity discovered",
1726
+ "prompt_token_ids": [
1727
+ 750,
1728
+ 257,
1729
+ 10103,
1730
+ 2629,
1731
+ 44,
1732
+ 12187,
1733
+ 4850
1734
+ ],
1735
+ "completion_token_ids": [
1736
+ 342,
1737
+ 263,
1738
+ 1811,
1739
+ 4909,
1740
+ 311,
1741
+ 434,
1742
+ 766,
1743
+ 257,
1744
+ 2261,
1745
+ 286,
1746
+ 1811,
1747
+ 12125,
1748
+ 44,
1749
+ 520,
1750
+ 257,
1751
+ 2261,
1752
+ 286,
1753
+ 3620,
1754
+ 58,
1755
+ 354,
1756
+ 311,
1757
+ 1811,
1758
+ 12125,
1759
+ 656,
1760
+ 375,
1761
+ 434,
1762
+ 2573,
1763
+ 290,
1764
+ 327,
1765
+ 2869,
1766
+ 46,
1767
+ 382,
1768
+ 583,
1769
+ 1811,
1770
+ 12125,
1771
+ 548,
1772
+ 451,
1773
+ 44,
1774
+ 263,
1775
+ 583,
1776
+ 548,
1777
+ 451,
1778
+ 290,
1779
+ 327,
1780
+ 5965,
1781
+ 860,
1782
+ 730,
1783
+ 2111,
1784
+ 44,
1785
+ 292,
1786
+ 263,
1787
+ 583,
1788
+ 548,
1789
+ 375,
1790
+ 5965,
1791
+ 730,
1792
+ 1811,
1793
+ 12125,
1794
+ 46,
1795
+ 10,
1796
+ 45,
1797
+ 382,
1798
+ 3786,
1799
+ 2802,
1800
+ 10509,
1801
+ 10893,
1802
+ 923,
1803
+ 263,
1804
+ 1975,
1805
+ 433,
1806
+ 1435,
1807
+ 1069,
1808
+ 836,
1809
+ 4827,
1810
+ 331,
1811
+ 263,
1812
+ 6355,
1813
+ 286,
1814
+ 788,
1815
+ 1859,
1816
+ 544,
1817
+ 3710,
1818
+ 46,
1819
+ 382,
1820
+ 1498,
1821
+ 1633,
1822
+ 10893,
1823
+ 923,
1824
+ 263,
1825
+ 1975,
1826
+ 433,
1827
+ 1435,
1828
+ 1069,
1829
+ 836,
1830
+ 4292,
1831
+ 656,
1832
+ 311,
1833
+ 434,
1834
+ 257,
1835
+ 3613
1836
+ ],
1837
+ "completion_tokens": 100,
1838
+ "stopped_on_eos": false,
1839
+ "completion": " that the human race is not only a species of human beings, but a species of animals: it is human beings who are not created to be equal. The more human beings they have, the more they have to be treated just like others, and the more they are treated like human beings.\n- The First Amendment prohibits the government from impersonating humans for the purposes of defending their rights. The current law prohibits the government from impersonating anyone who is not a member",
1840
+ "full_text": "In a distant future, humanity discovered that the human race is not only a species of human beings, but a species of animals: it is human beings who are not created to be equal. The more human beings they have, the more they have to be treated just like others, and the more they are treated like human beings.\n- The First Amendment prohibits the government from impersonating humans for the purposes of defending their rights. The current law prohibits the government from impersonating anyone who is not a member",
1841
+ "full_text_sha256": "bbe8eec9552d2e6cbacd8d6047cec539fbfb81b18ca3f69f1774beb909702502"
1842
+ },
1843
+ {
1844
+ "prompt_id": "code",
1845
+ "prompt": "def fibonacci(n):",
1846
+ "prompt_token_ids": [
1847
+ 1830,
1848
+ 7545,
1849
+ 262,
1850
+ 387,
1851
+ 1659,
1852
+ 40,
1853
+ 110,
1854
+ 1000
1855
+ ],
1856
+ "completion_token_ids": [
1857
+ 470,
1858
+ 2875,
1859
+ 470,
1860
+ 889,
1861
+ 4418,
1862
+ 303,
1863
+ 58,
1864
+ 382,
1865
+ 981,
1866
+ 286,
1867
+ 2632,
1868
+ 290,
1869
+ 354,
1870
+ 4859,
1871
+ 857,
1872
+ 263,
1873
+ 1405,
1874
+ 1304,
1875
+ 46,
1876
+ 470,
1877
+ 889,
1878
+ 5035,
1879
+ 58,
1880
+ 382,
1881
+ 981,
1882
+ 286,
1883
+ 2632,
1884
+ 290,
1885
+ 354,
1886
+ 4859,
1887
+ 857,
1888
+ 263,
1889
+ 1405,
1890
+ 1304,
1891
+ 46,
1892
+ 470,
1893
+ 2875,
1894
+ 470,
1895
+ 573,
1896
+ 303,
1897
+ 1577,
1898
+ 615,
1899
+ 58,
1900
+ 508,
1901
+ 982,
1902
+ 346,
1903
+ 470,
1904
+ 303,
1905
+ 406,
1906
+ 303,
1907
+ 784,
1908
+ 346,
1909
+ 470,
1910
+ 303,
1911
+ 95,
1912
+ 273,
1913
+ 384,
1914
+ 406,
1915
+ 615,
1916
+ 470,
1917
+ 1142,
1918
+ 303,
1919
+ 95,
1920
+ 273,
1921
+ 384,
1922
+ 669,
1923
+ 303,
1924
+ 58,
1925
+ 508,
1926
+ 303,
1927
+ 95,
1928
+ 273,
1929
+ 384,
1930
+ 5642,
1931
+ 346,
1932
+ 508,
1933
+ 573,
1934
+ 303,
1935
+ 95,
1936
+ 273,
1937
+ 384,
1938
+ 1577,
1939
+ 303,
1940
+ 58,
1941
+ 718,
1942
+ 982,
1943
+ 346,
1944
+ 508,
1945
+ 1873,
1946
+ 58,
1947
+ 718,
1948
+ 303,
1949
+ 406,
1950
+ 303,
1951
+ 784,
1952
+ 346,
1953
+ 508,
1954
+ 573,
1955
+ 303,
1956
+ 95
1957
+ ],
1958
+ "completion_tokens": 100,
1959
+ "stopped_on_eos": false,
1960
+ "completion": "\n \"\"\"\n :param n: The number of ways to iterate through the given list.\n :return: The number of ways to iterate through the given list.\n \"\"\"\n if n == 0:\n return 1\n n = n + 1\n n_iters = 0\n while n_iters < n:\n n_iters += 1\n if n_iters == n:\n return 1\n else:\n n = n + 1\n if n_",
1961
+ "full_text": "def fibonacci(n):\n \"\"\"\n :param n: The number of ways to iterate through the given list.\n :return: The number of ways to iterate through the given list.\n \"\"\"\n if n == 0:\n return 1\n n = n + 1\n n_iters = 0\n while n_iters < n:\n n_iters += 1\n if n_iters == n:\n return 1\n else:\n n = n + 1\n if n_",
1962
+ "full_text_sha256": "0b82389bac561dae528eb389dbde414eb2bb7c6bff7a0868d2acd276edb2ad88"
1963
+ }
1964
+ ]
1965
+ }
1966
+ ]
1967
+ }
release_manifest.json CHANGED
@@ -1,9 +1,13 @@
1
  {
2
- "schema_version": 2,
3
  "revision": 4,
4
  "revision_id": "r004",
5
  "release": "Pollock 1.2",
6
  "model_id": "SlayerLab/pollock-mini-lm-125m",
 
 
 
 
7
  "source_checkpoint": {
8
  "path_in_training_workspace": "runs/pollock-r004-shape/checkpoints/ckpt-final.pt",
9
  "sha256": "4e38589ca422597ff808bc93cc17ddcc441f734a4e0f671ee6d4527c545972e0",
@@ -61,6 +65,21 @@
61
  "truncated_benchmark_requests": 80,
62
  "results_file": "benchmarks/english.json"
63
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  "conversion": {
65
  "target_class": "GPT2LMHeadModel",
66
  "transformers_version": "5.15.1",
@@ -70,10 +89,18 @@
70
  "max_absolute_logit_error": 0.0
71
  },
72
  "artifacts": {
73
- "README.md": {"sha256": "64513cc6cf3cdc52544a02010293c97b58683c815ef952815954b44fa2b15a0f"},
74
- "CHANGELOG.md": {"sha256": "5203517a875ca3f04747305a80f732aca54a05ca132a4a4b4fb1453d9d2557ea"},
75
- "training-history/r004.md": {"sha256": "d9893a5a9f998cfc93e986d63eb36c9a39f519e1cb74f7a6bf6ac4d3cf6f6f12"},
 
 
 
76
  "benchmarks/english.json": {"sha256": "ffe1e417bef440b1e6a84e05beccb96aa191f6f22141b388cc7ed08297318a7d"},
 
 
 
 
 
77
  "config.json": {"sha256": "296c495f22edddb9828ff9c9ca486cddbacff510742f4aff6a04552d2da3b8d4"},
78
  "generation_config.json": {"sha256": "435beb27be51f0ed054f4a011e5109d125cdadc118b8799b18b155cc798d94d2"},
79
  "model.safetensors": {"sha256": "3c453f22d4bb70228e5cca79e183a425e0f0221e54bd782d12027c42c943c880"},
 
1
  {
2
+ "schema_version": 3,
3
  "revision": 4,
4
  "revision_id": "r004",
5
  "release": "Pollock 1.2",
6
  "model_id": "SlayerLab/pollock-mini-lm-125m",
7
+ "publication": {
8
+ "weights_commit": "30feb81e5097eef13b939e1827d98e0458bf602d",
9
+ "version_tag": "v1.2"
10
+ },
11
  "source_checkpoint": {
12
  "path_in_training_workspace": "runs/pollock-r004-shape/checkpoints/ckpt-final.pt",
13
  "sha256": "4e38589ca422597ff808bc93cc17ddcc441f734a4e0f671ee6d4527c545972e0",
 
65
  "truncated_benchmark_requests": 80,
66
  "results_file": "benchmarks/english.json"
67
  },
68
+ "fixed_inference": {
69
+ "suite_id": "fixed-sampling-v1",
70
+ "comparison_file": "inference-samples/README.md",
71
+ "config_file": "inference-samples/config.json",
72
+ "generator_file": "inference-samples/generate.py",
73
+ "results_file": "inference-samples/results.json",
74
+ "operating_system": "macOS 26.2",
75
+ "architecture": "arm64",
76
+ "device": "cpu",
77
+ "dtype": "float32",
78
+ "seed": 1337,
79
+ "prompt_count": 4,
80
+ "revision_count": 4,
81
+ "exact_replay_verified": true
82
+ },
83
  "conversion": {
84
  "target_class": "GPT2LMHeadModel",
85
  "transformers_version": "5.15.1",
 
89
  "max_absolute_logit_error": 0.0
90
  },
91
  "artifacts": {
92
+ "README.md": {"sha256": "ca447af2254e4d9f7751846c9a13847b3fc71272698defed28c1d2e86361b073"},
93
+ "CHANGELOG.md": {"sha256": "07a0464037aea349ad57fd757b2d8afd9e47e8ed619e93c3a9fbe448d7c20a13"},
94
+ "training-history/r001.md": {"sha256": "d92d4a69a6cdfd0c913fcb7178419e54c95b17cbb8ef54c05069ae445cd366e5"},
95
+ "training-history/r002.md": {"sha256": "020d93dfbed0c3cd0d87bbba86db36076221f5449c03002d9842bd7ea0764284"},
96
+ "training-history/r003.md": {"sha256": "1a7ef327b3b228fd16083aeb7f7b051e23293eba796549e13de27f85bd61febd"},
97
+ "training-history/r004.md": {"sha256": "6b43afa0ba8b287fedd5bfd90599c9d0befda20a0ddfadac2ec77271431c5528"},
98
  "benchmarks/english.json": {"sha256": "ffe1e417bef440b1e6a84e05beccb96aa191f6f22141b388cc7ed08297318a7d"},
99
+ "inference-samples/README.md": {"sha256": "8000957912fae5540edfcc6ecc3ab59ac2bb8c35c696652b6ff83cfc237b139c"},
100
+ "inference-samples/config.json": {"sha256": "297ae12cd08188b1ff32df43d48f268d949aee8750290fb7d989df8ebc439ab9"},
101
+ "inference-samples/generate.py": {"sha256": "bda833ecad6b0343e57a212fe801590ed757d50e3a16a909e5acd40d7da7e3cf"},
102
+ "inference-samples/requirements.txt": {"sha256": "584583335ffb3061aa62058aee725b0de25fed7523904fbd13fb4622f601943d"},
103
+ "inference-samples/results.json": {"sha256": "5c626137a7493c1f9dfce76fe1ee2f52e4f02b2ce0c08e8c6f8779962ce15f76"},
104
  "config.json": {"sha256": "296c495f22edddb9828ff9c9ca486cddbacff510742f4aff6a04552d2da3b8d4"},
105
  "generation_config.json": {"sha256": "435beb27be51f0ed054f4a011e5109d125cdadc118b8799b18b155cc798d94d2"},
106
  "model.safetensors": {"sha256": "3c453f22d4bb70228e5cca79e183a425e0f0221e54bd782d12027c42c943c880"},
training-history/r001.md CHANGED
@@ -2,7 +2,12 @@
2
 
3
  ## Identity
4
 
5
- `r001` is the first published experimental predecessor of Pollock 1.0. All values and samples in this file describe the r001 weights, not the current r002 weights.
 
 
 
 
 
6
 
7
  ## Architecture and tokenizer
8
 
@@ -47,7 +52,7 @@ Evaluation used BF16. No downstream benchmark suite was run for r001. Its valida
47
 
48
  ## Historical generation samples
49
 
50
- These four samples were produced by the **r001 predecessor weights** without cherry-picking. Seed 1337 was reset for each prompt; temperature was 0.7, top-k was 50, and generation was limited to 100 new tokens. Each prompt is included in its output.
51
 
52
  ### General knowledge
53
 
@@ -94,6 +99,10 @@ Prompt: `def fibonacci(n):`
94
  def fibonacci(n):)) = (n - 1) + (n - 1) + ( n - 1) + ( n - 2) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n
95
  ```
96
 
 
 
 
 
97
  ## Limitations
98
 
99
  r001 is an unaligned English base model with limited knowledge, reasoning, long-form coherence, and code quality. It may hallucinate or produce unsafe, biased, toxic, or training-like content. It is not intended for high-risk or production use. Dataset sources have different upstream terms; see the dataset card and [`../LICENSE.md`](../LICENSE.md).
 
2
 
3
  ## Identity
4
 
5
+ `r001` is the first published experimental predecessor of Pollock 1.0. All values and samples in this file describe the r001 weights, not the current r004 weights.
6
+
7
+ | Field | Value |
8
+ |---|---|
9
+ | Published weights | [`5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5b8f82515c4e31d9a4a8a222eabdaab3ad5171b0) |
10
+ | `model.safetensors` SHA-256 | `acaa1531322cce78ddb919700f173d4c6ea371185bea5052a3ae4c30f57b368e` |
11
 
12
  ## Architecture and tokenizer
13
 
 
52
 
53
  ## Historical generation samples
54
 
55
+ These four samples were produced by the **r001 predecessor weights** without cherry-picking. Seed 1337 was reset for each prompt; temperature was 0.7, top-k was 50, and generation was limited to 100 new tokens. Each prompt is included in its output. The complete runtime was not pinned, so these samples are preserved as historical evidence rather than used for direct cross-revision comparison.
56
 
57
  ### General knowledge
58
 
 
99
  def fibonacci(n):)) = (n - 1) + (n - 1) + ( n - 1) + ( n - 2) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n
100
  ```
101
 
102
+ ## Fixed cross-revision inference reference
103
+
104
+ The later [`fixed-sampling-v1`](../inference-samples/README.md) suite reruns the same four prompts on r001-r004 using immutable model commits, verified weight hashes, CPU float32, a pinned software environment, and exact output token IDs. Use that suite, rather than the historical samples above, for direct revision-to-revision comparison.
105
+
106
  ## Limitations
107
 
108
  r001 is an unaligned English base model with limited knowledge, reasoning, long-form coherence, and code quality. It may hallucinate or produce unsafe, biased, toxic, or training-like content. It is not intended for high-risk or production use. Dataset sources have different upstream terms; see the dataset card and [`../LICENSE.md`](../LICENSE.md).
training-history/r002.md CHANGED
@@ -6,8 +6,10 @@
6
  |---|---|
7
  | Revision / release | `r002` / Pollock 1.0 |
8
  | Model ID | `SlayerLab/pollock-mini-lm-125m` |
 
9
  | Source checkpoint | `runs/minimal-en-125m-4ep/ckpt.pt` |
10
  | Checkpoint iteration / SHA-256 | 22,004 / `026f54a390036b35792aa8fb131c8b0d394efb6d933753fb0e1257e55a67374b` |
 
11
  | nanoGPT commit | `3adf61e` |
12
  | W&B run | [`hlbpqpoe`](https://wandb.ai/dawidmajewski-ezotic/minimal-en/runs/hlbpqpoe) |
13
 
@@ -101,6 +103,10 @@ All tasks used complete splits with `lm-evaluation-harness` 0.4.12, zero few-sho
101
 
102
  Raw logs: [`../logs/training.log`](../logs/training.log) and [`../logs/benchmark-english.log`](../logs/benchmark-english.log). Structured results: [`../benchmarks/english.json`](../benchmarks/english.json). Release metadata: [`../release_manifest.json`](../release_manifest.json).
103
 
 
 
 
 
104
  ## Licensing and limitations
105
 
106
  This is an English, unaligned base model, not an instruction-following assistant. It may hallucinate, generate harmful or biased content, and reproduce training patterns. It is unsuitable for high-risk or production decisions without independent safeguards. The dataset combines sources with different terms; see [`../LICENSE.md`](../LICENSE.md) and the dataset card.
 
6
  |---|---|
7
  | Revision / release | `r002` / Pollock 1.0 |
8
  | Model ID | `SlayerLab/pollock-mini-lm-125m` |
9
+ | Published weights | [`5e571cde09ef2d1124e13d1c31d0b75f8bd0e513`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/5e571cde09ef2d1124e13d1c31d0b75f8bd0e513) |
10
  | Source checkpoint | `runs/minimal-en-125m-4ep/ckpt.pt` |
11
  | Checkpoint iteration / SHA-256 | 22,004 / `026f54a390036b35792aa8fb131c8b0d394efb6d933753fb0e1257e55a67374b` |
12
+ | `model.safetensors` SHA-256 | `2aada5b26abe9ce3b70af393d77be4ed1a799a7205b9c0dd5cfaff8bcaabce68` |
13
  | nanoGPT commit | `3adf61e` |
14
  | W&B run | [`hlbpqpoe`](https://wandb.ai/dawidmajewski-ezotic/minimal-en/runs/hlbpqpoe) |
15
 
 
103
 
104
  Raw logs: [`../logs/training.log`](../logs/training.log) and [`../logs/benchmark-english.log`](../logs/benchmark-english.log). Structured results: [`../benchmarks/english.json`](../benchmarks/english.json). Release metadata: [`../release_manifest.json`](../release_manifest.json).
105
 
106
+ ## Fixed inference reference
107
+
108
+ The shared [`fixed-sampling-v1`](../inference-samples/README.md) suite loads r002 from its immutable published commit, verifies the weight hash above, and records the exact output token IDs for the same four prompts used across r001-r004.
109
+
110
  ## Licensing and limitations
111
 
112
  This is an English, unaligned base model, not an instruction-following assistant. It may hallucinate, generate harmful or biased content, and reproduce training patterns. It is unsuitable for high-risk or production decisions without independent safeguards. The dataset combines sources with different terms; see [`../LICENSE.md`](../LICENSE.md) and the dataset card.
training-history/r003.md CHANGED
@@ -6,9 +6,11 @@
6
  |---|---|
7
  | Revision / release | `r003` / Pollock 1.1 |
8
  | Model ID | `SlayerLab/pollock-mini-lm-125m` |
 
9
  | Source run | `runs/r003-lr4e-4-v4` |
10
  | Source checkpoint | `checkpoints/ckpt.pt` |
11
  | Checkpoint iteration / SHA-256 | 22,004 / `912483b44bb177c7a62fe19a53fc6db7b333cf881c57de15daf9dd7209d90a6b` |
 
12
  | Benchmark adapter SHA-256 | `0f53aa6b8454e856f8c4c489c7e6cbf207b8e124fe06bbb239315c017fe16fc0` |
13
  | nanoGPT commit | `3adf61e154c3fe3fca428ad6bc3818b27a3b8291` (dirty workspace recorded) |
14
  | W&B run | [`uro1w8l1`](https://wandb.ai/dawidmajewski-ezotic/minimal-en/runs/uro1w8l1) |
@@ -120,13 +122,17 @@ All seven primary scores improved over r002. LAMBADA perplexity decreased by 5.9
120
 
121
  Structured English results: [`../benchmarks/english.json`](../benchmarks/english.json).
122
 
 
 
 
 
123
  ## Release preparation status
124
 
125
  - Native training checkpoint verified against the backup archive.
126
  - Benchmark adapter hash verified against the benchmark result record.
127
  - Dataset, tokenizer, source snapshots, and fixed evaluation offsets are present.
128
  - Transformers 5.15.1 conversion is complete; the `[2, 64]` deterministic parity probe produced a maximum absolute logit error of 0.0, and artifact hashes are recorded in `release_manifest.json`.
129
- - No files have been uploaded to Hugging Face for this revision.
130
 
131
  ## Licensing and limitations
132
 
 
6
  |---|---|
7
  | Revision / release | `r003` / Pollock 1.1 |
8
  | Model ID | `SlayerLab/pollock-mini-lm-125m` |
9
+ | Published weights | [`698984b1d1b96c9b6ffaff00c7fc2e78e140e842`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/698984b1d1b96c9b6ffaff00c7fc2e78e140e842) |
10
  | Source run | `runs/r003-lr4e-4-v4` |
11
  | Source checkpoint | `checkpoints/ckpt.pt` |
12
  | Checkpoint iteration / SHA-256 | 22,004 / `912483b44bb177c7a62fe19a53fc6db7b333cf881c57de15daf9dd7209d90a6b` |
13
+ | `model.safetensors` SHA-256 | `3a9964a0ba5f6d20ef6061d2a7e4442c1b001209ebe80f7b7148a25573decaa9` |
14
  | Benchmark adapter SHA-256 | `0f53aa6b8454e856f8c4c489c7e6cbf207b8e124fe06bbb239315c017fe16fc0` |
15
  | nanoGPT commit | `3adf61e154c3fe3fca428ad6bc3818b27a3b8291` (dirty workspace recorded) |
16
  | W&B run | [`uro1w8l1`](https://wandb.ai/dawidmajewski-ezotic/minimal-en/runs/uro1w8l1) |
 
122
 
123
  Structured English results: [`../benchmarks/english.json`](../benchmarks/english.json).
124
 
125
+ ## Fixed inference reference
126
+
127
+ The shared [`fixed-sampling-v1`](../inference-samples/README.md) suite loads r003 from its immutable published commit, verifies the weight hash above, and records the exact output token IDs for the same four prompts used across r001-r004.
128
+
129
  ## Release preparation status
130
 
131
  - Native training checkpoint verified against the backup archive.
132
  - Benchmark adapter hash verified against the benchmark result record.
133
  - Dataset, tokenizer, source snapshots, and fixed evaluation offsets are present.
134
  - Transformers 5.15.1 conversion is complete; the `[2, 64]` deterministic parity probe produced a maximum absolute logit error of 0.0, and artifact hashes are recorded in `release_manifest.json`.
135
+ - Published and remotely verified at [`698984b1d1b96c9b6ffaff00c7fc2e78e140e842`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/698984b1d1b96c9b6ffaff00c7fc2e78e140e842).
136
 
137
  ## Licensing and limitations
138
 
training-history/r004.md CHANGED
@@ -6,9 +6,11 @@
6
  |---|---|
7
  | Revision / release | `r004` / Pollock 1.2 |
8
  | Model ID | `SlayerLab/pollock-mini-lm-125m` |
 
9
  | Source run | `runs/pollock-r004-shape` |
10
  | Final checkpoint | `checkpoints/ckpt-final.pt` |
11
  | Final checkpoint update / SHA-256 | 22,004 / `4e38589ca422597ff808bc93cc17ddcc441f734a4e0f671ee6d4527c545972e0` |
 
12
  | Best-validation checkpoint | update 22,000 / `181673699af41ebd9e0c2b6517a0a3a0b8eb7111d35fc2884152ca5c4d20815c` |
13
  | nanoGPT commit | `3adf61e154c3fe3fca428ad6bc3818b27a3b8291` (dirty workspace recorded) |
14
  | W&B run | [`7aa623ae`](https://wandb.ai/dawidmajewski-ezotic/minimal-en/runs/7aa623ae) |
@@ -129,13 +131,17 @@ The deeper shape improves two primary metrics and reduces five. It does not supp
129
 
130
  Structured English results: [`../benchmarks/english.json`](../benchmarks/english.json).
131
 
 
 
 
 
132
  ## Release preparation status
133
 
134
  - The Zstandard backup passed integrity testing and was extracted successfully.
135
  - All 11 run-manifest file hashes and all three checkpoint hashes were verified after extraction.
136
  - Final training status, target budget, summary metrics, and English benchmark results are present.
137
  - Transformers 5.15.1 conversion is complete; the `[2, 64]` deterministic parity probe produced a maximum absolute logit error of 0.0, and artifact hashes are recorded in `release_manifest.json`.
138
- - No files have been uploaded to Hugging Face for this revision.
139
 
140
  ## Licensing and limitations
141
 
 
6
  |---|---|
7
  | Revision / release | `r004` / Pollock 1.2 |
8
  | Model ID | `SlayerLab/pollock-mini-lm-125m` |
9
+ | Published weights | [`30feb81e5097eef13b939e1827d98e0458bf602d`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/30feb81e5097eef13b939e1827d98e0458bf602d) |
10
  | Source run | `runs/pollock-r004-shape` |
11
  | Final checkpoint | `checkpoints/ckpt-final.pt` |
12
  | Final checkpoint update / SHA-256 | 22,004 / `4e38589ca422597ff808bc93cc17ddcc441f734a4e0f671ee6d4527c545972e0` |
13
+ | `model.safetensors` SHA-256 | `3c453f22d4bb70228e5cca79e183a425e0f0221e54bd782d12027c42c943c880` |
14
  | Best-validation checkpoint | update 22,000 / `181673699af41ebd9e0c2b6517a0a3a0b8eb7111d35fc2884152ca5c4d20815c` |
15
  | nanoGPT commit | `3adf61e154c3fe3fca428ad6bc3818b27a3b8291` (dirty workspace recorded) |
16
  | W&B run | [`7aa623ae`](https://wandb.ai/dawidmajewski-ezotic/minimal-en/runs/7aa623ae) |
 
131
 
132
  Structured English results: [`../benchmarks/english.json`](../benchmarks/english.json).
133
 
134
+ ## Fixed inference reference
135
+
136
+ The shared [`fixed-sampling-v1`](../inference-samples/README.md) suite loads r004 from its immutable published commit, verifies the weight hash above, and records the exact output token IDs for the same four prompts used across r001-r004.
137
+
138
  ## Release preparation status
139
 
140
  - The Zstandard backup passed integrity testing and was extracted successfully.
141
  - All 11 run-manifest file hashes and all three checkpoint hashes were verified after extraction.
142
  - Final training status, target budget, summary metrics, and English benchmark results are present.
143
  - Transformers 5.15.1 conversion is complete; the `[2, 64]` deterministic parity probe produced a maximum absolute logit error of 0.0, and artifact hashes are recorded in `release_manifest.json`.
144
+ - Published and remotely verified at [`30feb81e5097eef13b939e1827d98e0458bf602d`](https://huggingface.co/SlayerLab/pollock-mini-lm-125m/commit/30feb81e5097eef13b939e1827d98e0458bf602d).
145
 
146
  ## Licensing and limitations
147