File size: 7,033 Bytes
986b7a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
{
  "schema": 1,
  "kind": "phi-cpu-reference",
  "oracle": "transformers AutoModelForCausalLM, float32, CPU",
  "source": {
    "repository": "microsoft/phi-2",
    "revision": "9a5117d15e407c48fa40f8adbac1244abae52d6f",
    "license": "mit"
  },
  "versions": {
    "torch": "2.11.0",
    "transformers": "4.57.3"
  },
  "scriptSHA256": {
    "dense_decode.py": "d1b138607e9c23944addbed3abe956df12ec04e179b91473b1e96f999e2da6ad",
    "dense_families.py": "88456b74da9511fa12c116e7da239ff7ffe615dc954f7d05763c216cf474c06b",
    "export_dense.py": "a34b83aaf61f77a0ce912ec5db2faa42cdd8cdabb350b0e5c966e7a54ce77fd7",
    "export_gpt2.py": "cca87df8eb4050ecf8777ea2dc21a4e9441c0186663122677c5e293a0c924b49",
    "export_granite_hybrid.py": "40e62b7f3f49ceaadfd6e0f0a59dfe0f437a5a016d02050c67eaefedb934fd04",
    "export_olmo2.py": "6a85fc26702429c4d1cd1ac914e0ec847727984d4b9a1f800cb1fdbc3021c408",
    "export_phi.py": "4848263a9cb9531eb534e3e476ef6f9cb0204a8514aa52f7276269fa11fce8cd",
    "export_qwen3.py": "a314c09e89e6756dce1771693d47f2113911c6f2423cb5b76d566e8fb6446826",
    "export_qwen3_vl_text.py": "6d06a39b2ed0b5eae5e24eb89db1d3ca28960da52805af76b7cf27d3dd2ebbf7",
    "export_qwen3_vl_vision.py": "60149b5dfa0d2a971e0af834fc13a15957c957c72e95eaf172c6f31218e5828e",
    "gpt2_decode.py": "360dade178dfac5bdef03efbdc800cfc9fc7fab1e249684cb5c8fffb1cb77f34",
    "granite_hybrid.py": "afb235e8926d04e410f746ef7bd4ee0a97d5c135e5f472abf342912ded9c7330",
    "olmo2_decode.py": "4f3ad03d399f8c095f7570a3b3c54f78d5f701fb9faa5200cadca5083ef752a1",
    "phi_decode.py": "ded2ad1a3cfe47bf491cf8541c1ac2c9bde605b49871b86262a8fc80d53bde1b",
    "probe_function_weights.py": "f06ec7b4ffd753d43c0111f6eeb91a0074de621632de00eac8683aae5beefc91",
    "qwen3_decode.py": "43aee7983389fad450f6541e1c5ad9a37a086c4cab4015ef0888da36c07be527",
    "qwen3_vl_divergence_margin.py": "4831dcab1b83c454efb730c2cb070ae8bcbcac8d3578a1995550b38b49b93da8",
    "qwen3_vl_text.py": "69179d9e4397f81e81358c453a2e7d036ba1873f7b4042cf8d484909d9399986",
    "qwen3_vl_vision.py": "dc5c594ff913009990a1dc014ae90f5bdb736c87176275c8eb6b524150908079",
    "record_evidence.py": "bb1b30030da2ea0e1e4c8115c9b3edf96c9dadc4d74e6941227a2bd7d230299b",
    "record_vision_evidence.py": "5b18c6c34a6e3de4834aed45a1d46a97f4d92695b28116e909e2b1f8f0ce3aa2",
    "record_vl_evidence.py": "bc82ba4f5be871ba217d449a4e441368214c3b3250be295f7b910ccab2f5e34e",
    "reference_chat_tokens.py": "c9d4f556d2c8afa887b88a147650e717d192edb3eca5046ea181020bdb49c394",
    "reference_dense.py": "1d80b262f91cdb5c97317a4a52ce068843f24476c0072b6a2c8bebb1e3751e99",
    "reference_gpt2.py": "80e85fcf20bedd31945ce234884587f3dd90ca9c1320d83f8390885e3ca5c36e",
    "reference_granite_hybrid.py": "7771ba220d0db36251012cdadefbe71f1841f93a19eb17ec620863c4f2244561",
    "reference_olmo2.py": "cf105c1be1ccda1f715af9fe774be9b199f6ffdfe99f4e8ad2aba1e8990bee0b",
    "reference_olmo2_tokens.py": "3e9a5b4b8ebeefec822defc2f45c1c93e886b3a6d8e0c9b97df666066ee994ef",
    "reference_phi.py": "5767a8bbf8f2124b029b4cb1a892c8fbfb4bfb22e5771bd6f6d89233e950c0b4",
    "reference_qwen3.py": "b7cee7de6ec99139bc036b1bf5e1739624c49c10777ac98a95a3d6a59091cf06",
    "reference_qwen3_vl.py": "ce4c219d071e5c9b12c7c3b54fe9936cdab0835358669854a01569b0c81c39d3",
    "reference_qwen3_vl_text.py": "cb3a68b1143d7c383cf6e5da4ef563e7063af8f8908aa323e5d27e0288e766e9",
    "reference_qwen3_vl_vision.py": "ee4d08ea94a6da2f96970a3b18a2cb3635bceb68af05e99d56449147c2783f98",
    "reference_sampling.py": "af349bcb14a275536920e158f9ee5d0d946b8e2d6d167e1f57028bb71e25d751",
    "register_dense_bundle.py": "5a5ae88499d67b37ff60577c1a00752545df2896341b0521f3191142e4f9e4ec",
    "register_qwen3_bundle.py": "adc9096b79adbcde3a539471587e000f87c86148e3ad82e2ec8605933f4242f3",
    "register_qwen3_vl_bundle.py": "f6a3f21dd1ccaf37b0b7247a3cf048eda24fab40c791da3eed4e240d4d492c95",
    "stage_device_assets.py": "eee5b22bb1199f94a276ae257cdb14543f737fcd591cde327b99ed23c8210c46",
    "test_dense_decode.py": "ffa39f194d87c30aee88c1c36ba5911382cc0a7cd85f1f0c2bb6159878c3dc9b",
    "test_dense_export.py": "c73a32a14a103d958f1ea1e6d78aad23706f93edf422fa7f82e24b33a4fe5e6b",
    "test_gpt2_decode.py": "333f6b9fcef19a9047037e50099e6657447308888da22471846144963c8fd583",
    "test_phi_decode.py": "9da623ea7050df64217a6e0b061a5b4b1f8f749caa696480f5b3f2d8fbb48efd",
    "write_alpha_fixtures.py": "353df55bc464bda4cdd5e01f6af28b1ae7507380d0bf986a98c4e27c28f41f23"
  },
  "checkpointSHA256": {
    "model-00001-of-00002.safetensors": "7fbcdefa72edf7527bf5da40535b57d9f5bd3d16829b94a9d25d2b457df62e84",
    "model-00002-of-00002.safetensors": "17b98759e4b7953cbcf63ec49be7edbc9b863b57c207d84a52f5d2f5bcfcf6b4"
  },
  "prompt": "def fibonacci(n):",
  "promptStyle": "completion",
  "promptTokens": [
    4299,
    12900,
    261,
    44456,
    7,
    77,
    2599
  ],
  "greedyTokens": [
    198,
    50284,
    361,
    299,
    19841,
    352,
    25,
    198,
    50280,
    7783,
    299,
    198,
    50284,
    17772,
    25,
    198,
    50280,
    7783,
    12900,
    261,
    44456,
    7,
    77,
    12,
    16,
    8,
    1343,
    12900,
    261,
    44456,
    7,
    77,
    12,
    17,
    8,
    198,
    198,
    4798,
    7,
    69,
    571,
    261,
    44456,
    7,
    940,
    4008,
    198,
    15506,
    63,
    198,
    198,
    2235,
    7275,
    362,
    25,
    3311,
    24197,
    290,
    4942,
    78,
    1634,
    198,
    198,
    6690
  ],
  "greedyText": "\n    if n <= 1:\n        return n\n    else:\n        return fibonacci(n-1) + fibonacci(n-2)\n\nprint(fibonacci(10))\n```\n\n## Section 2: Recursion and Memoization\n\nRec",
  "forcedTokens": [
    198,
    50284,
    361,
    299,
    19841,
    352,
    25,
    198,
    50280,
    7783,
    299,
    198,
    50284,
    17772,
    25,
    198,
    50280,
    7783,
    12900,
    261,
    44456,
    7,
    77,
    12,
    16,
    8,
    1343,
    12900,
    261,
    44456,
    7,
    77,
    12,
    17,
    8,
    198,
    198,
    4798,
    7,
    69,
    571,
    261,
    44456,
    7,
    940,
    4008,
    198,
    15506,
    63,
    198,
    198,
    2235,
    7275,
    362,
    25,
    3311,
    24197,
    290,
    4942,
    78,
    1634,
    198,
    198,
    6690
  ],
  "forcedLogits": {
    "file": "forced-logits.f32",
    "dtype": "float32-le",
    "rows": 64,
    "vocab": 51200,
    "sha256": "5c0141ebbdf648cae459c0e48d697633dce0cc9f5bd484478da791429beeb79c",
    "rowMeaning": "row r = logits after prompt + forcedTokens[:r]"
  },
  "eagerPortVsReference": {
    "running": {
      "minCosine": 0.99999994,
      "maxAbs": 0.003997,
      "argmaxEqualRows": 64,
      "rows": 64,
      "withinFloat32Tolerance": true
    },
    "bucketed": {
      "minCosine": 0.99999996,
      "maxAbs": 0.003875,
      "argmaxEqualRows": 64,
      "rows": 64,
      "withinFloat32Tolerance": true
    }
  },
  "eagerTolerance": {
    "atol": 0.005,
    "rtol": 0.0,
    "argmax": "all rows equal"
  },
  "passed": true
}