Xunzhuo commited on
Commit
5e639f1
·
verified ·
1 Parent(s): 9e11614

Release Vela 1.0 Embedding

Browse files

Multilingual retrieval with flexible representations and long-context support.

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +12 -0
  2. 1_Pooling/config.json +10 -0
  3. ENGLISH_RETRIEVAL_NOTICES.md +27 -0
  4. LICENSE +201 -0
  5. PUBLICATION_MANIFEST.json +2266 -0
  6. README.md +80 -0
  7. RELEASE_STATUS.json +70 -0
  8. TECHNICAL.md +161 -0
  9. THIRD_PARTY_NOTICES.md +15 -0
  10. artifact_sha256.json +13 -0
  11. composition-plan.json +67 -0
  12. config.json +54 -0
  13. config_sentence_transformers.json +14 -0
  14. model.safetensors +3 -0
  15. modules.json +14 -0
  16. onnx/layer-11/model.onnx +3 -0
  17. onnx/layer-11/model.onnx.data +3 -0
  18. onnx/layer-11/model_fa_fp16.onnx +3 -0
  19. onnx/layer-22/model.onnx +3 -0
  20. onnx/layer-22/model.onnx.data +3 -0
  21. onnx/layer-22/model_fa_fp16.onnx +3 -0
  22. onnx/layer-3/model.onnx +3 -0
  23. onnx/layer-3/model.onnx.data +3 -0
  24. onnx/layer-3/model_fa_fp16.onnx +3 -0
  25. onnx/layer-6/model.onnx +3 -0
  26. onnx/layer-6/model.onnx.data +3 -0
  27. onnx/layer-6/model_fa_fp16.onnx +3 -0
  28. onnx/model_config.json +26 -0
  29. reproduction/README.md +175 -0
  30. reproduction/audit_miracl_groups.py +92 -0
  31. reproduction/audit_native_rows_completion.py +114 -0
  32. reproduction/audit_reranker_final_tokenizers_v2.py +49 -0
  33. reproduction/build_embedding_interpolation.py +268 -0
  34. reproduction/build_embedding_interpolation_v2.py +281 -0
  35. reproduction/build_embedding_native_composition.py +217 -0
  36. reproduction/candle/README.md +32 -0
  37. reproduction/candle/aggregate.json +249 -0
  38. reproduction/candle/publication-adaptations.json +22 -0
  39. reproduction/candle/qualification-v1/hf-fp32-vectors.npz +3 -0
  40. reproduction/candle/qualification-v1/inputs.jsonl +0 -0
  41. reproduction/candle/qualification-v1/native-vectors.npz +3 -0
  42. reproduction/candle/qualification-v1/report.json +1297 -0
  43. reproduction/candle/short-reference-v1/report.json +656 -0
  44. reproduction/candle/short_reference.py +31 -0
  45. reproduction/candle/summarize_candle.py +107 -0
  46. reproduction/candle/validate_candle.py +103 -0
  47. reproduction/clean_pawsx_scores.py +94 -0
  48. reproduction/debug_embedding_native_training_step.py +215 -0
  49. reproduction/diagnose_embedding_training_precision.py +135 -0
  50. reproduction/diagnose_natural_teacher.py +56 -0
.gitattributes CHANGED
@@ -33,3 +33,15 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ onnx/layer-11/model.onnx.data filter=lfs diff=lfs merge=lfs -text
37
+ onnx/layer-22/model.onnx.data filter=lfs diff=lfs merge=lfs -text
38
+ onnx/layer-3/model.onnx.data filter=lfs diff=lfs merge=lfs -text
39
+ onnx/layer-6/model.onnx.data filter=lfs diff=lfs merge=lfs -text
40
+ reproduction/intermediates/clean1/tokenizer.json filter=lfs diff=lfs merge=lfs -text
41
+ reproduction/intermediates/native1440/tokenizer.json filter=lfs diff=lfs merge=lfs -text
42
+ reproduction/intermediates/native960/tokenizer.json filter=lfs diff=lfs merge=lfs -text
43
+ reproduction/portable-fp16/layer-11/model_sdpa_fp16.onnx.data filter=lfs diff=lfs merge=lfs -text
44
+ reproduction/portable-fp16/layer-22/model_sdpa_fp16.onnx.data filter=lfs diff=lfs merge=lfs -text
45
+ reproduction/portable-fp16/layer-3/model_sdpa_fp16.onnx.data filter=lfs diff=lfs merge=lfs -text
46
+ reproduction/portable-fp16/layer-6/model_sdpa_fp16.onnx.data filter=lfs diff=lfs merge=lfs -text
47
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
1_Pooling/config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "word_embedding_dimension": 768,
3
+ "pooling_mode_cls_token": false,
4
+ "pooling_mode_mean_tokens": true,
5
+ "pooling_mode_max_tokens": false,
6
+ "pooling_mode_mean_sqrt_len_tokens": false,
7
+ "pooling_mode_weightedmean_tokens": false,
8
+ "pooling_mode_lasttoken": false,
9
+ "include_prompt": true
10
+ }
ENGLISH_RETRIEVAL_NOTICES.md ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # English retrieval data attribution
2
+
3
+ These notices concern datasets used for training and evaluation. They do not replace the license of each source or change the license of the released model or accompanying software. The reproduction download manifest fixes source revisions and file SHA-256 values; model packages do not include the full source datasets.
4
+
5
+ ## SciFact
6
+
7
+ David Wadden, Shanchuan Lin, Kyle Lo, Lucy Lu Wang, Madeleine van Zuylen, Arman Cohan, and Hannaneh Hajishirzi. *Fact or Fiction: Verifying Scientific Claims*. EMNLP 2020. [Official repository](https://github.com/allenai/scifact).
8
+
9
+ The [official license at revision 68b98a56d93e0f9da0d2aab4e6c3294699a0f72e](https://github.com/allenai/scifact/blob/68b98a56d93e0f9da0d2aab4e6c3294699a0f72e/LICENSE.md) distinguishes three components:
10
+
11
+ - Claims and evidence annotations (`claims_*.jsonl`): [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
12
+ - The scientific abstracts (`corpus.jsonl`), drawn from S2ORC: [ODC-By 1.0](https://opendatacommons.org/licenses/by/1-0/). Attribution also belongs to the original authors and S2ORC contributors; see [S2ORC](https://github.com/allenai/s2orc).
13
+ - Repository code: Apache 2.0.
14
+
15
+ The official archive used here has SHA-256 `11c621288d41ac144d29b13b0f8503b3820b7d6e8b1f6ff24dff335c196d76be`. The English repair uses only official training claims as supervision. Both SUPPORT and CONTRADICT evidence abstracts are relevant documents for the retrieval task. New development claims and their positive articles are excluded from training. TF-IDF alternatives are unjudged, and are not represented as human-verified irrelevant documents. The corpus is shared: query-heldout evaluation does not imply article-unseen evaluation. Historical BEIR SciFact results concern its 300-query evaluation split; they must remain distinct from the new training-derived development slice.
16
+
17
+ Earlier generic attribution that assigned one license to all SciFact components should be replaced by the component-specific statement above. No model-weight update is needed for this documentation correction.
18
+
19
+ ## Natural Questions
20
+
21
+ Tom Kwiatkowski and colleagues. *Natural Questions: a Benchmark for Question Answering Research*. TACL 2019. [Official project](https://ai.google.com/research/NaturalQuestions).
22
+
23
+ The dataset is released under [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/), as stated by the [official data instructions](https://github.com/google-research-datasets/natural-questions/blob/fb26a3073b1fe636c97302890a27b491d6530130/nq_open/README.md). This differs from the repository software's Apache 2.0 license. Wikipedia authors retain their attribution and applicable source terms.
24
+
25
+ The training recipe uses the [Sentence Transformers query/passage formatting](https://huggingface.co/datasets/sentence-transformers/natural-questions/tree/f9e894e1081e206e577b4eaa9ee6de2b06ae6f17), derived from the Natural Questions training split. The parquet file SHA-256 is `8cfb5e5a7cb1cd09dbb035a581aa42ce5db5852acb3e70f070d89d7035887de9`. The format conversion does not supply a replacement license. Source data and any redistributed adapted data retain their original attribution and license requirements.
26
+
27
+ The recipe normalizes duplicate identities, groups repeated answer passages together, removes cross-split duplicate questions, and rejects out-of-budget training pairs. Development is drawn from separately reserved answer groups in the source training split; it is not the official Natural Questions benchmark. Its metric measures query-to-answer-passage retrieval among the reserved passage pool, not the official long-answer or short-answer F1 task.
LICENSE ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
PUBLICATION_MANIFEST.json ADDED
@@ -0,0 +1,2266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_id": "llm-semantic-router/Vela-1.0-Encoder-307M-Embedding",
3
+ "status": "All frozen quality and engine conditions qualified; ready for publisher review; not published",
4
+ "native_weights_sha256": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
5
+ "native_config_sha256": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
6
+ "tokenizer_sha256": "5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c",
7
+ "files": [
8
+ {
9
+ "path": "1_Pooling/config.json",
10
+ "sha256": "35bbd47d7fdf1e378db6130bcc668b09d1aa67a7bbf7c8f89a9c71f4cc8ebcc6",
11
+ "size": 312,
12
+ "artifact_group": "native_and_documentation"
13
+ },
14
+ {
15
+ "path": "ENGLISH_RETRIEVAL_NOTICES.md",
16
+ "sha256": "06f09550ca291d19d6e44c2ccd43c748b3378fe933689b5415ce81caee6646f4",
17
+ "size": 3667,
18
+ "artifact_group": "native_and_documentation"
19
+ },
20
+ {
21
+ "path": "LICENSE",
22
+ "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
23
+ "size": 11357,
24
+ "artifact_group": "native_and_documentation"
25
+ },
26
+ {
27
+ "path": "README.md",
28
+ "sha256": "6889565c68e825f1b001b984b2500978763ba079256f0ee38101988c01e9f236",
29
+ "size": 3613,
30
+ "artifact_group": "native_and_documentation"
31
+ },
32
+ {
33
+ "path": "RELEASE_STATUS.json",
34
+ "sha256": "05bf8f95441b7fa3b98ad365baaae49c58b26ec2aa59a03e1e0400198ce22947",
35
+ "size": 2872,
36
+ "artifact_group": "native_and_documentation"
37
+ },
38
+ {
39
+ "path": "TECHNICAL.md",
40
+ "sha256": "a523e9cc41a198af91744699801e91e3fc7674b47c27e2070d50c27d3f694473",
41
+ "size": 22099,
42
+ "artifact_group": "native_and_documentation"
43
+ },
44
+ {
45
+ "path": "THIRD_PARTY_NOTICES.md",
46
+ "sha256": "f3a796eb313c1689cc30c85e330e9c3e00289c5fb0f04787175a7ddafdaef238",
47
+ "size": 3686,
48
+ "artifact_group": "native_and_documentation"
49
+ },
50
+ {
51
+ "path": "artifact_sha256.json",
52
+ "sha256": "6661160e3b2fe54c638f4bd87a4a70622ceb3a9ff0ce2fb59ed2aa4548dbb534",
53
+ "size": 1039,
54
+ "artifact_group": "native_and_documentation"
55
+ },
56
+ {
57
+ "path": "composition-plan.json",
58
+ "sha256": "65fb796aa7660e0142fb1216c7f2f9a575a27aab7c9658032782830f2060a8da",
59
+ "size": 3613,
60
+ "artifact_group": "native_and_documentation"
61
+ },
62
+ {
63
+ "path": "config.json",
64
+ "sha256": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
65
+ "size": 1470,
66
+ "artifact_group": "native_and_documentation"
67
+ },
68
+ {
69
+ "path": "config_sentence_transformers.json",
70
+ "sha256": "ccf45df8438a7510d071f4cf0495a0925a3f045027d8c05b857079024984e277",
71
+ "size": 294,
72
+ "artifact_group": "native_and_documentation"
73
+ },
74
+ {
75
+ "path": "model.safetensors",
76
+ "sha256": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
77
+ "size": 1227771776,
78
+ "artifact_group": "native_and_documentation"
79
+ },
80
+ {
81
+ "path": "modules.json",
82
+ "sha256": "8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460",
83
+ "size": 229,
84
+ "artifact_group": "native_and_documentation"
85
+ },
86
+ {
87
+ "path": "onnx/layer-11/model.onnx",
88
+ "sha256": "025b35c9b7245f1057d0108e31df1b8c72de3f11b514978db47920efd7195216",
89
+ "size": 82662,
90
+ "artifact_group": "runtime_onnx"
91
+ },
92
+ {
93
+ "path": "onnx/layer-11/model.onnx.data",
94
+ "sha256": "4b6e2e6cf3d4ad6fe71a24d7a03722c54edd39631955f4e8b34e5aa3af0cd7f1",
95
+ "size": 1007157248,
96
+ "artifact_group": "runtime_onnx"
97
+ },
98
+ {
99
+ "path": "onnx/layer-11/model_fa_fp16.onnx",
100
+ "sha256": "6b40cc6df12bad5d99e8b4635e53fbffc3072a6b33c910ff1ca32f345734ec17",
101
+ "size": 503617018,
102
+ "artifact_group": "runtime_onnx"
103
+ },
104
+ {
105
+ "path": "onnx/layer-22/model.onnx",
106
+ "sha256": "b88757358e272ded08eb3e19f620d85b9634d3d0ce690385099fa9b372d76ee9",
107
+ "size": 162486,
108
+ "artifact_group": "runtime_onnx"
109
+ },
110
+ {
111
+ "path": "onnx/layer-22/model.onnx.data",
112
+ "sha256": "926a1ab0bf7e7b45c6cad4865a81fcc880dfb0244f82d92ac2eba17f2fe4e7be",
113
+ "size": 1227816960,
114
+ "artifact_group": "runtime_onnx"
115
+ },
116
+ {
117
+ "path": "onnx/layer-22/model_fa_fp16.onnx",
118
+ "sha256": "1d214776171b8711a53044e84d92feb4eea2b6794b98d28940a3f0cb5d476dc5",
119
+ "size": 614015934,
120
+ "artifact_group": "runtime_onnx"
121
+ },
122
+ {
123
+ "path": "onnx/layer-3/model.onnx",
124
+ "sha256": "257835ac57b148b88910fcfc490fe2e75b0c3c4590f2917d4e06fe7470eadff5",
125
+ "size": 25723,
126
+ "artifact_group": "runtime_onnx"
127
+ },
128
+ {
129
+ "path": "onnx/layer-3/model.onnx.data",
130
+ "sha256": "c75e5dfefa11bd2238211219662cc155f340c1c4e1663f4f7cc5c6aa7d1b9362",
131
+ "size": 846659584,
132
+ "artifact_group": "runtime_onnx"
133
+ },
134
+ {
135
+ "path": "onnx/layer-3/model_fa_fp16.onnx",
136
+ "sha256": "b06ee533865382b941d72077307829b197c5c45ee57db49847a2c91bbbec135b",
137
+ "size": 423328828,
138
+ "artifact_group": "runtime_onnx"
139
+ },
140
+ {
141
+ "path": "onnx/layer-6/model.onnx",
142
+ "sha256": "91de3bbfb45ac40f375a5d023f80b16063f1c6283c641abe5377884fda8f1e6f",
143
+ "size": 46870,
144
+ "artifact_group": "runtime_onnx"
145
+ },
146
+ {
147
+ "path": "onnx/layer-6/model.onnx.data",
148
+ "sha256": "d3ba575381c22f7b78e5b677c0d16cc4a47cadba0c6397c9079cd0c69cdbc98b",
149
+ "size": 906821632,
150
+ "artifact_group": "runtime_onnx"
151
+ },
152
+ {
153
+ "path": "onnx/layer-6/model_fa_fp16.onnx",
154
+ "sha256": "6ecbe612478e8d13749d90b7f6c719f16afb6aa4c2d26214eb35f16049bed9cc",
155
+ "size": 453436745,
156
+ "artifact_group": "runtime_onnx"
157
+ },
158
+ {
159
+ "path": "onnx/model_config.json",
160
+ "sha256": "a3a2a51c54a3270c9ecfb663a1c838032da1845a1101e7e89c9cd004674f13a6",
161
+ "size": 455,
162
+ "artifact_group": "runtime_onnx"
163
+ },
164
+ {
165
+ "path": "reproduction/README.md",
166
+ "sha256": "fc2aeaa0905c2124171b0895831eb78dc455055d8e7b096f126cd9a543bbb1bf",
167
+ "size": 16488,
168
+ "artifact_group": "optional_reproduction"
169
+ },
170
+ {
171
+ "path": "reproduction/audit_miracl_groups.py",
172
+ "sha256": "3ff14397d25969ff35eb57a675af72b54fb7d5c89d402c5204b4ccabdd067897",
173
+ "size": 6791,
174
+ "artifact_group": "optional_reproduction"
175
+ },
176
+ {
177
+ "path": "reproduction/audit_native_rows_completion.py",
178
+ "sha256": "40b03fbb6825864eda1ed335c49ae3cf72cc17bb6dbca0394af89ca4fdbeca72",
179
+ "size": 4075,
180
+ "artifact_group": "optional_reproduction"
181
+ },
182
+ {
183
+ "path": "reproduction/audit_reranker_final_tokenizers_v2.py",
184
+ "sha256": "6d4b189f64351cad3558b550d3c752f9c3e20e687ba582e10f3d47aea271c35a",
185
+ "size": 4241,
186
+ "artifact_group": "optional_reproduction"
187
+ },
188
+ {
189
+ "path": "reproduction/build_embedding_interpolation.py",
190
+ "sha256": "024d480968d85c2d74770d76d88fc2559101ff115af9c4043e45e46d65940007",
191
+ "size": 10066,
192
+ "artifact_group": "optional_reproduction"
193
+ },
194
+ {
195
+ "path": "reproduction/build_embedding_interpolation_v2.py",
196
+ "sha256": "fda10878bc0c4299a066dc7d9e1b2bcdd9f6f22d6615d809556d20e0a5538fd3",
197
+ "size": 10943,
198
+ "artifact_group": "optional_reproduction"
199
+ },
200
+ {
201
+ "path": "reproduction/build_embedding_native_composition.py",
202
+ "sha256": "321a901ecfb2be7a6f4d267a43186bf6741a53d9548ec1270a4aeac3cdf305b0",
203
+ "size": 7885,
204
+ "artifact_group": "optional_reproduction"
205
+ },
206
+ {
207
+ "path": "reproduction/candle/README.md",
208
+ "sha256": "d9afd156b31ec14de3cfbeb0f53c8cd74528c0380d0f0ae9b9ecc04ac6d451ef",
209
+ "size": 3582,
210
+ "artifact_group": "optional_reproduction"
211
+ },
212
+ {
213
+ "path": "reproduction/candle/aggregate.json",
214
+ "sha256": "4a7812c783e77f3365e3c041ba14aebc5fe27b2f7154576a6da2401e12149383",
215
+ "size": 8264,
216
+ "artifact_group": "optional_reproduction"
217
+ },
218
+ {
219
+ "path": "reproduction/candle/publication-adaptations.json",
220
+ "sha256": "c01e97fe846420585701eaf9fcd5456a6221fed5f6a7c3b3f913cd9bf0608be9",
221
+ "size": 1480,
222
+ "artifact_group": "optional_reproduction"
223
+ },
224
+ {
225
+ "path": "reproduction/candle/qualification-v1/hf-fp32-vectors.npz",
226
+ "sha256": "9610e70d992ece3ebc4eff4a8b0d4cfab3597363594836d928c2c581d12fab5f",
227
+ "size": 395062,
228
+ "artifact_group": "optional_reproduction"
229
+ },
230
+ {
231
+ "path": "reproduction/candle/qualification-v1/inputs.jsonl",
232
+ "sha256": "617295b3aa1fa67310a282302b7d2f099fb501a63a633a35ad6f27546a9536b4",
233
+ "size": 355406,
234
+ "artifact_group": "optional_reproduction"
235
+ },
236
+ {
237
+ "path": "reproduction/candle/qualification-v1/native-vectors.npz",
238
+ "sha256": "79e5172d95147325f39859effd7f80f65a8bce95ac187707ea6b4fc813ffcee2",
239
+ "size": 115800,
240
+ "artifact_group": "optional_reproduction"
241
+ },
242
+ {
243
+ "path": "reproduction/candle/qualification-v1/report.json",
244
+ "sha256": "d16edae02cb85ed93be89d562d797a5e5c9aeaaa61609b7ec65f6817f4473fc4",
245
+ "size": 35630,
246
+ "artifact_group": "optional_reproduction"
247
+ },
248
+ {
249
+ "path": "reproduction/candle/short-reference-v1/report.json",
250
+ "sha256": "c4a2af07731984ddbd69d69fc075f5125b0dad4df0262af61225a776805b7315",
251
+ "size": 14624,
252
+ "artifact_group": "optional_reproduction"
253
+ },
254
+ {
255
+ "path": "reproduction/candle/short_reference.py",
256
+ "sha256": "9bf77b5e3e72a076619bdfe453558994720a340295d4b05cf9a04812edada7a8",
257
+ "size": 3977,
258
+ "artifact_group": "optional_reproduction"
259
+ },
260
+ {
261
+ "path": "reproduction/candle/summarize_candle.py",
262
+ "sha256": "395a789947b69fe4bc65b94434947944f5439505266ce1cb9d135cd11f582d51",
263
+ "size": 5346,
264
+ "artifact_group": "optional_reproduction"
265
+ },
266
+ {
267
+ "path": "reproduction/candle/validate_candle.py",
268
+ "sha256": "552c0cc12662cd54c02ab1b75b11b1b52e347bf13c07d1208470f178962602b3",
269
+ "size": 10228,
270
+ "artifact_group": "optional_reproduction"
271
+ },
272
+ {
273
+ "path": "reproduction/clean_pawsx_scores.py",
274
+ "sha256": "7f50e4dde1827a6f029b5b3700031593f063ca21a9a3f653776a1d7462bdf6db",
275
+ "size": 5177,
276
+ "artifact_group": "optional_reproduction"
277
+ },
278
+ {
279
+ "path": "reproduction/debug_embedding_native_training_step.py",
280
+ "sha256": "eabaf6729f478e18016d1216dd741df651125cf4f9fddf70e77b801144b43d06",
281
+ "size": 7985,
282
+ "artifact_group": "optional_reproduction"
283
+ },
284
+ {
285
+ "path": "reproduction/diagnose_embedding_training_precision.py",
286
+ "sha256": "7ed5325c27b88722629c08fabffd9198f2fbe015bb873b0b8c7ca7281f582f76",
287
+ "size": 5512,
288
+ "artifact_group": "optional_reproduction"
289
+ },
290
+ {
291
+ "path": "reproduction/diagnose_natural_teacher.py",
292
+ "sha256": "9017fe75ae889dc04ca8e266f81868e73f17ad288feb9c9af4ac8047062a8568",
293
+ "size": 4434,
294
+ "artifact_group": "optional_reproduction"
295
+ },
296
+ {
297
+ "path": "reproduction/download_english_retrieval_inputs.py",
298
+ "sha256": "f24ce3a2e2655152acd99f49fe541855afb276986aa9b0aff5446c93b1daa808",
299
+ "size": 4270,
300
+ "artifact_group": "optional_reproduction"
301
+ },
302
+ {
303
+ "path": "reproduction/download_inputs.py",
304
+ "sha256": "f96df813fcbbb3387a1d0ebfcd7cefe8a51d362b3b6ff2bc24d8bb27b046956c",
305
+ "size": 5475,
306
+ "artifact_group": "optional_reproduction"
307
+ },
308
+ {
309
+ "path": "reproduction/embedding_final_protocol.py",
310
+ "sha256": "6e06d74cb521d50d7be8e158eeba1b63c5f39dcc7ad6f3636eab2dfc4bf49ee5",
311
+ "size": 2859,
312
+ "artifact_group": "optional_reproduction"
313
+ },
314
+ {
315
+ "path": "reproduction/embedding_native_training_math.py",
316
+ "sha256": "9c8486246d7482ebcc2c0e4ae6fdbfb863d4cff0104e7b69cc1808771cda01d1",
317
+ "size": 2476,
318
+ "artifact_group": "optional_reproduction"
319
+ },
320
+ {
321
+ "path": "reproduction/embedding_repair_math.py",
322
+ "sha256": "2cd525a87029717206f4b95170f0e9767c209a74c64a744ba3911c092aed092d",
323
+ "size": 1883,
324
+ "artifact_group": "optional_reproduction"
325
+ },
326
+ {
327
+ "path": "reproduction/embedding_repair_math_v2.py",
328
+ "sha256": "b8d446807dadc8f95b1133e86e1107c0611f74d4d08d8daffb46229092afab34",
329
+ "size": 1933,
330
+ "artifact_group": "optional_reproduction"
331
+ },
332
+ {
333
+ "path": "reproduction/embedding_unpadded_native_math.py",
334
+ "sha256": "ddf1561bcc7dd42061548ef7ce2f5a716a534dca437e91da04ee555c086a45a3",
335
+ "size": 2388,
336
+ "artifact_group": "optional_reproduction"
337
+ },
338
+ {
339
+ "path": "reproduction/english_retrieval_data.py",
340
+ "sha256": "d88e4d5af44b2251b40edb30861f66e2c4427fc1966df21c5df4bbbb3bc44c7d",
341
+ "size": 8953,
342
+ "artifact_group": "optional_reproduction"
343
+ },
344
+ {
345
+ "path": "reproduction/evaluate_embedding_composition_cpu_short.py",
346
+ "sha256": "1b1d5105fc95926673b3cb2caa4a6f78ba07c75621c3068c84c2067ad3630868",
347
+ "size": 5174,
348
+ "artifact_group": "optional_reproduction"
349
+ },
350
+ {
351
+ "path": "reproduction/evaluate_embedding_composition_final.py",
352
+ "sha256": "7ff6f64606941a4754a994e925c588292c20f463a6dfd01c63836f7e4fe1af23",
353
+ "size": 11071,
354
+ "artifact_group": "optional_reproduction"
355
+ },
356
+ {
357
+ "path": "reproduction/evaluate_embedding_composition_matrix.py",
358
+ "sha256": "fda1de60dc1e7b329b945d2ebbe4342d42f226cd7ad1f1ca7304e43eb621148f",
359
+ "size": 7519,
360
+ "artifact_group": "optional_reproduction"
361
+ },
362
+ {
363
+ "path": "reproduction/evaluate_embedding_cpu_short.py",
364
+ "sha256": "a81f4e662f06d18c2e693d32847e221bed4858620fec8d1a6445021322441a2d",
365
+ "size": 3647,
366
+ "artifact_group": "optional_reproduction"
367
+ },
368
+ {
369
+ "path": "reproduction/evaluate_embedding_interpolation.py",
370
+ "sha256": "da5f9361a49fd18ff7fa6545ed8c4578b66d0d5e22df6850310eaa361999489a",
371
+ "size": 7181,
372
+ "artifact_group": "optional_reproduction"
373
+ },
374
+ {
375
+ "path": "reproduction/evaluate_embedding_interpolation_v2.py",
376
+ "sha256": "407c766da6d8fc49d3e724305750229892ac597715a1d1ed077d58135cd31bbb",
377
+ "size": 7184,
378
+ "artifact_group": "optional_reproduction"
379
+ },
380
+ {
381
+ "path": "reproduction/evaluate_embedding_native_composition.py",
382
+ "sha256": "75ec92d439d7518bcbe6cd35ce6004a76c33c61dcaae7cb353b4889989462ddb",
383
+ "size": 8186,
384
+ "artifact_group": "optional_reproduction"
385
+ },
386
+ {
387
+ "path": "reproduction/evaluate_embedding_native_final.py",
388
+ "sha256": "8efff0075765984308ed79bfa11c6248256e6b1a3540d116d1dcc63711130f8d",
389
+ "size": 8409,
390
+ "artifact_group": "optional_reproduction"
391
+ },
392
+ {
393
+ "path": "reproduction/evaluate_embedding_successor_final.py",
394
+ "sha256": "bf03222accf71b891e81808b3fb2829ccb6ff0834b1bdb369091105a49ce217e",
395
+ "size": 11139,
396
+ "artifact_group": "optional_reproduction"
397
+ },
398
+ {
399
+ "path": "reproduction/evaluate_embedding_task_diagnostics.py",
400
+ "sha256": "d0b4969dd7208ad118f9d35d26e5b7042b6784405b20cfd77b7bbd88615fe791",
401
+ "size": 7900,
402
+ "artifact_group": "optional_reproduction"
403
+ },
404
+ {
405
+ "path": "reproduction/evaluate_rankings.py",
406
+ "sha256": "ad9aa8a5c5fcf9c3f094948e930e1b26ed3185bae580407ce1b26dbe3aceb160",
407
+ "size": 5295,
408
+ "artifact_group": "optional_reproduction"
409
+ },
410
+ {
411
+ "path": "reproduction/evaluate_reranker_native_final_v2.py",
412
+ "sha256": "ba6ee75a92e77e36ea6d7e7f157bbd14c5f4cf59587f3e4b9b2e101663560fa7",
413
+ "size": 5016,
414
+ "artifact_group": "optional_reproduction"
415
+ },
416
+ {
417
+ "path": "reproduction/evaluate_reranker_task_diagnostics.py",
418
+ "sha256": "2c0a3d747907d1e359b7c337119f71dca6475ea6a356c1d745ada4fdfb32058d",
419
+ "size": 9772,
420
+ "artifact_group": "optional_reproduction"
421
+ },
422
+ {
423
+ "path": "reproduction/evaluate_vela_dev_precision.py",
424
+ "sha256": "f4e33138e843fa64be8d0fa7bf8acf0b95d9d3fc95f9c6173542b937daabb67c",
425
+ "size": 10729,
426
+ "artifact_group": "optional_reproduction"
427
+ },
428
+ {
429
+ "path": "reproduction/evaluate_vela_dev_precision_v2.py",
430
+ "sha256": "aef397aaf2079ff43bae3bf01cc65ab8dcaef19dece43df81b976e2d2b8ae51e",
431
+ "size": 12851,
432
+ "artifact_group": "optional_reproduction"
433
+ },
434
+ {
435
+ "path": "reproduction/evaluate_vela_dev_precision_v3.py",
436
+ "sha256": "9183340532c2ab9cbba292b86adcbc26e93f7e2a310474360109289f6f190f0d",
437
+ "size": 14375,
438
+ "artifact_group": "optional_reproduction"
439
+ },
440
+ {
441
+ "path": "reproduction/evaluate_vela_long_context.py",
442
+ "sha256": "6e150ea5137a10eac4d79f3f28b1f673113b6d8ee277761f898559ede1cc9d48",
443
+ "size": 11007,
444
+ "artifact_group": "optional_reproduction"
445
+ },
446
+ {
447
+ "path": "reproduction/evaluate_vela_long_repair.py",
448
+ "sha256": "c7fc78e63dbd01d367be2a280db266e8a2a24c22cb7d04e89e4506ff65cab019",
449
+ "size": 10610,
450
+ "artifact_group": "optional_reproduction"
451
+ },
452
+ {
453
+ "path": "reproduction/evaluate_vela_long_repair_precision.py",
454
+ "sha256": "f6fc661c84606fa41bd6bea236d88ce7712ea5d9cd22cd802301494062045ede",
455
+ "size": 14418,
456
+ "artifact_group": "optional_reproduction"
457
+ },
458
+ {
459
+ "path": "reproduction/evaluate_vela_miracl.py",
460
+ "sha256": "cce5dca57174a88d956e1b74da77aea0581b274cbfbbe3a542e5624d56d23d56",
461
+ "size": 8120,
462
+ "artifact_group": "optional_reproduction"
463
+ },
464
+ {
465
+ "path": "reproduction/evaluate_vela_qasper.py",
466
+ "sha256": "100a4a09bac1e6318726330863c62a5efc38dd16c1590e89c48d4f96c064d026",
467
+ "size": 9561,
468
+ "artifact_group": "optional_reproduction"
469
+ },
470
+ {
471
+ "path": "reproduction/evidence/diagnostics/vela-embedding-composition-cpu-short.plan.json",
472
+ "sha256": "fc20c7d814ec782f2322979cdded1c4cc12ee234968f2ab93682addb4c9e9081",
473
+ "size": 630,
474
+ "artifact_group": "optional_reproduction"
475
+ },
476
+ {
477
+ "path": "reproduction/evidence/diagnostics/vela-embedding-composition-matrix.plan.json",
478
+ "sha256": "6cc96d98ed41bd738dcf0541c3a0210c571505cbaf553c64be1512c9c8ad5c2a",
479
+ "size": 756,
480
+ "artifact_group": "optional_reproduction"
481
+ },
482
+ {
483
+ "path": "reproduction/evidence/diagnostics/vela-embedding-english-controlled-selection.json",
484
+ "sha256": "f05ecfe47b03c91d199f224c8ef66d574c746babaedf5f907a6bc828978f7545",
485
+ "size": 5743,
486
+ "artifact_group": "optional_reproduction"
487
+ },
488
+ {
489
+ "path": "reproduction/evidence/diagnostics/vela-embedding-english-parameter-drift.json",
490
+ "sha256": "bd684c332acb6787eea2e8a504c804ec5933d21047c9422ba6993b54df8c3bb0",
491
+ "size": 7291,
492
+ "artifact_group": "optional_reproduction"
493
+ },
494
+ {
495
+ "path": "reproduction/evidence/diagnostics/vela-embedding-english-repair-matched-teacher-plan.json",
496
+ "sha256": "087a4c6c905439a9c9b54b0b116cebefea169892cde9cff702b4b77dbbf4391e",
497
+ "size": 2192,
498
+ "artifact_group": "optional_reproduction"
499
+ },
500
+ {
501
+ "path": "reproduction/evidence/diagnostics/vela-embedding-english-repair-paired-precision-plan.json",
502
+ "sha256": "ee7361dae16dd2ac1d66c5fff0d00de4d50889880ab4e3b5801c3e1b324d292f",
503
+ "size": 2142,
504
+ "artifact_group": "optional_reproduction"
505
+ },
506
+ {
507
+ "path": "reproduction/evidence/diagnostics/vela-embedding-english-repair-v1-final-exposure-supplement.json",
508
+ "sha256": "ec18831867bdf082f9ab68b429d357c42406d0c4c411eb71aaeeba8fa263b24f",
509
+ "size": 1105,
510
+ "artifact_group": "optional_reproduction"
511
+ },
512
+ {
513
+ "path": "reproduction/evidence/diagnostics/vela-embedding-interpolation-v2-final-fp16-candidate/metrics.json",
514
+ "sha256": "f2ac73439cf37fc20b6ce2d41c4e96c4ae2fb1ffda61d617d4c00a490f8b81e7",
515
+ "size": 2612807,
516
+ "artifact_group": "optional_reproduction"
517
+ },
518
+ {
519
+ "path": "reproduction/evidence/diagnostics/vela-embedding-interpolation-v2-final-fp16-original/metrics.json",
520
+ "sha256": "d734451f26728c9a4081c37cd4dc4f6e30fcd34601931ae6f49e4e006402e094",
521
+ "size": 2613169,
522
+ "artifact_group": "optional_reproduction"
523
+ },
524
+ {
525
+ "path": "reproduction/evidence/diagnostics/vela-embedding-interpolation-v2-final-summary.json",
526
+ "sha256": "43ecb1e85a4bfbb8aef5c8e8010d31753c749f4756ef61217eb92ceeae06e949",
527
+ "size": 22180,
528
+ "artifact_group": "optional_reproduction"
529
+ },
530
+ {
531
+ "path": "reproduction/evidence/diagnostics/vela-embedding-matched-training-step-probe.json",
532
+ "sha256": "e068e25bdc3c684bf7b1ed92921f52926326f0417bd6e1874b65a942cd43bc25",
533
+ "size": 1820,
534
+ "artifact_group": "optional_reproduction"
535
+ },
536
+ {
537
+ "path": "reproduction/evidence/diagnostics/vela-embedding-miracl-group-audit.json",
538
+ "sha256": "0e475ebe06d3fde641bcda7bc3056c0c7124a202aa298696635adbc349683ef0",
539
+ "size": 34867,
540
+ "artifact_group": "optional_reproduction"
541
+ },
542
+ {
543
+ "path": "reproduction/evidence/diagnostics/vela-embedding-native-six-layer-step-probe.json",
544
+ "sha256": "717268fcf82c0a90a39eaa0802314cfea647ffb2b7bf41523463d24a176578f2",
545
+ "size": 3276,
546
+ "artifact_group": "optional_reproduction"
547
+ },
548
+ {
549
+ "path": "reproduction/evidence/diagnostics/vela-embedding-native-training-step-debug-scale1.0-separateFalse.json",
550
+ "sha256": "77b2ff8dfbe6567be79fe4a068d1286e92f406e35aa5276a1beac5d68d1c8cb5",
551
+ "size": 1235,
552
+ "artifact_group": "optional_reproduction"
553
+ },
554
+ {
555
+ "path": "reproduction/evidence/diagnostics/vela-embedding-native-training-step-debug-scale1.0-separateTrue.json",
556
+ "sha256": "6ffcf500d89e42eb90af13a4b50dd468926b40024b86a7852f43d2d77d9c8176",
557
+ "size": 1778,
558
+ "artifact_group": "optional_reproduction"
559
+ },
560
+ {
561
+ "path": "reproduction/evidence/diagnostics/vela-embedding-same-weight-training-precision.json",
562
+ "sha256": "32b2f17ee466fa0fc197867694ce70738ed16674322735917d0f95166398440b",
563
+ "size": 5761,
564
+ "artifact_group": "optional_reproduction"
565
+ },
566
+ {
567
+ "path": "reproduction/evidence/diagnostics/vela-embedding-successor-input-revalidation.json",
568
+ "sha256": "6ee5cb89d2df5017376b879a9cf24f6b97417c3b07157cebc2d4db2a72ec3a4e",
569
+ "size": 730,
570
+ "artifact_group": "optional_reproduction"
571
+ },
572
+ {
573
+ "path": "reproduction/evidence/engine/controller-result.json",
574
+ "sha256": "0d344747a9e5abefeb652e45a77e1ee41bcf0e6b3aa172c0ccdbedd061b44e08",
575
+ "size": 494,
576
+ "artifact_group": "optional_reproduction"
577
+ },
578
+ {
579
+ "path": "reproduction/evidence/engine/controller-v2-result.json",
580
+ "sha256": "3b2f831e220e71a9c0c0355df3af39b4037befe6d2c936ecdeb917807e0c306a",
581
+ "size": 277,
582
+ "artifact_group": "optional_reproduction"
583
+ },
584
+ {
585
+ "path": "reproduction/evidence/engine/ffi-inputs.jsonl",
586
+ "sha256": "617295b3aa1fa67310a282302b7d2f099fb501a63a633a35ad6f27546a9536b4",
587
+ "size": 355406,
588
+ "artifact_group": "optional_reproduction"
589
+ },
590
+ {
591
+ "path": "reproduction/evidence/engine/harness-correction-v2.json",
592
+ "sha256": "27914a18a74d563ff405418e845de3f4b1449c1b00be349ca5dd884d130f5235",
593
+ "size": 1069,
594
+ "artifact_group": "optional_reproduction"
595
+ },
596
+ {
597
+ "path": "reproduction/evidence/engine/native-reference/case-00.npz",
598
+ "sha256": "6b275ebed35b5075f62900990d6936c95b6d905344b84128292c5f63aeb27e9b",
599
+ "size": 303939,
600
+ "artifact_group": "optional_reproduction"
601
+ },
602
+ {
603
+ "path": "reproduction/evidence/engine/native-reference/case-01.npz",
604
+ "sha256": "5d35a16d3f99cf742da29d19d4bce9980b426f4055234490857ef60a2e7dc9da",
605
+ "size": 296481,
606
+ "artifact_group": "optional_reproduction"
607
+ },
608
+ {
609
+ "path": "reproduction/evidence/engine/native-reference/case-02.npz",
610
+ "sha256": "2c8776ef44879d3762782f3e3aad94ff355af43598c25603a6ebb6a8e1d0053a",
611
+ "size": 420957,
612
+ "artifact_group": "optional_reproduction"
613
+ },
614
+ {
615
+ "path": "reproduction/evidence/engine/native-reference/case-03.npz",
616
+ "sha256": "47b3c46cb983b85c45ea820e6896e4da43ec8ee1051298ef4ba73e45746d1da3",
617
+ "size": 304173,
618
+ "artifact_group": "optional_reproduction"
619
+ },
620
+ {
621
+ "path": "reproduction/evidence/engine/native-reference/case-04.npz",
622
+ "sha256": "890462393bcfdb7f5f03595715a3e4d714440c9ae6bf7cbbd1244947ef787b60",
623
+ "size": 57464,
624
+ "artifact_group": "optional_reproduction"
625
+ },
626
+ {
627
+ "path": "reproduction/evidence/engine/native-reference/case-05.npz",
628
+ "sha256": "b5c9d65a9c20740a59ab3eee6682c1c4b41eeb056a95d975550cdcfdce5d3940",
629
+ "size": 58284,
630
+ "artifact_group": "optional_reproduction"
631
+ },
632
+ {
633
+ "path": "reproduction/evidence/engine/native-reference/case-06.npz",
634
+ "sha256": "f0b06df175d5690ebce92bb8d2b44abf55e2aa45f154accc9aabd3d23037ebd3",
635
+ "size": 289860,
636
+ "artifact_group": "optional_reproduction"
637
+ },
638
+ {
639
+ "path": "reproduction/evidence/engine/native-reference/case-07.npz",
640
+ "sha256": "7857ff73e91e9c8d68a0244abcc4060d2279bc2b8848f71202b2273e588794f1",
641
+ "size": 567148,
642
+ "artifact_group": "optional_reproduction"
643
+ },
644
+ {
645
+ "path": "reproduction/evidence/engine/native-reference/case-08.npz",
646
+ "sha256": "ef499347658a2cbfa4352a8b1578189ec29eea7685ae150a5ec7b9aa60ee19ed",
647
+ "size": 296867,
648
+ "artifact_group": "optional_reproduction"
649
+ },
650
+ {
651
+ "path": "reproduction/evidence/engine/native-reference/case-09.npz",
652
+ "sha256": "a72eb5ce7c691b7eb11c526f18642ead788d8fc6e52e6b4549f5c70cd23b76ed",
653
+ "size": 574336,
654
+ "artifact_group": "optional_reproduction"
655
+ },
656
+ {
657
+ "path": "reproduction/evidence/engine/native-reference/case-10.npz",
658
+ "sha256": "86a412968f30f8f2a06f4fb686e1a7295444e3589450f67aab9d7e08243bcdcd",
659
+ "size": 304215,
660
+ "artifact_group": "optional_reproduction"
661
+ },
662
+ {
663
+ "path": "reproduction/evidence/engine/native-reference/case-11.npz",
664
+ "sha256": "1415cd4d46592c0966893faea991672de8e6700fa90b1664266a7c7463640d25",
665
+ "size": 581991,
666
+ "artifact_group": "optional_reproduction"
667
+ },
668
+ {
669
+ "path": "reproduction/evidence/engine/native-reference/case-12.npz",
670
+ "sha256": "c0eea8069fe33f077fba1534c92b492866b164dd9dbb9e150e21ae09c9ea0fba",
671
+ "size": 319615,
672
+ "artifact_group": "optional_reproduction"
673
+ },
674
+ {
675
+ "path": "reproduction/evidence/engine/native-reference/case-13.npz",
676
+ "sha256": "b18a6215b955b2dba5e4675618de28a1b7d57c766a3bab41a1ca4f0640da8fbf",
677
+ "size": 618411,
678
+ "artifact_group": "optional_reproduction"
679
+ },
680
+ {
681
+ "path": "reproduction/evidence/engine/native-reference/case-14.npz",
682
+ "sha256": "6e072dd3eab15b723197f274da7374ea43ddda934a98724e5c9eb97080d88541",
683
+ "size": 326351,
684
+ "artifact_group": "optional_reproduction"
685
+ },
686
+ {
687
+ "path": "reproduction/evidence/engine/native-reference/case-15.npz",
688
+ "sha256": "0dc1b8d17ee3ab518467ff69e1fe360c023e226336620baa91484305ab836e0e",
689
+ "size": 626409,
690
+ "artifact_group": "optional_reproduction"
691
+ },
692
+ {
693
+ "path": "reproduction/evidence/engine/native-reference/case-16.npz",
694
+ "sha256": "c070ab4dd4ecada955cae4923fde4832f229dce3d215b44a9449237f4dff3f2e",
695
+ "size": 333613,
696
+ "artifact_group": "optional_reproduction"
697
+ },
698
+ {
699
+ "path": "reproduction/evidence/engine/native-reference/case-17.npz",
700
+ "sha256": "32f3de43a31ffcf50d434fd15065e82fbae4f02d3c045afb273fe515f3759414",
701
+ "size": 640427,
702
+ "artifact_group": "optional_reproduction"
703
+ },
704
+ {
705
+ "path": "reproduction/evidence/engine/native-reference/case-18.npz",
706
+ "sha256": "f4d372d4feeef87fde6cd7636bdaad566bb111487914cae717d6a82a5f28f6cc",
707
+ "size": 340806,
708
+ "artifact_group": "optional_reproduction"
709
+ },
710
+ {
711
+ "path": "reproduction/evidence/engine/native-reference/case-19.npz",
712
+ "sha256": "0243b0b7c4c4628b951b7741b137e2679adf1d30c770a1db02c4fa05cb44721b",
713
+ "size": 669689,
714
+ "artifact_group": "optional_reproduction"
715
+ },
716
+ {
717
+ "path": "reproduction/evidence/engine/native-reference/case-20.npz",
718
+ "sha256": "801d635f591967cc53e0df575dd46f9a488c2025e3c4908cd09e76cfef2b17a8",
719
+ "size": 340949,
720
+ "artifact_group": "optional_reproduction"
721
+ },
722
+ {
723
+ "path": "reproduction/evidence/engine/native-reference/case-21.npz",
724
+ "sha256": "e3ff19bbdbf96fcf67be1bde625e67db8bce9af8e5a2f762aaad86cd2c2954c6",
725
+ "size": 669974,
726
+ "artifact_group": "optional_reproduction"
727
+ },
728
+ {
729
+ "path": "reproduction/evidence/engine/native-reference/case-22.npz",
730
+ "sha256": "3b2c2b0205259059f69bec87d1c5f7bc42e53473949c436774795108e8457907",
731
+ "size": 341052,
732
+ "artifact_group": "optional_reproduction"
733
+ },
734
+ {
735
+ "path": "reproduction/evidence/engine/native-reference/case-23.npz",
736
+ "sha256": "c254b96fbd660cf8abd248166c719c2ae249e3d088769534543aceaaa23faefb",
737
+ "size": 669580,
738
+ "artifact_group": "optional_reproduction"
739
+ },
740
+ {
741
+ "path": "reproduction/evidence/engine/native-reference/case-24.npz",
742
+ "sha256": "1d31ee2670ce1b4a9481042bc77490806904b935d9f0da9c75a8896c18a55e22",
743
+ "size": 340965,
744
+ "artifact_group": "optional_reproduction"
745
+ },
746
+ {
747
+ "path": "reproduction/evidence/engine/native-reference/case-25.npz",
748
+ "sha256": "179b2509209bf572d838d9aa24b8fd6c27478a8dcb3d649a061bda826fb4d763",
749
+ "size": 669489,
750
+ "artifact_group": "optional_reproduction"
751
+ },
752
+ {
753
+ "path": "reproduction/evidence/engine/native-reference/case-26.npz",
754
+ "sha256": "860f2eba6f27ebf9cbd5cb5e2ca9c690b795491b58476e595d1890f4d5728bc3",
755
+ "size": 348710,
756
+ "artifact_group": "optional_reproduction"
757
+ },
758
+ {
759
+ "path": "reproduction/evidence/engine/native-reference/case-27.npz",
760
+ "sha256": "6a736d494d7a237f8f63a0ace2943807160d8a735c6078cc15c8d4b9c7c77b2c",
761
+ "size": 692455,
762
+ "artifact_group": "optional_reproduction"
763
+ },
764
+ {
765
+ "path": "reproduction/evidence/engine/native-reference/case-28.npz",
766
+ "sha256": "06ad22aa4bdebe09fe95f73297867914769930dda28afedb85d0f21f8f2d4af2",
767
+ "size": 356307,
768
+ "artifact_group": "optional_reproduction"
769
+ },
770
+ {
771
+ "path": "reproduction/evidence/engine/native-reference/case-29.npz",
772
+ "sha256": "696e02fb4214c90544837d96461e1ed248d2b88d6cffcf7dfe3583121c6dd00e",
773
+ "size": 700308,
774
+ "artifact_group": "optional_reproduction"
775
+ },
776
+ {
777
+ "path": "reproduction/evidence/engine/native-reference/case-30.npz",
778
+ "sha256": "506c4b8f800aaf7044360db54eeebb21e4948fbf0377f00240eb187e29cb1432",
779
+ "size": 356667,
780
+ "artifact_group": "optional_reproduction"
781
+ },
782
+ {
783
+ "path": "reproduction/evidence/engine/native-reference/case-31.npz",
784
+ "sha256": "c5015a584d99b7a04ce9a472b5cba059acdcea8abbfbf82ae46cfddbba64decb",
785
+ "size": 700775,
786
+ "artifact_group": "optional_reproduction"
787
+ },
788
+ {
789
+ "path": "reproduction/evidence/engine/native-reference/case-32.npz",
790
+ "sha256": "711ced2869811ab8ed25476570e0829a8a33af5aa0c07f7ab1885d40f1894ed5",
791
+ "size": 358179,
792
+ "artifact_group": "optional_reproduction"
793
+ },
794
+ {
795
+ "path": "reproduction/evidence/engine/native-reference/case-33.npz",
796
+ "sha256": "83689411404c935f19277645a619c3df2a2e8c86c9147f5c32af534a59589eb0",
797
+ "size": 703866,
798
+ "artifact_group": "optional_reproduction"
799
+ },
800
+ {
801
+ "path": "reproduction/evidence/engine/native-reference/case-34.npz",
802
+ "sha256": "2fd71ba4de1f3b4d338e6887d95da4b0d799e3a4dd6ae5e53403e738b8614ab4",
803
+ "size": 610986,
804
+ "artifact_group": "optional_reproduction"
805
+ },
806
+ {
807
+ "path": "reproduction/evidence/engine/native-reference/case-35.npz",
808
+ "sha256": "d9cbd62d0ae78a98cfb0ebed987285336fa031eca46fc9dff3e5c7385ac8ca32",
809
+ "size": 618502,
810
+ "artifact_group": "optional_reproduction"
811
+ },
812
+ {
813
+ "path": "reproduction/evidence/engine/native-reference/case-36.npz",
814
+ "sha256": "66007fc14936e24bff75dc0c47e4b5b23e4246e4c82bf276a70a185e39b9bdc8",
815
+ "size": 638888,
816
+ "artifact_group": "optional_reproduction"
817
+ },
818
+ {
819
+ "path": "reproduction/evidence/engine/native-reference/manifest.json",
820
+ "sha256": "ef866c327c7caac19139b4bead15a354271932439f477c0de2cae64fe7b6cd34",
821
+ "size": 19761,
822
+ "artifact_group": "optional_reproduction"
823
+ },
824
+ {
825
+ "path": "reproduction/evidence/engine/native-reference/plan.json",
826
+ "sha256": "d391b004b1952557e2c541fb40a00a48b0e83736adbbc94f248c42aa129e714d",
827
+ "size": 11078,
828
+ "artifact_group": "optional_reproduction"
829
+ },
830
+ {
831
+ "path": "reproduction/evidence/engine/ort-ffi-cpu.json",
832
+ "sha256": "73eb313fbfb6bcd383529f789d5e28544a3fb46a3c458f6da16cf3e7ae70a7eb",
833
+ "size": 27188,
834
+ "artifact_group": "optional_reproduction"
835
+ },
836
+ {
837
+ "path": "reproduction/evidence/engine/ort-ffi-cpu.plan.json",
838
+ "sha256": "23a92544fcb1a7de2f5f00c798f8967a12801975c969aa338f2a796ffb462d8e",
839
+ "size": 915,
840
+ "artifact_group": "optional_reproduction"
841
+ },
842
+ {
843
+ "path": "reproduction/evidence/engine/ort-ffi-rocm.json",
844
+ "sha256": "e01fbefc788218913adbaff991333cef40c839c77bf388134a81df1c9055aecd",
845
+ "size": 30023,
846
+ "artifact_group": "optional_reproduction"
847
+ },
848
+ {
849
+ "path": "reproduction/evidence/engine/ort-ffi-rocm.plan.json",
850
+ "sha256": "8a12573e828f9dec0d7a8648e955ee7a6bb6b889133b6acb7459cff5b4b92434",
851
+ "size": 976,
852
+ "artifact_group": "optional_reproduction"
853
+ },
854
+ {
855
+ "path": "reproduction/evidence/engine/public-candle-aggregate-recomputed.json",
856
+ "sha256": "ca9be2215d2199575ec85aeb4722b129f243c8bc640816eadeaace0a497a4221",
857
+ "size": 8264,
858
+ "artifact_group": "optional_reproduction"
859
+ },
860
+ {
861
+ "path": "reproduction/evidence/engine/public-composition-reproduction.json",
862
+ "sha256": "e54e17e03d839658d052de8cdf9f88f77f3e510a1e240d9e0ebfa47d3292d456",
863
+ "size": 924,
864
+ "artifact_group": "optional_reproduction"
865
+ },
866
+ {
867
+ "path": "reproduction/evidence/engine/public-contract-tests.txt",
868
+ "sha256": "3bf08c01ecc41071eb22e1a8c983961348cd8b752a016a7e56b4d219c56b9921",
869
+ "size": 115,
870
+ "artifact_group": "optional_reproduction"
871
+ },
872
+ {
873
+ "path": "reproduction/evidence/engine/qualification-11.json",
874
+ "sha256": "218c9be4d3526ea1ab69c187a2463adfdda57f20aacfcf47d2e6be545404b257",
875
+ "size": 64967,
876
+ "artifact_group": "optional_reproduction"
877
+ },
878
+ {
879
+ "path": "reproduction/evidence/engine/qualification-22.json",
880
+ "sha256": "b12ce94b3a18d1ea3095eaeb3ce9f86aaec66059f9920655ca30adf398fedbac",
881
+ "size": 65342,
882
+ "artifact_group": "optional_reproduction"
883
+ },
884
+ {
885
+ "path": "reproduction/evidence/engine/qualification-3.json",
886
+ "sha256": "8255324bf0018309e622ae1360f1946681480ed2ae458edf48ae0e79187b4758",
887
+ "size": 64877,
888
+ "artifact_group": "optional_reproduction"
889
+ },
890
+ {
891
+ "path": "reproduction/evidence/engine/qualification-6.json",
892
+ "sha256": "a5880638a3a0afd5882db8a813f2caa8c1225d54c6c76e0ee5ca5b0b4a0330b9",
893
+ "size": 64939,
894
+ "artifact_group": "optional_reproduction"
895
+ },
896
+ {
897
+ "path": "reproduction/evidence/engine/qualification-summary.json",
898
+ "sha256": "be169f82e37164d6df78dd16828dbd2bee8e5bdfb53a3c9a6eea0a43164c4096",
899
+ "size": 644,
900
+ "artifact_group": "optional_reproduction"
901
+ },
902
+ {
903
+ "path": "reproduction/evidence/engine/short-materialization/inputs.npz",
904
+ "sha256": "67b2f0a81f3e01017c8000d034cbe95eaebe28580dbc9a1b0a39195edd5efca1",
905
+ "size": 216165,
906
+ "artifact_group": "optional_reproduction"
907
+ },
908
+ {
909
+ "path": "reproduction/evidence/engine/short-materialization/manifest.json",
910
+ "sha256": "e908778bd30a65d1f648562558c0d5ad776ecb24de60628fc54fe3bbb0a9c307",
911
+ "size": 40515,
912
+ "artifact_group": "optional_reproduction"
913
+ },
914
+ {
915
+ "path": "reproduction/evidence/engine/source-freeze.json",
916
+ "sha256": "6dfbc20512ebaa9598b6edde268d440e1d9ec2591ba031a63df899784d206846",
917
+ "size": 803,
918
+ "artifact_group": "optional_reproduction"
919
+ },
920
+ {
921
+ "path": "reproduction/evidence/engine/standard-api-qualification.json",
922
+ "sha256": "d03728c9999d3eed7d783b42ac4daa313bf66369d487409ef9ef8a2eb29a02fa",
923
+ "size": 1143,
924
+ "artifact_group": "optional_reproduction"
925
+ },
926
+ {
927
+ "path": "reproduction/evidence/engine/task-replay/metrics.json",
928
+ "sha256": "b28bd927c3d8693cc2b0df37c989a40a6ba959a66a4004f2a7871fe25b70c84a",
929
+ "size": 3288184,
930
+ "artifact_group": "optional_reproduction"
931
+ },
932
+ {
933
+ "path": "reproduction/evidence/engine/task-replay/plan.json",
934
+ "sha256": "fa992de02951bc9a064c2737d43ebb66bce510653a302ee07848cd3cdce8870b",
935
+ "size": 1830,
936
+ "artifact_group": "optional_reproduction"
937
+ },
938
+ {
939
+ "path": "reproduction/evidence/engine/task-replay-summary.json",
940
+ "sha256": "c3621d487817e80f83f71ec6d42bd52dbd6460fde577b2a1ff7094f0a4c4b279",
941
+ "size": 102899,
942
+ "artifact_group": "optional_reproduction"
943
+ },
944
+ {
945
+ "path": "reproduction/evidence/engine/warm-benchmark.json",
946
+ "sha256": "7fc92635dad5b85c8e08737e2ea015dcd95b815640360d9bfac24570523a65fe",
947
+ "size": 95219,
948
+ "artifact_group": "optional_reproduction"
949
+ },
950
+ {
951
+ "path": "reproduction/evidence/engine/warm-benchmark.plan.json",
952
+ "sha256": "b65f3c27a512b401eca9a663b777d60f14261e21c3cb91cd9819e6cbe19c1f63",
953
+ "size": 1220,
954
+ "artifact_group": "optional_reproduction"
955
+ },
956
+ {
957
+ "path": "reproduction/evidence/export/export-fp16.json",
958
+ "sha256": "ec958fc1fcfcbbcedfff8f5fa7767145a12bc27c5a7df8937440967820171cf1",
959
+ "size": 78569,
960
+ "artifact_group": "optional_reproduction"
961
+ },
962
+ {
963
+ "path": "reproduction/evidence/export/export-fp32.json",
964
+ "sha256": "08f44fcbe44ff259e2d3cb2ba6499258f759dbff4b684325b851a80198c1b71f",
965
+ "size": 75633,
966
+ "artifact_group": "optional_reproduction"
967
+ },
968
+ {
969
+ "path": "reproduction/evidence/export/source_identity.json",
970
+ "sha256": "38785fe616ecdc8edf993d94645a44393f1bd60575248be18bfaf24b3b9131e1",
971
+ "size": 1367,
972
+ "artifact_group": "optional_reproduction"
973
+ },
974
+ {
975
+ "path": "reproduction/evidence/history/embedding-english-repair-matched-v1/development-splits.json",
976
+ "sha256": "bb46c856adfaa1c033aaa3f647250df96b844a45031b33fb869d6596a56b5346",
977
+ "size": 17271,
978
+ "artifact_group": "optional_reproduction"
979
+ },
980
+ {
981
+ "path": "reproduction/evidence/history/embedding-english-repair-matched-v1/english-data-manifest.json",
982
+ "sha256": "4b879073f3dc613b07eaec3c9421864d905cd29f40f18f278b542904eb144969",
983
+ "size": 4088052,
984
+ "artifact_group": "optional_reproduction"
985
+ },
986
+ {
987
+ "path": "reproduction/evidence/history/embedding-english-repair-matched-v1/natural-training-manifest.json",
988
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
989
+ "size": 1034641,
990
+ "artifact_group": "optional_reproduction"
991
+ },
992
+ {
993
+ "path": "reproduction/evidence/history/embedding-english-repair-matched-v1/protocol.json",
994
+ "sha256": "a4ea0158721065b2672282016bb49122e09deee0197bb6a38dc3a4b65e007983",
995
+ "size": 18050,
996
+ "artifact_group": "optional_reproduction"
997
+ },
998
+ {
999
+ "path": "reproduction/evidence/history/embedding-english-repair-matched-v1/results.json",
1000
+ "sha256": "b1855ad6277c70e82db6fbb02c9c776662db2c999eb32a29e9929eb46f4e8b22",
1001
+ "size": 2536738,
1002
+ "artifact_group": "optional_reproduction"
1003
+ },
1004
+ {
1005
+ "path": "reproduction/evidence/history/embedding-english-repair-v1/development-splits.json",
1006
+ "sha256": "bb46c856adfaa1c033aaa3f647250df96b844a45031b33fb869d6596a56b5346",
1007
+ "size": 17271,
1008
+ "artifact_group": "optional_reproduction"
1009
+ },
1010
+ {
1011
+ "path": "reproduction/evidence/history/embedding-english-repair-v1/english-data-manifest.json",
1012
+ "sha256": "4b879073f3dc613b07eaec3c9421864d905cd29f40f18f278b542904eb144969",
1013
+ "size": 4088052,
1014
+ "artifact_group": "optional_reproduction"
1015
+ },
1016
+ {
1017
+ "path": "reproduction/evidence/history/embedding-english-repair-v1/natural-training-manifest.json",
1018
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
1019
+ "size": 1034641,
1020
+ "artifact_group": "optional_reproduction"
1021
+ },
1022
+ {
1023
+ "path": "reproduction/evidence/history/embedding-english-repair-v1/protocol.json",
1024
+ "sha256": "6fc259f640de2c96b59736582ffeb2faf56ab4aa5e1850f67dcdf13ff9662a6f",
1025
+ "size": 17676,
1026
+ "artifact_group": "optional_reproduction"
1027
+ },
1028
+ {
1029
+ "path": "reproduction/evidence/history/embedding-english-repair-v1/results.json",
1030
+ "sha256": "b49e1284a2a119d6e1a31648041c4e9255a51119f726428250b5a243714000c4",
1031
+ "size": 2536549,
1032
+ "artifact_group": "optional_reproduction"
1033
+ },
1034
+ {
1035
+ "path": "reproduction/evidence/history/embedding-interpolation-v1/interpolation.json",
1036
+ "sha256": "a035ef3199f14623e303d7c441bb963423d368d0510cd29adaecf74e7b0177fd",
1037
+ "size": 11480,
1038
+ "artifact_group": "optional_reproduction"
1039
+ },
1040
+ {
1041
+ "path": "reproduction/evidence/history/embedding-interpolation-v2/interpolation.json",
1042
+ "sha256": "e5fdba1a03f447900dde0a1bb360197d5fa2c741f7fe162563a7d20b023bccbc",
1043
+ "size": 11763,
1044
+ "artifact_group": "optional_reproduction"
1045
+ },
1046
+ {
1047
+ "path": "reproduction/evidence/history/embedding-long-clean1/long-dev-inputs-manifest.json",
1048
+ "sha256": "d96069079435ba767193041c66ae0a5d7fd8aebe6aa8a01611a3d4eacdad8199",
1049
+ "size": 384753,
1050
+ "artifact_group": "optional_reproduction"
1051
+ },
1052
+ {
1053
+ "path": "reproduction/evidence/history/embedding-long-clean1/qasper-split-manifest.json",
1054
+ "sha256": "90b9517ac0a316318fd000b28b68b873e70a66e9e635be4d9ab505e0ce96faba",
1055
+ "size": 2986,
1056
+ "artifact_group": "optional_reproduction"
1057
+ },
1058
+ {
1059
+ "path": "reproduction/evidence/history/embedding-long-clean1/results.json",
1060
+ "sha256": "45b96a86b901a76e9d767c61251216cc5134ec90649bf1c5cd139bfb926e158c",
1061
+ "size": 2124149,
1062
+ "artifact_group": "optional_reproduction"
1063
+ },
1064
+ {
1065
+ "path": "reproduction/evidence/history/embedding-long-clean1/split-manifest.json",
1066
+ "sha256": "86021762e7373010113e3c809c7e03a61560318a116a3d7d9eba68583d24f78f",
1067
+ "size": 13052,
1068
+ "artifact_group": "optional_reproduction"
1069
+ },
1070
+ {
1071
+ "path": "reproduction/evidence/history/embedding-long-repair1/long-dev-inputs-manifest.json",
1072
+ "sha256": "d96069079435ba767193041c66ae0a5d7fd8aebe6aa8a01611a3d4eacdad8199",
1073
+ "size": 384753,
1074
+ "artifact_group": "optional_reproduction"
1075
+ },
1076
+ {
1077
+ "path": "reproduction/evidence/history/embedding-long-repair1/qasper-split-manifest.json",
1078
+ "sha256": "90b9517ac0a316318fd000b28b68b873e70a66e9e635be4d9ab505e0ce96faba",
1079
+ "size": 2986,
1080
+ "artifact_group": "optional_reproduction"
1081
+ },
1082
+ {
1083
+ "path": "reproduction/evidence/history/embedding-long-repair1/results.json",
1084
+ "sha256": "72a23d87cee717c7a407c17aa77af2a8a5c5fa4b5c3030b8040277311aa9d3ca",
1085
+ "size": 3276288,
1086
+ "artifact_group": "optional_reproduction"
1087
+ },
1088
+ {
1089
+ "path": "reproduction/evidence/history/embedding-long-repair1/split-manifest.json",
1090
+ "sha256": "86021762e7373010113e3c809c7e03a61560318a116a3d7d9eba68583d24f78f",
1091
+ "size": 13052,
1092
+ "artifact_group": "optional_reproduction"
1093
+ },
1094
+ {
1095
+ "path": "reproduction/evidence/history/embedding-native-composition-v1/composition.json",
1096
+ "sha256": "258705c9434032e10f6fa3fc9a1def248cce56630217a2200cf5b1b542b63d37",
1097
+ "size": 67128,
1098
+ "artifact_group": "optional_reproduction"
1099
+ },
1100
+ {
1101
+ "path": "reproduction/evidence/history/embedding-native-composition-v1/plan.json",
1102
+ "sha256": "65fb796aa7660e0142fb1216c7f2f9a575a27aab7c9658032782830f2060a8da",
1103
+ "size": 3613,
1104
+ "artifact_group": "optional_reproduction"
1105
+ },
1106
+ {
1107
+ "path": "reproduction/evidence/history/embedding-native-repair3/long-dev-inputs-manifest.json",
1108
+ "sha256": "d96069079435ba767193041c66ae0a5d7fd8aebe6aa8a01611a3d4eacdad8199",
1109
+ "size": 384753,
1110
+ "artifact_group": "optional_reproduction"
1111
+ },
1112
+ {
1113
+ "path": "reproduction/evidence/history/embedding-native-repair3/natural-training-manifest.json",
1114
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
1115
+ "size": 1034641,
1116
+ "artifact_group": "optional_reproduction"
1117
+ },
1118
+ {
1119
+ "path": "reproduction/evidence/history/embedding-native-repair3/qasper-split-manifest.json",
1120
+ "sha256": "90b9517ac0a316318fd000b28b68b873e70a66e9e635be4d9ab505e0ce96faba",
1121
+ "size": 2986,
1122
+ "artifact_group": "optional_reproduction"
1123
+ },
1124
+ {
1125
+ "path": "reproduction/evidence/history/embedding-native-repair3/split-manifest.json",
1126
+ "sha256": "86021762e7373010113e3c809c7e03a61560318a116a3d7d9eba68583d24f78f",
1127
+ "size": 13052,
1128
+ "artifact_group": "optional_reproduction"
1129
+ },
1130
+ {
1131
+ "path": "reproduction/evidence/history/embedding-native-repair3b/long-dev-inputs-manifest.json",
1132
+ "sha256": "d96069079435ba767193041c66ae0a5d7fd8aebe6aa8a01611a3d4eacdad8199",
1133
+ "size": 384753,
1134
+ "artifact_group": "optional_reproduction"
1135
+ },
1136
+ {
1137
+ "path": "reproduction/evidence/history/embedding-native-repair3b/natural-training-manifest.json",
1138
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
1139
+ "size": 1034641,
1140
+ "artifact_group": "optional_reproduction"
1141
+ },
1142
+ {
1143
+ "path": "reproduction/evidence/history/embedding-native-repair3b/qasper-split-manifest.json",
1144
+ "sha256": "90b9517ac0a316318fd000b28b68b873e70a66e9e635be4d9ab505e0ce96faba",
1145
+ "size": 2986,
1146
+ "artifact_group": "optional_reproduction"
1147
+ },
1148
+ {
1149
+ "path": "reproduction/evidence/history/embedding-native-repair3b/results.json",
1150
+ "sha256": "87a36444fb8f78955d077dd0fb2994940c90ba82cb607d73dddfe2e4de8f2d5b",
1151
+ "size": 2170692,
1152
+ "artifact_group": "optional_reproduction"
1153
+ },
1154
+ {
1155
+ "path": "reproduction/evidence/history/embedding-native-repair3b/split-manifest.json",
1156
+ "sha256": "86021762e7373010113e3c809c7e03a61560318a116a3d7d9eba68583d24f78f",
1157
+ "size": 13052,
1158
+ "artifact_group": "optional_reproduction"
1159
+ },
1160
+ {
1161
+ "path": "reproduction/evidence/history/embedding-native-rows-repair-v1/development-splits.json",
1162
+ "sha256": "bb46c856adfaa1c033aaa3f647250df96b844a45031b33fb869d6596a56b5346",
1163
+ "size": 17271,
1164
+ "artifact_group": "optional_reproduction"
1165
+ },
1166
+ {
1167
+ "path": "reproduction/evidence/history/embedding-native-rows-repair-v1/english-data-manifest.json",
1168
+ "sha256": "4b879073f3dc613b07eaec3c9421864d905cd29f40f18f278b542904eb144969",
1169
+ "size": 4088052,
1170
+ "artifact_group": "optional_reproduction"
1171
+ },
1172
+ {
1173
+ "path": "reproduction/evidence/history/embedding-native-rows-repair-v1/natural-training-manifest.json",
1174
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
1175
+ "size": 1034641,
1176
+ "artifact_group": "optional_reproduction"
1177
+ },
1178
+ {
1179
+ "path": "reproduction/evidence/history/embedding-native-rows-repair-v1/protocol.json",
1180
+ "sha256": "4410fa0032cb3dff32a1b69adbacfa5caf4e7fcd1f1ac5336d47924b1425eabc",
1181
+ "size": 17460,
1182
+ "artifact_group": "optional_reproduction"
1183
+ },
1184
+ {
1185
+ "path": "reproduction/evidence/history/embedding-native-rows-repair-v1/results.json",
1186
+ "sha256": "12304349b6393ce3a1e14842695ec8ec41eb0ed2c430ebee290dc17140d314e2",
1187
+ "size": 2341169,
1188
+ "artifact_group": "optional_reproduction"
1189
+ },
1190
+ {
1191
+ "path": "reproduction/evidence/history/embedding-natural-repair2/long-dev-inputs-manifest.json",
1192
+ "sha256": "d96069079435ba767193041c66ae0a5d7fd8aebe6aa8a01611a3d4eacdad8199",
1193
+ "size": 384753,
1194
+ "artifact_group": "optional_reproduction"
1195
+ },
1196
+ {
1197
+ "path": "reproduction/evidence/history/embedding-natural-repair2/natural-training-manifest.json",
1198
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
1199
+ "size": 1034641,
1200
+ "artifact_group": "optional_reproduction"
1201
+ },
1202
+ {
1203
+ "path": "reproduction/evidence/history/embedding-natural-repair2/qasper-split-manifest.json",
1204
+ "sha256": "90b9517ac0a316318fd000b28b68b873e70a66e9e635be4d9ab505e0ce96faba",
1205
+ "size": 2986,
1206
+ "artifact_group": "optional_reproduction"
1207
+ },
1208
+ {
1209
+ "path": "reproduction/evidence/history/embedding-natural-repair2/results.json",
1210
+ "sha256": "efeb7aa939346d7d1cf3d0d2439bd22bb9e9758b597557a901ac56fdb62fda2b",
1211
+ "size": 2244916,
1212
+ "artifact_group": "optional_reproduction"
1213
+ },
1214
+ {
1215
+ "path": "reproduction/evidence/history/embedding-natural-repair2/split-manifest.json",
1216
+ "sha256": "86021762e7373010113e3c809c7e03a61560318a116a3d7d9eba68583d24f78f",
1217
+ "size": 13052,
1218
+ "artifact_group": "optional_reproduction"
1219
+ },
1220
+ {
1221
+ "path": "reproduction/evidence/history/embedding-trial1/data-manifest.json",
1222
+ "sha256": "c1b4af9cd070d00a116de7fe0c2e242bab53c597ad63c2878a7d77eeaab0cfbe",
1223
+ "size": 2331593,
1224
+ "artifact_group": "optional_reproduction"
1225
+ },
1226
+ {
1227
+ "path": "reproduction/evidence/history/embedding-trial1/results.json",
1228
+ "sha256": "9882d891e079a8dfa5ea2fdbe0c1f21123b59d7cad04c10fe15a0e898151ffc2",
1229
+ "size": 6734,
1230
+ "artifact_group": "optional_reproduction"
1231
+ },
1232
+ {
1233
+ "path": "reproduction/evidence/history/embedding-trial2/data-manifest.json",
1234
+ "sha256": "c1b4af9cd070d00a116de7fe0c2e242bab53c597ad63c2878a7d77eeaab0cfbe",
1235
+ "size": 2331593,
1236
+ "artifact_group": "optional_reproduction"
1237
+ },
1238
+ {
1239
+ "path": "reproduction/evidence/history/embedding-trial2/results.json",
1240
+ "sha256": "2d59666856e83f1d520b1bc46172f0befe7eff35705232b08e3d991da11223db",
1241
+ "size": 3743,
1242
+ "artifact_group": "optional_reproduction"
1243
+ },
1244
+ {
1245
+ "path": "reproduction/evidence/history/embedding-trial3/data-manifest.json",
1246
+ "sha256": "c1b4af9cd070d00a116de7fe0c2e242bab53c597ad63c2878a7d77eeaab0cfbe",
1247
+ "size": 2331593,
1248
+ "artifact_group": "optional_reproduction"
1249
+ },
1250
+ {
1251
+ "path": "reproduction/evidence/history/embedding-trial3/results.json",
1252
+ "sha256": "550551ce9ae9d391e9682b6a59154285d07fe80ed6cd8cd6cbe0993344560a30",
1253
+ "size": 10429,
1254
+ "artifact_group": "optional_reproduction"
1255
+ },
1256
+ {
1257
+ "path": "reproduction/evidence/vela-embedding-composition-cpu-short/metrics.json",
1258
+ "sha256": "e5083dc52bc19cdcbd83a1e7aeef472b6e738ea1a9edcf99d2e445f486851e79",
1259
+ "size": 207484,
1260
+ "artifact_group": "optional_reproduction"
1261
+ },
1262
+ {
1263
+ "path": "reproduction/evidence/vela-embedding-composition-export-summary.json",
1264
+ "sha256": "c9bc7c27b3b682ac758d9e24afec66dd35951787b8571f0c2b80fb636c469330",
1265
+ "size": 2056,
1266
+ "artifact_group": "optional_reproduction"
1267
+ },
1268
+ {
1269
+ "path": "reproduction/evidence/vela-embedding-composition-final-candidate/metrics.json",
1270
+ "sha256": "94b221f1066968f33aa8a967458cb6394a6387c3e3b70f83fef1f45d33dbed74",
1271
+ "size": 3330820,
1272
+ "artifact_group": "optional_reproduction"
1273
+ },
1274
+ {
1275
+ "path": "reproduction/evidence/vela-embedding-composition-final-original/metrics.json",
1276
+ "sha256": "510c0546b637ca6745ff855d1827bd6cd3ea463f8c48d6e08422653f75096a7a",
1277
+ "size": 3330730,
1278
+ "artifact_group": "optional_reproduction"
1279
+ },
1280
+ {
1281
+ "path": "reproduction/evidence/vela-embedding-composition-final-summary.json",
1282
+ "sha256": "276cfac78ac80767b8aafc2386d7d3f43e4f1f8a512ffcb8be45e8fec3c2fa01",
1283
+ "size": 75296,
1284
+ "artifact_group": "optional_reproduction"
1285
+ },
1286
+ {
1287
+ "path": "reproduction/evidence/vela-embedding-composition-matrix.json",
1288
+ "sha256": "4fdd7db25dcb42eaa626b84295c8c985bbd11736ff646fb34200e96a7bf93ab5",
1289
+ "size": 6729274,
1290
+ "artifact_group": "optional_reproduction"
1291
+ },
1292
+ {
1293
+ "path": "reproduction/evidence/vela-embedding-native-composition-v1-dev/metrics.json",
1294
+ "sha256": "4b4f4f0ff8b4aeeff1f9a14889a249b84895ba8429dee13261fc9dd3cc27e816",
1295
+ "size": 2279589,
1296
+ "artifact_group": "optional_reproduction"
1297
+ },
1298
+ {
1299
+ "path": "reproduction/evidence/vela-embedding-native-rows-repair-v1-selection.json",
1300
+ "sha256": "cdf8dbdba3484b14efb9bd22544b8e27e0c0af22ca70b87e54c2a67cf2aeacab",
1301
+ "size": 3641,
1302
+ "artifact_group": "optional_reproduction"
1303
+ },
1304
+ {
1305
+ "path": "reproduction/evidence-publication-map.json",
1306
+ "sha256": "093b9fabb895301d614845763f36d19525695eb975e39756728862260b5b3a86",
1307
+ "size": 73175,
1308
+ "artifact_group": "optional_reproduction"
1309
+ },
1310
+ {
1311
+ "path": "reproduction/export_2d_matryoshka.py",
1312
+ "sha256": "851124cb3d3084d109129c5c8ce2b769b105e5be22abbae7731adaa6fb28175e",
1313
+ "size": 16634,
1314
+ "artifact_group": "optional_reproduction"
1315
+ },
1316
+ {
1317
+ "path": "reproduction/freeze_embedding_interpolation.py",
1318
+ "sha256": "b5d07aecbcb34f96feea53971f266b009b65f44990119d531b84dc5b5de9595a",
1319
+ "size": 6114,
1320
+ "artifact_group": "optional_reproduction"
1321
+ },
1322
+ {
1323
+ "path": "reproduction/freeze_embedding_interpolation_v2.py",
1324
+ "sha256": "71585bf528c0ea0d76013220f076c3d795d787ac31224494710f496030f0fc43",
1325
+ "size": 6117,
1326
+ "artifact_group": "optional_reproduction"
1327
+ },
1328
+ {
1329
+ "path": "reproduction/freeze_embedding_native_composition.py",
1330
+ "sha256": "1844b05e20f0157a66c5c7f8bb895e864b64b7120154d757648637726378e66c",
1331
+ "size": 9880,
1332
+ "artifact_group": "optional_reproduction"
1333
+ },
1334
+ {
1335
+ "path": "reproduction/freeze_embedding_native_rows_repair.py",
1336
+ "sha256": "d47a4dad014a7c3c9f512f8a26127e606b43af8e02ce37ce21c2c4e839ccf6e5",
1337
+ "size": 8028,
1338
+ "artifact_group": "optional_reproduction"
1339
+ },
1340
+ {
1341
+ "path": "reproduction/freeze_embedding_successor_holdout.py",
1342
+ "sha256": "0084c36eade20994c713773ef7c8bec786f8230a7a0ced35a16c519d02d94e23",
1343
+ "size": 10640,
1344
+ "artifact_group": "optional_reproduction"
1345
+ },
1346
+ {
1347
+ "path": "reproduction/freeze_reranker_next_final_ids.py",
1348
+ "sha256": "aa8effbfca7fe3f07b85aa84008bc3b80949535953e3702216792b5c44763f76",
1349
+ "size": 3366,
1350
+ "artifact_group": "optional_reproduction"
1351
+ },
1352
+ {
1353
+ "path": "reproduction/freeze_vela_native_text.py",
1354
+ "sha256": "77c08a54cfd093d8a3bbcad2a404b37c2ddf0d8f71a6f211ad11c408d07db1ad",
1355
+ "size": 5786,
1356
+ "artifact_group": "optional_reproduction"
1357
+ },
1358
+ {
1359
+ "path": "reproduction/freeze_vela_text.py",
1360
+ "sha256": "899ccbd7aa666e066c3cb59568e607b19d5d98847b12f6a5636980d4a226e8e3",
1361
+ "size": 3421,
1362
+ "artifact_group": "optional_reproduction"
1363
+ },
1364
+ {
1365
+ "path": "reproduction/freeze_vela_text_repair.py",
1366
+ "sha256": "90796ec6246d440fa65a974aadc5146efa061f6379aa7c442cea1e0ebe918da7",
1367
+ "size": 6662,
1368
+ "artifact_group": "optional_reproduction"
1369
+ },
1370
+ {
1371
+ "path": "reproduction/frozen-inputs/final/background-members.json",
1372
+ "sha256": "b825c375328e766673d3d647b91bc804a351cdb16c35620d3f5d44b8ec16a524",
1373
+ "size": 3739686,
1374
+ "artifact_group": "optional_reproduction"
1375
+ },
1376
+ {
1377
+ "path": "reproduction/frozen-inputs/final/fixture.json",
1378
+ "sha256": "adfb1313bac3f6faa2248129ed5759e0aaa9b4eaaa53232b5ad20d342044bb46",
1379
+ "size": 3605,
1380
+ "artifact_group": "optional_reproduction"
1381
+ },
1382
+ {
1383
+ "path": "reproduction/frozen-inputs/final/long-inputs-manifest.json",
1384
+ "sha256": "91bba859c596421a5e1312700129987be0dcf30e60db0e7b758f473145a8fa38",
1385
+ "size": 2502394,
1386
+ "artifact_group": "optional_reproduction"
1387
+ },
1388
+ {
1389
+ "path": "reproduction/frozen-inputs/final/long-inputs.jsonl.gz",
1390
+ "sha256": "775914d51d3b887fbf7450186bf468927f0a0f7781b700ad48ff585d9dc37db9",
1391
+ "size": 67767972,
1392
+ "artifact_group": "optional_reproduction"
1393
+ },
1394
+ {
1395
+ "path": "reproduction/frozen-inputs/final/natural-inputs.json",
1396
+ "sha256": "5b8d52eae607e350cde730adf5b12ec6e1ea6479b49d5c60e5c0bee58aa68e9e",
1397
+ "size": 1999390,
1398
+ "artifact_group": "optional_reproduction"
1399
+ },
1400
+ {
1401
+ "path": "reproduction/frozen-inputs/final/short-inputs.json",
1402
+ "sha256": "d9d73fcab02faad8f922da742d36a7ef05790ad6977d3eb6c4fdbc2df7b2045c",
1403
+ "size": 440805,
1404
+ "artifact_group": "optional_reproduction"
1405
+ },
1406
+ {
1407
+ "path": "reproduction/frozen-inputs/identity/manifest.json",
1408
+ "sha256": "670f28a6df201462413a2886646509fa298c02b9c94d24d2ea49203ae2cd716e",
1409
+ "size": 43304,
1410
+ "artifact_group": "optional_reproduction"
1411
+ },
1412
+ {
1413
+ "path": "reproduction/frozen-inputs/identity/miracl-rows.json.gz",
1414
+ "sha256": "48ac1596b8e86b76da67cb122eebe039ae5763d2786b09a2fd4512ac2e25a691",
1415
+ "size": 160210,
1416
+ "artifact_group": "optional_reproduction"
1417
+ },
1418
+ {
1419
+ "path": "reproduction/frozen-inputs/identity/natural-inputs.json.gz",
1420
+ "sha256": "74411261fe1a4406ea962320491d4c5cfb50667929067a1550506b6278c9e379",
1421
+ "size": 549890,
1422
+ "artifact_group": "optional_reproduction"
1423
+ },
1424
+ {
1425
+ "path": "reproduction/frozen-inputs/prerequisites/vela-embedding-english-repair-v1-data-manifest.json",
1426
+ "sha256": "4b879073f3dc613b07eaec3c9421864d905cd29f40f18f278b542904eb144969",
1427
+ "size": 4088052,
1428
+ "artifact_group": "optional_reproduction"
1429
+ },
1430
+ {
1431
+ "path": "reproduction/frozen-inputs/prerequisites/vela-embedding-native-repair3-constraints.json",
1432
+ "sha256": "88e8e1e2c2af2df128fe8c9ce54e653bb80ecacedfa852cd588f56f013520bb0",
1433
+ "size": 492139,
1434
+ "artifact_group": "optional_reproduction"
1435
+ },
1436
+ {
1437
+ "path": "reproduction/frozen-inputs/reference-run/long-dev-inputs-manifest.json",
1438
+ "sha256": "d96069079435ba767193041c66ae0a5d7fd8aebe6aa8a01611a3d4eacdad8199",
1439
+ "size": 384753,
1440
+ "artifact_group": "optional_reproduction"
1441
+ },
1442
+ {
1443
+ "path": "reproduction/frozen-inputs/reference-run/natural-training-manifest.json",
1444
+ "sha256": "eea3b4a1c2b971e5d95cb5f25b5465be999d3b25fd5c3fe10dd9e22a0b4d361f",
1445
+ "size": 1034641,
1446
+ "artifact_group": "optional_reproduction"
1447
+ },
1448
+ {
1449
+ "path": "reproduction/frozen-inputs/reference-run/qasper-split-manifest.json",
1450
+ "sha256": "90b9517ac0a316318fd000b28b68b873e70a66e9e635be4d9ab505e0ce96faba",
1451
+ "size": 2986,
1452
+ "artifact_group": "optional_reproduction"
1453
+ },
1454
+ {
1455
+ "path": "reproduction/frozen-inputs/reference-run/split-manifest.json",
1456
+ "sha256": "86021762e7373010113e3c809c7e03a61560318a116a3d7d9eba68583d24f78f",
1457
+ "size": 13052,
1458
+ "artifact_group": "optional_reproduction"
1459
+ },
1460
+ {
1461
+ "path": "reproduction/inference.py",
1462
+ "sha256": "f274399f52d08ff8d545d6a27b39a47eb87907fe23c62fd583dabd7eee80ac58",
1463
+ "size": 5152,
1464
+ "artifact_group": "optional_reproduction"
1465
+ },
1466
+ {
1467
+ "path": "reproduction/install_frozen_inputs.py",
1468
+ "sha256": "3f03db15e40109c098d4b7835a6de1a88b2804ebec011c8884d528f9fd291dd9",
1469
+ "size": 2229,
1470
+ "artifact_group": "optional_reproduction"
1471
+ },
1472
+ {
1473
+ "path": "reproduction/intermediates/clean1/1_Pooling/config.json",
1474
+ "sha256": "ffe35d1251a99bc1f8187575f90682524294a62c51d7f27d2c520bb9e34371e4",
1475
+ "size": 297,
1476
+ "artifact_group": "optional_reproduction"
1477
+ },
1478
+ {
1479
+ "path": "reproduction/intermediates/clean1/config.json",
1480
+ "sha256": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
1481
+ "size": 1470,
1482
+ "artifact_group": "optional_reproduction"
1483
+ },
1484
+ {
1485
+ "path": "reproduction/intermediates/clean1/config_sentence_transformers.json",
1486
+ "sha256": "ccf45df8438a7510d071f4cf0495a0925a3f045027d8c05b857079024984e277",
1487
+ "size": 294,
1488
+ "artifact_group": "optional_reproduction"
1489
+ },
1490
+ {
1491
+ "path": "reproduction/intermediates/clean1/model.safetensors",
1492
+ "sha256": "f2d9b7b559e6897e5ffe37eb892d366b9478945634579b04bea09071abdcb064",
1493
+ "size": 1227771776,
1494
+ "artifact_group": "optional_reproduction"
1495
+ },
1496
+ {
1497
+ "path": "reproduction/intermediates/clean1/modules.json",
1498
+ "sha256": "8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460",
1499
+ "size": 229,
1500
+ "artifact_group": "optional_reproduction"
1501
+ },
1502
+ {
1503
+ "path": "reproduction/intermediates/clean1/sentence_bert_config.json",
1504
+ "sha256": "0b1d25d4d13c72c255a7eaaf8921ca481c4cd61ad894e7209c52dc5e1ac3f3bd",
1505
+ "size": 56,
1506
+ "artifact_group": "optional_reproduction"
1507
+ },
1508
+ {
1509
+ "path": "reproduction/intermediates/clean1/special_tokens_map.json",
1510
+ "sha256": "6e3204c5a4004719c185007a745d1940471a6fb02521cfa0a00306dbb6bc5903",
1511
+ "size": 1051,
1512
+ "artifact_group": "optional_reproduction"
1513
+ },
1514
+ {
1515
+ "path": "reproduction/intermediates/clean1/tokenizer.json",
1516
+ "sha256": "22fd4a60565f25fee8ebd2866aab07456dd46cbbeb45eaf506529ed8451ee58f",
1517
+ "size": 34363343,
1518
+ "artifact_group": "optional_reproduction"
1519
+ },
1520
+ {
1521
+ "path": "reproduction/intermediates/clean1/tokenizer_config.json",
1522
+ "sha256": "65f203e93f3ccd1943d4317006ec9a4660e1102a085c5bc9f4f934062b318ceb",
1523
+ "size": 46636,
1524
+ "artifact_group": "optional_reproduction"
1525
+ },
1526
+ {
1527
+ "path": "reproduction/intermediates/native1440/1_Pooling/config.json",
1528
+ "sha256": "35bbd47d7fdf1e378db6130bcc668b09d1aa67a7bbf7c8f89a9c71f4cc8ebcc6",
1529
+ "size": 312,
1530
+ "artifact_group": "optional_reproduction"
1531
+ },
1532
+ {
1533
+ "path": "reproduction/intermediates/native1440/config.json",
1534
+ "sha256": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
1535
+ "size": 1470,
1536
+ "artifact_group": "optional_reproduction"
1537
+ },
1538
+ {
1539
+ "path": "reproduction/intermediates/native1440/config_sentence_transformers.json",
1540
+ "sha256": "d73c909f5e2ed5cd0c6bf696491285cb33a28ec13d197bf80ec17e65c7222675",
1541
+ "size": 293,
1542
+ "artifact_group": "optional_reproduction"
1543
+ },
1544
+ {
1545
+ "path": "reproduction/intermediates/native1440/model.safetensors",
1546
+ "sha256": "af88753104a2b21462e7be8c1762b603b4b2f651ad46893a48deedef5ebe5761",
1547
+ "size": 1227771776,
1548
+ "artifact_group": "optional_reproduction"
1549
+ },
1550
+ {
1551
+ "path": "reproduction/intermediates/native1440/modules.json",
1552
+ "sha256": "8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460",
1553
+ "size": 229,
1554
+ "artifact_group": "optional_reproduction"
1555
+ },
1556
+ {
1557
+ "path": "reproduction/intermediates/native1440/sentence_bert_config.json",
1558
+ "sha256": "ae8658c7cf91db1a3ceee800af0f9bda2c7ad60a88b5c2b4d6d5cb0a4394c9c1",
1559
+ "size": 59,
1560
+ "artifact_group": "optional_reproduction"
1561
+ },
1562
+ {
1563
+ "path": "reproduction/intermediates/native1440/special_tokens_map.json",
1564
+ "sha256": "6e3204c5a4004719c185007a745d1940471a6fb02521cfa0a00306dbb6bc5903",
1565
+ "size": 1051,
1566
+ "artifact_group": "optional_reproduction"
1567
+ },
1568
+ {
1569
+ "path": "reproduction/intermediates/native1440/tokenizer.json",
1570
+ "sha256": "609d8f4c067cd3950f88594c5a802616cea245823836ef5848ee4fc40aab5b6f",
1571
+ "size": 34363188,
1572
+ "artifact_group": "optional_reproduction"
1573
+ },
1574
+ {
1575
+ "path": "reproduction/intermediates/native1440/tokenizer_config.json",
1576
+ "sha256": "65f203e93f3ccd1943d4317006ec9a4660e1102a085c5bc9f4f934062b318ceb",
1577
+ "size": 46636,
1578
+ "artifact_group": "optional_reproduction"
1579
+ },
1580
+ {
1581
+ "path": "reproduction/intermediates/native960/1_Pooling/config.json",
1582
+ "sha256": "35bbd47d7fdf1e378db6130bcc668b09d1aa67a7bbf7c8f89a9c71f4cc8ebcc6",
1583
+ "size": 312,
1584
+ "artifact_group": "optional_reproduction"
1585
+ },
1586
+ {
1587
+ "path": "reproduction/intermediates/native960/config.json",
1588
+ "sha256": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
1589
+ "size": 1470,
1590
+ "artifact_group": "optional_reproduction"
1591
+ },
1592
+ {
1593
+ "path": "reproduction/intermediates/native960/config_sentence_transformers.json",
1594
+ "sha256": "d73c909f5e2ed5cd0c6bf696491285cb33a28ec13d197bf80ec17e65c7222675",
1595
+ "size": 293,
1596
+ "artifact_group": "optional_reproduction"
1597
+ },
1598
+ {
1599
+ "path": "reproduction/intermediates/native960/model.safetensors",
1600
+ "sha256": "2b1871b4823af473256a564877b7b2b15742c1152478da60bd80c57ebc5de5b3",
1601
+ "size": 1227771776,
1602
+ "artifact_group": "optional_reproduction"
1603
+ },
1604
+ {
1605
+ "path": "reproduction/intermediates/native960/modules.json",
1606
+ "sha256": "8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460",
1607
+ "size": 229,
1608
+ "artifact_group": "optional_reproduction"
1609
+ },
1610
+ {
1611
+ "path": "reproduction/intermediates/native960/sentence_bert_config.json",
1612
+ "sha256": "ae8658c7cf91db1a3ceee800af0f9bda2c7ad60a88b5c2b4d6d5cb0a4394c9c1",
1613
+ "size": 59,
1614
+ "artifact_group": "optional_reproduction"
1615
+ },
1616
+ {
1617
+ "path": "reproduction/intermediates/native960/special_tokens_map.json",
1618
+ "sha256": "6e3204c5a4004719c185007a745d1940471a6fb02521cfa0a00306dbb6bc5903",
1619
+ "size": 1051,
1620
+ "artifact_group": "optional_reproduction"
1621
+ },
1622
+ {
1623
+ "path": "reproduction/intermediates/native960/tokenizer.json",
1624
+ "sha256": "609d8f4c067cd3950f88594c5a802616cea245823836ef5848ee4fc40aab5b6f",
1625
+ "size": 34363188,
1626
+ "artifact_group": "optional_reproduction"
1627
+ },
1628
+ {
1629
+ "path": "reproduction/intermediates/native960/tokenizer_config.json",
1630
+ "sha256": "65f203e93f3ccd1943d4317006ec9a4660e1102a085c5bc9f4f934062b318ceb",
1631
+ "size": 46636,
1632
+ "artifact_group": "optional_reproduction"
1633
+ },
1634
+ {
1635
+ "path": "reproduction/materialize_english_repair_final.py",
1636
+ "sha256": "ca0b206811724ebd03edf617a8164c095fc86477039d4bf354882fda01c91840",
1637
+ "size": 6427,
1638
+ "artifact_group": "optional_reproduction"
1639
+ },
1640
+ {
1641
+ "path": "reproduction/model_code/mmbert_32k/__init__.py",
1642
+ "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
1643
+ "size": 0,
1644
+ "artifact_group": "optional_reproduction"
1645
+ },
1646
+ {
1647
+ "path": "reproduction/model_code/mmbert_32k/pawsx_data.py",
1648
+ "sha256": "7b2474f10e47b013e1cdee4264e5d7a78ce9788cd26cd8cc1b8a605686df4d1d",
1649
+ "size": 1396,
1650
+ "artifact_group": "optional_reproduction"
1651
+ },
1652
+ {
1653
+ "path": "reproduction/model_code/mmbert_32k/representation_contract.py",
1654
+ "sha256": "c4ac38b37507ee154097bd8d932a7e7c0e30d3501f231214ed03926cc7fae66e",
1655
+ "size": 2594,
1656
+ "artifact_group": "optional_reproduction"
1657
+ },
1658
+ {
1659
+ "path": "reproduction/model_code/mmbert_32k/representation_outputs.py",
1660
+ "sha256": "9f2c8cab7a71a08e38c992ef484d093ecebde592023f252db529652a8c759901",
1661
+ "size": 3582,
1662
+ "artifact_group": "optional_reproduction"
1663
+ },
1664
+ {
1665
+ "path": "reproduction/model_code/mmbert_32k/representation_sentence_transformers.py",
1666
+ "sha256": "94f42ecd46e1eb15f2dc29da156fc3ae344ac01212c3beaf9ecacc68f071b250",
1667
+ "size": 2203,
1668
+ "artifact_group": "optional_reproduction"
1669
+ },
1670
+ {
1671
+ "path": "reproduction/model_code/mmbert_32k/reranker_model.py",
1672
+ "sha256": "e3dea40018513553854cc6763384ec50933c8fc2d900cf632d147b46122a1dbe",
1673
+ "size": 13841,
1674
+ "artifact_group": "optional_reproduction"
1675
+ },
1676
+ {
1677
+ "path": "reproduction/model_precision.py",
1678
+ "sha256": "57018a544510d7c218ba2845f41a5b22be7881f30e5273a62f2ae2ddc409673e",
1679
+ "size": 1409,
1680
+ "artifact_group": "optional_reproduction"
1681
+ },
1682
+ {
1683
+ "path": "reproduction/natural_paper_curriculum.py",
1684
+ "sha256": "ff8faca619882140a0ee6ba43a7fe39661d73723e8f69d4a3ef278fb173bc796",
1685
+ "size": 5685,
1686
+ "artifact_group": "optional_reproduction"
1687
+ },
1688
+ {
1689
+ "path": "reproduction/onnx/benchmark_onnx.py",
1690
+ "sha256": "55f037bc242b0c8550787e8c981725c311aa99bceca1d111bba043e9bfd166ca",
1691
+ "size": 4532,
1692
+ "artifact_group": "optional_reproduction"
1693
+ },
1694
+ {
1695
+ "path": "reproduction/onnx/embedding_final_protocol.py",
1696
+ "sha256": "6e06d74cb521d50d7be8e158eeba1b63c5f39dcc7ad6f3636eab2dfc4bf49ee5",
1697
+ "size": 2859,
1698
+ "artifact_group": "optional_reproduction"
1699
+ },
1700
+ {
1701
+ "path": "reproduction/onnx/engine_contract.py",
1702
+ "sha256": "f3f923daa4c001845f7696c8959467fea42410f8a42ed7a919bfeb3592543fc0",
1703
+ "size": 3589,
1704
+ "artifact_group": "optional_reproduction"
1705
+ },
1706
+ {
1707
+ "path": "reproduction/onnx/evaluate_rankings.py",
1708
+ "sha256": "2f1df1d2924eea7f33d61f2b5d7073f3d1da090f9c800e0a19b44f04f5cb49c7",
1709
+ "size": 5304,
1710
+ "artifact_group": "optional_reproduction"
1711
+ },
1712
+ {
1713
+ "path": "reproduction/onnx/materialize_short.py",
1714
+ "sha256": "2ec98797574e082f0c6415dad4ea948274f24f50dd8678c440cf4308bd2877be",
1715
+ "size": 3078,
1716
+ "artifact_group": "optional_reproduction"
1717
+ },
1718
+ {
1719
+ "path": "reproduction/onnx/native_reference.py",
1720
+ "sha256": "34af1d5620e0c19025fe61402ccc19b83077af1791c530415a525e6f507f9542",
1721
+ "size": 7294,
1722
+ "artifact_group": "optional_reproduction"
1723
+ },
1724
+ {
1725
+ "path": "reproduction/onnx/publication-adaptations.json",
1726
+ "sha256": "e76aa559af4b116e9e9cee40a62bde125b9d96ce85d1c0d0b276aae05771da08",
1727
+ "size": 2690,
1728
+ "artifact_group": "optional_reproduction"
1729
+ },
1730
+ {
1731
+ "path": "reproduction/onnx/qualify_onnx.py",
1732
+ "sha256": "699c5298c902d787847d4831df2011c025831d3c4dc9ad8f109617d15841b0b6",
1733
+ "size": 4764,
1734
+ "artifact_group": "optional_reproduction"
1735
+ },
1736
+ {
1737
+ "path": "reproduction/onnx/qualify_ort_ffi.py",
1738
+ "sha256": "142390eb60f3a178fdb7e35425c41dc0d1efe6a2b3132439946f74bd69dfa41d",
1739
+ "size": 7875,
1740
+ "artifact_group": "optional_reproduction"
1741
+ },
1742
+ {
1743
+ "path": "reproduction/onnx/replay_tasks.py",
1744
+ "sha256": "f2e5b396cedcfd35eb88bfbe834a58918ab5a1a0deafc081762833cd75a40e1d",
1745
+ "size": 8690,
1746
+ "artifact_group": "optional_reproduction"
1747
+ },
1748
+ {
1749
+ "path": "reproduction/onnx/rewrite_graph.py",
1750
+ "sha256": "34672e6260b00a6c43298e55e9d082ee0e6c9e3d6102785f3e16bcfd3e56cfd8",
1751
+ "size": 37410,
1752
+ "artifact_group": "optional_reproduction"
1753
+ },
1754
+ {
1755
+ "path": "reproduction/onnx/stable_pooling.py",
1756
+ "sha256": "8b67fdd8b11a975fe6a2a09e33970b7969c3f682f81f0e6cdb1ec534c90bb221",
1757
+ "size": 10439,
1758
+ "artifact_group": "optional_reproduction"
1759
+ },
1760
+ {
1761
+ "path": "reproduction/onnx/summarize_reranker_native_final.py",
1762
+ "sha256": "c8f046944e7b964c60e2a1494d33dc9ff9e7820b41c104461f440a42555ce07e",
1763
+ "size": 7623,
1764
+ "artifact_group": "optional_reproduction"
1765
+ },
1766
+ {
1767
+ "path": "reproduction/onnx/summarize_tasks.py",
1768
+ "sha256": "01815706d056f89350719204b3c2b415f2bf8c5c5aab1e2dc5d151ff19a28115",
1769
+ "size": 4171,
1770
+ "artifact_group": "optional_reproduction"
1771
+ },
1772
+ {
1773
+ "path": "reproduction/onnx_artifacts.py",
1774
+ "sha256": "324d3d4f1de13643e09d64e69e72a562fad9e0d30eada9f793d0aab64e2e56d0",
1775
+ "size": 3937,
1776
+ "artifact_group": "optional_reproduction"
1777
+ },
1778
+ {
1779
+ "path": "reproduction/pack_shared_weights.py",
1780
+ "sha256": "a3d5b3487d4fb231d17652e97da607f477aa1af8ca0ecb753df1529161df5ca4",
1781
+ "size": 16247,
1782
+ "artifact_group": "optional_reproduction"
1783
+ },
1784
+ {
1785
+ "path": "reproduction/pawsx_data.py",
1786
+ "sha256": "7b2474f10e47b013e1cdee4264e5d7a78ce9788cd26cd8cc1b8a605686df4d1d",
1787
+ "size": 1396,
1788
+ "artifact_group": "optional_reproduction"
1789
+ },
1790
+ {
1791
+ "path": "reproduction/portable-fp16/layer-11/model_sdpa_fp16.onnx",
1792
+ "sha256": "3627d6236ec8267244ab2ed93306afaa4ac50d22b7c3a445ca9607ffe3607b61",
1793
+ "size": 83516,
1794
+ "artifact_group": "optional_reproduction"
1795
+ },
1796
+ {
1797
+ "path": "reproduction/portable-fp16/layer-11/model_sdpa_fp16.onnx.data",
1798
+ "sha256": "80afb7e694c2007770afa4114b179e10483678795a65a5d92069dccc6c1fd562",
1799
+ "size": 503578624,
1800
+ "artifact_group": "optional_reproduction"
1801
+ },
1802
+ {
1803
+ "path": "reproduction/portable-fp16/layer-22/model_sdpa_fp16.onnx",
1804
+ "sha256": "bfaac236145f0249549a953d5a20c377fe4f83b4a97482e7e7c4ed21a76ddaa9",
1805
+ "size": 163996,
1806
+ "artifact_group": "optional_reproduction"
1807
+ },
1808
+ {
1809
+ "path": "reproduction/portable-fp16/layer-22/model_sdpa_fp16.onnx.data",
1810
+ "sha256": "7244198fc1b0876596c2317c496f9aac16f59403912a1f5e714b743a11807486",
1811
+ "size": 613941248,
1812
+ "artifact_group": "optional_reproduction"
1813
+ },
1814
+ {
1815
+ "path": "reproduction/portable-fp16/layer-3/model_sdpa_fp16.onnx",
1816
+ "sha256": "e351f358f31f2ccaf927f3d204d114af03a4e4b3eb678029051b542fbe7cb01c",
1817
+ "size": 26115,
1818
+ "artifact_group": "optional_reproduction"
1819
+ },
1820
+ {
1821
+ "path": "reproduction/portable-fp16/layer-3/model_sdpa_fp16.onnx.data",
1822
+ "sha256": "0c6f59ad039a98dd5bd841b19f07c5a3d92eb16ad1a3bd44478f584638e5a982",
1823
+ "size": 423362560,
1824
+ "artifact_group": "optional_reproduction"
1825
+ },
1826
+ {
1827
+ "path": "reproduction/portable-fp16/layer-6/model_sdpa_fp16.onnx",
1828
+ "sha256": "1820f63b2ddff60bb5fffc6591762db4db95c5cf646b8bdd6abec9b347e066af",
1829
+ "size": 47438,
1830
+ "artifact_group": "optional_reproduction"
1831
+ },
1832
+ {
1833
+ "path": "reproduction/portable-fp16/layer-6/model_sdpa_fp16.onnx.data",
1834
+ "sha256": "46e2f58be8477377133237c2a7e745218d5de4c555e0315af6c9f1047e083a54",
1835
+ "size": 453443584,
1836
+ "artifact_group": "optional_reproduction"
1837
+ },
1838
+ {
1839
+ "path": "reproduction/prepare_embedding_native_final.py",
1840
+ "sha256": "9e9d21f02cf6277b664b729fb52d28e939b1d8dbf969577c7c67be33e7c22db2",
1841
+ "size": 9546,
1842
+ "artifact_group": "optional_reproduction"
1843
+ },
1844
+ {
1845
+ "path": "reproduction/prepare_english_repair_data.py",
1846
+ "sha256": "20d9057af34adbd48205ed2af20ef6eab2305669285c37e51c22a0de3760715c",
1847
+ "size": 852,
1848
+ "artifact_group": "optional_reproduction"
1849
+ },
1850
+ {
1851
+ "path": "reproduction/prepare_native_natural_constraints.py",
1852
+ "sha256": "17deb434fa8bf0834ec7e9986b90d7cfa3adb35e05ac5b67f66b808032bd12c6",
1853
+ "size": 2251,
1854
+ "artifact_group": "optional_reproduction"
1855
+ },
1856
+ {
1857
+ "path": "reproduction/prepare_natural_repair2.py",
1858
+ "sha256": "d932440366b3684dc22f55261d6df66f849b9c1f80db196cb420c25873202c2a",
1859
+ "size": 1534,
1860
+ "artifact_group": "optional_reproduction"
1861
+ },
1862
+ {
1863
+ "path": "reproduction/prepare_reranker_native_final_v2.py",
1864
+ "sha256": "61e7e1b73062c00f222025b93bf1f96994cdcaabf84912e3cdd327236f2f00ba",
1865
+ "size": 6652,
1866
+ "artifact_group": "optional_reproduction"
1867
+ },
1868
+ {
1869
+ "path": "reproduction/prepare_reranker_next_final.py",
1870
+ "sha256": "17df98184bca744a5668316f63b7103bebf8527ff2577f1ad69e6745b835e1b0",
1871
+ "size": 2816,
1872
+ "artifact_group": "optional_reproduction"
1873
+ },
1874
+ {
1875
+ "path": "reproduction/probe_embedding_matched_training_step.py",
1876
+ "sha256": "18a2b13a9ec034ab6aacfccfd3be3de1857bc1ca0a8205192c1be07804f9dc38",
1877
+ "size": 6135,
1878
+ "artifact_group": "optional_reproduction"
1879
+ },
1880
+ {
1881
+ "path": "reproduction/probe_embedding_native_six_layers.py",
1882
+ "sha256": "124739a4ca3bc2c7586cc05350d114f411cb0210f7d00dd629d7675e5dd3e3b8",
1883
+ "size": 6371,
1884
+ "artifact_group": "optional_reproduction"
1885
+ },
1886
+ {
1887
+ "path": "reproduction/protocols/embedding-independent-final-v1.json",
1888
+ "sha256": "37d06626c7896914cef6a7130692ab4cd02af69c81c6530841f23f152b672780",
1889
+ "size": 5258,
1890
+ "artifact_group": "optional_reproduction"
1891
+ },
1892
+ {
1893
+ "path": "reproduction/protocols/native-composition-final-tooling-freeze-v2.json",
1894
+ "sha256": "593e886bae59af84242646f2a972532c287b10ac492b02be278adbb437e914e8",
1895
+ "size": 924,
1896
+ "artifact_group": "optional_reproduction"
1897
+ },
1898
+ {
1899
+ "path": "reproduction/protocols/native-composition-plan-v1.json",
1900
+ "sha256": "65fb796aa7660e0142fb1216c7f2f9a575a27aab7c9658032782830f2060a8da",
1901
+ "size": 3613,
1902
+ "artifact_group": "optional_reproduction"
1903
+ },
1904
+ {
1905
+ "path": "reproduction/protocols/native-composition-source-freeze-v1.json",
1906
+ "sha256": "09cd7d878239c8e01dc3d9ea155e1768c57e4701e3f058cbf2b8bede9f3dba33",
1907
+ "size": 1123,
1908
+ "artifact_group": "optional_reproduction"
1909
+ },
1910
+ {
1911
+ "path": "reproduction/protocols/native-rows-repair-plan.json",
1912
+ "sha256": "4d1a3444999cfb2e2043395fc8fd92b4b7ab855f43c61f790a7990ae14d449da",
1913
+ "size": 4223,
1914
+ "artifact_group": "optional_reproduction"
1915
+ },
1916
+ {
1917
+ "path": "reproduction/publication-adaptations.json",
1918
+ "sha256": "3631a16aa4ee7282e92f4134c58ca3274873a8516c0b6b6e6218b30803db1ef6",
1919
+ "size": 43609,
1920
+ "artifact_group": "optional_reproduction"
1921
+ },
1922
+ {
1923
+ "path": "reproduction/publication-status.json",
1924
+ "sha256": "caf2e19df3a5453f82bcceab62384d0a555049d6afe100023bb56f65cd5285de",
1925
+ "size": 580,
1926
+ "artifact_group": "optional_reproduction"
1927
+ },
1928
+ {
1929
+ "path": "reproduction/qualify_standard_api.py",
1930
+ "sha256": "958aa16c700c01536a93decb99f2cda41f3cb33c2833382f1437d2c5fac87143",
1931
+ "size": 3909,
1932
+ "artifact_group": "optional_reproduction"
1933
+ },
1934
+ {
1935
+ "path": "reproduction/report_reranker_short_precisions.py",
1936
+ "sha256": "f83c8d7b078ad0a8622f9b12ce8ce6a4a873c32dd5f044fc18e4299049154b12",
1937
+ "size": 3434,
1938
+ "artifact_group": "optional_reproduction"
1939
+ },
1940
+ {
1941
+ "path": "reproduction/requirements.txt",
1942
+ "sha256": "5d0894dcba291fd6e45ace684bc1ef5d09dc66514f5064d83c04603424fc8fa9",
1943
+ "size": 332,
1944
+ "artifact_group": "optional_reproduction"
1945
+ },
1946
+ {
1947
+ "path": "reproduction/run_pawsx_baseline.py",
1948
+ "sha256": "c577f258f72c268c5926e41b73f6caf54272d5285b7f0c72ad6e47aea943c040",
1949
+ "size": 6315,
1950
+ "artifact_group": "optional_reproduction"
1951
+ },
1952
+ {
1953
+ "path": "reproduction/run_reranker_baseline.py",
1954
+ "sha256": "bf74aa30d5e967c401159d69b463f618d478ebee98eece7c7d18cf82da02c6ed",
1955
+ "size": 4153,
1956
+ "artifact_group": "optional_reproduction"
1957
+ },
1958
+ {
1959
+ "path": "reproduction/run_text_baseline.py",
1960
+ "sha256": "7373f901bc9d22276d399adf3b1f899d046326a94c3214e1e264fb874e602cd7",
1961
+ "size": 6496,
1962
+ "artifact_group": "optional_reproduction"
1963
+ },
1964
+ {
1965
+ "path": "reproduction/select_english_repair.py",
1966
+ "sha256": "b47abc7fc777be7092c458c7b1a74e549031726d20bf8497f6f78a6798202c24",
1967
+ "size": 6206,
1968
+ "artifact_group": "optional_reproduction"
1969
+ },
1970
+ {
1971
+ "path": "reproduction/select_fixed_native_dev.py",
1972
+ "sha256": "4d1fd2d94b78a4d2bb60fd6ed80bd41ac515d47de193597091a3b6a8de6d3ffa",
1973
+ "size": 4055,
1974
+ "artifact_group": "optional_reproduction"
1975
+ },
1976
+ {
1977
+ "path": "reproduction/select_vela_dev_precision.py",
1978
+ "sha256": "79bd41c0c4bc13f744fe95b7cabd0e0c6d7feac02a5c7e794f5c5862f01a0290",
1979
+ "size": 3089,
1980
+ "artifact_group": "optional_reproduction"
1981
+ },
1982
+ {
1983
+ "path": "reproduction/select_vela_fp16_dev.py",
1984
+ "sha256": "d7c5c95ba084b567f865859a0267201e7eb62fb1ba9eb5dd3548b844210743c7",
1985
+ "size": 2950,
1986
+ "artifact_group": "optional_reproduction"
1987
+ },
1988
+ {
1989
+ "path": "reproduction/summarize_embedding_native_final.py",
1990
+ "sha256": "723ce39688869cdaf14040dfa8954cb803c8ce68f35d18ae6342a60780b4e15e",
1991
+ "size": 5476,
1992
+ "artifact_group": "optional_reproduction"
1993
+ },
1994
+ {
1995
+ "path": "reproduction/summarize_embedding_successor_final.py",
1996
+ "sha256": "37be7d04d6490a7a1158ef3a8026bea83c72cd0114c95224f3eb0cb626003028",
1997
+ "size": 8795,
1998
+ "artifact_group": "optional_reproduction"
1999
+ },
2000
+ {
2001
+ "path": "reproduction/summarize_reranker_native_final.py",
2002
+ "sha256": "c8f046944e7b964c60e2a1494d33dc9ff9e7820b41c104461f440a42555ce07e",
2003
+ "size": 7623,
2004
+ "artifact_group": "optional_reproduction"
2005
+ },
2006
+ {
2007
+ "path": "reproduction/test_dev_selection.py",
2008
+ "sha256": "d17396a03342b9522936eb85677232c663d08436201329dbb86f2b1b66be6092",
2009
+ "size": 2890,
2010
+ "artifact_group": "optional_reproduction"
2011
+ },
2012
+ {
2013
+ "path": "reproduction/test_embedding_composition_selection.py",
2014
+ "sha256": "cc0f870286fe08b3a947530eb65577ca30ec63501a732897838632d1b5b154f5",
2015
+ "size": 4609,
2016
+ "artifact_group": "optional_reproduction"
2017
+ },
2018
+ {
2019
+ "path": "reproduction/test_embedding_final_protocol.py",
2020
+ "sha256": "9d3f29db76492446f07644fcfc07d0ccff45a28cecb56b75b9ee325295d77cc8",
2021
+ "size": 3283,
2022
+ "artifact_group": "optional_reproduction"
2023
+ },
2024
+ {
2025
+ "path": "reproduction/test_embedding_final_summary.py",
2026
+ "sha256": "fd6c7c72d7143b5a0e2ab5e3de8f9ef5d7f456370bf8579356f083796e0f4eaa",
2027
+ "size": 5968,
2028
+ "artifact_group": "optional_reproduction"
2029
+ },
2030
+ {
2031
+ "path": "reproduction/test_embedding_interpolation.py",
2032
+ "sha256": "c504097c24cc3ada602ad0431cc9b34c7c21f5a64631ba48392f8dc9d966c20d",
2033
+ "size": 1819,
2034
+ "artifact_group": "optional_reproduction"
2035
+ },
2036
+ {
2037
+ "path": "reproduction/test_embedding_native_composition.py",
2038
+ "sha256": "ee7043ff0316b3be62630726d79d664ed1edc52673641a81c9e7c0a4fa4e1f51",
2039
+ "size": 2205,
2040
+ "artifact_group": "optional_reproduction"
2041
+ },
2042
+ {
2043
+ "path": "reproduction/test_embedding_native_training_math.py",
2044
+ "sha256": "3a7708eaca7260969a1312bdc9ddebe94ffb3de3ef4e3a3f9669b92b569c5e6a",
2045
+ "size": 3224,
2046
+ "artifact_group": "optional_reproduction"
2047
+ },
2048
+ {
2049
+ "path": "reproduction/test_embedding_unpadded_native_math.py",
2050
+ "sha256": "24851ab57a92d14468e3df139083308c678c4a967dbdfe6964bc1bebd9288f49",
2051
+ "size": 2659,
2052
+ "artifact_group": "optional_reproduction"
2053
+ },
2054
+ {
2055
+ "path": "reproduction/test_english_repair_boundaries.py",
2056
+ "sha256": "e5e8fe9f1196ecb0fcf8c9f8a4449963b465c4ac7c371acfc2cf3ef5e13ecd03",
2057
+ "size": 3434,
2058
+ "artifact_group": "optional_reproduction"
2059
+ },
2060
+ {
2061
+ "path": "reproduction/test_english_selection.py",
2062
+ "sha256": "c5e580ce436a230762bc1bd3696645e542e681d7408023cc6af56f648235c738",
2063
+ "size": 3005,
2064
+ "artifact_group": "optional_reproduction"
2065
+ },
2066
+ {
2067
+ "path": "reproduction/test_fixed_native_selection.py",
2068
+ "sha256": "ed08d74d3bb625b268a62a181149b3293c27f0631554afd28bd37f17e5615e69",
2069
+ "size": 2357,
2070
+ "artifact_group": "optional_reproduction"
2071
+ },
2072
+ {
2073
+ "path": "reproduction/test_native_rows_curriculum.py",
2074
+ "sha256": "c45e49aa76e0a3ca36358c7fd4ea3e5dda5ee9a3e725181c912e2ee1dac2b732",
2075
+ "size": 1317,
2076
+ "artifact_group": "optional_reproduction"
2077
+ },
2078
+ {
2079
+ "path": "reproduction/test_native_rows_selection.py",
2080
+ "sha256": "28d461eaadf52feb48961ece9e94cdda4b0bd988bd206338c8bf9a5680733664",
2081
+ "size": 2685,
2082
+ "artifact_group": "optional_reproduction"
2083
+ },
2084
+ {
2085
+ "path": "reproduction/test_natural_deployment_validation.py",
2086
+ "sha256": "d92624aad0a80a096c9f0d7f64f254a8af446d1f69877cd3e31865d0b7453614",
2087
+ "size": 2348,
2088
+ "artifact_group": "optional_reproduction"
2089
+ },
2090
+ {
2091
+ "path": "reproduction/test_natural_deployment_validation_v2.py",
2092
+ "sha256": "ebd9a2ab245a34643e116ec4f148ac6d16bd38cbb40bd68ab6518a36f740b23a",
2093
+ "size": 2571,
2094
+ "artifact_group": "optional_reproduction"
2095
+ },
2096
+ {
2097
+ "path": "reproduction/test_natural_paper_curriculum.py",
2098
+ "sha256": "0658f66102a765aed10cf988b33d30a9d1ac8875762b93b9a2606f0c4b0a5a4a",
2099
+ "size": 2190,
2100
+ "artifact_group": "optional_reproduction"
2101
+ },
2102
+ {
2103
+ "path": "reproduction/test_precision_reader.py",
2104
+ "sha256": "1f32314311c617b4edaf22a0c98961a54e064673e77bee20a0adadc6b63c2fde",
2105
+ "size": 4365,
2106
+ "artifact_group": "optional_reproduction"
2107
+ },
2108
+ {
2109
+ "path": "reproduction/test_reproduction_inputs.py",
2110
+ "sha256": "f16628b915b9e249cd756f1f2c13fb23eab5bf9df4ecc3eac0cf3463e087a313",
2111
+ "size": 1786,
2112
+ "artifact_group": "optional_reproduction"
2113
+ },
2114
+ {
2115
+ "path": "reproduction/test_reranker_native_repair.py",
2116
+ "sha256": "7c3fe44f7e888c0c547874cb7dc5debb78de34a47919a78801ab220244fcc47f",
2117
+ "size": 2951,
2118
+ "artifact_group": "optional_reproduction"
2119
+ },
2120
+ {
2121
+ "path": "reproduction/test_reranker_native_repair_v2.py",
2122
+ "sha256": "54d2654860023c01fb847595850052bda5825996c010478b41f8e8d0cb444d29",
2123
+ "size": 3107,
2124
+ "artifact_group": "optional_reproduction"
2125
+ },
2126
+ {
2127
+ "path": "reproduction/train_embedding_english_repair.py",
2128
+ "sha256": "95b846f096b7a953c40294bd6d0310c40b215f9bc78f0475d70507e402d4d698",
2129
+ "size": 23052,
2130
+ "artifact_group": "optional_reproduction"
2131
+ },
2132
+ {
2133
+ "path": "reproduction/train_embedding_english_repair_matched.py",
2134
+ "sha256": "6a6aad6611366c75f76b2e409803d1d4fdf6df4a1592d4f9a22e20a49132164f",
2135
+ "size": 24209,
2136
+ "artifact_group": "optional_reproduction"
2137
+ },
2138
+ {
2139
+ "path": "reproduction/train_embedding_english_repair_native.py",
2140
+ "sha256": "de9491dfbb785730a6a0bcd86a308bed57fcea80ac1b747607c784c454e720fd",
2141
+ "size": 24222,
2142
+ "artifact_group": "optional_reproduction"
2143
+ },
2144
+ {
2145
+ "path": "reproduction/train_embedding_native_rows_repair.py",
2146
+ "sha256": "ec84262bfd89e4e6b6da9a7545b9861d4f43e128b3e5e8265b6d2966f1486714",
2147
+ "size": 24202,
2148
+ "artifact_group": "optional_reproduction"
2149
+ },
2150
+ {
2151
+ "path": "reproduction/train_reranker_trial1.py",
2152
+ "sha256": "be3be0cbaeeaac6f54b8c3824f27236eef5e5d2aa88ac1dfb6281071a0324436",
2153
+ "size": 14538,
2154
+ "artifact_group": "optional_reproduction"
2155
+ },
2156
+ {
2157
+ "path": "reproduction/train_vela_long_repair.py",
2158
+ "sha256": "2fa280da4d49d5de129d08fdb3275806a37459037f819e63c4f0458aad6c2633",
2159
+ "size": 19613,
2160
+ "artifact_group": "optional_reproduction"
2161
+ },
2162
+ {
2163
+ "path": "reproduction/train_vela_long_repair_clean.py",
2164
+ "sha256": "c6e496d8875501d9c926d18e384bfb58f57754ef7fe9ca556b39a8f4c29899c1",
2165
+ "size": 20615,
2166
+ "artifact_group": "optional_reproduction"
2167
+ },
2168
+ {
2169
+ "path": "reproduction/train_vela_natural_repair.py",
2170
+ "sha256": "7ccfc81d9b2aa24a850715b66380eee8fc54c43ebf906a1339942e0d223e4323",
2171
+ "size": 23290,
2172
+ "artifact_group": "optional_reproduction"
2173
+ },
2174
+ {
2175
+ "path": "reproduction/train_vela_natural_repair_v2.py",
2176
+ "sha256": "c0983a0921c7d2f55c0fd5e1925444b1b0247531036be5c1dd657d9feb4e2630",
2177
+ "size": 23442,
2178
+ "artifact_group": "optional_reproduction"
2179
+ },
2180
+ {
2181
+ "path": "reproduction/train_vela_natural_repair_v3.py",
2182
+ "sha256": "7826562ced965b3bd82f449070733138ce12042e451c926b7cbc119233967a53",
2183
+ "size": 25162,
2184
+ "artifact_group": "optional_reproduction"
2185
+ },
2186
+ {
2187
+ "path": "reproduction/train_vela_natural_repair_v3b.py",
2188
+ "sha256": "bec2765a7a0545ec44a77c8b5f9e44ef7113f9e61345a32fbc276fd127d5ac8f",
2189
+ "size": 25168,
2190
+ "artifact_group": "optional_reproduction"
2191
+ },
2192
+ {
2193
+ "path": "reproduction/train_vela_reranker_native_repair.py",
2194
+ "sha256": "dedd3dffc293adde75dcdd983c3441ccac3113f32ed909192346531c14f11e38",
2195
+ "size": 13895,
2196
+ "artifact_group": "optional_reproduction"
2197
+ },
2198
+ {
2199
+ "path": "reproduction/train_vela_reranker_native_repair_v2.py",
2200
+ "sha256": "3a99f00a86c5052356a63208c5f7b943e71e4d5f264625306349bb400d02d47b",
2201
+ "size": 14058,
2202
+ "artifact_group": "optional_reproduction"
2203
+ },
2204
+ {
2205
+ "path": "reproduction/train_vela_text.py",
2206
+ "sha256": "ef1429d7c1b846742ec0381574e8f02fd420a45b875d21f426aa552bc4fbb1b0",
2207
+ "size": 17882,
2208
+ "artifact_group": "optional_reproduction"
2209
+ },
2210
+ {
2211
+ "path": "reproduction/vela_long_quality_data.py",
2212
+ "sha256": "a9415198fa6e1487bea8eacc6d9d7090f114557b93b8ae53020f025ae9d26af7",
2213
+ "size": 9783,
2214
+ "artifact_group": "optional_reproduction"
2215
+ },
2216
+ {
2217
+ "path": "reproduction/vela_text_data.py",
2218
+ "sha256": "cd9ba057424b85f28cefb56bbcf535f3b28f622cc82fe50350ef90675c309d4d",
2219
+ "size": 5109,
2220
+ "artifact_group": "optional_reproduction"
2221
+ },
2222
+ {
2223
+ "path": "sentence_bert_config.json",
2224
+ "sha256": "0b1d25d4d13c72c255a7eaaf8921ca481c4cd61ad894e7209c52dc5e1ac3f3bd",
2225
+ "size": 56,
2226
+ "artifact_group": "native_and_documentation"
2227
+ },
2228
+ {
2229
+ "path": "special_tokens_map.json",
2230
+ "sha256": "6e3204c5a4004719c185007a745d1940471a6fb02521cfa0a00306dbb6bc5903",
2231
+ "size": 1051,
2232
+ "artifact_group": "native_and_documentation"
2233
+ },
2234
+ {
2235
+ "path": "tokenizer.json",
2236
+ "sha256": "5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c",
2237
+ "size": 34363443,
2238
+ "artifact_group": "native_and_documentation"
2239
+ },
2240
+ {
2241
+ "path": "tokenizer_config.json",
2242
+ "sha256": "4048e30832fdfe352ff622328d23590b2f2d9a7661ebb48cabe4ec11427697f0",
2243
+ "size": 47955,
2244
+ "artifact_group": "native_and_documentation"
2245
+ },
2246
+ {
2247
+ "path": "training_provenance.json",
2248
+ "sha256": "a4f35f0898a37fbaad1a2ff6a4c04a5aa8af0bffec07e09f0cf4b6aaccef7f5c",
2249
+ "size": 10501,
2250
+ "artifact_group": "native_and_documentation"
2251
+ }
2252
+ ],
2253
+ "file_count": 374,
2254
+ "total_bytes": 13199817279,
2255
+ "manifest_self_reference": "This file is deliberately excluded from its own file list.",
2256
+ "runtime_download_scope": "Native and per-layer ONNX files are runtime artifacts. reproduction/ contains optional training intermediates, source FP16 exports and evidence; consumers may exclude it.",
2257
+ "checks": {
2258
+ "all_four_quality_final": true,
2259
+ "all_740_ck_numerical": true,
2260
+ "all_four_ck_task_replay": true,
2261
+ "rust_ort_cpu_and_rocm_abi": true,
2262
+ "standard_transformers_cpu_bit_identical": true,
2263
+ "all_four_public_composition_cpu_bit_identical": true,
2264
+ "candle_cpu_long_reference": true
2265
+ }
2266
+ }
README.md ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - multilingual
4
+ license: apache-2.0
5
+ library_name: transformers
6
+ pipeline_tag: sentence-similarity
7
+ base_model: llm-semantic-router/mmbert-embed-32k-2d-matryoshka
8
+ tags:
9
+ - semantic-router
10
+ - vela
11
+ - text-embeddings
12
+ - matryoshka
13
+ ---
14
+
15
+ # Vela 1.0 · Embedding
16
+
17
+ **Find context by meaning.**
18
+
19
+ 307M · Multilingual · 32K context
20
+
21
+ [Collection](https://huggingface.co/collections/llm-semantic-router/vela-10-router-models-6aa555ba70cc6997d6d67798) · [vLLM Semantic Router](https://github.com/vllm-project/semantic-router)
22
+
23
+ Vela Embedding turns requests and documents into comparable vectors. Retrieve useful context, match requests with examples, and group related conversations.
24
+
25
+ ## What it brings
26
+
27
+ - **A choice of vector sizes.** Four depths and five dimensions offer measured tradeoffs.
28
+ - **Longer documents.** Encode up to 32K tokens.
29
+
30
+ ## At a glance
31
+
32
+ | Evaluation | Previous model | Vela |
33
+ |---|---:|---:|
34
+ | Multilingual judged-pool retrieval · 48 queries · nDCG@10 | 0.807 | **0.814** |
35
+ | Constructed long-document retrieval · 1,152 scenarios · pair accuracy | 55.6% | **57.5%** |
36
+
37
+ Native FP16; gains vary by language. Natural-paper and 32K end-position quality were retained. AMD ONNX has separate results, including a 1.04 percentage-point decrease at the 32K end position.
38
+
39
+ ## Quick start
40
+
41
+ Install `torch` and `transformers==4.57.6`, then encode with the standard Transformers API:
42
+
43
+ ```python
44
+ import torch
45
+ import torch.nn.functional as F
46
+ from transformers import AutoModel, AutoTokenizer
47
+
48
+ model_id = "llm-semantic-router/Vela-1.0-Encoder-307M-Embedding"
49
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
50
+ model = AutoModel.from_pretrained(model_id).eval()
51
+ inputs = tokenizer(
52
+ ["Find evidence about climate change.", "查找气候变化的科学证据。"],
53
+ padding=True, truncation=False, return_tensors="pt",
54
+ )
55
+ if inputs["input_ids"].shape[1] > 32768:
56
+ raise ValueError("Input exceeds 32,768 tokens, including special tokens")
57
+ with torch.inference_mode():
58
+ hidden = model(**inputs).last_hidden_state.float()
59
+ mask = inputs["attention_mask"].unsqueeze(-1).float()
60
+ vectors = F.normalize((hidden * mask).sum(1) / mask.sum(1), dim=1)
61
+ print(vectors.shape) # torch.Size([2, 768])
62
+ ```
63
+
64
+ The CPU example returns normalized 768-dimensional vectors. A larger dot product indicates greater similarity, not a calibrated probability. The default is 22 layers and 768 dimensions; shallow exits reduce quality.
65
+
66
+ ## The Vela family
67
+
68
+ Choose the signals your router needs. Every model has a focused role.
69
+
70
+ | Role | Models |
71
+ |---|---|
72
+ | Understand requests | [Domain](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-Domain) · [Feedback](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-Feedback) · [Modality](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-Modality) |
73
+ | Detect risks | PromptGuard¹ · [PII](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-PII) · Safety¹ · Hazard¹ |
74
+ | Decide when to verify | [FactCheck](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-FactCheck) |
75
+ | Retrieve context | [Embedding](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-Embedding) · [Reranker](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M-Reranker) |
76
+ | Build new capabilities | [Encoder](https://huggingface.co/llm-semantic-router/Vela-1.0-Encoder-307M) |
77
+
78
+ ¹ Coming soon. Explore available models in the [Vela collection](https://huggingface.co/collections/llm-semantic-router/vela-10-router-models-6aa555ba70cc6997d6d67798).
79
+
80
+ [Documentation and evaluation](TECHNICAL.md)
RELEASE_STATUS.json ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "All frozen model-quality and engine conditions passed; ready for publication review; not yet published",
3
+ "publishable": true,
4
+ "model_id": "llm-semantic-router/Vela-1.0-Encoder-307M-Embedding",
5
+ "selected_weights_sha256": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
6
+ "selected_config_sha256": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
7
+ "selected_tokenizer_sha256": "5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c",
8
+ "selection_evidence": {
9
+ "development_report_sha256": "4b4f4f0ff8b4aeeff1f9a14889a249b84895ba8429dee13261fc9dd3cc27e816",
10
+ "selected_candidate": "clean-0.45",
11
+ "composition_addendum_sha256": "65fb796aa7660e0142fb1216c7f2f9a575a27aab7c9658032782830f2060a8da",
12
+ "artifact_manifest_sha256": "6661160e3b2fe54c638f4bd87a4a70622ceb3a9ff0ce2fb59ed2aa4548dbb534"
13
+ },
14
+ "independent_final_evidence": {
15
+ "summary_sha256": "276cfac78ac80767b8aafc2386d7d3f43e4f1f8a512ffcb8be45e8fec3c2fa01",
16
+ "all_four_passed": true,
17
+ "configuration": "22x768",
18
+ "precision": "native fp16"
19
+ },
20
+ "engine_qualification": {
21
+ "portable_export": {
22
+ "fp32_cases": 64,
23
+ "fp16_cases": 64,
24
+ "dimensions_per_case": 5,
25
+ "passed": true
26
+ },
27
+ "amd_ck": {
28
+ "configuration_checks": 740,
29
+ "passed": true,
30
+ "same_input_task_replay_all_four_passed": true
31
+ },
32
+ "rust_ort_ffi": {
33
+ "cpu_successful_calls": 53,
34
+ "rocm_successful_calls": 59,
35
+ "rejections_each": 4,
36
+ "passed": true
37
+ },
38
+ "standard_transformers_cpu": {
39
+ "cases": 6,
40
+ "hidden_and_vectors_byte_identical": true
41
+ },
42
+ "warm_benchmark": {
43
+ "cases": 40,
44
+ "warmup": 5,
45
+ "repeats": 30,
46
+ "completed": true
47
+ },
48
+ "candle_cpu": {
49
+ "passed": true,
50
+ "precision": "CPU-to-CPU FP32, no autocast",
51
+ "actual_numerical_calls": 60,
52
+ "functional_and_derived_checks": 26,
53
+ "additional_short_calls": 80,
54
+ "actual_32768_token_calls": 4,
55
+ "long_dimensions_actually_called": [
56
+ 768
57
+ ],
58
+ "smaller_long_dimensions_derived_checks": 16,
59
+ "b1_only": true,
60
+ "max_abs_error_actual_calls": 2.5391578674316406e-05,
61
+ "max_abs_error_derived_long_dimensions": 3.7863850593566895e-05,
62
+ "min_cosine_fp64": 0.9999999907799374,
63
+ "report_sha256": "d16edae02cb85ed93be89d562d797a5e5c9aeaaa61609b7ec65f6817f4473fc4",
64
+ "aggregate_sha256": "4a7812c783e77f3365e3c041ba14aebc5fe27b2f7154576a6da2401e12149383",
65
+ "full_32k_single_call_seconds": 1863.06,
66
+ "timing_scope": "Single functional qualification call, not a warm benchmark"
67
+ }
68
+ },
69
+ "notes": "Natural-paper and 32K-end native results are retention. CK tail is 1.0417 percentage points below native and within the frozen 5-point tolerance. No prior candidate engine result substitutes for these weights."
70
+ }
TECHNICAL.md ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Vela text embedding: technical evidence
2
+
3
+ This record binds the immutable weights that passed all four independently frozen final quality conditions. Fresh portable ONNX exports, AMD CK inference, actual Rust ONNX binding calls, and same-input deployment task replay use these weights. Candle CPU FFI also passed a separate CPU-to-CPU FP32 comparison through all four 32K depths. Historical quality or deployment results do not qualify later weights. See `RELEASE_STATUS.json` for current digests and status.
4
+
5
+ ## Model and representation
6
+
7
+ The architecture has 306,939,648 encoder parameters, 22 layers, width 768, and a maximum sequence budget of 32,768 tokens including special tokens. The original task ancestry is `llm-semantic-router/mmbert-embed-32k-2d-matryoshka` at `c544097d7603b10c546560e8be5d7fe0965a7909`, whose weight SHA-256 is `173eb71beab911ddccf5c23d46129890894f1b741bedbf15e6d0f46084da3391`. This is not a continuation of the separately released Vela Base weights.
8
+
9
+ The explicit representation contract is raw intermediate hidden states, final normalization exactly once at the complete 22-layer output, attention-mask mean pooling accumulated in FP32, truncation of the pooled feature dimension, then FP32 L2 normalization. Native inference disables autocast and preserves the original FP32 rotary buffers while loading the requested parameter precision. Raw hidden-state ONNX outputs require the same pooling and normalization after the graph. The standard Transformers FP32 CPU example on the homepage was executed on six English/Chinese/Arabic/Japanese/Spanish inputs: hidden states and normalized vectors were byte-identical to the explicit full-layer reader. Early exits and lower-precision loading require the documented reader and precision helpers; the homepage example does not promise that arbitrary pooling or `.half()` conversions preserve this contract.
10
+
11
+ The default remains 22 layers and 768 dimensions. Lower exits and dimensions require separate measured results; interface availability does not establish lossless quality. A valid 32K input and finite logits establish execution, not long-document retrieval accuracy.
12
+
13
+ ## Data and evaluation separation
14
+
15
+ The English repair starts again from the original task weights. It combines MIRACL training query/passage pairs, Natural Questions training-derived query/answer passages, SciFact official training claims and evidence abstracts, STS-B training pairs, and full QASPER training papers. Both SUPPORT and CONTRADICT SciFact evidence are relevant documents for retrieval. Mined and in-batch alternatives are unjudged, not human-verified irrelevant documents.
16
+
17
+ Natural Questions development uses reserved answer groups from its training-derived source, not the official NQ benchmark. Its 128-query/128-document pool is comparatively easy. SciFact development comprises 48 separately reserved training claims and the 5,183-document corpus; those claims and their positive articles are excluded from training. Keep these measurements separate from the historical 300-query BEIR SciFact result. Component-specific attribution is in `ENGLISH_RETRIEVAL_NOTICES.md`.
18
+
19
+ The original five development conditions remain fixed: short retrieval at least 0.7463755866448661; constructed long retrieval at least 0.5525; 32K tail at least 0.5333333333333333; STS Spearman at least 0.850266278642743; natural-paper retrieval at least 0.3324478867607128. New English development retention is original minus 0.005: NQ at least 0.9586264788148332 and SciFact at least 0.6428299811637794. Measurements use the fixed native FP16 reader. Candidates must satisfy all seven before the frozen final is evaluated.
20
+
21
+ The successor final reserves 64 QASPER validation papers and 48 MIRACL query/positive-article groups: 16 Arabic, 16 Spanish, 16 Japanese, and zero Chinese groups satisfying the recorded historical exposure exclusions. QASPER papers reach 21,816 tokens; this natural set is not a 32K natural-paper benchmark. Constructed retrieval covers 4K/8K/16K/32K, three target positions, and two backgrounds per query, totaling 1,152 scenarios. The shared background corpus has historical exposure; target-group exclusion does not make all background documents unseen. Upstream pretraining exposure is unknown.
22
+
23
+ Embedding's independently frozen final terms use the same native FP16 22×768 representation for both models. Short MIRACL nDCG must be strictly higher as a point estimate; natural QASPER nDCG must be at least original minus 0.005; constructed-long macro pair accuracy at least original minus 0.01; and the 32K-end slice at least original minus 0.05. All four must pass. Confidence intervals are reported, not used to select a checkpoint or claim significance in advance. Natural length reporting is derived from the frozen input records: there are zero exact-32K natural papers, whereas the constructed set has genuine 32K scenarios.
24
+
25
+ The previous interpolation candidate failed its separate 64-paper final: nDCG changed from 0.3471103064 to 0.3374762319, exceeding the fixed 0.005 regression budget. That candidate is not publishable. Its final is now an observed diagnostic and is excluded from subsequent training or selection.
26
+
27
+ ## Training precision control
28
+
29
+ The bounded English experiment trains only eight linear matrices in the last two layers: 10,027,008 parameters. Earlier layers, normalization parameters, embeddings, and rotary buffers remain fixed. The 400-step schedule draws 100 NQ, 80 MIRACL, 80 natural-paper, 60 SciFact, 40 STS, and 40 constructed-long batches. Those 40 long batches do not cover the complete language/length/position grid: Chinese examples cover the four lengths only at the beginning position.
30
+
31
+ The initial arm used a BF16-autocast student with a native FP16 frozen teacher. A zero-update, same-weight probe found nonzero retention differences growing with natural-paper length. A matched BF16 student/teacher arm keeps data, seed, batching, optimizer, trainable tensors, schedule, and native FP16 development evaluation fixed. Its actual padded 32K backward preflight had finite loss and gradients and preserved all frozen parameters and buffers.
32
+
33
+ A separately retained native-FP16 training prototype had finite padded 32K forward output but nonfinite gradients in one local-attention projection on the tested Torch/ROCm stack. Running the same three examples individually removed that failure. This is a bounded training-backward observation, not an inference failure or an untested-platform claim. No weights from that probe were selected.
34
+
35
+ Both completed 400-step arms failed the fixed seven-condition development selection. A separately planned native-row repair starts again from the original checkpoint, trains the upper six layers' 24 linear matrices (30,081,024 parameters), and freezes lower layers, normalization, embeddings, and all original buffers. It runs 1,440 steps with native FP16 row-by-row forwards from FP32 master parameters, no padding or autocast during training, and the original native FP16 development evaluator at steps 480/960/1,440. Each checkpoint interval covers all four training languages, four long-context budgets, and three payload positions. Its actual train-only 32K preflight verified finite loss and all 24 gradients, with frozen parameters and buffers unchanged. This is a bounded repair phase, not a one-factor causal comparison or a qualified model result.
36
+
37
+ The complete native-row run did not satisfy all seven conditions. At step 1,440, short/long/STS were 0.7460378250/0.5486111111/0.8491038314, below their fixed minima; natural 0.3345058864, tail 0.5416666667, NQ 0.9695719034, and SciFact 0.6741878228 passed. The completion audit verifies all 1,440 finite optimizer steps, all three 48-cell long cycles, and 110 frozen parameter tensors unchanged in each saved checkpoint. No successor-final prediction was consumed.
38
+
39
+ A separate predeclared composition addendum binds exactly four DEV candidates: an equal native960/1440 parameter average and native1440/clean1 convex combinations with alpha 0.15/0.30/0.45. This tests a possible complement between natural/English retention in the new native-row checkpoint and short/long/STS improvements in clean1. Compatibility and actual parameter deltas are audited before scoring. All seven DEV gates, four independent final acceptance terms, final bytes, native FP16 precision and 22×768 default remain unchanged. Neither component's historical final result qualifies a combination, and there is no post-hoc alpha expansion in this experiment.
40
+
41
+ ## Frozen development selection
42
+
43
+ All four predefined compositions completed the same seven-condition development evaluation. `clean-0.45` was the only admissible candidate: short MIRACL 0.7498023253, constructed long 0.5555555556, 32K end 0.5833333333, STS Spearman 0.8507032029, natural QASPER 0.3335742032, NQ 0.9638051808, and SciFact 0.6650686065. These are development measurements, not independent final results.
44
+
45
+ The selected parameters are computed in FP32 as `native1440 + 0.45 * (clean1 - native1440)`. Original non-parameter buffers and the common tokenizer/configuration contract are preserved. The frozen parameter-file SHA-256 is `e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab`. The same frozen weights completed evaluation against the original on the reserved final inputs; no final-driven alpha, dtype, depth or checkpoint choice is permitted. Exact native960/native1440/clean1 source checkpoints and their training provenance are provided as optional reproduction artifacts. An independent CPU execution of the published composition builder reconstructed all four predeclared parameter files byte-for-byte, including the selected file. Full training remains dependent on accelerator numerical behavior and is distinguished from this exact composition reproduction.
46
+
47
+ ## Independent final quality
48
+
49
+ The complete paired final passed all four previously frozen conditions at native FP16,22×768. The plan SHA-256 is `37d06626c7896914cef6a7130692ab4cd02af69c81c6530841f23f152b672780`; the summary SHA-256 is `276cfac78ac80767b8aafc2386d7d3f43e4f1f8a512ffcb8be45e8fec3c2fa01`.
50
+
51
+ | Fixed metric | Original | Candidate | Paired group-bootstrap delta95%CI |
52
+ | --- | ---: | ---: | --- |
53
+ | MIRACL short nDCG@10,48query groups | 0.807275 | 0.813533 | [0.000379,0.014960] |
54
+ | Constructed-long macro pair accuracy,1152scenarios | 0.555556 | 0.574653 | [0.007813,0.031250] |
55
+ | 32K end pair accuracy,96scenarios | 0.572917 | 0.572917 | [-0.031250,0.031250] |
56
+ | Natural-paper nDCG@10,64QASPER papers | 0.398696 | 0.398969 | [-0.001575,0.001915] |
57
+
58
+ Natural-paper retrieval and the32K-end slice demonstrate retention; neither is presented as a significant improvement. Natural inputs contain1428–21816tokens and zero exact32768-token papers. The constructed set supplies the actual32K scenarios. All outputs were finite and all inputs untruncated. Language/length/position and recorded-exposure subsets accompany the full reports; no final score changed the weights, precision, default exit or acceptance criteria.
59
+
60
+ ## CPU FP32 short-query characterization
61
+
62
+ The already frozen original/candidate weights were also evaluated in native FP32 on CPU using the same 48 reserved short-query identities. This supplementary mode does not replace or alter the native-FP16 final acceptance protocol and provides no CPU long-document quality result.
63
+
64
+ | Depth × dimension | Original | Candidate |
65
+ | --- | ---: | ---: |
66
+ | 22 × 768 | 0.807275 | 0.813533 |
67
+ | 22 × 256 | 0.791504 | 0.800873 |
68
+ | 11 × 768 | 0.722331 | 0.724179 |
69
+ | 6 × 768 | 0.663604 | 0.671777 |
70
+
71
+ Values are nDCG@10 on the supplied MIRACL judged pools, not a full-corpus leaderboard. The 22 × 768 paired-query-group bootstrap interval for the difference is [0.000379, 0.014960] over 48 Arabic/Spanish/Japanese groups. Detailed language tradeoffs remain in the report: the 11-layer Japanese score, for example, decreases slightly. Lower-depth absolute quality is materially below the complete model on this slice, so the default remains 22 × 768. This table does not establish unmeasured depth/dimension combinations.
72
+
73
+
74
+ ## All supported exits: fixed development characterization
75
+
76
+ The following nDCG@10 measurements use the same320fixed development query groups (80each Arabic,Spanish,Japanese,Chinese), under the same raw-early/full-final-normalized contract for both checkpoints. This characterization made no new model or default choice; it is distinct from the independent final.
77
+
78
+ | Depth×dimension | Original | Candidate |
79
+ | --- | ---: | ---: |
80
+ | 3x768 | 0.612834 | 0.613090 |
81
+ | 3x512 | 0.617150 | 0.616785 |
82
+ | 3x256 | 0.623532 | 0.621973 |
83
+ | 3x128 | 0.621020 | 0.623245 |
84
+ | 3x64 | 0.613306 | 0.612281 |
85
+ | 6x768 | 0.614345 | 0.614736 |
86
+ | 6x512 | 0.616433 | 0.617741 |
87
+ | 6x256 | 0.619077 | 0.619174 |
88
+ | 6x128 | 0.613332 | 0.611403 |
89
+ | 6x64 | 0.607523 | 0.609524 |
90
+ | 11x768 | 0.594127 | 0.598119 |
91
+ | 11x512 | 0.609677 | 0.611739 |
92
+ | 11x256 | 0.602542 | 0.604180 |
93
+ | 11x128 | 0.607377 | 0.608819 |
94
+ | 11x64 | 0.609871 | 0.607288 |
95
+ | 22x768 | 0.746095 | 0.749802 |
96
+ | 22x512 | 0.741445 | 0.749594 |
97
+ | 22x256 | 0.737390 | 0.742011 |
98
+ | 22x128 | 0.724478 | 0.725485 |
99
+ | 22x64 | 0.715678 | 0.716905 |
100
+
101
+ Shallow exits have substantially lower absolute quality. Some small-width shallow configurations regress slightly; all per-language values and group intervals are retained. The default remains22×768. Interface availability is not a claim that every compression setting preserves quality.
102
+
103
+ ## Engine evidence
104
+
105
+ The runtime layout contains four layer directories, each with portable FP32 `model.onnx` plus external data and AMD CK `model_fa_fp16.onnx`. Portable FP16 source graphs are optional reproduction artifacts. All graphs are freshly exported from the same selected parameters; none reuse a previous candidate's graph. Graph outputs are raw states shaped `[batch, sequence, 768]`, exposed as FP32 even when CK encoder mathematics use FP16. The five consumer dimensions are 64, 128, 256, 512, and 768. This is four graph exits and twenty consumer configurations, not twenty separately trained embedding heads.
106
+
107
+ ### Portable export and AMD numerical checks
108
+
109
+ FP32 and FP16 portable exports each completed 64 CPU cases and 320 pooled dimension checks. FP32 maximum raw-state error was 0.00002861 and maximum vector error was 0.000001907. Portable FP16 versus its FP32 physical-prefix reference had maximum raw-state error 0.017767 and vector error 0.0006584; this is a cross-precision characterization, not the same-native-FP16 AMD comparison below. Prefix execution preserves raw early states and applies final normalization only at all 22 layers.
110
+
111
+ The AMD reference uses native FP16 parameters, original FP32 rotary buffers, no autocast, and the same pooling contract. Each CK exit completed 37 cases, with every vector dimension checked: 740 configuration checks passed the predeclared elementwise `atol=0.003, rtol=0.001` and cosine-at-least-0.9999 criteria. Coverage includes multilingual B2 inputs, B1/B2 lengths 2 through 32,768, 63/64/65 and 127/128/129 boundaries, 511/512/513, 1,025, 4K/8K/16K, right padding, and B2 left padding through 32K. Maximum vector absolute error was 0.0019889623, minimum cosine 0.99997926, and maximum allowed-error ratio 0.6352994. Outputs were finite. ORT profiling found no CPU fallback for heavy graph operations. CUDA hardware was not available for equivalent qualification; AMD results do not establish CUDA performance.
112
+
113
+ An initial qualification harness expected FP16 graph output despite the rewrite's intentional FP32 output cast and stopped before numerical checks. Its failed record and explicit correction are retained. The correction changed the harness output-dtype expectation, not model weights, graph bytes, precision or thresholds. A separate initial Rust-ABI layout setup incorrectly expected an external data file for an inline CK graph; its failed setup is also retained.
114
+
115
+ ### Actual Rust ONNX binding calls
116
+
117
+ Both modes were tested through the compiled Rust C ABI, including real allocation and release, against Python ORT using the same graph. CPU completed 53 successful calls and four intended rejections; AMD completed 59 successful calls and four intended rejections. Both passed `atol=0.0002, rtol=0.0001` and cosine-at-least-0.99999. Maximum differences were respectively 0.0000003577 and 0.0000002981. Short tests cover all twenty configurations and actual batching. AMD additionally covers all four depths at 32K and a padded B2 pair of 32K/4K. CPU long numerical evidence is supplied by the separate Candle run, not inferred from CPU short calls.
118
+
119
+ Inputs over 32,768 tokens, layer 23, dimension 769, and invalid UTF-8 were rejected. This legacy ABI maps nonpositive layer/dimension arguments to defaults; callers requesting explicit settings should use positive values. Its `sequence_length` field reports whitespace segments, not tokenizer tokens; the qualification separately verifies exact encoded lengths including BOS/EOS. There is no claim of a model-singleton teardown API. Neutral repeated-text engineering fixtures test boundaries and numerical behavior, not retrieval quality.
120
+
121
+ ### Actual Candle CPU binding calls
122
+
123
+ The same frozen weights passed the actual Candle C ABI against Transformers running on CPU in FP32, with original FP32 rotary buffers and no autocast. The primary run contains 60 numerical calls and 26 functional or derived checks, plus a separate 80-call short matrix. The fixed gate is `atol=0.0002, rtol=0.0001` and cosine-at-least-0.99999. Maximum absolute error over actual calls was 0.0000253916, and minimum cosine recomputed entirely in FP64 was 0.9999999908. The original report, saved vectors and independent FP64 summary remain available; FP32 norm rounding in the original cosine calculation is disclosed without changing any threshold or inference result.
124
+
125
+ All four depths made a real 32,768-token call at dimension 768. Sixteen smaller-dimension checks derive from those four returned vectors; they are not sixteen additional long FFI calls. The maximum error among these derived comparisons was 0.0000378639. This Candle entrypoint is B1 only, so no native Candle batched-padding qualification is claimed. Real token counts include BOS/EOS. Oversize input, invalid dimensions/layers and invalid UTF-8 were rejected, and each returned allocation was freed exactly once.
126
+
127
+ The full 22-layer Candle 32K call took 1,863.06 seconds (about 31 minutes); the corresponding single Transformers CPU reference forward took 91.92 seconds. These were engineering qualification timings, not a controlled warm comparison or a throughput benchmark. CPU 32K is functionally verified here but the tested Candle path has a substantial practical latency cost. The AMD timings below come from a separate controlled benchmark and should not be presented as a like-for-like speedup against this CPU call.
128
+
129
+ `reproduction/candle/` contains the original completed reports, neutral inputs, both vector archives and public qualification scripts. It includes source-to-publication digest mappings; only invocation paths, optional expected-library input and non-overwriting summary output were adapted. A rebuilt binary must be qualified independently and is not assumed to reproduce the original library SHA.
130
+
131
+ ### Actual deployment task quality
132
+
133
+ The final CK full 22 × 768 graph replayed exactly the frozen 48 short groups, 1,152 constructed-long scenarios, and 64 natural papers. This occurred after selection and did not change the weights, precision, exit or gates. Every original four-condition acceptance test passed. Native and CK outcomes remain separate:
134
+
135
+ | Metric | Original native | Selected native | Selected AMD CK |
136
+ | --- | ---: | ---: | ---: |
137
+ | Short nDCG@10 | 0.807275 | 0.813533 | 0.813533 |
138
+ | Constructed-long pair accuracy | 0.555556 | 0.574653 | 0.572917 |
139
+ | 32K end pair accuracy | 0.572917 | 0.572917 | 0.562500 |
140
+ | Natural-paper nDCG@10 | 0.398696 | 0.398969 | 0.398969 |
141
+
142
+ The CK 32K-end result decreases by 1.0417 percentage points from both native rows; it is within the originally frozen 5-point retention tolerance and is not an improvement claim. Full grouped intervals and language/length/position breakdowns are retained. This task replay complements numerical tolerance tests and does not infer ranking preservation solely from close vectors.
143
+
144
+ ### Measured AMD latency
145
+
146
+ The final four CK exits were benchmarked serially on one AMD MI300X, with five warmups and thirty timed repetitions for each of forty cases: four exits × five lengths × B1/B2. Profiling was disabled. B2 pads its second row to two-thirds of the first row's length. The synchronous graph measurement includes full FP32 hidden-state transfer to CPU; the consumer measurement also includes FP32 masked mean and 768-dimensional L2 normalization. Repeated outputs were identical.
147
+
148
+ | Full 22-layer input | Graph median (ms) | Graph + consumer median (ms) |
149
+ | --- | ---: | ---: |
150
+ | B1 × 128 | 3.881 | 4.136 |
151
+ | B1 × 512 | 4.399 | 4.925 |
152
+ | B1 × 2,048 | 7.646 | 9.265 |
153
+ | B1 × 8,192 | 24.852 | 31.484 |
154
+ | B1 × 32,768 | 171.000 | 208.989 |
155
+ | B2 × 32,768 | 323.809 | 412.070 |
156
+
157
+ All samples, p95 values, other exits and plans are in the warm-benchmark report. These are measured latencies for this stack and workload, not a speedup versus an unmeasured baseline or a production throughput guarantee.
158
+
159
+ ### Evidence locations
160
+
161
+ `reproduction/evidence/engine/` contains numerical, ABI, task-replay and benchmark reports, native reference fixtures, and source bindings. `reproduction/evidence/` also retains the complete DEV selector, paired quality final, supplementary FP32 results, twenty-configuration DEV matrix, failed histories and precision diagnostics. `reproduction/evidence-publication-map.json` maps original report digests to sanitized publication copies; only experiment-local paths and actual device identifiers are removed. `reproduction/README.md` explains executable training, composition, evaluation and export paths. BF16 historical diagnostics do not qualify a BF16 deployment variant.
THIRD_PARTY_NOTICES.md ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Source and license notices
2
+
3
+ The model's inherited weight license and accompanying Semantic Router software license are Apache-2.0; see `LICENSE`. Source data retain their own attribution and reuse terms. Optional reproduction artifacts include fixed derived evaluation inputs, token sequences, limited query/passage text, source identifiers, scripts, and metadata; they do not contain the complete source corpora. These derived inputs retain their source attribution and applicable reuse terms. Frozen download manifests and source notices accompany the numerical results.
4
+
5
+ | Source | Fixed input and use | Attribution and scope |
6
+ |---|---|---|
7
+ | Original text embedding | `llm-semantic-router/mmbert-embed-32k-2d-matryoshka@c544097d7603b10c546560e8be5d7fe0965a7909` | [Original model](https://huggingface.co/llm-semantic-router/mmbert-embed-32k-2d-matryoshka), Apache-2.0. Inherited pretraining exposures are not fully known. |
8
+ | MIRACL | `miracl/miracl@ad2acf33f265b8fba92e5096c9d2cf569a82b067`; AR/ES/JA/ZH training and reserved official-dev groups | [MIRACL](https://github.com/project-miracl/miracl). Preserve annotation notices and Wikipedia article attribution; annotation/code terms do not replace the text's applicable reuse terms. |
9
+ | QASPER | `allenai/qasper@06806e4608976fc2fac0a090ac425d5b2b29caf4`; official train for natural-paper supervision, reserved validation papers for development/final | [QASPER](https://github.com/allenai/qasper), CC-BY-4.0. Retain paper/source attribution. Other candidate papers are unjudged for this retrieval adaptation. |
10
+ | Natural Questions | `sentence-transformers/natural-questions@f9e894e1081e206e577b4eaa9ee6de2b06ae6f17`; source-training query/answer pairs | [Official source](https://github.com/google-research-datasets/natural-questions). Data are CC-BY-SA-3.0, distinct from the source repository's software license. See the detailed English-data notice. |
11
+ | SciFact | Official archive SHA-256 `11c621288d41ac144d29b13b0f8503b3820b7d6e8b1f6ff24dff335c196d76be`; official train claims/evidence for supervision and reserved development | [Official component license](https://github.com/allenai/scifact/blob/68b98a56d93e0f9da0d2aab4e6c3294699a0f72e/LICENSE.md): claims/evidence CC-BY-4.0; S2ORC abstracts ODC-By-1.0; code Apache-2.0. Historical BEIR evaluation uses `BeIR/scifact@cf10ab6856b15b0e670ef8ae5dae4e266c12d035`, a separate 300-query test split. |
12
+ | STS-B | `sentence-transformers/stsb@ab7a5ac0e35aa22088bdcf23e7fd99b220e53308`; training pairs and fixed retention development | [STS benchmark](https://ixa2.si.ehu.eus/stswiki/index.php/STSbenchmark). Preserve annotation and underlying text-source terms; the full corpus is not relabeled Apache-2.0. |
13
+ | PAWS-X | `google-research-datasets/paws-x@4cd8187c404bda33cb1f62b49b001115862acf37`; the selected clean1 component's training ancestry and multilingual diagnostics | [PAWS-X](https://github.com/google-research-datasets/paws/tree/master/pawsx). Preserve PAWS-Wiki-derived data notices. The original-start English/native-row arm does not train on PAWS-X, but the selected parameter composition also includes clean1, which does. Its reusable loader removes empty/untranslated NS placeholders with case-insensitive matching by default; archived pre-cleaning results remain identified. |
14
+
15
+ `ENGLISH_RETRIEVAL_NOTICES.md` gives the SciFact/NQ author attributions, source revisions, preprocessing, and split boundaries. The downloaders preserve upstream README/license files and record requested revision plus content digests. Do not infer an article-unseen benchmark merely because query groups are held out, or infer ownership of source text from a derived numerical score.
artifact_sha256.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "1_Pooling/config.json": "35bbd47d7fdf1e378db6130bcc668b09d1aa67a7bbf7c8f89a9c71f4cc8ebcc6",
3
+ "composition-plan.json": "65fb796aa7660e0142fb1216c7f2f9a575a27aab7c9658032782830f2060a8da",
4
+ "config.json": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
5
+ "config_sentence_transformers.json": "ccf45df8438a7510d071f4cf0495a0925a3f045027d8c05b857079024984e277",
6
+ "model.safetensors": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
7
+ "modules.json": "8f4b264b80206c830bebbdcae377e137925650a433b689343a63bdc9b3145460",
8
+ "sentence_bert_config.json": "0b1d25d4d13c72c255a7eaaf8921ca481c4cd61ad894e7209c52dc5e1ac3f3bd",
9
+ "special_tokens_map.json": "6e3204c5a4004719c185007a745d1940471a6fb02521cfa0a00306dbb6bc5903",
10
+ "tokenizer.json": "5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c",
11
+ "tokenizer_config.json": "4048e30832fdfe352ff622328d23590b2f2d9a7661ebb48cabe4ec11427697f0",
12
+ "training_provenance.json": "a4f35f0898a37fbaad1a2ff6a4c04a5aa8af0bffec07e09f0cf4b6aaccef7f5c"
13
+ }
composition-plan.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 1,
3
+ "experiment": "vela-embedding-native-composition-v1",
4
+ "development_only": true,
5
+ "rationale": "Native1440 preserves English and natural development but misses short/long/STS; clean1 has complementary same-contract short/long/STS improvements but fails natural. Test one endpoint average and three fixed convex combinations; no new optimization or heldout scoring.",
6
+ "parent_training_completion_sha256": "cdf8dbdba3484b14efb9bd22544b8e27e0c0af22ca70b87e54c2a67cf2aeacab",
7
+ "source_weights_sha256": {
8
+ "original": "173eb71beab911ddccf5c23d46129890894f1b741bedbf15e6d0f46084da3391",
9
+ "native960": "2b1871b4823af473256a564877b7b2b15742c1152478da60bd80c57ebc5de5b3",
10
+ "native1440": "af88753104a2b21462e7be8c1762b603b4b2f651ad46893a48deedef5ebe5761",
11
+ "clean1": "f2d9b7b559e6897e5ffe37eb892d366b9478945634579b04bea09071abdcb064"
12
+ },
13
+ "candidates": [
14
+ {
15
+ "name": "native-mean",
16
+ "base": "native1440",
17
+ "other": "native960",
18
+ "alpha": 0.5
19
+ },
20
+ {
21
+ "name": "clean-0.15",
22
+ "base": "native1440",
23
+ "other": "clean1",
24
+ "alpha": 0.15
25
+ },
26
+ {
27
+ "name": "clean-0.30",
28
+ "base": "native1440",
29
+ "other": "clean1",
30
+ "alpha": 0.3
31
+ },
32
+ {
33
+ "name": "clean-0.45",
34
+ "base": "native1440",
35
+ "other": "clean1",
36
+ "alpha": 0.45
37
+ }
38
+ ],
39
+ "composition": "FP32 parameter-only base + alpha*(other-base); buffers, tokenizer, architecture and Vela representation contract remain common. Verify all source key/shape/dtype/buffer/config/tokenizer identities before any combination; differing buffers refuse experiment.",
40
+ "control": "The fixed original and all three failed native checkpoints remain recorded controls; alpha=0 is not a new trained candidate and cannot be promoted. Prior clean1 and prior interpolation finals are observed history, excluded from all training/selection; no final result used to choose this grid.",
41
+ "precision": {
42
+ "layers": 22,
43
+ "dimensions": 768,
44
+ "precision": "fp16",
45
+ "inference_autocast": false,
46
+ "parameters": "native FP16 with original FP32 non-parameter RoPE buffers",
47
+ "pooling": "attention-mask mean accumulated in FP32; truncate before FP32 L2",
48
+ "normalization": "early raw; full depth final_norm exactly once"
49
+ },
50
+ "development_thresholds": {
51
+ "short": 0.7463755866448661,
52
+ "long": 0.5525,
53
+ "tail": 0.5333333333333333,
54
+ "sts": 0.850266278642743,
55
+ "natural": 0.3324478867607128,
56
+ "nq": 0.9586264788148332,
57
+ "scifact": 0.6428299811637794
58
+ },
59
+ "selector": "After all four complete: all seven original gates must pass; maximize long+.25short; ties choose earlier candidate in the frozen list. No grid expansion in this experiment.",
60
+ "final_protocol_addendum": {
61
+ "acceptance_protocol_sha256": "37d06626c7896914cef6a7130692ab4cd02af69c81c6530841f23f152b672780",
62
+ "change": "Candidate generation extends from the failed complete native1440 training to only this frozen composition grid. This addendum does not replace or rewrite the original protocol.",
63
+ "unchanged": "All four final criteria, seven development gates, final identities/bytes, precision, 22x768 default and group bootstrap; new final remains unscored before complete DEV-only selection."
64
+ },
65
+ "data_contract": "Same frozen 320 short /144 constructed long /64 natural development plus128 NQ and48 SciFact grouped development; complete data/manifest equality before scoring; all four candidates see the same bytes.",
66
+ "allocation": "One GPU1 process; four serial fixed candidates; no new training, no new data download, no final predictions."
67
+ }
config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "ModernBertModel"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 2,
8
+ "classifier_activation": "gelu",
9
+ "classifier_bias": false,
10
+ "classifier_dropout": 0.0,
11
+ "classifier_pooling": "mean",
12
+ "cls_token_id": 1,
13
+ "decoder_bias": true,
14
+ "deterministic_flash_attn": false,
15
+ "dtype": "float32",
16
+ "embedding_dropout": 0.0,
17
+ "eos_token_id": 1,
18
+ "global_attn_every_n_layers": 3,
19
+ "global_rope_theta": 160000,
20
+ "gradient_checkpointing": false,
21
+ "hidden_activation": "gelu",
22
+ "hidden_size": 768,
23
+ "initializer_cutoff_factor": 2.0,
24
+ "initializer_range": 0.02,
25
+ "intermediate_size": 1152,
26
+ "layer_norm_eps": 1e-05,
27
+ "local_attention": 128,
28
+ "local_rope_theta": 160000,
29
+ "mask_token_id": 4,
30
+ "max_position_embeddings": 32768,
31
+ "mlp_bias": false,
32
+ "mlp_dropout": 0.0,
33
+ "model_type": "modernbert",
34
+ "norm_bias": false,
35
+ "norm_eps": 1e-05,
36
+ "num_attention_heads": 12,
37
+ "num_hidden_layers": 22,
38
+ "pad_token_id": 0,
39
+ "position_embedding_type": "sans_pos",
40
+ "repad_logits_with_grad": false,
41
+ "representation_contract": {
42
+ "final_normalization": "final_norm",
43
+ "intermediate_normalization": "none",
44
+ "pooling": "attention_mask_mean",
45
+ "pooling_accumulation_dtype": "float32",
46
+ "truncate_before_l2_normalize": true,
47
+ "version": 1
48
+ },
49
+ "sep_token_id": 1,
50
+ "sparse_pred_ignore_index": -100,
51
+ "sparse_prediction": false,
52
+ "transformers_version": "4.57.6",
53
+ "vocab_size": 256000
54
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_type": "SentenceTransformer",
3
+ "__version__": {
4
+ "sentence_transformers": "5.3.0.dev0",
5
+ "transformers": "4.57.6",
6
+ "pytorch": "2.9.1+git8907517"
7
+ },
8
+ "prompts": {
9
+ "query": "",
10
+ "document": ""
11
+ },
12
+ "default_prompt_name": null,
13
+ "similarity_fn_name": "cosine"
14
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab
3
+ size 1227771776
modules.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "sentence_transformers.models.Transformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Pooling",
12
+ "type": "sentence_transformers.models.Pooling"
13
+ }
14
+ ]
onnx/layer-11/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:025b35c9b7245f1057d0108e31df1b8c72de3f11b514978db47920efd7195216
3
+ size 82662
onnx/layer-11/model.onnx.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b6e2e6cf3d4ad6fe71a24d7a03722c54edd39631955f4e8b34e5aa3af0cd7f1
3
+ size 1007157248
onnx/layer-11/model_fa_fp16.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b40cc6df12bad5d99e8b4635e53fbffc3072a6b33c910ff1ca32f345734ec17
3
+ size 503617018
onnx/layer-22/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b88757358e272ded08eb3e19f620d85b9634d3d0ce690385099fa9b372d76ee9
3
+ size 162486
onnx/layer-22/model.onnx.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:926a1ab0bf7e7b45c6cad4865a81fcc880dfb0244f82d92ac2eba17f2fe4e7be
3
+ size 1227816960
onnx/layer-22/model_fa_fp16.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1d214776171b8711a53044e84d92feb4eea2b6794b98d28940a3f0cb5d476dc5
3
+ size 614015934
onnx/layer-3/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:257835ac57b148b88910fcfc490fe2e75b0c3c4590f2917d4e06fe7470eadff5
3
+ size 25723
onnx/layer-3/model.onnx.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c75e5dfefa11bd2238211219662cc155f340c1c4e1663f4f7cc5c6aa7d1b9362
3
+ size 846659584
onnx/layer-3/model_fa_fp16.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b06ee533865382b941d72077307829b197c5c45ee57db49847a2c91bbbec135b
3
+ size 423328828
onnx/layer-6/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:91de3bbfb45ac40f375a5d023f80b16063f1c6283c641abe5377884fda8f1e6f
3
+ size 46870
onnx/layer-6/model.onnx.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d3ba575381c22f7b78e5b677c0d16cc4a47cadba0c6397c9079cd0c69cdbc98b
3
+ size 906821632
onnx/layer-6/model_fa_fp16.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6ecbe612478e8d13749d90b7f6c719f16afb6aa4c2d26214eb35f16049bed9cc
3
+ size 453436745
onnx/model_config.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "available_layers": [
3
+ 3,
4
+ 6,
5
+ 11,
6
+ 22
7
+ ],
8
+ "dimensions": [
9
+ 768,
10
+ 512,
11
+ 256,
12
+ 128,
13
+ 64
14
+ ],
15
+ "total_layers": 22,
16
+ "hidden_size": 768,
17
+ "task": "embedding",
18
+ "representation_contract": {
19
+ "final_normalization": "final_norm",
20
+ "intermediate_normalization": "none",
21
+ "pooling": "attention_mask_mean",
22
+ "pooling_accumulation_dtype": "float32",
23
+ "truncate_before_l2_normalize": true,
24
+ "version": 1
25
+ }
26
+ }
reproduction/README.md ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Reproducing the text-embedding experiment
2
+
3
+ The homepage shows ordinary inference. This optional package reproduces the training components, fixed four-candidate composition, development selection, paired final, and newly exported engines. Scripts preserve the experiment's mathematical implementation while replacing workspace paths with `VELA_REPRODUCTION_ROOT` and bundling the public model reader. `publication-adaptations.json` records original and portable-copy source digests. Exact frozen inputs, selected run evidence, and the three source intermediates are included. Published final scores are now observed evidence, not a fresh holdout for choosing another model.
4
+
5
+ Commands below run from the downloaded `reproduction/` directory. Download this optional directory, including intermediate weights, only when reproducing the experiment; ordinary inference does not need it. Start from a new empty experiment directory. Exact composition from preserved checkpoints and full optimizer retraining are separate procedures: the former was reproduced byte-for-byte on CPU, while the latter can depend on numerical behavior of the accelerator and library versions.
6
+
7
+ Use Python 3.12.3 and the pinned dependencies in `requirements.txt`, with PyTorch 2.10 installed for the selected accelerator. The actual training evidence uses AMD MI300X, ROCm 7, and Transformers 4.57.6. CPU reader support and any CUDA code path must be distinguished from accelerator training that was actually run. No repository credentials or host configuration are required by the published scripts.
8
+
9
+ Set a new empty experiment directory. Download upstream model and dataset snapshots with `download_inputs.py`, then the additional official English retrieval inputs with `download_english_retrieval_inputs.py`. The initial downloader includes historical text-model inputs needed by archived evaluation scripts; it does not download multimodal models. Dataset attribution and redistribution terms remain with the upstream sources. Fixed derived evaluation inputs, token sequences and limited query/passage text are included; complete source corpora are not bundled.
10
+
11
+ ```bash
12
+ export VELA_REPRODUCTION_ROOT="$PWD/experiment"
13
+ python download_inputs.py --root "$VELA_REPRODUCTION_ROOT"
14
+ python download_english_retrieval_inputs.py --root "$VELA_REPRODUCTION_ROOT"
15
+ python install_frozen_inputs.py \
16
+ --experiment "$VELA_REPRODUCTION_ROOT" --include-intermediates
17
+ ```
18
+
19
+ The installer copies exact development prerequisites, reference-run manifests, successor-final identities and materialized final inputs to the script-relative locations, verifies copied digests and refuses to overwrite different files. `--include-intermediates` additionally installs native960/native1440/clean1 at their expected paths; omit it in a separate empty experiment when retraining those components. The hash-bound recipe rejects changed original weights, English groups, or development constraints. Do not regenerate a new holdout to reproduce a published result. Exact materialized long backgrounds retain pinned corpus membership, original target identity and exposed-background disclosures.
20
+
21
+ The two historical controlled training commands below use fresh output directories. They are retained failed experiments, not prerequisites for exact composition from the supplied intermediates:
22
+
23
+ ```bash
24
+ python train_embedding_english_repair.py \
25
+ --root "$VELA_REPRODUCTION_ROOT" \
26
+ --output "$VELA_REPRODUCTION_ROOT/vela/embedding-english-repair-v1" \
27
+ --steps 400 --eval-every 100 --lr 0.000002
28
+ python train_embedding_english_repair_matched.py \
29
+ --root "$VELA_REPRODUCTION_ROOT" \
30
+ --output "$VELA_REPRODUCTION_ROOT/vela/embedding-english-repair-matched-v1" \
31
+ --steps 400 --eval-every 100 --lr 0.000002
32
+ ```
33
+
34
+ Both start from the pinned original task checkpoint. Neither completed arm produced a checkpoint satisfying all seven development conditions; their evidence is retained and they never reached successor-final evaluation. The paired selector maximizes long retrieval plus 0.25 times short retrieval among admissible checkpoints, then prefers the earlier checkpoint and the matched-teacher arm for an exact cross-arm tie.
35
+
36
+ The subsequent native-row repair uses the original checkpoint again, with a separately frozen 1,440-step budget. It trains only the linear matrices in the upper six layers, retaining FP32 master parameters and original FP32 rotary buffers. Each input row receives a differentiable native-FP16 parameter forward without padding or autocast; contrastive losses still share the logical batch. This avoids the diagnosed padded-FP16 backward failure without changing the fixed native-FP16 development reader.
37
+
38
+ ```bash
39
+ python train_embedding_native_rows_repair.py \
40
+ --root "$VELA_REPRODUCTION_ROOT" \
41
+ --output "$VELA_REPRODUCTION_ROOT/vela/embedding-native-rows-repair-v1" \
42
+ --steps 1440 --eval-every 480 --lr 0.00001
43
+ ```
44
+
45
+ `protocols/native-rows-repair-plan.json` binds the mixture, seed, trainable tensors, and seven unchanged development gates. Every 480 steps contains all 48 constructed-long language/length/position cells. The selector requires the completed three-checkpoint schedule and cannot freeze a checkpoint from an incomplete or failed run:
46
+
47
+ ```bash
48
+ python freeze_embedding_native_rows_repair.py \
49
+ --run "$VELA_REPRODUCTION_ROOT/vela/embedding-native-rows-repair-v1" \
50
+ --output "$VELA_REPRODUCTION_ROOT/vela/frozen-native-rows-embedding" \
51
+ --final-protocol protocols/embedding-independent-final-v1.json
52
+ ```
53
+
54
+ The complete native-row run also failed the seven-gate selector. Its 480/960/1440 checkpoints remain preserved, and the freeze command above correctly refuses them. A separate fixed DEV-only composition addendum tests the native960/1440 equal average and three convex combinations of native1440 with clean1-last (alpha 0.15/0.30/0.45). It does not overwrite either training protocol or any source checkpoint. Full FP32 parameter keys/shapes and native buffers, architecture and tokenizer semantics must match before constructing candidates; the original and all failed candidates remain controls.
55
+
56
+ ```bash
57
+ python build_embedding_native_composition.py \
58
+ --root "$VELA_REPRODUCTION_ROOT" \
59
+ --plan protocols/native-composition-plan-v1.json \
60
+ --output "$VELA_REPRODUCTION_ROOT/vela/embedding-native-composition-v1"
61
+ python evaluate_embedding_native_composition.py \
62
+ --root "$VELA_REPRODUCTION_ROOT" \
63
+ --bundle "$VELA_REPRODUCTION_ROOT/vela/embedding-native-composition-v1" \
64
+ --reference-run "$VELA_REPRODUCTION_ROOT/vela/embedding-natural-repair2" \
65
+ --output "$VELA_REPRODUCTION_ROOT/evidence/vela-embedding-native-composition-v1-dev"
66
+ ```
67
+
68
+ Only the complete four-candidate report may select an admissible combination using the unchanged seven development gates and fixed score/order. `freeze_embedding_native_composition.py` verifies source/file identities and copies the chosen weights without modifying them; `evaluate_embedding_composition_final.py` validates this explicitly typed selection and its addendum instead of pretending a parameter combination was a training step. The original failed native freeze/scorer remain separately reproducible. Exact source intermediates are provided in `intermediates/`: native960 (`2b1871b4823af473256a564877b7b2b15742c1152478da60bd80c57ebc5de5b3`), native1440 (`af88753104a2b21462e7be8c1762b603b4b2f651ad46893a48deedef5ebe5761`) and clean1-last (`f2d9b7b559e6897e5ffe37eb892d366b9478945634579b04bea09071abdcb064`). Their original tokenizer bytes are preserved; the compatibility check verifies equivalent tokenization semantics rather than rewriting them.
69
+
70
+ Only `clean-0.45` passed the complete fixed DEV selector. A separate actual CPU execution of the published builder reconstructed all four original parameter files byte-for-byte, including the selected SHA `e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab`; see `evidence/engine/public-composition-reproduction.json`.
71
+
72
+ ```bash
73
+ python freeze_embedding_native_composition.py \
74
+ --bundle "$VELA_REPRODUCTION_ROOT/vela/embedding-native-composition-v1" \
75
+ --development "$VELA_REPRODUCTION_ROOT/evidence/vela-embedding-native-composition-v1-dev/metrics.json" \
76
+ --final-protocol protocols/embedding-independent-final-v1.json \
77
+ --output "$VELA_REPRODUCTION_ROOT/vela/selected-embedding"
78
+ ```
79
+
80
+ `protocols/embedding-independent-final-v1.json` independently fixes the Embedding final: 22 layers, 768 dimensions, native FP16; short retrieval must improve strictly, natural-paper nDCG may fall by at most 0.005, constructed-long macro pair accuracy by at most 0.01, and 32K-end accuracy by at most 0.05. The paired final scorer and summarizer both require the exact protocol SHA-256. They report all language/length/position slices and group bootstrap intervals. A failed final remains an observed result and cannot choose another checkpoint, dtype, exit, or background.
81
+
82
+ The homepage standard Transformers FP32 CPU example was actually compared with the explicit full-layer reader on six multilingual inputs; hidden states and vectors matched byte-for-byte. For explicit early exits or precision, the optional native reader accepts local files, applies no silent truncation, and rejects input exceeding 32,768 tokens including special tokens:
83
+
84
+ ```bash
85
+ python inference.py --model model-snapshot --task embedding \
86
+ --layer 22 --dimension 768 --device cpu --precision fp32 \
87
+ --text "Route a customer-support request" "Find scientific evidence"
88
+ ```
89
+
90
+ The output vectors use the explicit representation contract. `export_2d_matryoshka.py`, `model_precision.py`, and `onnx_artifacts.py` are bundled together; export fresh graphs from the selected snapshot. ONNX graph outputs are raw hidden states, so a consuming application must apply the same mask-aware FP32 pooling, dimension truncation, and L2 normalization. Storage packing may share byte-identical initializer data, but never qualifies a different checkpoint's quality.
91
+
92
+ ## Retraining clean1's lineage
93
+
94
+ Use a separate empty experiment root without installing intermediate weights. Install the exact frozen input prerequisites and download the same public sources. The native-row branch above starts from the original task model; clean1 follows the separate continued-task lineage below. Initial best step 1,250, archived long-repair best step 200, and clean1 `last/` are historical identities, not claims that these intermediate models independently passed the eventual release protocol.
95
+
96
+ ```bash
97
+ python train_vela_text.py --kind embedding --run trial3 \
98
+ --steps 1500 --eval-every 250 --lr 0.000001 --batch-size 12 \
99
+ --embedding-mixture v2 --long-lengths 4096,8192,16384,32768 \
100
+ --retention-weight 20 --sts-margin 0.002
101
+ python freeze_vela_text.py --kind embedding
102
+ python train_vela_long_repair.py --kind embedding \
103
+ --root "$VELA_REPRODUCTION_ROOT" \
104
+ --source "$VELA_REPRODUCTION_ROOT/vela/frozen/Vela-1.0-Encoder-307M-Embedding-step1250" \
105
+ --output "$VELA_REPRODUCTION_ROOT/vela/embedding-long-repair1" \
106
+ --steps 400 --eval-every 100 --lr 0.000001
107
+ python freeze_vela_text_repair.py --kind embedding \
108
+ --run "$VELA_REPRODUCTION_ROOT/vela/embedding-long-repair1" \
109
+ --output "$VELA_REPRODUCTION_ROOT/vela/frozen/Vela-1.0-Encoder-307M-Embedding-long-repair1-step200" \
110
+ --legacy-training-selection
111
+ python train_vela_long_repair_clean.py --kind embedding \
112
+ --root "$VELA_REPRODUCTION_ROOT" \
113
+ --source "$VELA_REPRODUCTION_ROOT/vela/frozen/Vela-1.0-Encoder-307M-Embedding-long-repair1-step200" \
114
+ --output "$VELA_REPRODUCTION_ROOT/vela/embedding-long-clean1" \
115
+ --steps 100 --eval-every 50 --lr 0.0000005
116
+ ```
117
+
118
+ `--legacy-training-selection` reproduces an archived training choice, not a new deployment qualification. Clean1 uses the corrected PAWS-X loader, with case-insensitive empty/untranslated NS filtering enabled by default. Its PAWS-X ancestry remains part of the selected composition's data attribution. Initial training length reports retain their actual measured coverage rather than treating every requested budget as an exact 32K example. Full run results and failed predecessors remain in `evidence/history/`.
119
+
120
+ ## Replaying the final and engines
121
+
122
+ The final scorer requires both the original checkpoint and the development-selected candidate, validates their identities, and refuses changed frozen input bytes. Execute the two commands with the same native FP16 reader and fixed final protocol:
123
+
124
+ ```bash
125
+ python evaluate_embedding_composition_final.py \
126
+ --model "$VELA_REPRODUCTION_ROOT/models/mmbert-embed-32k-2d-matryoshka" \
127
+ --candidate "$VELA_REPRODUCTION_ROOT/vela/selected-embedding" --label original \
128
+ --fixtures "$VELA_REPRODUCTION_ROOT/evidence/vela-embedding-english-repair-v1-final-fixtures" \
129
+ --output "$VELA_REPRODUCTION_ROOT/evidence/replayed-final-original" \
130
+ --precision fp16 --final-protocol protocols/embedding-independent-final-v1.json
131
+ python evaluate_embedding_composition_final.py \
132
+ --model "$VELA_REPRODUCTION_ROOT/vela/selected-embedding" \
133
+ --candidate "$VELA_REPRODUCTION_ROOT/vela/selected-embedding" --label candidate \
134
+ --fixtures "$VELA_REPRODUCTION_ROOT/evidence/vela-embedding-english-repair-v1-final-fixtures" \
135
+ --output "$VELA_REPRODUCTION_ROOT/evidence/replayed-final-candidate" \
136
+ --precision fp16 --final-protocol protocols/embedding-independent-final-v1.json
137
+ python summarize_embedding_successor_final.py \
138
+ --original "$VELA_REPRODUCTION_ROOT/evidence/replayed-final-original/metrics.json" \
139
+ --candidate "$VELA_REPRODUCTION_ROOT/evidence/replayed-final-candidate/metrics.json" \
140
+ --fixture "$VELA_REPRODUCTION_ROOT/evidence/vela-embedding-english-repair-v1-final-fixtures/fixture.json" \
141
+ --final-protocol protocols/embedding-independent-final-v1.json \
142
+ --output "$VELA_REPRODUCTION_ROOT/evidence/replayed-final-summary.json"
143
+ ```
144
+
145
+ Export both precisions to a new, separate directory. The exporter binds source weights/config/tokenizer before appending variants and rejects a different source checkpoint in an existing output directory. Resume and verify-only modes revalidate artifacts rather than silently reusing another model. Native parameter casting preserves original FP32 rotary buffers; generic `.half()` is not substituted for that preparation.
146
+
147
+ ```bash
148
+ python export_2d_matryoshka.py --model .. --task embedding \
149
+ --layers 3 6 11 22 --dimensions 768 512 256 128 64 \
150
+ --precision fp32 --device cpu --output "$VELA_REPRODUCTION_ROOT/exports"
151
+ python export_2d_matryoshka.py --model .. --task embedding \
152
+ --layers 3 6 11 22 --dimensions 768 512 256 128 64 \
153
+ --precision fp16 --device cpu --output "$VELA_REPRODUCTION_ROOT/exports"
154
+ ```
155
+
156
+ `onnx/` contains the public CK rewriter, native reference generator, numerical contract and qualifier, real Rust-ABI test, exact-input task replay and warm benchmark. Each exposes `--help`; published plans retain all arguments. Portable FP32 runs with standard ONNX Runtime. CK additionally requires a compatible ROCm ONNX Runtime and the Semantic Router CK custom-op library. The ABI test's recorded binary digest binds the measured build, not an arbitrary rebuilt library. Graph outputs require explicit FP32 mask-aware pooling and normalization by their consumer. Export success is separate from numerical qualification, task accuracy and performance evidence.
157
+
158
+ The published CPU contract suite was actually run: 16 tests passed. The standard-API and exact-composition checks also ran against real weights; these small tests do not substitute for model evaluation.
159
+
160
+ ```bash
161
+ python -m unittest test_embedding_native_composition \
162
+ test_embedding_composition_selection test_embedding_final_protocol \
163
+ test_embedding_final_summary
164
+ ```
165
+
166
+
167
+ ## Recheck the native Candle C ABI
168
+
169
+ `candle/` contains the completed CPU-to-CPU FP32 reports and neutral numerical fixtures. `validate_candle.py` tests actual allocation/release, boundary rejection, four depths and five dimensions, with four real 32K calls at dimension 768. The saved-vector summary can be recalculated without model inference:
170
+
171
+ ```sh
172
+ python candle/summarize_candle.py --root candle --output candle/aggregate-recomputed.json
173
+ ```
174
+
175
+ The original aggregate and reports remain unchanged. `candle/README.md` documents library verification and the source checkout needed for a fresh run. Rebuilt library bytes are not assumed identical across machines. The observed full-depth 32K Candle qualification forward took about 31 minutes, so this check is optional and materially more expensive than the short suite.
reproduction/audit_miracl_groups.py ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Audit real query IDs and passage/article overlap; reaggregate fixed outputs.
2
+
3
+ MIRACL query_id is a query identifier, NOT a Wikipedia article identifier.
4
+ Article groups here explicitly use the prefix of actual passage docid before #.
5
+ The conservative subset is an additional sensitivity check, not a new selection
6
+ set or a claim that retrieval's shared corpus is inherently invalid.
7
+ """
8
+ import os
9
+ import argparse
10
+ import hashlib
11
+ import json
12
+ from pathlib import Path
13
+ import numpy as np
14
+ from vela_text_data import load_data
15
+
16
+
17
+ def query_text(row):return ' '.join(row['query'].casefold().split())
18
+ def pages(row,kind):return {row['language']+':'+p['docid'].split('#',1)[0] for p in row[kind+'_passages']}
19
+ def documents(row,kind):return {row['language']+':'+p['docid'] for p in row[kind+'_passages']}
20
+ def qid(row):return row['language']+':'+row['query_id']
21
+
22
+
23
+ def components(rows):
24
+ parent={qid(r):qid(r) for r in rows};seen={}
25
+ def find(x):
26
+ while parent[x]!=x:parent[x]=parent[parent[x]];x=parent[x]
27
+ return x
28
+ for row in rows:
29
+ for article in pages(row,'positive'):
30
+ if article in seen:parent[find(qid(row))]=find(seen[article])
31
+ else:seen[article]=qid(row)
32
+ return {qid(r):find(qid(r)) for r in rows}
33
+
34
+
35
+ def summary(old,new,rows,groups):
36
+ report={};rng=np.random.default_rng(20260912)
37
+ for config,values in old['per_query'].items():
38
+ aggregate={};by_language={}
39
+ for row in rows:
40
+ before=values[qid(row)]['nDCG@10'];after=new['per_query'][config][qid(row)]['nDCG@10']
41
+ aggregate.setdefault(groups[qid(row)],[]).append((before,after))
42
+ by_language.setdefault(row['language'],[]).append((before,after))
43
+ if not aggregate:raise ValueError('Empty conservative subset')
44
+ arrays=[np.asarray(x) for x in aggregate.values()];full=np.concatenate(arrays);draws=[]
45
+ # Whole connected article groups; do not treat correlated query scores as independent.
46
+ for _ in range(2000):
47
+ chosen=rng.integers(0,len(arrays),len(arrays));sample=np.concatenate([arrays[i] for i in chosen]);draws.append(float(np.mean(sample[:,1]-sample[:,0])))
48
+ report[config]={'old_ndcg10':float(full[:,0].mean()),'candidate_ndcg10':float(full[:,1].mean()),'delta':float(np.mean(full[:,1]-full[:,0])),
49
+ 'queries':len(full),'bootstrap_groups':len(arrays),'group_delta_95pct':list(map(float,np.quantile(draws,[.025,.975]))),
50
+ 'by_language':{lang:{'queries':len(vals),'old':float(np.mean(vals,axis=0)[0]),'candidate':float(np.mean(vals,axis=0)[1])} for lang,vals in by_language.items()}}
51
+ return report
52
+
53
+
54
+ def main():
55
+ p=argparse.ArgumentParser();p.add_argument('--metrics',type=Path,required=True);p.add_argument('--output',type=Path,required=True);args=p.parse_args()
56
+ root=Path(os.environ.get('VELA_REPRODUCTION_ROOT', 'reproduction'));train,validation,final,stats=load_data(root)
57
+ selection=[r for lang in ('ar','es','ja','zh') for r in [x for x in validation if x['language']==lang][:80]]
58
+ train_positive=set().union(*(pages(r,'positive') for r in train));train_all=train_positive|set().union(*(pages(r,'negative') for r in train))
59
+ selection_positive=set().union(*(pages(r,'positive') for r in selection));selection_all=selection_positive|set().union(*(pages(r,'negative') for r in selection))
60
+ seen_query_text={r['language']+':'+query_text(r) for r in train+selection}
61
+ strict_query=[r for r in final if r['language']+':'+query_text(r) not in seen_query_text]
62
+ positive_disjoint=[r for r in strict_query if not pages(r,'positive')&(train_positive|selection_positive)]
63
+ conservative=[r for r in strict_query if not pages(r,'positive')&(train_all|selection_all)]
64
+ seen_docids=set().union(*(documents(r,kind) for r in train for kind in ('positive','negative')))
65
+ old=json.loads((args.metrics/'old-metrics.json').read_text());new=json.loads((args.metrics/'candidate-metrics.json').read_text())
66
+ for row in final:
67
+ if qid(row) not in next(iter(old['per_query'].values())):raise ValueError('Missing evaluated query')
68
+ report={'correction':'query_id is query ID, not article ID; previous source-article terminology was incorrect',
69
+ 'unchanged_training':'No source weights, train split, validation selection or final predictions were changed by this audit',
70
+ 'article_group_definition':'language plus actual passage docid prefix before #; positive articles conservatively represent relevant article groups',
71
+ 'shared_corpus_scope':'MIRACL retrieval may reuse corpus passages; article overlap alone is not query-label leakage',
72
+ 'training_queries':len(train),'selection_queries':len(selection),'original_final_queries':len(final),
73
+ 'exact_query_id_overlap_train_final':len({qid(r) for r in train}&{qid(r) for r in final}),
74
+ 'normalized_query_text_overlap_train_or_selection_final':len(final)-len(strict_query),
75
+ 'final_queries_with_train_positive_article':sum(bool(pages(r,'positive')&train_positive) for r in final),
76
+ 'final_queries_with_any_train_passage_article':sum(bool(pages(r,'positive')&train_all) for r in final),
77
+ 'final_queries_with_any_training_passage_docid':sum(bool(documents(r,'positive')&seen_docids) for r in final),
78
+ 'query_heldout':{'definition':'No query ID overlap; additionally remove normalized query text in training or selected validation',
79
+ 'metrics':summary(old,new,strict_query,components(strict_query))},
80
+ 'positive_article_disjoint':{'definition':'Exclude final positive article groups seen among training or selected-validation positives',
81
+ 'metrics':summary(old,new,positive_disjoint,components(positive_disjoint))},
82
+ 'all_seen_article_disjoint':{'definition':'Exclude final positive article groups seen in either positive or negative training/selected-validation passages',
83
+ 'metrics':summary(old,new,conservative,components(conservative)),
84
+ 'selected_query_ids':[qid(r) for r in conservative]},
85
+ 'source_file_sha256':{str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in sorted((root/'datasets/miracl-vela').glob('*/*/*.parquet'))},
86
+ 'evaluated_old_sha256':hashlib.sha256((args.metrics/'old-metrics.json').read_bytes()).hexdigest(),
87
+ 'evaluated_candidate_sha256':hashlib.sha256((args.metrics/'candidate-metrics.json').read_bytes()).hexdigest()}
88
+ args.output.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps({k:v for k,v in report.items() if k not in ('source_file_sha256','all_seen_article_disjoint','positive_article_disjoint','query_heldout')}),flush=True)
89
+ for name in ('query_heldout','positive_article_disjoint','all_seen_article_disjoint'):print(json.dumps({name:report[name]['metrics']}),flush=True)
90
+
91
+
92
+ if __name__=='__main__':main()
reproduction/audit_native_rows_completion.py ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Verify completed training coverage/frozen parameters and select using dev only."""
2
+
3
+ import argparse
4
+ from collections import Counter
5
+ import hashlib
6
+ import itertools
7
+ import json
8
+ from pathlib import Path
9
+
10
+ import torch
11
+ from safetensors import safe_open
12
+
13
+ from embedding_final_protocol import PROTOCOL_SHA256, load_protocol
14
+ from freeze_embedding_native_rows_repair import select_run
15
+
16
+
17
+ def sha(path):
18
+ digest = hashlib.sha256()
19
+ with Path(path).open("rb") as stream:
20
+ for block in iter(lambda: stream.read(8 << 20), b""):
21
+ digest.update(block)
22
+ return digest.hexdigest()
23
+
24
+
25
+ def main():
26
+ parser = argparse.ArgumentParser(description=__doc__)
27
+ for name in ("run", "final-protocol", "output"):
28
+ parser.add_argument("--" + name, type=Path, required=True)
29
+ args = parser.parse_args()
30
+ if args.output.exists():
31
+ raise FileExistsError(args.output)
32
+ report = json.loads((args.run / "results.json").read_text())
33
+ protocol = json.loads((args.run / "protocol.json").read_text())
34
+ if sha(args.run / "protocol.json") != report["protocol_sha256"]:
35
+ raise ValueError("Recorded training protocol changed")
36
+ final = load_protocol(args.final_protocol)
37
+ selection = select_run(protocol, report)
38
+ if (
39
+ selection["thresholds"]
40
+ != final["candidate_selection"]["development_thresholds"]
41
+ ):
42
+ raise ValueError("Changed development thresholds")
43
+ expected = Counter(
44
+ itertools.product(
45
+ ("ar", "es", "ja", "zh"),
46
+ (4096, 8192, 16384, 32768),
47
+ ("beginning", "middle", "end"),
48
+ )
49
+ )
50
+ intervals = {}
51
+ snapshots = {}
52
+ torch.set_num_threads(1)
53
+ for step in (480, 960, 1440):
54
+ rows = [
55
+ row
56
+ for row in report["training"]
57
+ if row["mode"] == "long" and step - 480 < row["step"] <= step
58
+ ]
59
+ cells = Counter(
60
+ (row["query_id"].split(":", 1)[0], row["budget"], row["position"])
61
+ for row in rows
62
+ )
63
+ if cells != expected:
64
+ raise ValueError("Actual long-course interval differs from48-cell plan")
65
+ intervals[str(step)] = {
66
+ "long_batches": len(rows),
67
+ "unique_cells": len(cells),
68
+ "minimum_cell_count": min(cells.values()),
69
+ "maximum_cell_count": max(cells.values()),
70
+ }
71
+ weights = args.run / f"step-{step}" / "model.safetensors"
72
+ actual = {}
73
+ with safe_open(weights, framework="pt", device="cpu") as checkpoint:
74
+ for name in protocol["frozen_parameters"]:
75
+ tensor = checkpoint.get_tensor(name).contiguous()
76
+ actual[name] = hashlib.sha256(
77
+ tensor.view(torch.uint8).numpy().tobytes()
78
+ ).hexdigest()
79
+ if actual != protocol["frozen_parameters"]:
80
+ raise ValueError("Saved checkpoint changed a frozen parameter")
81
+ snapshots[str(step)] = {
82
+ "weights_sha256": sha(weights),
83
+ "config_sha256": sha(weights.parent / "config.json"),
84
+ "tokenizer_sha256": sha(weights.parent / "tokenizer.json"),
85
+ "unchanged_frozen_parameter_tensors": len(actual),
86
+ }
87
+ result = {
88
+ "completed": True,
89
+ "training_results_sha256": sha(args.run / "results.json"),
90
+ "training_protocol_sha256": sha(args.run / "protocol.json"),
91
+ "independent_final_protocol_sha256": PROTOCOL_SHA256,
92
+ "actual_long_curriculum": intervals,
93
+ "checkpoints": snapshots,
94
+ "selection": selection,
95
+ "final_predictions_read": False,
96
+ "script_sha256": sha(__file__),
97
+ }
98
+ with args.output.open("x") as stream:
99
+ json.dump(result, stream, indent=2, allow_nan=False)
100
+ stream.write("\n")
101
+ print(
102
+ json.dumps(
103
+ {
104
+ "selected_step": selection["selected_step"],
105
+ "actual_long_curriculum": intervals,
106
+ "report_sha256": sha(args.output),
107
+ },
108
+ allow_nan=False,
109
+ )
110
+ )
111
+
112
+
113
+ if __name__ == "__main__":
114
+ main()
reproduction/audit_reranker_final_tokenizers_v2.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Verify serialization-only padding differences before the legacy final baseline."""
2
+ import argparse
3
+ import hashlib
4
+ import json
5
+ from pathlib import Path
6
+
7
+ from transformers import AutoTokenizer
8
+ from vela_text_data import text
9
+
10
+
11
+ def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest()
12
+
13
+
14
+ def main():
15
+ p=argparse.ArgumentParser();p.add_argument('--original',type=Path,required=True);p.add_argument('--candidate',type=Path,required=True)
16
+ p.add_argument('--fixtures',type=Path,required=True);p.add_argument('--output',type=Path,required=True);a=p.parse_args()
17
+ if a.output.exists():raise FileExistsError(a.output)
18
+ raw=[json.loads((path/'tokenizer.json').read_text()) for path in (a.original,a.candidate)]
19
+ for value in raw:
20
+ padding=value.pop('padding',None)
21
+ if padding not in (None,{'strategy':'BatchLongest','direction':'Right','pad_to_multiple_of':None,'pad_id':0,'pad_type_id':0,'pad_token':'<pad>'}):raise ValueError('Unexpected tokenizer padding serialization')
22
+ if raw[0]!=raw[1]:raise ValueError('Tokenization content differs beyond padding serialization')
23
+ configs=[json.loads((path/'tokenizer_config.json').read_text()) for path in (a.original,a.candidate)]
24
+ for value in configs:
25
+ if value.pop('pad_token_type_id',0)!=0:raise ValueError('Unexpected pad token type')
26
+ for key in ('max_length','pad_to_multiple_of'):
27
+ if value.pop(key,None) is not None:raise ValueError('Unexpected serialized padding/length override')
28
+ if configs[0]!=configs[1]:raise ValueError('Tokenizer configuration differs beyond explicit default pad type')
29
+ if json.loads((a.original/'special_tokens_map.json').read_text())!=json.loads((a.candidate/'special_tokens_map.json').read_text()):raise ValueError('Special tokens differ')
30
+ tokenizers=[AutoTokenizer.from_pretrained(path,local_files_only=True) for path in (a.original,a.candidate)]
31
+ for tok in tokenizers:
32
+ tok.backend_tokenizer.no_padding();tok.backend_tokenizer.no_truncation()
33
+ if json.loads(tokenizers[0].backend_tokenizer.to_str())!=json.loads(tokenizers[1].backend_tokenizer.to_str()):raise ValueError('Loaded tokenizer backend semantics differ')
34
+ rows=json.loads((a.fixtures/'short-inputs.json').read_text());pairs=0;batches=0;maximum=0;digest=hashlib.sha256()
35
+ for row in rows:
36
+ passages=row['positive_passages']+row['negative_passages']
37
+ for start in range(0,len(passages),12):
38
+ selected=passages[start:start+12];left=[row['query']]*len(selected);right=[text(p) for p in selected]
39
+ values=[tok(left,right,padding=True,truncation=False) for tok in tokenizers]
40
+ if dict(values[0])!=dict(values[1]):raise ValueError('Actual final paired inputs differ')
41
+ digest.update(json.dumps(dict(values[0]),sort_keys=True).encode());pairs+=len(selected);batches+=1;maximum=max(maximum,len(values[0]['input_ids'][0]))
42
+ report={'equivalent_for_final':True,'script_sha256':sha(__file__),'original_tokenizer_sha256':sha(a.original/'tokenizer.json'),'candidate_tokenizer_sha256':sha(a.candidate/'tokenizer.json'),
43
+ 'fixture_sha256':sha(a.fixtures/'fixture.json'),'short_input_sha256':sha(a.fixtures/'short-inputs.json'),
44
+ 'scope':'Vocabulary, normalization, pre-tokenization, postprocessing and special tokens exactly equal. Only serialized dynamic-right-padding state and explicit default pad type differ. Loaded backend semantics and all actual short paired inputs agree; long inputs are already shared exact integer arrays.',
45
+ 'original_tokenizer_files_sha256':{name:sha(a.original/name) for name in ('tokenizer.json','tokenizer_config.json','special_tokens_map.json')},'candidate_tokenizer_files_sha256':{name:sha(a.candidate/name) for name in ('tokenizer.json','tokenizer_config.json','special_tokens_map.json')},'serialized_default_differences':['BatchLongest/right/pad0 tokenizer state','pad_token_type_id=0','max_length=null','pad_to_multiple_of=null'],'query_groups':len(rows),'pairs':pairs,'batches':batches,'max_tokens':maximum,'encoded_inputs_sha256':digest.hexdigest()}
46
+ a.output.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report),flush=True)
47
+
48
+
49
+ if __name__=='__main__':main()
reproduction/build_embedding_interpolation.py ADDED
@@ -0,0 +1,268 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Fixed development-only parameter interpolation; preserves native buffers."""
2
+
3
+ import argparse
4
+ import copy
5
+ import hashlib
6
+ import json
7
+ from pathlib import Path
8
+ import shutil
9
+ import sys
10
+
11
+ import torch
12
+ from safetensors import safe_open
13
+ from transformers import AutoModel, AutoTokenizer
14
+
15
+ sys.path.insert(0, str(Path(__file__).resolve().parent / 'model_code'))
16
+ from mmbert_32k.representation_contract import (
17
+ set_vela_representation_contract,
18
+ vela_representation_contract,
19
+ )
20
+
21
+ ALPHAS = (0.25, 0.5, 0.75)
22
+ EXPECTED_WEIGHTS = (
23
+ "173eb71beab911ddccf5c23d46129890894f1b741bedbf15e6d0f46084da3391",
24
+ "f2d9b7b559e6897e5ffe37eb892d366b9478945634579b04bea09071abdcb064",
25
+ )
26
+
27
+
28
+ def sha(path):
29
+ value = hashlib.sha256()
30
+ with Path(path).open("rb") as handle:
31
+ for chunk in iter(lambda: handle.read(8 << 20), b""):
32
+ value.update(chunk)
33
+ return value.hexdigest()
34
+
35
+
36
+ def canonical_sha(value):
37
+ return hashlib.sha256(
38
+ json.dumps(value, sort_keys=True, separators=(",", ":")).encode()
39
+ ).hexdigest()
40
+
41
+
42
+ def verify_models(old, new):
43
+ left, right = dict(old.named_parameters()), dict(new.named_parameters())
44
+ if left.keys() != right.keys():
45
+ raise ValueError("Parameter keys differ")
46
+ for key in left:
47
+ if (
48
+ left[key].shape != right[key].shape
49
+ or left[key].dtype != torch.float32
50
+ or right[key].dtype != torch.float32
51
+ ):
52
+ raise ValueError(f"Parameter shape/dtype mismatch: {key}")
53
+ if not torch.isfinite(left[key]).all() or not torch.isfinite(right[key]).all():
54
+ raise ValueError(f"Non-finite source parameter: {key}")
55
+ left_buffers, right_buffers = dict(old.named_buffers()), dict(new.named_buffers())
56
+ if left_buffers.keys() != right_buffers.keys():
57
+ raise ValueError("Buffer keys differ")
58
+ for key in left_buffers:
59
+ x, y = left_buffers[key], right_buffers[key]
60
+ if x.dtype != y.dtype or x.shape != y.shape or not torch.equal(x, y):
61
+ raise ValueError(f"Buffer value/shape/dtype differs: {key}")
62
+ if old.state_dict().keys() != new.state_dict().keys():
63
+ raise ValueError("Serialized state keys differ")
64
+ return {
65
+ "parameters": sum(p.numel() for p in left.values()),
66
+ "parameter_tensors": len(left),
67
+ "parameter_shapes_sha256": canonical_sha(
68
+ {k: list(v.shape) for k, v in left.items()}
69
+ ),
70
+ "buffers": {
71
+ k: {
72
+ "shape": list(v.shape),
73
+ "dtype": str(v.dtype),
74
+ "sha256": hashlib.sha256(v.contiguous().numpy().tobytes()).hexdigest(),
75
+ }
76
+ for k, v in left_buffers.items()
77
+ },
78
+ }
79
+
80
+
81
+ def interpolate(old, new, alpha):
82
+ if alpha not in ALPHAS:
83
+ raise ValueError("Alpha is not in the fixed development grid")
84
+ result = copy.deepcopy(old)
85
+ new_parameters = dict(new.named_parameters())
86
+ with torch.no_grad():
87
+ for key, value in result.named_parameters():
88
+ value.mul_(1.0 - alpha).add_(new_parameters[key], alpha=alpha)
89
+ return result
90
+
91
+
92
+ def verify_metadata(original, candidate):
93
+ configs = [
94
+ json.loads((path / "config.json").read_text()) for path in (original, candidate)
95
+ ]
96
+ contract = configs[1].get("representation_contract")
97
+ if configs[0].get(
98
+ "representation_contract"
99
+ ) is not None or contract != vela_representation_contract("embedding"):
100
+ raise ValueError("Unexpected endpoint representation contracts")
101
+ for config in configs:
102
+ config.pop("dtype", None)
103
+ config.pop("representation_contract", None)
104
+ if configs[0] != configs[1]:
105
+ raise ValueError("Architecture/RoPE/norm/dropout configuration differs")
106
+ auxiliary = (
107
+ "modules.json",
108
+ "sentence_bert_config.json",
109
+ "config_sentence_transformers.json",
110
+ "1_Pooling/config.json",
111
+ "special_tokens_map.json",
112
+ )
113
+ for name in auxiliary:
114
+ if json.loads((original / name).read_text()) != json.loads(
115
+ (candidate / name).read_text()
116
+ ):
117
+ raise ValueError(f"Auxiliary model configuration differs: {name}")
118
+ tokenizers = [
119
+ AutoTokenizer.from_pretrained(path, local_files_only=True)
120
+ for path in (original, candidate)
121
+ ]
122
+ for tokenizer in tokenizers:
123
+ tokenizer.backend_tokenizer.no_padding()
124
+ tokenizer.backend_tokenizer.no_truncation()
125
+ backends = [
126
+ json.loads(tokenizer.backend_tokenizer.to_str()) for tokenizer in tokenizers
127
+ ]
128
+ if backends[0] != backends[1]:
129
+ raise ValueError("Loaded tokenizer semantic graph differs")
130
+ tests = [
131
+ "A short paper about multilingual retrieval.",
132
+ "تجربة استرجاع طويلة",
133
+ "日本語の文章と質問",
134
+ "长文本与检索测试",
135
+ "",
136
+ "Hola, el artículo explica esto.",
137
+ ]
138
+ if dict(tokenizers[0](tests, padding=True, truncation=False)) != dict(
139
+ tokenizers[1](tests, padding=True, truncation=False)
140
+ ):
141
+ raise ValueError("Tokenizer padding outputs differ")
142
+ return {
143
+ "common_architecture_config": configs[0],
144
+ "common_architecture_config_sha256": canonical_sha(configs[0]),
145
+ "common_tokenizer_backend_sha256": canonical_sha(backends[0]),
146
+ "auxiliary_equal": list(auxiliary),
147
+ "representation_contract": contract,
148
+ "baseline_reader_contract": "Existing V3 baseline evaluates last_hidden_state at full depth and raw intermediate hidden states; new artifacts declare that same effective contract explicitly. This is not an assertion about historical source training.",
149
+ }
150
+
151
+
152
+ def main():
153
+ parser = argparse.ArgumentParser()
154
+ parser.add_argument("--original", type=Path, required=True)
155
+ parser.add_argument("--candidate", type=Path, required=True)
156
+ parser.add_argument("--constraints", type=Path, required=True)
157
+ parser.add_argument("--output", type=Path, required=True)
158
+ args = parser.parse_args()
159
+ if args.output.exists():
160
+ raise FileExistsError(args.output)
161
+ torch.set_num_threads(8)
162
+ sources = (args.original, args.candidate)
163
+ actual = tuple(sha(path / "model.safetensors") for path in sources)
164
+ if actual != EXPECTED_WEIGHTS:
165
+ raise ValueError("Endpoint checkpoint bytes changed")
166
+ metadata = verify_metadata(*sources)
167
+ models = [
168
+ AutoModel.from_pretrained(
169
+ path,
170
+ local_files_only=True,
171
+ torch_dtype=torch.float32,
172
+ attn_implementation="sdpa",
173
+ reference_compile=False,
174
+ ).eval()
175
+ for path in sources
176
+ ]
177
+ compatibility = verify_models(*models)
178
+ if compatibility["parameters"] != 306939648:
179
+ raise ValueError("Unexpected encoder parameter count")
180
+ stored_dtypes = []
181
+ for path in sources:
182
+ with safe_open(
183
+ path / "model.safetensors", framework="pt", device="cpu"
184
+ ) as archive:
185
+ stored_dtypes.append(
186
+ sorted(
187
+ {str(archive.get_slice(key).get_dtype()) for key in archive.keys()}
188
+ )
189
+ )
190
+ thresholds = json.loads(args.constraints.read_text())["thresholds"]
191
+ if set(thresholds) != {"short", "long", "tail", "sts", "natural"}:
192
+ raise ValueError("Unexpected gates")
193
+ args.output.mkdir(parents=True)
194
+ report = {
195
+ "method": "FP32 parameter-only weighted sum: (1-alpha)*original + alpha*clean1-last; no optimization steps",
196
+ "alphas": list(ALPHAS),
197
+ "source_weights_sha256": dict(zip(("original", "clean1_last"), actual)),
198
+ "source_stored_dtypes": stored_dtypes,
199
+ "compatibility": compatibility,
200
+ "metadata": metadata,
201
+ "constraints_sha256": sha(args.constraints),
202
+ "thresholds": thresholds,
203
+ "development_only": True,
204
+ "selection_objective": "Among candidates passing every original fixed gate, maximize long macro + .25 short judged-pool nDCG; ties prefer smaller alpha.",
205
+ "script_sha256": sha(__file__),
206
+ "candidates": {},
207
+ "complete": False,
208
+ }
209
+ for alpha in ALPHAS:
210
+ label = f"alpha-{alpha:.2f}"
211
+ dest = args.output / label
212
+ model = interpolate(*models, alpha)
213
+ set_vela_representation_contract(model.config, "embedding")
214
+ model.save_pretrained(dest, safe_serialization=True)
215
+ for name in (
216
+ "modules.json",
217
+ "sentence_bert_config.json",
218
+ "config_sentence_transformers.json",
219
+ "special_tokens_map.json",
220
+ "tokenizer.json",
221
+ "tokenizer_config.json",
222
+ ):
223
+ shutil.copy2(args.original / name, dest / name)
224
+ shutil.copytree(args.original / "1_Pooling", dest / "1_Pooling")
225
+ report["candidates"][label] = {
226
+ "alpha": alpha,
227
+ "files_sha256": {
228
+ str(p.relative_to(dest)): sha(p)
229
+ for p in sorted(dest.rglob("*"))
230
+ if p.is_file()
231
+ },
232
+ "parameters_only": True,
233
+ "buffers_from": "original",
234
+ }
235
+ (args.output / "interpolation.json").write_text(
236
+ json.dumps(report, indent=2, allow_nan=False) + "\n"
237
+ )
238
+ print(
239
+ json.dumps(
240
+ {
241
+ "candidate": label,
242
+ "weights_sha256": report["candidates"][label]["files_sha256"][
243
+ "model.safetensors"
244
+ ],
245
+ }
246
+ ),
247
+ flush=True,
248
+ )
249
+ del model
250
+ if tuple(sha(path / "model.safetensors") for path in sources) != actual:
251
+ raise ValueError("Endpoint mutated")
252
+ report["complete"] = True
253
+ (args.output / "interpolation.json").write_text(
254
+ json.dumps(report, indent=2, allow_nan=False) + "\n"
255
+ )
256
+ print(
257
+ json.dumps(
258
+ {
259
+ "compatibility": compatibility,
260
+ "report_sha256": sha(args.output / "interpolation.json"),
261
+ }
262
+ ),
263
+ flush=True,
264
+ )
265
+
266
+
267
+ if __name__ == "__main__":
268
+ main()
reproduction/build_embedding_interpolation_v2.py ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Fixed development-only parameter interpolation; preserves native buffers."""
2
+
3
+ import argparse
4
+ import copy
5
+ import hashlib
6
+ import json
7
+ from pathlib import Path
8
+ import shutil
9
+ import sys
10
+
11
+ import torch
12
+ from safetensors import safe_open
13
+ from transformers import AutoModel, AutoTokenizer
14
+
15
+ sys.path.insert(0, str(Path(__file__).resolve().parent / 'model_code'))
16
+ from mmbert_32k.representation_contract import (
17
+ set_vela_representation_contract,
18
+ vela_representation_contract,
19
+ )
20
+
21
+ ALPHAS = (0.55, 0.60, 0.65)
22
+ EXPECTED_WEIGHTS = (
23
+ "173eb71beab911ddccf5c23d46129890894f1b741bedbf15e6d0f46084da3391",
24
+ "f2d9b7b559e6897e5ffe37eb892d366b9478945634579b04bea09071abdcb064",
25
+ )
26
+
27
+
28
+ def sha(path):
29
+ value = hashlib.sha256()
30
+ with Path(path).open("rb") as handle:
31
+ for chunk in iter(lambda: handle.read(8 << 20), b""):
32
+ value.update(chunk)
33
+ return value.hexdigest()
34
+
35
+
36
+ def canonical_sha(value):
37
+ return hashlib.sha256(
38
+ json.dumps(value, sort_keys=True, separators=(",", ":")).encode()
39
+ ).hexdigest()
40
+
41
+
42
+ def verify_models(old, new):
43
+ left, right = dict(old.named_parameters()), dict(new.named_parameters())
44
+ if left.keys() != right.keys():
45
+ raise ValueError("Parameter keys differ")
46
+ for key in left:
47
+ if (
48
+ left[key].shape != right[key].shape
49
+ or left[key].dtype != torch.float32
50
+ or right[key].dtype != torch.float32
51
+ ):
52
+ raise ValueError(f"Parameter shape/dtype mismatch: {key}")
53
+ if not torch.isfinite(left[key]).all() or not torch.isfinite(right[key]).all():
54
+ raise ValueError(f"Non-finite source parameter: {key}")
55
+ left_buffers, right_buffers = dict(old.named_buffers()), dict(new.named_buffers())
56
+ if left_buffers.keys() != right_buffers.keys():
57
+ raise ValueError("Buffer keys differ")
58
+ for key in left_buffers:
59
+ x, y = left_buffers[key], right_buffers[key]
60
+ if x.dtype != y.dtype or x.shape != y.shape or not torch.equal(x, y):
61
+ raise ValueError(f"Buffer value/shape/dtype differs: {key}")
62
+ if old.state_dict().keys() != new.state_dict().keys():
63
+ raise ValueError("Serialized state keys differ")
64
+ return {
65
+ "parameters": sum(p.numel() for p in left.values()),
66
+ "parameter_tensors": len(left),
67
+ "parameter_shapes_sha256": canonical_sha(
68
+ {k: list(v.shape) for k, v in left.items()}
69
+ ),
70
+ "buffers": {
71
+ k: {
72
+ "shape": list(v.shape),
73
+ "dtype": str(v.dtype),
74
+ "sha256": hashlib.sha256(v.contiguous().numpy().tobytes()).hexdigest(),
75
+ }
76
+ for k, v in left_buffers.items()
77
+ },
78
+ }
79
+
80
+
81
+ def interpolate(old, new, alpha):
82
+ if alpha not in ALPHAS:
83
+ raise ValueError("Alpha is not in the fixed development grid")
84
+ result = copy.deepcopy(old)
85
+ new_parameters = dict(new.named_parameters())
86
+ with torch.no_grad():
87
+ for key, value in result.named_parameters():
88
+ value.mul_(1.0 - alpha).add_(new_parameters[key], alpha=alpha)
89
+ return result
90
+
91
+
92
+ def verify_metadata(original, candidate):
93
+ configs = [
94
+ json.loads((path / "config.json").read_text()) for path in (original, candidate)
95
+ ]
96
+ contract = configs[1].get("representation_contract")
97
+ if configs[0].get(
98
+ "representation_contract"
99
+ ) is not None or contract != vela_representation_contract("embedding"):
100
+ raise ValueError("Unexpected endpoint representation contracts")
101
+ for config in configs:
102
+ config.pop("dtype", None)
103
+ config.pop("representation_contract", None)
104
+ if configs[0] != configs[1]:
105
+ raise ValueError("Architecture/RoPE/norm/dropout configuration differs")
106
+ auxiliary = (
107
+ "modules.json",
108
+ "sentence_bert_config.json",
109
+ "config_sentence_transformers.json",
110
+ "1_Pooling/config.json",
111
+ "special_tokens_map.json",
112
+ )
113
+ for name in auxiliary:
114
+ if json.loads((original / name).read_text()) != json.loads(
115
+ (candidate / name).read_text()
116
+ ):
117
+ raise ValueError(f"Auxiliary model configuration differs: {name}")
118
+ tokenizers = [
119
+ AutoTokenizer.from_pretrained(path, local_files_only=True)
120
+ for path in (original, candidate)
121
+ ]
122
+ for tokenizer in tokenizers:
123
+ tokenizer.backend_tokenizer.no_padding()
124
+ tokenizer.backend_tokenizer.no_truncation()
125
+ backends = [
126
+ json.loads(tokenizer.backend_tokenizer.to_str()) for tokenizer in tokenizers
127
+ ]
128
+ if backends[0] != backends[1]:
129
+ raise ValueError("Loaded tokenizer semantic graph differs")
130
+ tests = [
131
+ "A short paper about multilingual retrieval.",
132
+ "تجربة استرجاع طويلة",
133
+ "日本語の文章と質問",
134
+ "长文本与检索测试",
135
+ "",
136
+ "Hola, el artículo explica esto.",
137
+ ]
138
+ if dict(tokenizers[0](tests, padding=True, truncation=False)) != dict(
139
+ tokenizers[1](tests, padding=True, truncation=False)
140
+ ):
141
+ raise ValueError("Tokenizer padding outputs differ")
142
+ return {
143
+ "common_architecture_config": configs[0],
144
+ "common_architecture_config_sha256": canonical_sha(configs[0]),
145
+ "common_tokenizer_backend_sha256": canonical_sha(backends[0]),
146
+ "auxiliary_equal": list(auxiliary),
147
+ "representation_contract": contract,
148
+ "baseline_reader_contract": "Existing V3 baseline evaluates last_hidden_state at full depth and raw intermediate hidden states; new artifacts declare that same effective contract explicitly. This is not an assertion about historical source training.",
149
+ }
150
+
151
+
152
+ def main():
153
+ parser = argparse.ArgumentParser()
154
+ parser.add_argument("--original", type=Path, required=True)
155
+ parser.add_argument("--candidate", type=Path, required=True)
156
+ parser.add_argument("--constraints", type=Path, required=True)
157
+ parser.add_argument("--prior-development", type=Path, required=True)
158
+ parser.add_argument("--output", type=Path, required=True)
159
+ args = parser.parse_args()
160
+ if args.output.exists():
161
+ raise FileExistsError(args.output)
162
+ if (
163
+ sha(args.prior_development)
164
+ != "56376c7a5c141ab88a0e76b4f6cbbe806c144ccebdc4194dbb829443e281b5b0"
165
+ ):
166
+ raise ValueError("The completed initial grid differs from the refinement plan")
167
+ prior = json.loads(args.prior_development.read_text())
168
+ if not prior["complete"] or prior["selected"] is not None:
169
+ raise ValueError("Refinement requires the preserved failed initial grid")
170
+ torch.set_num_threads(8)
171
+ sources = (args.original, args.candidate)
172
+ actual = tuple(sha(path / "model.safetensors") for path in sources)
173
+ if actual != EXPECTED_WEIGHTS:
174
+ raise ValueError("Endpoint checkpoint bytes changed")
175
+ metadata = verify_metadata(*sources)
176
+ models = [
177
+ AutoModel.from_pretrained(
178
+ path,
179
+ local_files_only=True,
180
+ torch_dtype=torch.float32,
181
+ attn_implementation="sdpa",
182
+ reference_compile=False,
183
+ ).eval()
184
+ for path in sources
185
+ ]
186
+ compatibility = verify_models(*models)
187
+ if compatibility["parameters"] != 306939648:
188
+ raise ValueError("Unexpected encoder parameter count")
189
+ stored_dtypes = []
190
+ for path in sources:
191
+ with safe_open(
192
+ path / "model.safetensors", framework="pt", device="cpu"
193
+ ) as archive:
194
+ stored_dtypes.append(
195
+ sorted(
196
+ {str(archive.get_slice(key).get_dtype()) for key in archive.keys()}
197
+ )
198
+ )
199
+ thresholds = json.loads(args.constraints.read_text())["thresholds"]
200
+ if thresholds != prior["thresholds"]:
201
+ raise ValueError("Refinement may not change the original five thresholds")
202
+ if set(thresholds) != {"short", "long", "tail", "sts", "natural"}:
203
+ raise ValueError("Unexpected gates")
204
+ args.output.mkdir(parents=True)
205
+ report = {
206
+ "method": "FP32 parameter-only weighted sum: (1-alpha)*original + alpha*clean1-last; no optimization steps",
207
+ "alphas": list(ALPHAS),
208
+ "prior_development_sha256": sha(args.prior_development),
209
+ "refinement_policy": "One predeclared .55/.60/.65 refinement after the preserved initial .25/.50/.75 failure; all five gates and selection objective unchanged; no final scores used",
210
+ "source_weights_sha256": dict(zip(("original", "clean1_last"), actual)),
211
+ "source_stored_dtypes": stored_dtypes,
212
+ "compatibility": compatibility,
213
+ "metadata": metadata,
214
+ "constraints_sha256": sha(args.constraints),
215
+ "thresholds": thresholds,
216
+ "development_only": True,
217
+ "selection_objective": "Among candidates passing every original fixed gate, maximize long macro + .25 short judged-pool nDCG; ties prefer smaller alpha.",
218
+ "script_sha256": sha(__file__),
219
+ "candidates": {},
220
+ "complete": False,
221
+ }
222
+ for alpha in ALPHAS:
223
+ label = f"alpha-{alpha:.2f}"
224
+ dest = args.output / label
225
+ model = interpolate(*models, alpha)
226
+ set_vela_representation_contract(model.config, "embedding")
227
+ model.save_pretrained(dest, safe_serialization=True)
228
+ for name in (
229
+ "modules.json",
230
+ "sentence_bert_config.json",
231
+ "config_sentence_transformers.json",
232
+ "special_tokens_map.json",
233
+ "tokenizer.json",
234
+ "tokenizer_config.json",
235
+ ):
236
+ shutil.copy2(args.original / name, dest / name)
237
+ shutil.copytree(args.original / "1_Pooling", dest / "1_Pooling")
238
+ report["candidates"][label] = {
239
+ "alpha": alpha,
240
+ "files_sha256": {
241
+ str(p.relative_to(dest)): sha(p)
242
+ for p in sorted(dest.rglob("*"))
243
+ if p.is_file()
244
+ },
245
+ "parameters_only": True,
246
+ "buffers_from": "original",
247
+ }
248
+ (args.output / "interpolation.json").write_text(
249
+ json.dumps(report, indent=2, allow_nan=False) + "\n"
250
+ )
251
+ print(
252
+ json.dumps(
253
+ {
254
+ "candidate": label,
255
+ "weights_sha256": report["candidates"][label]["files_sha256"][
256
+ "model.safetensors"
257
+ ],
258
+ }
259
+ ),
260
+ flush=True,
261
+ )
262
+ del model
263
+ if tuple(sha(path / "model.safetensors") for path in sources) != actual:
264
+ raise ValueError("Endpoint mutated")
265
+ report["complete"] = True
266
+ (args.output / "interpolation.json").write_text(
267
+ json.dumps(report, indent=2, allow_nan=False) + "\n"
268
+ )
269
+ print(
270
+ json.dumps(
271
+ {
272
+ "compatibility": compatibility,
273
+ "report_sha256": sha(args.output / "interpolation.json"),
274
+ }
275
+ ),
276
+ flush=True,
277
+ )
278
+
279
+
280
+ if __name__ == "__main__":
281
+ main()
reproduction/build_embedding_native_composition.py ADDED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Four frozen DEV-only FP32 parameter combinations; never consume final scores."""
2
+
3
+ import argparse
4
+ import copy
5
+ import json
6
+ from pathlib import Path
7
+ import shutil
8
+
9
+ import torch
10
+ from transformers import AutoModel
11
+ from build_embedding_interpolation_v2 import (
12
+ canonical_sha,
13
+ sha,
14
+ verify_metadata,
15
+ verify_models,
16
+ set_vela_representation_contract,
17
+ )
18
+
19
+ PLAN_SHA256 = "65fb796aa7660e0142fb1216c7f2f9a575a27aab7c9658032782830f2060a8da"
20
+
21
+
22
+ def load_plan(path):
23
+ if sha(path) != PLAN_SHA256:
24
+ raise ValueError("Composition plan changed")
25
+ return json.loads(Path(path).read_text())
26
+
27
+
28
+ def combine(base, other, alpha):
29
+ if not 0 <= alpha <= 1:
30
+ raise ValueError("Only convex parameter combinations are supported")
31
+ verify_models(base, other)
32
+ result = copy.deepcopy(base)
33
+ right = dict(other.named_parameters())
34
+ with torch.no_grad():
35
+ for key, parameter in result.named_parameters():
36
+ # Equal endpoint tensors remain bit-identical; never round frozen
37
+ # equal parameters through separate weighted multiplies.
38
+ parameter.add_(right[key] - parameter, alpha=alpha)
39
+ if not torch.isfinite(parameter).all():
40
+ raise ValueError("Nonfinite combined parameter")
41
+ return result
42
+
43
+
44
+ def parameter_delta(left, right):
45
+ right = dict(right.named_parameters())
46
+ count = 0
47
+ square = 0.0
48
+ maximum = 0.0
49
+ groups = {}
50
+ for name, parameter in left.named_parameters():
51
+ delta = parameter.detach() - right[name].detach()
52
+ if torch.count_nonzero(delta):
53
+ count += 1
54
+ norm2 = float(delta.double().square().sum())
55
+ square += norm2
56
+ maximum = max(maximum, float(delta.abs().max()))
57
+ group = ".".join(name.split(".")[:2])
58
+ groups[group] = groups.get(group, 0.0) + norm2
59
+ return {
60
+ "changed_parameter_tensors": count,
61
+ "l2": square**0.5,
62
+ "max_abs": maximum,
63
+ "group_squared_l2": groups,
64
+ }
65
+
66
+
67
+ def main():
68
+ parser = argparse.ArgumentParser(description=__doc__)
69
+ for name in ("root", "plan", "output"):
70
+ parser.add_argument("--" + name, required=True, type=Path)
71
+ args = parser.parse_args()
72
+ plan = load_plan(args.plan)
73
+ if args.output.exists():
74
+ raise FileExistsError(args.output)
75
+ torch.set_num_threads(8)
76
+ sources = {
77
+ "original": args.root / "models/mmbert-embed-32k-2d-matryoshka",
78
+ "native960": args.root / "vela/embedding-native-rows-repair-v1/step-960",
79
+ "native1440": args.root / "vela/embedding-native-rows-repair-v1/step-1440",
80
+ "clean1": args.root / "vela/embedding-long-clean1/last",
81
+ }
82
+ if {
83
+ name: sha(path / "model.safetensors") for name, path in sources.items()
84
+ } != plan["source_weights_sha256"]:
85
+ raise ValueError("Source checkpoint bytes changed")
86
+ models, metadata, compatibility = {}, {}, {}
87
+ for name, path in sources.items():
88
+ if name != "original":
89
+ metadata[name] = verify_metadata(sources["original"], path)
90
+ model, loading = AutoModel.from_pretrained(
91
+ path,
92
+ local_files_only=True,
93
+ torch_dtype=torch.float32,
94
+ attn_implementation="sdpa",
95
+ reference_compile=False,
96
+ output_loading_info=True,
97
+ )
98
+ if any(
99
+ loading.get(key)
100
+ for key in (
101
+ "missing_keys",
102
+ "unexpected_keys",
103
+ "mismatched_keys",
104
+ "error_msgs",
105
+ )
106
+ ):
107
+ raise ValueError("Incomplete checkpoint loading: " + str(loading))
108
+ models[name] = model.eval()
109
+ if name != "original":
110
+ compatibility[name] = verify_models(models["original"], model)
111
+ if compatibility[name]["parameters"] != 306939648:
112
+ raise ValueError("Unexpected encoder parameter count")
113
+ deltas = {
114
+ name: parameter_delta(model, models["original"])
115
+ for name, model in models.items()
116
+ if name != "original"
117
+ }
118
+ report = {
119
+ "plan_sha256": PLAN_SHA256,
120
+ "development_only": True,
121
+ "complete": False,
122
+ "plan": plan,
123
+ "metadata": metadata,
124
+ "compatibility": compatibility,
125
+ "source_parameter_deltas_from_original": deltas,
126
+ "source_files_sha256": {
127
+ name: {
128
+ key: sha(path / key)
129
+ for key in ("model.safetensors", "config.json", "tokenizer.json")
130
+ }
131
+ for name, path in sources.items()
132
+ },
133
+ "script_sha256": sha(__file__),
134
+ "compatibility_helper_sha256": sha(
135
+ Path(__file__).with_name("build_embedding_interpolation_v2.py")
136
+ ),
137
+ "candidates": {},
138
+ }
139
+ args.output.mkdir(parents=True)
140
+ shutil.copy2(args.plan, args.output / "plan.json")
141
+ manifest = args.output / "composition.json"
142
+ manifest.write_text(json.dumps(report, indent=2, allow_nan=False) + "\n")
143
+ for choice in plan["candidates"]:
144
+ name = choice["name"]
145
+ combined = combine(
146
+ models[choice["base"]], models[choice["other"]], choice["alpha"]
147
+ )
148
+ set_vela_representation_contract(combined.config, "embedding")
149
+ output = args.output / name
150
+ combined.save_pretrained(output, safe_serialization=True)
151
+ for auxiliary in (
152
+ "modules.json",
153
+ "sentence_bert_config.json",
154
+ "config_sentence_transformers.json",
155
+ "special_tokens_map.json",
156
+ "tokenizer.json",
157
+ "tokenizer_config.json",
158
+ ):
159
+ shutil.copy2(sources["original"] / auxiliary, output / auxiliary)
160
+ shutil.copytree(sources["original"] / "1_Pooling", output / "1_Pooling")
161
+ # Verify after serialization using native FP32 construction; later DEV
162
+ # independently reloads FP16 Parameters and native FP32 buffers.
163
+ loaded = AutoModel.from_pretrained(
164
+ output,
165
+ local_files_only=True,
166
+ torch_dtype=torch.float32,
167
+ attn_implementation="sdpa",
168
+ reference_compile=False,
169
+ ).eval()
170
+ verify_models(combined, loaded)
171
+ if any(
172
+ not torch.equal(value, dict(loaded.named_parameters())[key])
173
+ for key, value in combined.named_parameters()
174
+ ):
175
+ raise ValueError("Saved combination parameter changed")
176
+ report["candidates"][name] = {
177
+ "choice": choice,
178
+ "parameter_delta_from_original": parameter_delta(
179
+ combined, models["original"]
180
+ ),
181
+ "parameter_delta_from_native1440": parameter_delta(
182
+ combined, models["native1440"]
183
+ ),
184
+ "files_sha256": {
185
+ str(path.relative_to(output)): sha(path)
186
+ for path in sorted(output.rglob("*"))
187
+ if path.is_file()
188
+ },
189
+ "parameters_only": True,
190
+ "unchanged_native_buffers": compatibility["native1440"]["buffers"],
191
+ }
192
+ manifest.write_text(json.dumps(report, indent=2, allow_nan=False) + "\n")
193
+ print(
194
+ json.dumps(
195
+ {
196
+ "candidate": name,
197
+ "weights_sha256": report["candidates"][name]["files_sha256"][
198
+ "model.safetensors"
199
+ ],
200
+ }
201
+ ),
202
+ flush=True,
203
+ )
204
+ del combined, loaded
205
+ if {
206
+ name: sha(path / "model.safetensors") for name, path in sources.items()
207
+ } != plan["source_weights_sha256"]:
208
+ raise ValueError("Source bytes were modified")
209
+ report["complete"] = True
210
+ manifest.write_text(json.dumps(report, indent=2, allow_nan=False) + "\n")
211
+ print(
212
+ json.dumps({"complete": True, "composition_sha256": sha(manifest)}), flush=True
213
+ )
214
+
215
+
216
+ if __name__ == "__main__":
217
+ main()
reproduction/candle/README.md ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Frozen Embedding Candle CPU qualification
2
+
3
+ `validate_candle.py` runs the actual `init_mmbert_embedding_model`, `get_embedding_2d_matryoshka`, `embedding_text_exceeds_window`, and `free_embedding` C ABI. It pins the model, tokenizer, configuration and library by SHA256 before loading. The comparison is against the same native HF weights in FP32, with inference autocast disabled and the explicit Vela representation contract.
4
+
5
+ The numerical gate is fixed before inference: elementwise atol=2e-4, rtol=1e-4, and cosine >=0.99999. No tolerance is adjusted after inspecting results.
6
+
7
+ ```sh
8
+ OMP_NUM_THREADS=8 RAYON_NUM_THREADS=8 TOKENIZERS_PARALLELISM=false \
9
+ python validate_candle.py --model /path/to/frozen/model \
10
+ --library /path/to/libcandle_semantic_router.so \
11
+ --source /path/to/semantic-router --output /path/to/new/evidence
12
+ ```
13
+
14
+ The script requires Torch, Transformers, NumPy and the supplied repository's `mmbert_32k.representation_outputs` module. It reads no task-quality final or test dataset. `inputs.jsonl` contains authored engine fixtures, including repeated neutral filler; these are numerical and functional probes, not long-document quality evidence. Exact lengths come from the frozen tokenizer's actual encode path, including BOS and EOS.
15
+
16
+ Two short texts execute all four advertised layers and five dimensions through the FFI. Boundary lengths execute the full22-layer768-dimensional path. Each32K layer is a separate real FFI invocation at768 dimensions; comparisons at smaller32K dimensions are explicitly marked as derived, not separate API executions. This entrypoint is single-input; no native batched-padding claim is made.
17
+
18
+ Every returned vector allocation is freed once using its exact returned length, including repeated calls. The model is a process-global singleton with no teardown API, so these checks cover result-buffer release, not model unload. Existing FFI nonpositive layer/dimension values choose defaults. Its `sequence_length` field counts whitespace-separated words; the evidence separately records the true tokenizer length and does not mislabel that legacy field as token count.
19
+
20
+ `qualification-v1/report.json` is incremental until `complete:true`. Only then may `all_pass` be interpreted. Raw vectors and the HF FP32 references are retained in separate NPZ files; inference wall times are CPU engine measurements, not Router HTTP or accelerator latency.
21
+
22
+ ## Published evidence and rebuilt libraries
23
+
24
+ The primary and aggregate reports and retained vectors are the original completed evidence. Their source-script digests describe the executed originals. `publication-adaptations.json` maps those originals to the public copies, which replace task-specific paths with command-line arguments and allow an explicit expected library digest. Rebuilt libraries can have different byte digests; passing their digest does not make them the originally qualified binary. The same numerical checks must pass independently.
25
+
26
+ The default `--expected-library-sha256` is the qualified library digest. For a new build, supply the SHA256 you independently computed. `short_reference.py` accepts `--root`, `--model`, `--library`, and `--source`; use a new root containing the neutral `qualification-v1/inputs.jsonl` so the preserved short report is not overwritten. To recompute saved-vector cosine in FP64 without loading a model:
27
+
28
+ ```sh
29
+ python summarize_candle.py --root . --output aggregate-recomputed.json
30
+ ```
31
+
32
+ This computes new arithmetic summaries from the unchanged retained arrays. It cannot establish task quality or benchmark performance.
reproduction/candle/aggregate.json ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "complete": true,
3
+ "all_pass": true,
4
+ "scope": "Candle CPU FFI against the same frozen native weights through Transformers CPU FP32. Engine equivalence, not a task-quality benchmark.",
5
+ "model_sha256": {
6
+ "model.safetensors": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
7
+ "config.json": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
8
+ "tokenizer.json": "5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c"
9
+ },
10
+ "library_sha256": "0eefcc9e21bf790efd3861cd6f1ddc396774dd65d65aa67e097c4ed9691e72a6",
11
+ "source_sha256": {
12
+ "candle-binding/src/ffi/embedding.rs": "dd18a095c6174ae39b98107e83e22f51ac3e880cfefbd3e69ba7ae46e21d284e",
13
+ "candle-binding/src/ffi/types.rs": "a71d3f7b22132d0f0902051e4bc3a36634ac3275c8932b00d21424751d06d236",
14
+ "candle-binding/src/ffi/memory.rs": "0193f8754c8e78e6c40b6740905d4bf1b0289f484f5321580d351a2c0ff20d64",
15
+ "candle-binding/src/model_architectures/embedding/mmbert_embedding.rs": "dc8f1a238cd5f2c38a77f699bffd22ac482eff4702d87f0a9052f4787463a2c8",
16
+ "src/training/model_embeddings/mmbert_32k/representation_outputs.py": "9f2c8cab7a71a08e38c992ef484d093ecebde592023f252db529652a8c759901"
17
+ },
18
+ "versions": {
19
+ "torch": "2.10.0+rocm7.0",
20
+ "transformers": "4.57.6",
21
+ "numpy": "2.5.3"
22
+ },
23
+ "gate": {
24
+ "vector_atol": 0.0002,
25
+ "vector_rtol": 0.0001,
26
+ "cosine_min": 0.99999
27
+ },
28
+ "actual_ffi_case_count": 60,
29
+ "functional_and_derived_check_count": 26,
30
+ "max_abs_error": 2.5391578674316406e-05,
31
+ "minimum_cosine_fp64": 0.9999999907799374,
32
+ "cosine_note": "This summary recomputes both norms and the dot product in FP64 from the retained vectors. The unchanged primary report used FP32 norms, which can round slightly above one. No model inference or numerical threshold was changed.",
33
+ "long_actual_calls": [
34
+ {
35
+ "input_id": "tokens-32768",
36
+ "layer": 3,
37
+ "dimension": 768,
38
+ "max_abs_error": 2.5391578674316406e-05,
39
+ "cosine_fp64": 0.9999999994151797,
40
+ "pass": true
41
+ },
42
+ {
43
+ "input_id": "tokens-32768",
44
+ "layer": 6,
45
+ "dimension": 768,
46
+ "max_abs_error": 3.516674041748047e-06,
47
+ "cosine_fp64": 0.9999999999487885,
48
+ "pass": true
49
+ },
50
+ {
51
+ "input_id": "tokens-32768",
52
+ "layer": 11,
53
+ "dimension": 768,
54
+ "max_abs_error": 4.410743713378906e-06,
55
+ "cosine_fp64": 0.9999999998132494,
56
+ "pass": true
57
+ },
58
+ {
59
+ "input_id": "tokens-32768",
60
+ "layer": 22,
61
+ "dimension": 768,
62
+ "max_abs_error": 1.7130747437477112e-05,
63
+ "cosine_fp64": 0.9999999907799374,
64
+ "pass": true
65
+ }
66
+ ],
67
+ "long_derived_dimensions": [
68
+ {
69
+ "layer": 3,
70
+ "dimension": 64,
71
+ "max_abs_error": 2.0742416381835938e-05,
72
+ "cosine_fp64": 0.9999999996990654,
73
+ "pass": true,
74
+ "separate_ffi_invocation": false
75
+ },
76
+ {
77
+ "layer": 3,
78
+ "dimension": 128,
79
+ "max_abs_error": 1.671910285949707e-05,
80
+ "cosine_fp64": 0.9999999997413231,
81
+ "pass": true,
82
+ "separate_ffi_invocation": false
83
+ },
84
+ {
85
+ "layer": 3,
86
+ "dimension": 256,
87
+ "max_abs_error": 1.2248754501342773e-05,
88
+ "cosine_fp64": 0.9999999997443485,
89
+ "pass": true,
90
+ "separate_ffi_invocation": false
91
+ },
92
+ {
93
+ "layer": 3,
94
+ "dimension": 512,
95
+ "max_abs_error": 8.553266525268555e-06,
96
+ "cosine_fp64": 0.9999999998376079,
97
+ "pass": true,
98
+ "separate_ffi_invocation": false
99
+ },
100
+ {
101
+ "layer": 6,
102
+ "dimension": 64,
103
+ "max_abs_error": 7.331371307373047e-06,
104
+ "cosine_fp64": 0.9999999999378367,
105
+ "pass": true,
106
+ "separate_ffi_invocation": false
107
+ },
108
+ {
109
+ "layer": 6,
110
+ "dimension": 128,
111
+ "max_abs_error": 6.705522537231445e-06,
112
+ "cosine_fp64": 0.999999999933312,
113
+ "pass": true,
114
+ "separate_ffi_invocation": false
115
+ },
116
+ {
117
+ "layer": 6,
118
+ "dimension": 256,
119
+ "max_abs_error": 5.4836273193359375e-06,
120
+ "cosine_fp64": 0.999999999934767,
121
+ "pass": true,
122
+ "separate_ffi_invocation": false
123
+ },
124
+ {
125
+ "layer": 6,
126
+ "dimension": 512,
127
+ "max_abs_error": 3.7997961044311523e-06,
128
+ "cosine_fp64": 0.9999999999413497,
129
+ "pass": true,
130
+ "separate_ffi_invocation": false
131
+ },
132
+ {
133
+ "layer": 11,
134
+ "dimension": 64,
135
+ "max_abs_error": 5.453824996948242e-06,
136
+ "cosine_fp64": 0.9999999998581759,
137
+ "pass": true,
138
+ "separate_ffi_invocation": false
139
+ },
140
+ {
141
+ "layer": 11,
142
+ "dimension": 128,
143
+ "max_abs_error": 5.207955837249756e-06,
144
+ "cosine_fp64": 0.9999999998220728,
145
+ "pass": true,
146
+ "separate_ffi_invocation": false
147
+ },
148
+ {
149
+ "layer": 11,
150
+ "dimension": 256,
151
+ "max_abs_error": 4.231929779052734e-06,
152
+ "cosine_fp64": 0.9999999997576076,
153
+ "pass": true,
154
+ "separate_ffi_invocation": false
155
+ },
156
+ {
157
+ "layer": 11,
158
+ "dimension": 512,
159
+ "max_abs_error": 2.9169023036956787e-06,
160
+ "cosine_fp64": 0.9999999997663125,
161
+ "pass": true,
162
+ "separate_ffi_invocation": false
163
+ },
164
+ {
165
+ "layer": 22,
166
+ "dimension": 64,
167
+ "max_abs_error": 3.7863850593566895e-05,
168
+ "cosine_fp64": 0.9999999913652787,
169
+ "pass": true,
170
+ "separate_ffi_invocation": false
171
+ },
172
+ {
173
+ "layer": 22,
174
+ "dimension": 128,
175
+ "max_abs_error": 2.9355287551879883e-05,
176
+ "cosine_fp64": 0.9999999921722509,
177
+ "pass": true,
178
+ "separate_ffi_invocation": false
179
+ },
180
+ {
181
+ "layer": 22,
182
+ "dimension": 256,
183
+ "max_abs_error": 2.655666321516037e-05,
184
+ "cosine_fp64": 0.9999999900902025,
185
+ "pass": true,
186
+ "separate_ffi_invocation": false
187
+ },
188
+ {
189
+ "layer": 22,
190
+ "dimension": 512,
191
+ "max_abs_error": 1.857895404100418e-05,
192
+ "cosine_fp64": 0.999999990635099,
193
+ "pass": true,
194
+ "separate_ffi_invocation": false
195
+ }
196
+ ],
197
+ "additional_short_matrix": {
198
+ "actual_ffi_cases": 80,
199
+ "all_pass": true,
200
+ "max_abs_error": 1.0728836059570312e-06,
201
+ "scope": "Additional short-only CPU FP32 comparison; no long or batch claim. Same frozen gate, not replacing ongoing long proof."
202
+ },
203
+ "coverage_and_limits": {
204
+ "short": "Two multilingual texts: every advertised4 layers x5 dimensions through real FFI",
205
+ "boundaries": "Full22x768 real FFI at2,63,64,65,127,128,129,512,4096 tokens",
206
+ "long": "32768 tokens, four real FFI calls at layers3/6/11/22 x768; smaller dimensions derived, not separately executed",
207
+ "batch": "This FFI entry is B1 only; no native B2 qualification claimed",
208
+ "ownership": "Each returned allocation freed exactly once via free_embedding. Global model singleton has no release API; result-buffer release is tested, not model teardown."
209
+ },
210
+ "timing_note": "Single CPU qualification forwards are recorded in the primary report. They are neither a warm latency benchmark nor Router HTTP or accelerator latency.",
211
+ "artifacts": {
212
+ "validate_candle.py": {
213
+ "sha256": "5bd589fb2160385ab6899ebfdc4e317efa88192cc806382aa71374a6efead5b8",
214
+ "bytes": 10150
215
+ },
216
+ "short_reference.py": {
217
+ "sha256": "ca7dfee99b4f990c12e12a5e9da652a77bb6440f7195c9773ff6b32ccaf446d6",
218
+ "bytes": 3826
219
+ },
220
+ "summarize_candle.py": {
221
+ "sha256": "17f0678f8338e134109d9880ace170aef84ac48a693b9f347320d36b128821c6",
222
+ "bytes": 5273
223
+ },
224
+ "README.md": {
225
+ "sha256": "657aa22f2029a2541f48faf72fefc43c7a5158e029d0adeb26a9c0a7abeaf022",
226
+ "bytes": 2406
227
+ },
228
+ "qualification-v1/report.json": {
229
+ "sha256": "d16edae02cb85ed93be89d562d797a5e5c9aeaaa61609b7ec65f6817f4473fc4",
230
+ "bytes": 35630
231
+ },
232
+ "qualification-v1/inputs.jsonl": {
233
+ "sha256": "617295b3aa1fa67310a282302b7d2f099fb501a63a633a35ad6f27546a9536b4",
234
+ "bytes": 355406
235
+ },
236
+ "qualification-v1/native-vectors.npz": {
237
+ "sha256": "79e5172d95147325f39859effd7f80f65a8bce95ac187707ea6b4fc813ffcee2",
238
+ "bytes": 115800
239
+ },
240
+ "qualification-v1/hf-fp32-vectors.npz": {
241
+ "sha256": "9610e70d992ece3ebc4eff4a8b0d4cfab3597363594836d928c2c581d12fab5f",
242
+ "bytes": 395062
243
+ },
244
+ "short-reference-v1/report.json": {
245
+ "sha256": "c4a2af07731984ddbd69d69fc075f5125b0dad4df0262af61225a776805b7315",
246
+ "bytes": 14624
247
+ }
248
+ }
249
+ }
reproduction/candle/publication-adaptations.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validate_candle.py": {
3
+ "source_sha256": "5bd589fb2160385ab6899ebfdc4e317efa88192cc806382aa71374a6efead5b8",
4
+ "published_sha256": "552c0cc12662cd54c02ab1b75b11b1b52e347bf13c07d1208470f178962602b3",
5
+ "adaptation": "Replace experiment-local paths with explicit CLI arguments; allow an explicit expected library digest; no model, fixture, numerical equation, or tolerance changes."
6
+ },
7
+ "short_reference.py": {
8
+ "source_sha256": "ca7dfee99b4f990c12e12a5e9da652a77bb6440f7195c9773ff6b32ccaf446d6",
9
+ "published_sha256": "9bf77b5e3e72a076619bdfe453558994720a340295d4b05cf9a04812edada7a8",
10
+ "adaptation": "Replace experiment-local paths with explicit CLI arguments; allow an explicit expected library digest; no model, fixture, numerical equation, or tolerance changes."
11
+ },
12
+ "summarize_candle.py": {
13
+ "source_sha256": "17f0678f8338e134109d9880ace170aef84ac48a693b9f347320d36b128821c6",
14
+ "published_sha256": "395a789947b69fe4bc65b94434947944f5439505266ce1cb9d135cd11f582d51",
15
+ "adaptation": "Replace experiment-local paths with explicit CLI arguments; allow an explicit expected library digest; no model, fixture, numerical equation, or tolerance changes."
16
+ },
17
+ "README.md": {
18
+ "source_sha256": "657aa22f2029a2541f48faf72fefc43c7a5158e029d0adeb26a9c0a7abeaf022",
19
+ "published_sha256": "d9afd156b31ec14de3cfbeb0f53c8cd74528c0380d0f0ae9b9ecc04ac6d451ef",
20
+ "adaptation": "Add publication provenance and portable invocation instructions."
21
+ }
22
+ }
reproduction/candle/qualification-v1/hf-fp32-vectors.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9610e70d992ece3ebc4eff4a8b0d4cfab3597363594836d928c2c581d12fab5f
3
+ size 395062
reproduction/candle/qualification-v1/inputs.jsonl ADDED
The diff for this file is too large to render. See raw diff
 
reproduction/candle/qualification-v1/native-vectors.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:79e5172d95147325f39859effd7f80f65a8bce95ac187707ea6b4fc813ffcee2
3
+ size 115800
reproduction/candle/qualification-v1/report.json ADDED
@@ -0,0 +1,1297 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_sha256": {
3
+ "model.safetensors": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
4
+ "config.json": "1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017",
5
+ "tokenizer.json": "5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c"
6
+ },
7
+ "library_sha256": "0eefcc9e21bf790efd3861cd6f1ddc396774dd65d65aa67e097c4ed9691e72a6",
8
+ "script_sha256": "5bd589fb2160385ab6899ebfdc4e317efa88192cc806382aa71374a6efead5b8",
9
+ "source_sha256": {
10
+ "candle-binding/src/ffi/embedding.rs": "dd18a095c6174ae39b98107e83e22f51ac3e880cfefbd3e69ba7ae46e21d284e",
11
+ "candle-binding/src/ffi/types.rs": "a71d3f7b22132d0f0902051e4bc3a36634ac3275c8932b00d21424751d06d236",
12
+ "candle-binding/src/ffi/memory.rs": "0193f8754c8e78e6c40b6740905d4bf1b0289f484f5321580d351a2c0ff20d64",
13
+ "candle-binding/src/model_architectures/embedding/mmbert_embedding.rs": "dc8f1a238cd5f2c38a77f699bffd22ac482eff4702d87f0a9052f4787463a2c8",
14
+ "src/training/model_embeddings/mmbert_32k/representation_outputs.py": "9f2c8cab7a71a08e38c992ef484d093ecebde592023f252db529652a8c759901"
15
+ },
16
+ "gate": {
17
+ "vector_atol": 0.0002,
18
+ "vector_rtol": 0.0001,
19
+ "cosine_min": 0.99999
20
+ },
21
+ "device": "CPU",
22
+ "threads": 8,
23
+ "precision": "FP32 weights, original FP32 RoPE buffers, FP32 mean and L2; no autocast",
24
+ "coverage": {
25
+ "short": "Two multilingual texts: every advertised4 layers x5 dimensions through real FFI",
26
+ "boundaries": "Full22x768 real FFI at2,63,64,65,127,128,129,512,4096 tokens",
27
+ "long": "32768 tokens, four real FFI calls at layers3/6/11/22 x768; smaller dimensions derived, not separately executed",
28
+ "batch": "This FFI entry is B1 only; no native B2 qualification claimed",
29
+ "ownership": "Each returned allocation freed exactly once via free_embedding. Global model singleton has no release API; result-buffer release is tested, not model teardown."
30
+ },
31
+ "cases": [
32
+ {
33
+ "input_id": "short-en",
34
+ "actual_tokens": 17,
35
+ "layer": 3,
36
+ "dimension": 64,
37
+ "status": 0,
38
+ "error": false,
39
+ "returned_length": 64,
40
+ "ffi_sequence_length_field": 14,
41
+ "wall_seconds": 0.07352404901757836,
42
+ "ffi_ms": 73.51539611816406,
43
+ "finite": true,
44
+ "norm": 0.9999999403953552,
45
+ "max_abs_error": 1.4901161193847656e-07,
46
+ "cosine": 0.9999999721808451,
47
+ "pass_parity": true
48
+ },
49
+ {
50
+ "input_id": "short-en",
51
+ "actual_tokens": 17,
52
+ "layer": 3,
53
+ "dimension": 128,
54
+ "status": 0,
55
+ "error": false,
56
+ "returned_length": 128,
57
+ "ffi_sequence_length_field": 14,
58
+ "wall_seconds": 0.04335330193862319,
59
+ "ffi_ms": 43.34237289428711,
60
+ "finite": true,
61
+ "norm": 1.0,
62
+ "max_abs_error": 1.1548399925231934e-07,
63
+ "cosine": 1.0000000192041345,
64
+ "pass_parity": true
65
+ },
66
+ {
67
+ "input_id": "short-en",
68
+ "actual_tokens": 17,
69
+ "layer": 3,
70
+ "dimension": 256,
71
+ "status": 0,
72
+ "error": false,
73
+ "returned_length": 256,
74
+ "ffi_sequence_length_field": 14,
75
+ "wall_seconds": 0.04158396099228412,
76
+ "ffi_ms": 41.574066162109375,
77
+ "finite": true,
78
+ "norm": 1.0,
79
+ "max_abs_error": 1.2665987014770508e-07,
80
+ "cosine": 0.9999999980897961,
81
+ "pass_parity": true
82
+ },
83
+ {
84
+ "input_id": "short-en",
85
+ "actual_tokens": 17,
86
+ "layer": 3,
87
+ "dimension": 512,
88
+ "status": 0,
89
+ "error": false,
90
+ "returned_length": 512,
91
+ "ffi_sequence_length_field": 14,
92
+ "wall_seconds": 0.04126402095425874,
93
+ "ffi_ms": 41.2540397644043,
94
+ "finite": true,
95
+ "norm": 1.000000238418579,
96
+ "max_abs_error": 1.4901161193847656e-07,
97
+ "cosine": 0.9999998864747806,
98
+ "pass_parity": true
99
+ },
100
+ {
101
+ "input_id": "short-en",
102
+ "actual_tokens": 17,
103
+ "layer": 3,
104
+ "dimension": 768,
105
+ "status": 0,
106
+ "error": false,
107
+ "returned_length": 768,
108
+ "ffi_sequence_length_field": 14,
109
+ "wall_seconds": 0.04121709696482867,
110
+ "ffi_ms": 41.20733642578125,
111
+ "finite": true,
112
+ "norm": 1.0,
113
+ "max_abs_error": 5.960464477539063e-08,
114
+ "cosine": 1.0000000822871402,
115
+ "pass_parity": true
116
+ },
117
+ {
118
+ "input_id": "short-en",
119
+ "actual_tokens": 17,
120
+ "layer": 6,
121
+ "dimension": 64,
122
+ "status": 0,
123
+ "error": false,
124
+ "returned_length": 64,
125
+ "ffi_sequence_length_field": 14,
126
+ "wall_seconds": 0.05103311699349433,
127
+ "ffi_ms": 51.022483825683594,
128
+ "finite": true,
129
+ "norm": 1.0,
130
+ "max_abs_error": 2.384185791015625e-07,
131
+ "cosine": 1.000000016439566,
132
+ "pass_parity": true
133
+ },
134
+ {
135
+ "input_id": "short-en",
136
+ "actual_tokens": 17,
137
+ "layer": 6,
138
+ "dimension": 128,
139
+ "status": 0,
140
+ "error": false,
141
+ "returned_length": 128,
142
+ "ffi_sequence_length_field": 14,
143
+ "wall_seconds": 0.04765107005368918,
144
+ "ffi_ms": 47.640953063964844,
145
+ "finite": true,
146
+ "norm": 1.0,
147
+ "max_abs_error": 1.7881393432617188e-07,
148
+ "cosine": 1.000000043061299,
149
+ "pass_parity": true
150
+ },
151
+ {
152
+ "input_id": "short-en",
153
+ "actual_tokens": 17,
154
+ "layer": 6,
155
+ "dimension": 256,
156
+ "status": 0,
157
+ "error": false,
158
+ "returned_length": 256,
159
+ "ffi_sequence_length_field": 14,
160
+ "wall_seconds": 0.04859767691232264,
161
+ "ffi_ms": 48.587860107421875,
162
+ "finite": true,
163
+ "norm": 0.9999998211860657,
164
+ "max_abs_error": 1.825392246246338e-07,
165
+ "cosine": 1.0000000028054645,
166
+ "pass_parity": true
167
+ },
168
+ {
169
+ "input_id": "short-en",
170
+ "actual_tokens": 17,
171
+ "layer": 6,
172
+ "dimension": 512,
173
+ "status": 0,
174
+ "error": false,
175
+ "returned_length": 512,
176
+ "ffi_sequence_length_field": 14,
177
+ "wall_seconds": 0.0474844720447436,
178
+ "ffi_ms": 47.47441101074219,
179
+ "finite": true,
180
+ "norm": 1.0000001192092896,
181
+ "max_abs_error": 2.384185791015625e-07,
182
+ "cosine": 0.9999999985733496,
183
+ "pass_parity": true
184
+ },
185
+ {
186
+ "input_id": "short-en",
187
+ "actual_tokens": 17,
188
+ "layer": 6,
189
+ "dimension": 768,
190
+ "status": 0,
191
+ "error": false,
192
+ "returned_length": 768,
193
+ "ffi_sequence_length_field": 14,
194
+ "wall_seconds": 0.04998411796987057,
195
+ "ffi_ms": 49.973751068115234,
196
+ "finite": true,
197
+ "norm": 1.0000001192092896,
198
+ "max_abs_error": 7.450580596923828e-08,
199
+ "cosine": 0.9999999905373957,
200
+ "pass_parity": true
201
+ },
202
+ {
203
+ "input_id": "short-en",
204
+ "actual_tokens": 17,
205
+ "layer": 11,
206
+ "dimension": 64,
207
+ "status": 0,
208
+ "error": false,
209
+ "returned_length": 64,
210
+ "ffi_sequence_length_field": 14,
211
+ "wall_seconds": 0.05827485106419772,
212
+ "ffi_ms": 58.263877868652344,
213
+ "finite": true,
214
+ "norm": 1.0,
215
+ "max_abs_error": 4.470348358154297e-07,
216
+ "cosine": 0.999999958666834,
217
+ "pass_parity": true
218
+ },
219
+ {
220
+ "input_id": "short-en",
221
+ "actual_tokens": 17,
222
+ "layer": 11,
223
+ "dimension": 128,
224
+ "status": 0,
225
+ "error": false,
226
+ "returned_length": 128,
227
+ "ffi_sequence_length_field": 14,
228
+ "wall_seconds": 0.06452716595958918,
229
+ "ffi_ms": 64.51631164550781,
230
+ "finite": true,
231
+ "norm": 1.0000001192092896,
232
+ "max_abs_error": 2.980232238769531e-07,
233
+ "cosine": 1.0000000176256918,
234
+ "pass_parity": true
235
+ },
236
+ {
237
+ "input_id": "short-en",
238
+ "actual_tokens": 17,
239
+ "layer": 11,
240
+ "dimension": 256,
241
+ "status": 0,
242
+ "error": false,
243
+ "returned_length": 256,
244
+ "ffi_sequence_length_field": 14,
245
+ "wall_seconds": 0.06078739196527749,
246
+ "ffi_ms": 60.777183532714844,
247
+ "finite": true,
248
+ "norm": 1.0,
249
+ "max_abs_error": 2.8312206268310547e-07,
250
+ "cosine": 1.0000000965129094,
251
+ "pass_parity": true
252
+ },
253
+ {
254
+ "input_id": "short-en",
255
+ "actual_tokens": 17,
256
+ "layer": 11,
257
+ "dimension": 512,
258
+ "status": 0,
259
+ "error": false,
260
+ "returned_length": 512,
261
+ "ffi_sequence_length_field": 14,
262
+ "wall_seconds": 0.06003961805254221,
263
+ "ffi_ms": 60.02958679199219,
264
+ "finite": true,
265
+ "norm": 1.0000001192092896,
266
+ "max_abs_error": 1.1920928955078125e-07,
267
+ "cosine": 1.0000000463993302,
268
+ "pass_parity": true
269
+ },
270
+ {
271
+ "input_id": "short-en",
272
+ "actual_tokens": 17,
273
+ "layer": 11,
274
+ "dimension": 768,
275
+ "status": 0,
276
+ "error": false,
277
+ "returned_length": 768,
278
+ "ffi_sequence_length_field": 14,
279
+ "wall_seconds": 0.059782386058941483,
280
+ "ffi_ms": 59.77064514160156,
281
+ "finite": true,
282
+ "norm": 0.999999463558197,
283
+ "max_abs_error": 3.5762786865234375e-07,
284
+ "cosine": 1.0000000052344211,
285
+ "pass_parity": true
286
+ },
287
+ {
288
+ "input_id": "short-en",
289
+ "actual_tokens": 17,
290
+ "layer": 22,
291
+ "dimension": 64,
292
+ "status": 0,
293
+ "error": false,
294
+ "returned_length": 64,
295
+ "ffi_sequence_length_field": 14,
296
+ "wall_seconds": 0.08368178806267679,
297
+ "ffi_ms": 83.66869354248047,
298
+ "finite": true,
299
+ "norm": 1.0,
300
+ "max_abs_error": 3.427267074584961e-07,
301
+ "cosine": 0.9999999906121615,
302
+ "pass_parity": true
303
+ },
304
+ {
305
+ "input_id": "short-en",
306
+ "actual_tokens": 17,
307
+ "layer": 22,
308
+ "dimension": 128,
309
+ "status": 0,
310
+ "error": false,
311
+ "returned_length": 128,
312
+ "ffi_sequence_length_field": 14,
313
+ "wall_seconds": 0.09818504704162478,
314
+ "ffi_ms": 98.17113494873047,
315
+ "finite": true,
316
+ "norm": 1.0,
317
+ "max_abs_error": 2.4586915969848633e-07,
318
+ "cosine": 1.0000000724727505,
319
+ "pass_parity": true
320
+ },
321
+ {
322
+ "input_id": "short-en",
323
+ "actual_tokens": 17,
324
+ "layer": 22,
325
+ "dimension": 256,
326
+ "status": 0,
327
+ "error": false,
328
+ "returned_length": 256,
329
+ "ffi_sequence_length_field": 14,
330
+ "wall_seconds": 0.09158447594381869,
331
+ "ffi_ms": 91.57025909423828,
332
+ "finite": true,
333
+ "norm": 1.0,
334
+ "max_abs_error": 1.862645149230957e-07,
335
+ "cosine": 1.000000074981958,
336
+ "pass_parity": true
337
+ },
338
+ {
339
+ "input_id": "short-en",
340
+ "actual_tokens": 17,
341
+ "layer": 22,
342
+ "dimension": 512,
343
+ "status": 0,
344
+ "error": false,
345
+ "returned_length": 512,
346
+ "ffi_sequence_length_field": 14,
347
+ "wall_seconds": 0.09315352595876902,
348
+ "ffi_ms": 93.13975524902344,
349
+ "finite": true,
350
+ "norm": 1.0000001192092896,
351
+ "max_abs_error": 1.6763806343078613e-07,
352
+ "cosine": 1.0000000652533545,
353
+ "pass_parity": true
354
+ },
355
+ {
356
+ "input_id": "short-en",
357
+ "actual_tokens": 17,
358
+ "layer": 22,
359
+ "dimension": 768,
360
+ "status": 0,
361
+ "error": false,
362
+ "returned_length": 768,
363
+ "ffi_sequence_length_field": 14,
364
+ "wall_seconds": 0.09209871606435627,
365
+ "ffi_ms": 92.08436584472656,
366
+ "finite": true,
367
+ "norm": 1.0000001192092896,
368
+ "max_abs_error": 1.4062970876693726e-07,
369
+ "cosine": 1.000000004329943,
370
+ "pass_parity": true
371
+ },
372
+ {
373
+ "input_id": "short-zh",
374
+ "actual_tokens": 21,
375
+ "layer": 3,
376
+ "dimension": 64,
377
+ "status": 0,
378
+ "error": false,
379
+ "returned_length": 64,
380
+ "ffi_sequence_length_field": 1,
381
+ "wall_seconds": 0.05469667399302125,
382
+ "ffi_ms": 54.68404769897461,
383
+ "finite": true,
384
+ "norm": 1.0,
385
+ "max_abs_error": 2.1606683731079102e-07,
386
+ "cosine": 1.0000000478718052,
387
+ "pass_parity": true
388
+ },
389
+ {
390
+ "input_id": "short-zh",
391
+ "actual_tokens": 21,
392
+ "layer": 3,
393
+ "dimension": 128,
394
+ "status": 0,
395
+ "error": false,
396
+ "returned_length": 128,
397
+ "ffi_sequence_length_field": 1,
398
+ "wall_seconds": 0.048163113999180496,
399
+ "ffi_ms": 48.15096664428711,
400
+ "finite": true,
401
+ "norm": 1.0,
402
+ "max_abs_error": 1.6391277313232422e-07,
403
+ "cosine": 1.0000000247820346,
404
+ "pass_parity": true
405
+ },
406
+ {
407
+ "input_id": "short-zh",
408
+ "actual_tokens": 21,
409
+ "layer": 3,
410
+ "dimension": 256,
411
+ "status": 0,
412
+ "error": false,
413
+ "returned_length": 256,
414
+ "ffi_sequence_length_field": 1,
415
+ "wall_seconds": 0.043940476956777275,
416
+ "ffi_ms": 43.92920684814453,
417
+ "finite": true,
418
+ "norm": 0.9999998807907104,
419
+ "max_abs_error": 1.1920928955078125e-07,
420
+ "cosine": 1.0000000109076452,
421
+ "pass_parity": true
422
+ },
423
+ {
424
+ "input_id": "short-zh",
425
+ "actual_tokens": 21,
426
+ "layer": 3,
427
+ "dimension": 512,
428
+ "status": 0,
429
+ "error": false,
430
+ "returned_length": 512,
431
+ "ffi_sequence_length_field": 1,
432
+ "wall_seconds": 0.04201822099275887,
433
+ "ffi_ms": 42.00856018066406,
434
+ "finite": true,
435
+ "norm": 0.9999999403953552,
436
+ "max_abs_error": 7.450580596923828e-08,
437
+ "cosine": 1.000000061202781,
438
+ "pass_parity": true
439
+ },
440
+ {
441
+ "input_id": "short-zh",
442
+ "actual_tokens": 21,
443
+ "layer": 3,
444
+ "dimension": 768,
445
+ "status": 0,
446
+ "error": false,
447
+ "returned_length": 768,
448
+ "ffi_sequence_length_field": 1,
449
+ "wall_seconds": 0.04216696496587247,
450
+ "ffi_ms": 42.15530776977539,
451
+ "finite": true,
452
+ "norm": 1.0,
453
+ "max_abs_error": 1.1920928955078125e-07,
454
+ "cosine": 1.0000000743286885,
455
+ "pass_parity": true
456
+ },
457
+ {
458
+ "input_id": "short-zh",
459
+ "actual_tokens": 21,
460
+ "layer": 6,
461
+ "dimension": 64,
462
+ "status": 0,
463
+ "error": false,
464
+ "returned_length": 64,
465
+ "ffi_sequence_length_field": 1,
466
+ "wall_seconds": 0.048598820925690234,
467
+ "ffi_ms": 48.588687896728516,
468
+ "finite": true,
469
+ "norm": 1.0,
470
+ "max_abs_error": 3.203749656677246e-07,
471
+ "cosine": 1.0000000551323012,
472
+ "pass_parity": true
473
+ },
474
+ {
475
+ "input_id": "short-zh",
476
+ "actual_tokens": 21,
477
+ "layer": 6,
478
+ "dimension": 128,
479
+ "status": 0,
480
+ "error": false,
481
+ "returned_length": 128,
482
+ "ffi_sequence_length_field": 1,
483
+ "wall_seconds": 0.051573885953985155,
484
+ "ffi_ms": 51.563392639160156,
485
+ "finite": true,
486
+ "norm": 1.0,
487
+ "max_abs_error": 1.8998980522155762e-07,
488
+ "cosine": 1.0000000170369325,
489
+ "pass_parity": true
490
+ },
491
+ {
492
+ "input_id": "short-zh",
493
+ "actual_tokens": 21,
494
+ "layer": 6,
495
+ "dimension": 256,
496
+ "status": 0,
497
+ "error": false,
498
+ "returned_length": 256,
499
+ "ffi_sequence_length_field": 1,
500
+ "wall_seconds": 0.0493649470154196,
501
+ "ffi_ms": 49.35435485839844,
502
+ "finite": true,
503
+ "norm": 1.0,
504
+ "max_abs_error": 1.4901161193847656e-07,
505
+ "cosine": 1.0000000846850565,
506
+ "pass_parity": true
507
+ },
508
+ {
509
+ "input_id": "short-zh",
510
+ "actual_tokens": 21,
511
+ "layer": 6,
512
+ "dimension": 512,
513
+ "status": 0,
514
+ "error": false,
515
+ "returned_length": 512,
516
+ "ffi_sequence_length_field": 1,
517
+ "wall_seconds": 0.04883848095778376,
518
+ "ffi_ms": 48.82835006713867,
519
+ "finite": true,
520
+ "norm": 1.0,
521
+ "max_abs_error": 1.6391277313232422e-07,
522
+ "cosine": 0.9999999925390471,
523
+ "pass_parity": true
524
+ },
525
+ {
526
+ "input_id": "short-zh",
527
+ "actual_tokens": 21,
528
+ "layer": 6,
529
+ "dimension": 768,
530
+ "status": 0,
531
+ "error": false,
532
+ "returned_length": 768,
533
+ "ffi_sequence_length_field": 1,
534
+ "wall_seconds": 0.048676051083020866,
535
+ "ffi_ms": 48.666290283203125,
536
+ "finite": true,
537
+ "norm": 1.0000001192092896,
538
+ "max_abs_error": 1.7881393432617188e-07,
539
+ "cosine": 1.0000000845969579,
540
+ "pass_parity": true
541
+ },
542
+ {
543
+ "input_id": "short-zh",
544
+ "actual_tokens": 21,
545
+ "layer": 11,
546
+ "dimension": 64,
547
+ "status": 0,
548
+ "error": false,
549
+ "returned_length": 64,
550
+ "ffi_sequence_length_field": 1,
551
+ "wall_seconds": 0.06051719898823649,
552
+ "ffi_ms": 60.506263732910156,
553
+ "finite": true,
554
+ "norm": 1.0,
555
+ "max_abs_error": 2.253800630569458e-07,
556
+ "cosine": 1.0000000878185407,
557
+ "pass_parity": true
558
+ },
559
+ {
560
+ "input_id": "short-zh",
561
+ "actual_tokens": 21,
562
+ "layer": 11,
563
+ "dimension": 128,
564
+ "status": 0,
565
+ "error": false,
566
+ "returned_length": 128,
567
+ "ffi_sequence_length_field": 1,
568
+ "wall_seconds": 0.06776046205777675,
569
+ "ffi_ms": 67.74873352050781,
570
+ "finite": true,
571
+ "norm": 1.0,
572
+ "max_abs_error": 1.3504177331924438e-07,
573
+ "cosine": 1.0000000464076944,
574
+ "pass_parity": true
575
+ },
576
+ {
577
+ "input_id": "short-zh",
578
+ "actual_tokens": 21,
579
+ "layer": 11,
580
+ "dimension": 256,
581
+ "status": 0,
582
+ "error": false,
583
+ "returned_length": 256,
584
+ "ffi_sequence_length_field": 1,
585
+ "wall_seconds": 0.06547262298408896,
586
+ "ffi_ms": 65.46107482910156,
587
+ "finite": true,
588
+ "norm": 0.9999998211860657,
589
+ "max_abs_error": 1.4901161193847656e-07,
590
+ "cosine": 1.0000000695567814,
591
+ "pass_parity": true
592
+ },
593
+ {
594
+ "input_id": "short-zh",
595
+ "actual_tokens": 21,
596
+ "layer": 11,
597
+ "dimension": 512,
598
+ "status": 0,
599
+ "error": false,
600
+ "returned_length": 512,
601
+ "ffi_sequence_length_field": 1,
602
+ "wall_seconds": 0.06581331405322999,
603
+ "ffi_ms": 65.79988098144531,
604
+ "finite": true,
605
+ "norm": 0.9999999403953552,
606
+ "max_abs_error": 1.0058283805847168e-07,
607
+ "cosine": 1.0000000114762304,
608
+ "pass_parity": true
609
+ },
610
+ {
611
+ "input_id": "short-zh",
612
+ "actual_tokens": 21,
613
+ "layer": 11,
614
+ "dimension": 768,
615
+ "status": 0,
616
+ "error": false,
617
+ "returned_length": 768,
618
+ "ffi_sequence_length_field": 1,
619
+ "wall_seconds": 0.07375219895038754,
620
+ "ffi_ms": 73.73992156982422,
621
+ "finite": true,
622
+ "norm": 1.0,
623
+ "max_abs_error": 5.960464477539063e-08,
624
+ "cosine": 1.000000107178668,
625
+ "pass_parity": true
626
+ },
627
+ {
628
+ "input_id": "short-zh",
629
+ "actual_tokens": 21,
630
+ "layer": 22,
631
+ "dimension": 64,
632
+ "status": 0,
633
+ "error": false,
634
+ "returned_length": 64,
635
+ "ffi_sequence_length_field": 1,
636
+ "wall_seconds": 0.09504696202930063,
637
+ "ffi_ms": 95.03307342529297,
638
+ "finite": true,
639
+ "norm": 1.0,
640
+ "max_abs_error": 2.980232238769531e-07,
641
+ "cosine": 1.000000035292586,
642
+ "pass_parity": true
643
+ },
644
+ {
645
+ "input_id": "short-zh",
646
+ "actual_tokens": 21,
647
+ "layer": 22,
648
+ "dimension": 128,
649
+ "status": 0,
650
+ "error": false,
651
+ "returned_length": 128,
652
+ "ffi_sequence_length_field": 1,
653
+ "wall_seconds": 0.10682931507471949,
654
+ "ffi_ms": 106.81417846679688,
655
+ "finite": true,
656
+ "norm": 1.0,
657
+ "max_abs_error": 2.123415470123291e-07,
658
+ "cosine": 1.000000096714245,
659
+ "pass_parity": true
660
+ },
661
+ {
662
+ "input_id": "short-zh",
663
+ "actual_tokens": 21,
664
+ "layer": 22,
665
+ "dimension": 256,
666
+ "status": 0,
667
+ "error": false,
668
+ "returned_length": 256,
669
+ "ffi_sequence_length_field": 1,
670
+ "wall_seconds": 0.10433819401077926,
671
+ "ffi_ms": 104.32311248779297,
672
+ "finite": true,
673
+ "norm": 0.9999999403953552,
674
+ "max_abs_error": 2.3096799850463867e-07,
675
+ "cosine": 0.999999997067408,
676
+ "pass_parity": true
677
+ },
678
+ {
679
+ "input_id": "short-zh",
680
+ "actual_tokens": 21,
681
+ "layer": 22,
682
+ "dimension": 512,
683
+ "status": 0,
684
+ "error": false,
685
+ "returned_length": 512,
686
+ "ffi_sequence_length_field": 1,
687
+ "wall_seconds": 0.10202557290904224,
688
+ "ffi_ms": 102.00984191894531,
689
+ "finite": true,
690
+ "norm": 0.9999997615814209,
691
+ "max_abs_error": 1.862645149230957e-07,
692
+ "cosine": 1.0000000330443395,
693
+ "pass_parity": true
694
+ },
695
+ {
696
+ "input_id": "short-zh",
697
+ "actual_tokens": 21,
698
+ "layer": 22,
699
+ "dimension": 768,
700
+ "status": 0,
701
+ "error": false,
702
+ "returned_length": 768,
703
+ "ffi_sequence_length_field": 1,
704
+ "wall_seconds": 0.10219176497776061,
705
+ "ffi_ms": 102.1760482788086,
706
+ "finite": true,
707
+ "norm": 1.000000238418579,
708
+ "max_abs_error": 2.086162567138672e-07,
709
+ "cosine": 1.000000008793068,
710
+ "pass_parity": true
711
+ },
712
+ {
713
+ "input_id": "tokens-2",
714
+ "actual_tokens": 2,
715
+ "layer": 22,
716
+ "dimension": 768,
717
+ "status": 0,
718
+ "error": false,
719
+ "returned_length": 768,
720
+ "ffi_sequence_length_field": 0,
721
+ "wall_seconds": 0.06899695401079953,
722
+ "ffi_ms": 68.98296356201172,
723
+ "finite": true,
724
+ "norm": 0.9999999403953552,
725
+ "max_abs_error": 3.241002559661865e-07,
726
+ "cosine": 1.0000000484596474,
727
+ "pass_parity": true
728
+ },
729
+ {
730
+ "input_id": "tokens-63",
731
+ "actual_tokens": 63,
732
+ "layer": 22,
733
+ "dimension": 768,
734
+ "status": 0,
735
+ "error": false,
736
+ "returned_length": 768,
737
+ "ffi_sequence_length_field": 61,
738
+ "wall_seconds": 0.161852149059996,
739
+ "ffi_ms": 161.83753967285156,
740
+ "finite": true,
741
+ "norm": 0.9999997615814209,
742
+ "max_abs_error": 2.384185791015625e-07,
743
+ "cosine": 1.0000000784101282,
744
+ "pass_parity": true
745
+ },
746
+ {
747
+ "input_id": "tokens-64",
748
+ "actual_tokens": 64,
749
+ "layer": 22,
750
+ "dimension": 768,
751
+ "status": 0,
752
+ "error": false,
753
+ "returned_length": 768,
754
+ "ffi_sequence_length_field": 62,
755
+ "wall_seconds": 0.16378953692037612,
756
+ "ffi_ms": 163.76321411132812,
757
+ "finite": true,
758
+ "norm": 0.9999998807907104,
759
+ "max_abs_error": 1.1920928955078125e-07,
760
+ "cosine": 1.0000000424235516,
761
+ "pass_parity": true
762
+ },
763
+ {
764
+ "input_id": "tokens-65",
765
+ "actual_tokens": 65,
766
+ "layer": 22,
767
+ "dimension": 768,
768
+ "status": 0,
769
+ "error": false,
770
+ "returned_length": 768,
771
+ "ffi_sequence_length_field": 63,
772
+ "wall_seconds": 0.16418158204760402,
773
+ "ffi_ms": 164.16639709472656,
774
+ "finite": true,
775
+ "norm": 0.9999999403953552,
776
+ "max_abs_error": 7.450580596923828e-08,
777
+ "cosine": 1.000000063211883,
778
+ "pass_parity": true
779
+ },
780
+ {
781
+ "input_id": "tokens-127",
782
+ "actual_tokens": 127,
783
+ "layer": 22,
784
+ "dimension": 768,
785
+ "status": 0,
786
+ "error": false,
787
+ "returned_length": 768,
788
+ "ffi_sequence_length_field": 104,
789
+ "wall_seconds": 0.29436111892573535,
790
+ "ffi_ms": 294.3453369140625,
791
+ "finite": true,
792
+ "norm": 0.9999999403953552,
793
+ "max_abs_error": 1.1175870895385742e-07,
794
+ "cosine": 1.000000042187335,
795
+ "pass_parity": true
796
+ },
797
+ {
798
+ "input_id": "tokens-128",
799
+ "actual_tokens": 128,
800
+ "layer": 22,
801
+ "dimension": 768,
802
+ "status": 0,
803
+ "error": false,
804
+ "returned_length": 768,
805
+ "ffi_sequence_length_field": 105,
806
+ "wall_seconds": 0.30126551096327603,
807
+ "ffi_ms": 301.24847412109375,
808
+ "finite": true,
809
+ "norm": 0.9999999403953552,
810
+ "max_abs_error": 1.043081283569336e-07,
811
+ "cosine": 1.0000000259043007,
812
+ "pass_parity": true
813
+ },
814
+ {
815
+ "input_id": "tokens-129",
816
+ "actual_tokens": 129,
817
+ "layer": 22,
818
+ "dimension": 768,
819
+ "status": 0,
820
+ "error": false,
821
+ "returned_length": 768,
822
+ "ffi_sequence_length_field": 106,
823
+ "wall_seconds": 0.31042664393316954,
824
+ "ffi_ms": 310.4099426269531,
825
+ "finite": true,
826
+ "norm": 0.9999998211860657,
827
+ "max_abs_error": 1.4156103134155273e-07,
828
+ "cosine": 1.0000000680781156,
829
+ "pass_parity": true
830
+ },
831
+ {
832
+ "input_id": "tokens-512",
833
+ "actual_tokens": 512,
834
+ "layer": 22,
835
+ "dimension": 768,
836
+ "status": 0,
837
+ "error": false,
838
+ "returned_length": 768,
839
+ "ffi_sequence_length_field": 489,
840
+ "wall_seconds": 1.4100490380078554,
841
+ "ffi_ms": 1410.026611328125,
842
+ "finite": true,
843
+ "norm": 0.9999996423721313,
844
+ "max_abs_error": 6.109476089477539e-07,
845
+ "cosine": 0.9999999953448192,
846
+ "pass_parity": true
847
+ },
848
+ {
849
+ "input_id": "tokens-4096",
850
+ "actual_tokens": 4096,
851
+ "layer": 22,
852
+ "dimension": 768,
853
+ "status": 0,
854
+ "error": false,
855
+ "returned_length": 768,
856
+ "ffi_sequence_length_field": 4073,
857
+ "wall_seconds": 33.45112029998563,
858
+ "ffi_ms": 33451.07421875,
859
+ "finite": true,
860
+ "norm": 1.0000003576278687,
861
+ "max_abs_error": 7.152557373046875e-07,
862
+ "cosine": 1.0000000362328352,
863
+ "pass_parity": true
864
+ },
865
+ {
866
+ "input_id": "short-en",
867
+ "actual_tokens": 17,
868
+ "layer": 0,
869
+ "dimension": 0,
870
+ "status": 0,
871
+ "error": false,
872
+ "returned_length": 768,
873
+ "ffi_sequence_length_field": 14,
874
+ "wall_seconds": 0.10379315994214267,
875
+ "ffi_ms": 103.77715301513672,
876
+ "finite": true,
877
+ "norm": 1.0000001192092896,
878
+ "max_abs_error": 1.4062970876693726e-07,
879
+ "cosine": 1.000000004329943,
880
+ "pass_parity": true
881
+ },
882
+ {
883
+ "input_id": "short-en",
884
+ "actual_tokens": 17,
885
+ "layer": -1,
886
+ "dimension": -1,
887
+ "status": 0,
888
+ "error": false,
889
+ "returned_length": 768,
890
+ "ffi_sequence_length_field": 14,
891
+ "wall_seconds": 0.0980934890685603,
892
+ "ffi_ms": 98.07894134521484,
893
+ "finite": true,
894
+ "norm": 1.0000001192092896,
895
+ "max_abs_error": 1.4062970876693726e-07,
896
+ "cosine": 1.000000004329943,
897
+ "pass_parity": true
898
+ },
899
+ {
900
+ "input_id": "short-en",
901
+ "actual_tokens": 17,
902
+ "layer": 3,
903
+ "dimension": 64,
904
+ "status": 0,
905
+ "error": false,
906
+ "returned_length": 64,
907
+ "ffi_sequence_length_field": 14,
908
+ "wall_seconds": 0.055349049041979015,
909
+ "ffi_ms": 55.3360481262207,
910
+ "finite": true,
911
+ "norm": 0.9999999403953552,
912
+ "max_abs_error": 1.4901161193847656e-07,
913
+ "cosine": 0.9999999721808451,
914
+ "pass_parity": true
915
+ },
916
+ {
917
+ "input_id": "short-en",
918
+ "actual_tokens": 17,
919
+ "layer": 3,
920
+ "dimension": 64,
921
+ "status": 0,
922
+ "error": false,
923
+ "returned_length": 64,
924
+ "ffi_sequence_length_field": 14,
925
+ "wall_seconds": 0.047103020013310015,
926
+ "ffi_ms": 47.09037780761719,
927
+ "finite": true,
928
+ "norm": 0.9999999403953552,
929
+ "max_abs_error": 1.4901161193847656e-07,
930
+ "cosine": 0.9999999721808451,
931
+ "pass_parity": true
932
+ },
933
+ {
934
+ "input_id": "short-en",
935
+ "actual_tokens": 17,
936
+ "layer": 3,
937
+ "dimension": 64,
938
+ "status": 0,
939
+ "error": false,
940
+ "returned_length": 64,
941
+ "ffi_sequence_length_field": 14,
942
+ "wall_seconds": 0.044253936037421227,
943
+ "ffi_ms": 44.24277877807617,
944
+ "finite": true,
945
+ "norm": 0.9999999403953552,
946
+ "max_abs_error": 1.4901161193847656e-07,
947
+ "cosine": 0.9999999721808451,
948
+ "pass_parity": true
949
+ },
950
+ {
951
+ "input_id": "short-en",
952
+ "actual_tokens": 17,
953
+ "layer": 3,
954
+ "dimension": 64,
955
+ "status": 0,
956
+ "error": false,
957
+ "returned_length": 64,
958
+ "ffi_sequence_length_field": 14,
959
+ "wall_seconds": 0.040766402962617576,
960
+ "ffi_ms": 40.7562141418457,
961
+ "finite": true,
962
+ "norm": 0.9999999403953552,
963
+ "max_abs_error": 1.4901161193847656e-07,
964
+ "cosine": 0.9999999721808451,
965
+ "pass_parity": true
966
+ },
967
+ {
968
+ "input_id": "short-en",
969
+ "actual_tokens": 17,
970
+ "layer": 3,
971
+ "dimension": 64,
972
+ "status": 0,
973
+ "error": false,
974
+ "returned_length": 64,
975
+ "ffi_sequence_length_field": 14,
976
+ "wall_seconds": 0.04103039496112615,
977
+ "ffi_ms": 41.020145416259766,
978
+ "finite": true,
979
+ "norm": 0.9999999403953552,
980
+ "max_abs_error": 1.4901161193847656e-07,
981
+ "cosine": 0.9999999721808451,
982
+ "pass_parity": true
983
+ },
984
+ {
985
+ "input_id": "tokens-32768",
986
+ "actual_tokens": 32768,
987
+ "layer": 3,
988
+ "dimension": 768,
989
+ "status": 0,
990
+ "error": false,
991
+ "returned_length": 768,
992
+ "ffi_sequence_length_field": 32745,
993
+ "wall_seconds": 234.80449119501282,
994
+ "ffi_ms": 234804.265625,
995
+ "finite": true,
996
+ "norm": 1.0000001192092896,
997
+ "max_abs_error": 2.5391578674316406e-05,
998
+ "cosine": 1.0000000502350979,
999
+ "pass_parity": true
1000
+ },
1001
+ {
1002
+ "input_id": "tokens-32768",
1003
+ "actual_tokens": 32768,
1004
+ "layer": 6,
1005
+ "dimension": 768,
1006
+ "status": 0,
1007
+ "error": false,
1008
+ "returned_length": 768,
1009
+ "ffi_sequence_length_field": 32745,
1010
+ "wall_seconds": 452.4907670809189,
1011
+ "ffi_ms": 452490.53125,
1012
+ "finite": true,
1013
+ "norm": 1.0000001192092896,
1014
+ "max_abs_error": 3.516674041748047e-06,
1015
+ "cosine": 1.0000000599005705,
1016
+ "pass_parity": true
1017
+ },
1018
+ {
1019
+ "input_id": "tokens-32768",
1020
+ "actual_tokens": 32768,
1021
+ "layer": 11,
1022
+ "dimension": 768,
1023
+ "status": 0,
1024
+ "error": false,
1025
+ "returned_length": 768,
1026
+ "ffi_sequence_length_field": 32745,
1027
+ "wall_seconds": 948.234047235921,
1028
+ "ffi_ms": 948233.8125,
1029
+ "finite": true,
1030
+ "norm": 1.0000001192092896,
1031
+ "max_abs_error": 4.410743713378906e-06,
1032
+ "cosine": 1.0000000170091998,
1033
+ "pass_parity": true
1034
+ },
1035
+ {
1036
+ "input_id": "tokens-32768",
1037
+ "actual_tokens": 32768,
1038
+ "layer": 22,
1039
+ "dimension": 768,
1040
+ "status": 0,
1041
+ "error": false,
1042
+ "returned_length": 768,
1043
+ "ffi_sequence_length_field": 32745,
1044
+ "wall_seconds": 1863.0559577909298,
1045
+ "ffi_ms": 1863055.625,
1046
+ "finite": true,
1047
+ "norm": 1.0000003576278687,
1048
+ "max_abs_error": 1.7130747437477112e-05,
1049
+ "cosine": 1.0000000706478172,
1050
+ "pass_parity": true
1051
+ }
1052
+ ],
1053
+ "checks": [
1054
+ {
1055
+ "name": "token-window-32768",
1056
+ "expected": 0,
1057
+ "actual": 0,
1058
+ "pass": true
1059
+ },
1060
+ {
1061
+ "name": "token-window-32769",
1062
+ "expected": 1,
1063
+ "actual": 1,
1064
+ "pass": true
1065
+ },
1066
+ {
1067
+ "input_id": "tokens-32769",
1068
+ "actual_tokens": 32769,
1069
+ "layer": 22,
1070
+ "dimension": 768,
1071
+ "status": -1,
1072
+ "error": true,
1073
+ "returned_length": 0,
1074
+ "ffi_sequence_length_field": 0,
1075
+ "wall_seconds": 0.06285776000004262,
1076
+ "ffi_ms": 0.0,
1077
+ "expected_rejection": true,
1078
+ "pass": true
1079
+ },
1080
+ {
1081
+ "input_id": "short-en",
1082
+ "actual_tokens": 17,
1083
+ "layer": 23,
1084
+ "dimension": 768,
1085
+ "status": -1,
1086
+ "error": true,
1087
+ "returned_length": 0,
1088
+ "ffi_sequence_length_field": 0,
1089
+ "wall_seconds": 0.03536479698959738,
1090
+ "ffi_ms": 0.0,
1091
+ "expected_rejection": true,
1092
+ "pass": true
1093
+ },
1094
+ {
1095
+ "input_id": "short-en",
1096
+ "actual_tokens": 17,
1097
+ "layer": 22,
1098
+ "dimension": 769,
1099
+ "status": -1,
1100
+ "error": true,
1101
+ "returned_length": 0,
1102
+ "ffi_sequence_length_field": 0,
1103
+ "wall_seconds": 0.03475770796649158,
1104
+ "ffi_ms": 0.0,
1105
+ "expected_rejection": true,
1106
+ "pass": true
1107
+ },
1108
+ {
1109
+ "input_id": "short-en",
1110
+ "actual_tokens": 17,
1111
+ "layer": 22,
1112
+ "dimension": 768,
1113
+ "status": -1,
1114
+ "error": true,
1115
+ "returned_length": 0,
1116
+ "ffi_sequence_length_field": 0,
1117
+ "wall_seconds": 1.1502066627144814e-05,
1118
+ "ffi_ms": 0.0,
1119
+ "expected_rejection": true,
1120
+ "pass": true
1121
+ },
1122
+ {
1123
+ "input_id": "short-en",
1124
+ "actual_tokens": 17,
1125
+ "layer": 22,
1126
+ "dimension": 768,
1127
+ "status": -1,
1128
+ "error": true,
1129
+ "returned_length": 0,
1130
+ "ffi_sequence_length_field": 0,
1131
+ "wall_seconds": 5.928915925323963e-06,
1132
+ "ffi_ms": 0.0,
1133
+ "expected_rejection": true,
1134
+ "pass": true
1135
+ },
1136
+ {
1137
+ "name": "zero-default-full",
1138
+ "pass": true
1139
+ },
1140
+ {
1141
+ "name": "negative-values-current-default-semantics",
1142
+ "pass": true,
1143
+ "limitation": "Existing FFI maps all nonpositive layer/dimension values to default; negative rejection is not claimed."
1144
+ },
1145
+ {
1146
+ "name": "repeat-allocation-free",
1147
+ "count": 5,
1148
+ "pass": true
1149
+ },
1150
+ {
1151
+ "name": "long-derived-dimension",
1152
+ "layer": 3,
1153
+ "dimension": 64,
1154
+ "not_separate_ffi_call": true,
1155
+ "max_abs_error": 2.0742416381835938e-05,
1156
+ "pass": true
1157
+ },
1158
+ {
1159
+ "name": "long-derived-dimension",
1160
+ "layer": 3,
1161
+ "dimension": 128,
1162
+ "not_separate_ffi_call": true,
1163
+ "max_abs_error": 1.671910285949707e-05,
1164
+ "pass": true
1165
+ },
1166
+ {
1167
+ "name": "long-derived-dimension",
1168
+ "layer": 3,
1169
+ "dimension": 256,
1170
+ "not_separate_ffi_call": true,
1171
+ "max_abs_error": 1.2248754501342773e-05,
1172
+ "pass": true
1173
+ },
1174
+ {
1175
+ "name": "long-derived-dimension",
1176
+ "layer": 3,
1177
+ "dimension": 512,
1178
+ "not_separate_ffi_call": true,
1179
+ "max_abs_error": 8.553266525268555e-06,
1180
+ "pass": true
1181
+ },
1182
+ {
1183
+ "name": "long-derived-dimension",
1184
+ "layer": 6,
1185
+ "dimension": 64,
1186
+ "not_separate_ffi_call": true,
1187
+ "max_abs_error": 7.331371307373047e-06,
1188
+ "pass": true
1189
+ },
1190
+ {
1191
+ "name": "long-derived-dimension",
1192
+ "layer": 6,
1193
+ "dimension": 128,
1194
+ "not_separate_ffi_call": true,
1195
+ "max_abs_error": 6.705522537231445e-06,
1196
+ "pass": true
1197
+ },
1198
+ {
1199
+ "name": "long-derived-dimension",
1200
+ "layer": 6,
1201
+ "dimension": 256,
1202
+ "not_separate_ffi_call": true,
1203
+ "max_abs_error": 5.4836273193359375e-06,
1204
+ "pass": true
1205
+ },
1206
+ {
1207
+ "name": "long-derived-dimension",
1208
+ "layer": 6,
1209
+ "dimension": 512,
1210
+ "not_separate_ffi_call": true,
1211
+ "max_abs_error": 3.7997961044311523e-06,
1212
+ "pass": true
1213
+ },
1214
+ {
1215
+ "name": "long-derived-dimension",
1216
+ "layer": 11,
1217
+ "dimension": 64,
1218
+ "not_separate_ffi_call": true,
1219
+ "max_abs_error": 5.453824996948242e-06,
1220
+ "pass": true
1221
+ },
1222
+ {
1223
+ "name": "long-derived-dimension",
1224
+ "layer": 11,
1225
+ "dimension": 128,
1226
+ "not_separate_ffi_call": true,
1227
+ "max_abs_error": 5.207955837249756e-06,
1228
+ "pass": true
1229
+ },
1230
+ {
1231
+ "name": "long-derived-dimension",
1232
+ "layer": 11,
1233
+ "dimension": 256,
1234
+ "not_separate_ffi_call": true,
1235
+ "max_abs_error": 4.231929779052734e-06,
1236
+ "pass": true
1237
+ },
1238
+ {
1239
+ "name": "long-derived-dimension",
1240
+ "layer": 11,
1241
+ "dimension": 512,
1242
+ "not_separate_ffi_call": true,
1243
+ "max_abs_error": 2.9169023036956787e-06,
1244
+ "pass": true
1245
+ },
1246
+ {
1247
+ "name": "long-derived-dimension",
1248
+ "layer": 22,
1249
+ "dimension": 64,
1250
+ "not_separate_ffi_call": true,
1251
+ "max_abs_error": 3.7863850593566895e-05,
1252
+ "pass": true
1253
+ },
1254
+ {
1255
+ "name": "long-derived-dimension",
1256
+ "layer": 22,
1257
+ "dimension": 128,
1258
+ "not_separate_ffi_call": true,
1259
+ "max_abs_error": 2.9355287551879883e-05,
1260
+ "pass": true
1261
+ },
1262
+ {
1263
+ "name": "long-derived-dimension",
1264
+ "layer": 22,
1265
+ "dimension": 256,
1266
+ "not_separate_ffi_call": true,
1267
+ "max_abs_error": 2.655666321516037e-05,
1268
+ "pass": true
1269
+ },
1270
+ {
1271
+ "name": "long-derived-dimension",
1272
+ "layer": 22,
1273
+ "dimension": 512,
1274
+ "not_separate_ffi_call": true,
1275
+ "max_abs_error": 1.857895404100418e-05,
1276
+ "pass": true
1277
+ }
1278
+ ],
1279
+ "inputs_sha256": "617295b3aa1fa67310a282302b7d2f099fb501a63a633a35ad6f27546a9536b4",
1280
+ "native_vectors_sha256": "79e5172d95147325f39859effd7f80f65a8bce95ac187707ea6b4fc813ffcee2",
1281
+ "contract": {
1282
+ "final_normalization": "final_norm",
1283
+ "intermediate_normalization": "none",
1284
+ "pooling": "attention_mask_mean",
1285
+ "pooling_accumulation_dtype": "float32",
1286
+ "truncate_before_l2_normalize": true,
1287
+ "version": 1
1288
+ },
1289
+ "reference_vectors_sha256": "9610e70d992ece3ebc4eff4a8b0d4cfab3597363594836d928c2c581d12fab5f",
1290
+ "versions": {
1291
+ "torch": "2.10.0+rocm7.0",
1292
+ "transformers": "4.57.6",
1293
+ "numpy": "2.5.3"
1294
+ },
1295
+ "all_pass": true,
1296
+ "complete": true
1297
+ }
reproduction/candle/short-reference-v1/report.json ADDED
@@ -0,0 +1,656 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "script_sha256": "ca7dfee99b4f990c12e12a5e9da652a77bb6440f7195c9773ff6b32ccaf446d6",
3
+ "library_sha256": "0eefcc9e21bf790efd3861cd6f1ddc396774dd65d65aa67e097c4ed9691e72a6",
4
+ "weights_sha256": "e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab",
5
+ "fixture_sha256": "617295b3aa1fa67310a282302b7d2f099fb501a63a633a35ad6f27546a9536b4",
6
+ "scope": "Additional short-only CPU FP32 comparison; no long or batch claim. Same frozen gate, not replacing ongoing long proof.",
7
+ "gate": {
8
+ "atol": 0.0002,
9
+ "rtol": 0.0001,
10
+ "cosine_min": 0.99999
11
+ },
12
+ "results": [
13
+ {
14
+ "id": "short-en",
15
+ "layer": 3,
16
+ "dimension": 64,
17
+ "max_abs": 1.4901161193847656e-07,
18
+ "cosine": 0.9999999721808451,
19
+ "pass": true
20
+ },
21
+ {
22
+ "id": "short-en",
23
+ "layer": 3,
24
+ "dimension": 128,
25
+ "max_abs": 1.1548399925231934e-07,
26
+ "cosine": 1.0000000192041345,
27
+ "pass": true
28
+ },
29
+ {
30
+ "id": "short-en",
31
+ "layer": 3,
32
+ "dimension": 256,
33
+ "max_abs": 1.2665987014770508e-07,
34
+ "cosine": 0.9999999980897961,
35
+ "pass": true
36
+ },
37
+ {
38
+ "id": "short-en",
39
+ "layer": 3,
40
+ "dimension": 512,
41
+ "max_abs": 1.4901161193847656e-07,
42
+ "cosine": 0.9999998864747806,
43
+ "pass": true
44
+ },
45
+ {
46
+ "id": "short-en",
47
+ "layer": 3,
48
+ "dimension": 768,
49
+ "max_abs": 5.960464477539063e-08,
50
+ "cosine": 1.0000000822871402,
51
+ "pass": true
52
+ },
53
+ {
54
+ "id": "short-en",
55
+ "layer": 6,
56
+ "dimension": 64,
57
+ "max_abs": 2.384185791015625e-07,
58
+ "cosine": 1.000000016439566,
59
+ "pass": true
60
+ },
61
+ {
62
+ "id": "short-en",
63
+ "layer": 6,
64
+ "dimension": 128,
65
+ "max_abs": 1.7881393432617188e-07,
66
+ "cosine": 1.000000043061299,
67
+ "pass": true
68
+ },
69
+ {
70
+ "id": "short-en",
71
+ "layer": 6,
72
+ "dimension": 256,
73
+ "max_abs": 1.825392246246338e-07,
74
+ "cosine": 1.0000000028054645,
75
+ "pass": true
76
+ },
77
+ {
78
+ "id": "short-en",
79
+ "layer": 6,
80
+ "dimension": 512,
81
+ "max_abs": 2.384185791015625e-07,
82
+ "cosine": 0.9999999985733496,
83
+ "pass": true
84
+ },
85
+ {
86
+ "id": "short-en",
87
+ "layer": 6,
88
+ "dimension": 768,
89
+ "max_abs": 7.450580596923828e-08,
90
+ "cosine": 0.9999999905373957,
91
+ "pass": true
92
+ },
93
+ {
94
+ "id": "short-en",
95
+ "layer": 11,
96
+ "dimension": 64,
97
+ "max_abs": 4.470348358154297e-07,
98
+ "cosine": 0.999999958666834,
99
+ "pass": true
100
+ },
101
+ {
102
+ "id": "short-en",
103
+ "layer": 11,
104
+ "dimension": 128,
105
+ "max_abs": 2.980232238769531e-07,
106
+ "cosine": 1.0000000176256918,
107
+ "pass": true
108
+ },
109
+ {
110
+ "id": "short-en",
111
+ "layer": 11,
112
+ "dimension": 256,
113
+ "max_abs": 2.8312206268310547e-07,
114
+ "cosine": 1.0000000965129094,
115
+ "pass": true
116
+ },
117
+ {
118
+ "id": "short-en",
119
+ "layer": 11,
120
+ "dimension": 512,
121
+ "max_abs": 1.1920928955078125e-07,
122
+ "cosine": 1.0000000463993302,
123
+ "pass": true
124
+ },
125
+ {
126
+ "id": "short-en",
127
+ "layer": 11,
128
+ "dimension": 768,
129
+ "max_abs": 3.5762786865234375e-07,
130
+ "cosine": 1.0000000052344211,
131
+ "pass": true
132
+ },
133
+ {
134
+ "id": "short-en",
135
+ "layer": 22,
136
+ "dimension": 64,
137
+ "max_abs": 3.427267074584961e-07,
138
+ "cosine": 0.9999999906121615,
139
+ "pass": true
140
+ },
141
+ {
142
+ "id": "short-en",
143
+ "layer": 22,
144
+ "dimension": 128,
145
+ "max_abs": 2.4586915969848633e-07,
146
+ "cosine": 1.0000000724727505,
147
+ "pass": true
148
+ },
149
+ {
150
+ "id": "short-en",
151
+ "layer": 22,
152
+ "dimension": 256,
153
+ "max_abs": 1.862645149230957e-07,
154
+ "cosine": 1.000000074981958,
155
+ "pass": true
156
+ },
157
+ {
158
+ "id": "short-en",
159
+ "layer": 22,
160
+ "dimension": 512,
161
+ "max_abs": 1.6763806343078613e-07,
162
+ "cosine": 1.0000000652533545,
163
+ "pass": true
164
+ },
165
+ {
166
+ "id": "short-en",
167
+ "layer": 22,
168
+ "dimension": 768,
169
+ "max_abs": 1.4062970876693726e-07,
170
+ "cosine": 1.000000004329943,
171
+ "pass": true
172
+ },
173
+ {
174
+ "id": "short-zh",
175
+ "layer": 3,
176
+ "dimension": 64,
177
+ "max_abs": 2.1606683731079102e-07,
178
+ "cosine": 1.0000000478718052,
179
+ "pass": true
180
+ },
181
+ {
182
+ "id": "short-zh",
183
+ "layer": 3,
184
+ "dimension": 128,
185
+ "max_abs": 1.6391277313232422e-07,
186
+ "cosine": 1.0000000247820346,
187
+ "pass": true
188
+ },
189
+ {
190
+ "id": "short-zh",
191
+ "layer": 3,
192
+ "dimension": 256,
193
+ "max_abs": 1.1920928955078125e-07,
194
+ "cosine": 1.0000000109076452,
195
+ "pass": true
196
+ },
197
+ {
198
+ "id": "short-zh",
199
+ "layer": 3,
200
+ "dimension": 512,
201
+ "max_abs": 7.450580596923828e-08,
202
+ "cosine": 1.000000061202781,
203
+ "pass": true
204
+ },
205
+ {
206
+ "id": "short-zh",
207
+ "layer": 3,
208
+ "dimension": 768,
209
+ "max_abs": 1.1920928955078125e-07,
210
+ "cosine": 1.0000000743286885,
211
+ "pass": true
212
+ },
213
+ {
214
+ "id": "short-zh",
215
+ "layer": 6,
216
+ "dimension": 64,
217
+ "max_abs": 3.203749656677246e-07,
218
+ "cosine": 1.0000000551323012,
219
+ "pass": true
220
+ },
221
+ {
222
+ "id": "short-zh",
223
+ "layer": 6,
224
+ "dimension": 128,
225
+ "max_abs": 1.8998980522155762e-07,
226
+ "cosine": 1.0000000170369325,
227
+ "pass": true
228
+ },
229
+ {
230
+ "id": "short-zh",
231
+ "layer": 6,
232
+ "dimension": 256,
233
+ "max_abs": 1.4901161193847656e-07,
234
+ "cosine": 1.0000000846850565,
235
+ "pass": true
236
+ },
237
+ {
238
+ "id": "short-zh",
239
+ "layer": 6,
240
+ "dimension": 512,
241
+ "max_abs": 1.6391277313232422e-07,
242
+ "cosine": 0.9999999925390471,
243
+ "pass": true
244
+ },
245
+ {
246
+ "id": "short-zh",
247
+ "layer": 6,
248
+ "dimension": 768,
249
+ "max_abs": 1.7881393432617188e-07,
250
+ "cosine": 1.0000000845969579,
251
+ "pass": true
252
+ },
253
+ {
254
+ "id": "short-zh",
255
+ "layer": 11,
256
+ "dimension": 64,
257
+ "max_abs": 2.253800630569458e-07,
258
+ "cosine": 1.0000000878185407,
259
+ "pass": true
260
+ },
261
+ {
262
+ "id": "short-zh",
263
+ "layer": 11,
264
+ "dimension": 128,
265
+ "max_abs": 1.3504177331924438e-07,
266
+ "cosine": 1.0000000464076944,
267
+ "pass": true
268
+ },
269
+ {
270
+ "id": "short-zh",
271
+ "layer": 11,
272
+ "dimension": 256,
273
+ "max_abs": 1.4901161193847656e-07,
274
+ "cosine": 1.0000000695567814,
275
+ "pass": true
276
+ },
277
+ {
278
+ "id": "short-zh",
279
+ "layer": 11,
280
+ "dimension": 512,
281
+ "max_abs": 1.0058283805847168e-07,
282
+ "cosine": 1.0000000114762304,
283
+ "pass": true
284
+ },
285
+ {
286
+ "id": "short-zh",
287
+ "layer": 11,
288
+ "dimension": 768,
289
+ "max_abs": 5.960464477539063e-08,
290
+ "cosine": 1.000000107178668,
291
+ "pass": true
292
+ },
293
+ {
294
+ "id": "short-zh",
295
+ "layer": 22,
296
+ "dimension": 64,
297
+ "max_abs": 2.980232238769531e-07,
298
+ "cosine": 1.000000035292586,
299
+ "pass": true
300
+ },
301
+ {
302
+ "id": "short-zh",
303
+ "layer": 22,
304
+ "dimension": 128,
305
+ "max_abs": 2.123415470123291e-07,
306
+ "cosine": 1.000000096714245,
307
+ "pass": true
308
+ },
309
+ {
310
+ "id": "short-zh",
311
+ "layer": 22,
312
+ "dimension": 256,
313
+ "max_abs": 2.3096799850463867e-07,
314
+ "cosine": 0.999999997067408,
315
+ "pass": true
316
+ },
317
+ {
318
+ "id": "short-zh",
319
+ "layer": 22,
320
+ "dimension": 512,
321
+ "max_abs": 1.862645149230957e-07,
322
+ "cosine": 1.0000000330443395,
323
+ "pass": true
324
+ },
325
+ {
326
+ "id": "short-zh",
327
+ "layer": 22,
328
+ "dimension": 768,
329
+ "max_abs": 2.086162567138672e-07,
330
+ "cosine": 1.000000008793068,
331
+ "pass": true
332
+ },
333
+ {
334
+ "id": "tokens-2",
335
+ "layer": 3,
336
+ "dimension": 64,
337
+ "max_abs": 2.980232238769531e-07,
338
+ "cosine": 0.9999999858903843,
339
+ "pass": true
340
+ },
341
+ {
342
+ "id": "tokens-2",
343
+ "layer": 3,
344
+ "dimension": 128,
345
+ "max_abs": 2.384185791015625e-07,
346
+ "cosine": 1.000000031684112,
347
+ "pass": true
348
+ },
349
+ {
350
+ "id": "tokens-2",
351
+ "layer": 3,
352
+ "dimension": 256,
353
+ "max_abs": 2.086162567138672e-07,
354
+ "cosine": 1.0000000184902,
355
+ "pass": true
356
+ },
357
+ {
358
+ "id": "tokens-2",
359
+ "layer": 3,
360
+ "dimension": 512,
361
+ "max_abs": 1.4901161193847656e-07,
362
+ "cosine": 1.0000000977345498,
363
+ "pass": true
364
+ },
365
+ {
366
+ "id": "tokens-2",
367
+ "layer": 3,
368
+ "dimension": 768,
369
+ "max_abs": 5.960464477539063e-08,
370
+ "cosine": 1.0000000160355296,
371
+ "pass": true
372
+ },
373
+ {
374
+ "id": "tokens-2",
375
+ "layer": 6,
376
+ "dimension": 64,
377
+ "max_abs": 3.1478703022003174e-07,
378
+ "cosine": 1.0000000270250793,
379
+ "pass": true
380
+ },
381
+ {
382
+ "id": "tokens-2",
383
+ "layer": 6,
384
+ "dimension": 128,
385
+ "max_abs": 2.8312206268310547e-07,
386
+ "cosine": 1.000000054935811,
387
+ "pass": true
388
+ },
389
+ {
390
+ "id": "tokens-2",
391
+ "layer": 6,
392
+ "dimension": 256,
393
+ "max_abs": 2.980232238769531e-07,
394
+ "cosine": 1.0000000310234103,
395
+ "pass": true
396
+ },
397
+ {
398
+ "id": "tokens-2",
399
+ "layer": 6,
400
+ "dimension": 512,
401
+ "max_abs": 1.5273690223693848e-07,
402
+ "cosine": 1.0000000453182063,
403
+ "pass": true
404
+ },
405
+ {
406
+ "id": "tokens-2",
407
+ "layer": 6,
408
+ "dimension": 768,
409
+ "max_abs": 2.980232238769531e-07,
410
+ "cosine": 1.000000037505416,
411
+ "pass": true
412
+ },
413
+ {
414
+ "id": "tokens-2",
415
+ "layer": 11,
416
+ "dimension": 64,
417
+ "max_abs": 5.848705768585205e-07,
418
+ "cosine": 0.9999999852248374,
419
+ "pass": true
420
+ },
421
+ {
422
+ "id": "tokens-2",
423
+ "layer": 11,
424
+ "dimension": 128,
425
+ "max_abs": 4.284083843231201e-07,
426
+ "cosine": 1.0000000932717263,
427
+ "pass": true
428
+ },
429
+ {
430
+ "id": "tokens-2",
431
+ "layer": 11,
432
+ "dimension": 256,
433
+ "max_abs": 3.501772880554199e-07,
434
+ "cosine": 1.0000000244060339,
435
+ "pass": true
436
+ },
437
+ {
438
+ "id": "tokens-2",
439
+ "layer": 11,
440
+ "dimension": 512,
441
+ "max_abs": 2.8312206268310547e-07,
442
+ "cosine": 0.9999999839803887,
443
+ "pass": true
444
+ },
445
+ {
446
+ "id": "tokens-2",
447
+ "layer": 11,
448
+ "dimension": 768,
449
+ "max_abs": 2.980232238769531e-07,
450
+ "cosine": 1.0000001601617867,
451
+ "pass": true
452
+ },
453
+ {
454
+ "id": "tokens-2",
455
+ "layer": 22,
456
+ "dimension": 64,
457
+ "max_abs": 1.0728836059570312e-06,
458
+ "cosine": 1.000000005738668,
459
+ "pass": true
460
+ },
461
+ {
462
+ "id": "tokens-2",
463
+ "layer": 22,
464
+ "dimension": 128,
465
+ "max_abs": 8.195638656616211e-07,
466
+ "cosine": 1.000000060910335,
467
+ "pass": true
468
+ },
469
+ {
470
+ "id": "tokens-2",
471
+ "layer": 22,
472
+ "dimension": 256,
473
+ "max_abs": 5.960464477539062e-07,
474
+ "cosine": 1.0000000743189,
475
+ "pass": true
476
+ },
477
+ {
478
+ "id": "tokens-2",
479
+ "layer": 22,
480
+ "dimension": 512,
481
+ "max_abs": 3.7997961044311523e-07,
482
+ "cosine": 1.0000000438159555,
483
+ "pass": true
484
+ },
485
+ {
486
+ "id": "tokens-2",
487
+ "layer": 22,
488
+ "dimension": 768,
489
+ "max_abs": 3.241002559661865e-07,
490
+ "cosine": 1.0000000484596474,
491
+ "pass": true
492
+ },
493
+ {
494
+ "id": "tokens-129",
495
+ "layer": 3,
496
+ "dimension": 64,
497
+ "max_abs": 2.384185791015625e-07,
498
+ "cosine": 1.000000057170823,
499
+ "pass": true
500
+ },
501
+ {
502
+ "id": "tokens-129",
503
+ "layer": 3,
504
+ "dimension": 128,
505
+ "max_abs": 2.384185791015625e-07,
506
+ "cosine": 0.9999999993005354,
507
+ "pass": true
508
+ },
509
+ {
510
+ "id": "tokens-129",
511
+ "layer": 3,
512
+ "dimension": 256,
513
+ "max_abs": 1.4901161193847656e-07,
514
+ "cosine": 1.0000000658944839,
515
+ "pass": true
516
+ },
517
+ {
518
+ "id": "tokens-129",
519
+ "layer": 3,
520
+ "dimension": 512,
521
+ "max_abs": 1.043081283569336e-07,
522
+ "cosine": 1.000000004947423,
523
+ "pass": true
524
+ },
525
+ {
526
+ "id": "tokens-129",
527
+ "layer": 3,
528
+ "dimension": 768,
529
+ "max_abs": 4.172325134277344e-07,
530
+ "cosine": 0.9999999681413272,
531
+ "pass": true
532
+ },
533
+ {
534
+ "id": "tokens-129",
535
+ "layer": 6,
536
+ "dimension": 64,
537
+ "max_abs": 2.086162567138672e-07,
538
+ "cosine": 1.0000000399180042,
539
+ "pass": true
540
+ },
541
+ {
542
+ "id": "tokens-129",
543
+ "layer": 6,
544
+ "dimension": 128,
545
+ "max_abs": 1.341104507446289e-07,
546
+ "cosine": 1.0000000751355942,
547
+ "pass": true
548
+ },
549
+ {
550
+ "id": "tokens-129",
551
+ "layer": 6,
552
+ "dimension": 256,
553
+ "max_abs": 1.043081283569336e-07,
554
+ "cosine": 1.0000000528508308,
555
+ "pass": true
556
+ },
557
+ {
558
+ "id": "tokens-129",
559
+ "layer": 6,
560
+ "dimension": 512,
561
+ "max_abs": 1.043081283569336e-07,
562
+ "cosine": 1.0000000414394223,
563
+ "pass": true
564
+ },
565
+ {
566
+ "id": "tokens-129",
567
+ "layer": 6,
568
+ "dimension": 768,
569
+ "max_abs": 5.960464477539063e-08,
570
+ "cosine": 0.9999999755431823,
571
+ "pass": true
572
+ },
573
+ {
574
+ "id": "tokens-129",
575
+ "layer": 11,
576
+ "dimension": 64,
577
+ "max_abs": 3.46451997756958e-07,
578
+ "cosine": 1.000000004759114,
579
+ "pass": true
580
+ },
581
+ {
582
+ "id": "tokens-129",
583
+ "layer": 11,
584
+ "dimension": 128,
585
+ "max_abs": 2.200249582529068e-07,
586
+ "cosine": 0.9999999502813304,
587
+ "pass": true
588
+ },
589
+ {
590
+ "id": "tokens-129",
591
+ "layer": 11,
592
+ "dimension": 256,
593
+ "max_abs": 1.778826117515564e-07,
594
+ "cosine": 0.9999999703788394,
595
+ "pass": true
596
+ },
597
+ {
598
+ "id": "tokens-129",
599
+ "layer": 11,
600
+ "dimension": 512,
601
+ "max_abs": 1.9371509552001953e-07,
602
+ "cosine": 1.0000000480153513,
603
+ "pass": true
604
+ },
605
+ {
606
+ "id": "tokens-129",
607
+ "layer": 11,
608
+ "dimension": 768,
609
+ "max_abs": 1.2665987014770508e-07,
610
+ "cosine": 1.0000000899918613,
611
+ "pass": true
612
+ },
613
+ {
614
+ "id": "tokens-129",
615
+ "layer": 22,
616
+ "dimension": 64,
617
+ "max_abs": 4.023313522338867e-07,
618
+ "cosine": 1.0000000040294619,
619
+ "pass": true
620
+ },
621
+ {
622
+ "id": "tokens-129",
623
+ "layer": 22,
624
+ "dimension": 128,
625
+ "max_abs": 2.5331974029541016e-07,
626
+ "cosine": 0.9999999674903538,
627
+ "pass": true
628
+ },
629
+ {
630
+ "id": "tokens-129",
631
+ "layer": 22,
632
+ "dimension": 256,
633
+ "max_abs": 2.2351741790771484e-07,
634
+ "cosine": 1.0000000392789272,
635
+ "pass": true
636
+ },
637
+ {
638
+ "id": "tokens-129",
639
+ "layer": 22,
640
+ "dimension": 512,
641
+ "max_abs": 1.7136335372924805e-07,
642
+ "cosine": 1.0000000660670363,
643
+ "pass": true
644
+ },
645
+ {
646
+ "id": "tokens-129",
647
+ "layer": 22,
648
+ "dimension": 768,
649
+ "max_abs": 1.4156103134155273e-07,
650
+ "cosine": 1.0000000680781156,
651
+ "pass": true
652
+ }
653
+ ],
654
+ "all_pass": true,
655
+ "complete": true
656
+ }
reproduction/candle/short_reference.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Independent bounded short parity while full32K FFI qualifications run."""
2
+ import argparse,ctypes as C,hashlib,json,sys
3
+ from pathlib import Path
4
+ import numpy as np
5
+ import torch
6
+ from transformers import AutoModel,AutoTokenizer
7
+ from validate_candle import Result,sha
8
+
9
+ def main():
10
+ p=argparse.ArgumentParser(description=__doc__);p.add_argument('--root',type=Path,required=True);p.add_argument('--model',type=Path,required=True);p.add_argument('--library',type=Path,required=True);p.add_argument('--source',type=Path,required=True);p.add_argument('--expected-library-sha256',default='0eefcc9e21bf790efd3861cd6f1ddc396774dd65d65aa67e097c4ed9691e72a6');a=p.parse_args()
11
+ ROOT,MODEL,LIB=a.root,a.model,a.library
12
+ sys.path.insert(0,str(a.source/'src/training/model_embeddings'))
13
+ from mmbert_32k.representation_outputs import select_hidden_state,masked_mean,truncate_and_normalize
14
+ from mmbert_32k.representation_contract import read_representation_contract
15
+ torch.set_num_threads(8);out=ROOT/'short-reference-v1';out.mkdir(exist_ok=False);assert sha(MODEL/'model.safetensors')=='e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab';assert sha(LIB)==a.expected_library_sha256
16
+ lib=C.CDLL(str(LIB));lib.init_mmbert_embedding_model.argtypes=[C.c_char_p,C.c_bool];lib.init_mmbert_embedding_model.restype=C.c_bool;lib.get_embedding_2d_matryoshka.argtypes=[C.c_char_p,C.c_char_p,C.c_int32,C.c_int32,C.POINTER(Result)];lib.get_embedding_2d_matryoshka.restype=C.c_int32;lib.free_embedding.argtypes=[C.POINTER(C.c_float),C.c_int32];lib.free_embedding.restype=None;assert lib.init_mmbert_embedding_model(str(MODEL).encode(),True)
17
+ tok=AutoTokenizer.from_pretrained(MODEL,local_files_only=True);model=AutoModel.from_pretrained(MODEL,local_files_only=True,torch_dtype=torch.float32,attn_implementation='sdpa',reference_compile=False).eval();contract=read_representation_contract(model.config,'embedding');inputs=[json.loads(x) for x in (ROOT/'qualification-v1/inputs.jsonl').read_text().split('\n') if x];inputs=[r for r in inputs if r['id'] in ['short-en','short-zh','tokens-2','tokens-129']];results=[]
18
+ for row in inputs:
19
+ tokens=tok(row['text'],return_tensors='pt',truncation=False);tokens={k:v for k,v in tokens.items() if k in ('input_ids','attention_mask')}
20
+ with torch.inference_mode(),torch.autocast('cpu',enabled=False):
21
+ output=model(**tokens,output_hidden_states=True,return_dict=True)
22
+ for depth in [3,6,11,22]:
23
+ pooled=masked_mean(select_hidden_state(model,output,depth,contract,task='embedding'),tokens['attention_mask'])
24
+ for dim in [64,128,256,512,768]:
25
+ reference=truncate_and_normalize(pooled,dim)[0].numpy();r=Result();code=lib.get_embedding_2d_matryoshka(row['text'].encode(),b'mmbert',depth,dim,C.byref(r));assert code==0 and r.length==dim and not r.error
26
+ try:v=np.ctypeslib.as_array(r.data,shape=(r.length,)).copy()
27
+ finally:lib.free_embedding(r.data,r.length)
28
+ cos=float(np.dot(v.astype('float64'),reference)/np.linalg.norm(v)/np.linalg.norm(reference));delta=float(np.max(np.abs(v-reference)));results.append({'id':row['id'],'layer':depth,'dimension':dim,'max_abs':delta,'cosine':cos,'pass':bool(np.allclose(v,reference,atol=2e-4,rtol=1e-4) and cos>=.99999)})
29
+ print(json.dumps({'id':row['id'],'max_abs':max(r['max_abs'] for r in results if r['id']==row['id'])}),flush=True)
30
+ report={'script_sha256':sha(__file__),'library_sha256':sha(LIB),'weights_sha256':sha(MODEL/'model.safetensors'),'fixture_sha256':sha(ROOT/'qualification-v1/inputs.jsonl'),'scope':'Additional short-only CPU FP32 comparison; no long or batch claim. Same frozen gate, not replacing ongoing long proof.','gate':{'atol':2e-4,'rtol':1e-4,'cosine_min':.99999},'results':results,'all_pass':all(r['pass'] for r in results),'complete':True};(out/'report.json').write_text(json.dumps(report,indent=2)+'\n');print(json.dumps({'complete':True,'all_pass':report['all_pass'],'max_abs':max(r['max_abs'] for r in results)}),flush=True)
31
+ if __name__=='__main__':main()
reproduction/candle/summarize_candle.py ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Summarize completed CPU engine evidence without repeating model inference."""
2
+
3
+ import argparse
4
+ import hashlib
5
+ import json
6
+ from pathlib import Path
7
+
8
+ import numpy as np
9
+
10
+
11
+ def sha(path):
12
+ return hashlib.sha256(path.read_bytes()).hexdigest()
13
+
14
+
15
+ def cosine64(left, right):
16
+ left = left.astype(np.float64)
17
+ right = right.astype(np.float64)
18
+ return float(np.dot(left, right) / (np.linalg.norm(left) * np.linalg.norm(right)))
19
+
20
+
21
+ def main():
22
+ parser = argparse.ArgumentParser(description=__doc__)
23
+ parser.add_argument("--root", type=Path, required=True)
24
+ parser.add_argument("--output", type=Path)
25
+ args = parser.parse_args()
26
+ root = args.root
27
+ primary = json.loads((root / "qualification-v1/report.json").read_text())
28
+ short = json.loads((root / "short-reference-v1/report.json").read_text())
29
+ assert primary["complete"] and primary["all_pass"]
30
+ assert short["complete"] and short["all_pass"]
31
+ assert primary["model_sha256"]["model.safetensors"] == short["weights_sha256"]
32
+ assert primary["library_sha256"] == short["library_sha256"]
33
+ native_path = root / "qualification-v1/native-vectors.npz"
34
+ reference_path = root / "qualification-v1/hf-fp32-vectors.npz"
35
+ assert sha(native_path) == primary["native_vectors_sha256"]
36
+ assert sha(reference_path) == primary["reference_vectors_sha256"]
37
+ native = np.load(native_path, allow_pickle=False)
38
+ reference = np.load(reference_path, allow_pickle=False)
39
+ recomputed = []
40
+ for case in primary["cases"]:
41
+ key, layer, dimension = case["input_id"], case["layer"], case["dimension"]
42
+ value = native[f"{key}|{layer}|{dimension}"]
43
+ target = reference[f"{key}|{layer if layer > 0 else 22}|{dimension if dimension > 0 else 768}"]
44
+ cosine = cosine64(value, target)
45
+ passed = bool(np.allclose(value, target, atol=2e-4, rtol=1e-4) and cosine >= 0.99999)
46
+ assert passed
47
+ recomputed.append({
48
+ "input_id": key,
49
+ "layer": layer,
50
+ "dimension": dimension,
51
+ "max_abs_error": float(np.max(np.abs(value - target))),
52
+ "cosine_fp64": cosine,
53
+ "pass": passed,
54
+ })
55
+ derived = []
56
+ for layer in (3, 6, 11, 22):
57
+ for dimension in (64, 128, 256, 512):
58
+ value = native[f"tokens-32768|{layer}|768"][:dimension].copy()
59
+ value /= np.linalg.norm(value)
60
+ target = reference[f"tokens-32768|{layer}|{dimension}"]
61
+ cosine = cosine64(value, target)
62
+ passed = bool(np.allclose(value, target, atol=2e-4, rtol=1e-4) and cosine >= 0.99999)
63
+ assert passed
64
+ derived.append({"layer": layer, "dimension": dimension,
65
+ "max_abs_error": float(np.max(np.abs(value - target))),
66
+ "cosine_fp64": cosine, "pass": passed,
67
+ "separate_ffi_invocation": False})
68
+ artifacts = [
69
+ "validate_candle.py", "short_reference.py", "summarize_candle.py", "README.md",
70
+ "qualification-v1/report.json", "qualification-v1/inputs.jsonl",
71
+ "qualification-v1/native-vectors.npz", "qualification-v1/hf-fp32-vectors.npz",
72
+ "short-reference-v1/report.json",
73
+ ]
74
+ result = {
75
+ "complete": True,
76
+ "all_pass": True,
77
+ "scope": "Candle CPU FFI against the same frozen native weights through Transformers CPU FP32. Engine equivalence, not a task-quality benchmark.",
78
+ "model_sha256": primary["model_sha256"],
79
+ "library_sha256": primary["library_sha256"],
80
+ "source_sha256": primary["source_sha256"],
81
+ "versions": primary["versions"],
82
+ "gate": primary["gate"],
83
+ "actual_ffi_case_count": len(recomputed),
84
+ "functional_and_derived_check_count": len(primary["checks"]),
85
+ "max_abs_error": max(x["max_abs_error"] for x in recomputed),
86
+ "minimum_cosine_fp64": min(x["cosine_fp64"] for x in recomputed),
87
+ "cosine_note": "This summary recomputes both norms and the dot product in FP64 from the retained vectors. The unchanged primary report used FP32 norms, which can round slightly above one. No model inference or numerical threshold was changed.",
88
+ "long_actual_calls": [x for x in recomputed if x["input_id"] == "tokens-32768"],
89
+ "long_derived_dimensions": derived,
90
+ "additional_short_matrix": {
91
+ "actual_ffi_cases": len(short["results"]),
92
+ "all_pass": short["all_pass"],
93
+ "max_abs_error": max(x["max_abs"] for x in short["results"]),
94
+ "scope": short["scope"],
95
+ },
96
+ "coverage_and_limits": primary["coverage"],
97
+ "timing_note": "Single CPU qualification forwards are recorded in the primary report. They are neither a warm latency benchmark nor Router HTTP or accelerator latency.",
98
+ "artifacts": {name: {"sha256": sha(root / name), "bytes": (root / name).stat().st_size} for name in artifacts},
99
+ }
100
+ output = args.output or root / "aggregate-recomputed.json"
101
+ assert not output.exists(), "Preserve the original evidence instead of overwriting it"
102
+ output.write_text(json.dumps(result, indent=2, allow_nan=False) + "\n")
103
+ print(json.dumps({"aggregate_sha256": sha(output), "max_abs_error": result["max_abs_error"], "minimum_cosine_fp64": result["minimum_cosine_fp64"]}))
104
+
105
+
106
+ if __name__ == "__main__":
107
+ main()
reproduction/candle/validate_candle.py ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Frozen-model CPU FFI equivalence. Synthetic engine probes, never quality final."""
2
+ import argparse, ctypes as C, gc, hashlib, json, os, sys, time
3
+ from pathlib import Path
4
+ import numpy as np
5
+ import torch
6
+ from transformers import AutoModel, AutoTokenizer
7
+
8
+
9
+ def sha(p):
10
+ h=hashlib.sha256()
11
+ with open(p,'rb') as f:
12
+ for b in iter(lambda:f.read(8*1024*1024),b''):h.update(b)
13
+ return h.hexdigest()
14
+
15
+ class Result(C.Structure):
16
+ _fields_=[('data',C.POINTER(C.c_float)),('length',C.c_int32),('error',C.c_bool),('model_type',C.c_int32),('sequence_length',C.c_int32),('processing_time_ms',C.c_float)]
17
+
18
+ def main():
19
+ p=argparse.ArgumentParser();p.add_argument('--model',type=Path,required=True);p.add_argument('--library',type=Path,required=True);p.add_argument('--source',type=Path,required=True);p.add_argument('--output',type=Path,required=True);p.add_argument('--expected-library-sha256',default='0eefcc9e21bf790efd3861cd6f1ddc396774dd65d65aa67e097c4ed9691e72a6');a=p.parse_args();a.output.mkdir(parents=True,exist_ok=False)
20
+ torch.set_num_threads(8);torch.set_num_interop_threads(1)
21
+ sys.path.insert(0,str(a.source/'src/training/model_embeddings'))
22
+ from mmbert_32k.representation_contract import read_representation_contract
23
+ from mmbert_32k.representation_outputs import select_hidden_state,masked_mean,truncate_and_normalize
24
+ expected={'model.safetensors':'e7548b883e4bf974f8f467c2a26bf5a8c90018d234e5fd6b6a6b84d06721c7ab','config.json':'1ad2f66607d57bce678c1ae79b1d6b1d90d2d0bf89eda970fdee1ede04a92017','tokenizer.json':'5b14c7584d507951e1723f53f4e82cc76db81b7c0df3dc3c48bed45954b0277c'}
25
+ assert {k:sha(a.model/k) for k in expected}==expected
26
+ libsha=sha(a.library);assert libsha==a.expected_library_sha256
27
+ report={'model_sha256':expected,'library_sha256':libsha,'script_sha256':sha(__file__),'source_sha256':{x:sha(a.source/x) for x in ['candle-binding/src/ffi/embedding.rs','candle-binding/src/ffi/types.rs','candle-binding/src/ffi/memory.rs','candle-binding/src/model_architectures/embedding/mmbert_embedding.rs','src/training/model_embeddings/mmbert_32k/representation_outputs.py']},'gate':{'vector_atol':2e-4,'vector_rtol':1e-4,'cosine_min':.99999},'device':'CPU','threads':8,'precision':'FP32 weights, original FP32 RoPE buffers, FP32 mean and L2; no autocast','coverage':{'short':'Two multilingual texts: every advertised4 layers x5 dimensions through real FFI','boundaries':'Full22x768 real FFI at2,63,64,65,127,128,129,512,4096 tokens','long':'32768 tokens, four real FFI calls at layers3/6/11/22 x768; smaller dimensions derived, not separately executed','batch':'This FFI entry is B1 only; no native B2 qualification claimed','ownership':'Each returned allocation freed exactly once via free_embedding. Global model singleton has no release API; result-buffer release is tested, not model teardown.'},'cases':[],'checks':[]}
28
+ def save():
29
+ (a.output/'report.json').write_text(json.dumps(report,indent=2,allow_nan=False)+'\n')
30
+ tokenizer=AutoTokenizer.from_pretrained(a.model,local_files_only=True);tokenizer.backend_tokenizer.no_truncation();tokenizer.backend_tokenizer.no_padding()
31
+ def encode(s):return tokenizer(s,truncation=False,add_special_tokens=True)['input_ids']
32
+ def exact(n):
33
+ if n==2:assert len(encode(''))==2;return ''
34
+ prefix='A multilingual record describes the public library. 这是一段用于数值验证的中性文本。\n';tail='\nThe final entry is a blue telescope. 最后记录是一架蓝色望远镜。'
35
+ if n<100:prefix='';tail=''
36
+ lo,hi=0,n+10
37
+ while lo<hi:
38
+ mid=(lo+hi)//2
39
+ if len(encode(prefix+' note'*mid+tail))<n:lo=mid+1
40
+ else:hi=mid
41
+ text=prefix+' note'*lo+tail
42
+ assert len(encode(text))==n,(n,len(encode(text)))
43
+ return text
44
+ texts={'short-en':'The reply explains why the train arrived late and offers a useful alternative route.','short-zh':'这份说明区分了研究假设与实验结论,并提供了可核查的参考资料。'}
45
+ for n in [2,63,64,65,127,128,129,512,4096,32768,32769]:texts[f'tokens-{n}']=exact(n)
46
+ fixture=[{'id':k,'text':v,'tokens':len(encode(v)),'input_ids_sha256':hashlib.sha256(np.array(encode(v),dtype='<i8').tobytes()).hexdigest()} for k,v in texts.items()]
47
+ (a.output/'inputs.jsonl').write_text(''.join(json.dumps(x,ensure_ascii=False)+'\n' for x in fixture));report['inputs_sha256']=sha(a.output/'inputs.jsonl');save()
48
+ lib=C.CDLL(str(a.library));lib.init_mmbert_embedding_model.argtypes=[C.c_char_p,C.c_bool];lib.init_mmbert_embedding_model.restype=C.c_bool;lib.get_embedding_2d_matryoshka.argtypes=[C.c_char_p,C.c_char_p,C.c_int32,C.c_int32,C.POINTER(Result)];lib.get_embedding_2d_matryoshka.restype=C.c_int32;lib.free_embedding.argtypes=[C.POINTER(C.c_float),C.c_int32];lib.free_embedding.restype=None;lib.embedding_text_exceeds_window.argtypes=[C.c_char_p,C.c_char_p];lib.embedding_text_exceeds_window.restype=C.c_int32
49
+ assert not lib.init_mmbert_embedding_model(None,True)
50
+ before=Result();assert lib.get_embedding_2d_matryoshka(b'hello',b'mmbert',22,768,C.byref(before))==-1 and before.error
51
+ assert lib.init_mmbert_embedding_model(os.fsencode(a.model),True)
52
+ native={};rows={}
53
+ def call(key,layer,dim,expect_error=False,raw=None,model=b'mmbert'):
54
+ r=Result();text=texts[key].encode() if raw is None else raw;t=time.monotonic();code=lib.get_embedding_2d_matryoshka(text,model,layer,dim,C.byref(r));seconds=time.monotonic()-t
55
+ record={'input_id':key,'actual_tokens':len(encode(texts[key])),'layer':layer,'dimension':dim,'status':code,'error':bool(r.error),'returned_length':r.length,'ffi_sequence_length_field':r.sequence_length,'wall_seconds':seconds,'ffi_ms':r.processing_time_ms}
56
+ vector=None
57
+ if r.data:
58
+ try:vector=np.ctypeslib.as_array(r.data,shape=(r.length,)).copy()
59
+ finally:lib.free_embedding(r.data,r.length)
60
+ if expect_error:
61
+ record['expected_rejection']=True;record['pass']=code==-1 and r.error and vector is None;report['checks'].append(record)
62
+ else:
63
+ assert code==0 and not r.error and r.model_type==2 and vector is not None,record
64
+ record['finite']=bool(np.isfinite(vector).all());record['norm']=float(np.linalg.norm(vector));report['cases'].append(record);native[(key,layer,dim)]=vector;rows[(key,layer,dim)]=record
65
+ save();print(json.dumps(record),flush=True);return vector
66
+ for n in [32768,32769]:
67
+ got=lib.embedding_text_exceeds_window(texts[f'tokens-{n}'].encode(),b'mmbert');report['checks'].append({'name':f'token-window-{n}','expected':int(n>32768),'actual':got,'pass':got==int(n>32768)})
68
+ call('tokens-32769',22,768,True)
69
+ for layer,dim in [(23,768),(22,769)]:call('short-en',layer,dim,True)
70
+ call('short-en',22,768,True,raw=b'\xff')
71
+ call('short-en',22,768,True,model=b'unknown')
72
+ for key in ['short-en','short-zh']:
73
+ for layer in [3,6,11,22]:
74
+ for dim in [64,128,256,512,768]:call(key,layer,dim)
75
+ for n in [2,63,64,65,127,128,129,512,4096]:call(f'tokens-{n}',22,768)
76
+ default=call('short-en',0,0);report['checks'].append({'name':'zero-default-full','pass':bool(np.array_equal(default,native[('short-en',22,768)]))})
77
+ negative=call('short-en',-1,-1);report['checks'].append({'name':'negative-values-current-default-semantics','pass':bool(np.array_equal(negative,default)),'limitation':'Existing FFI maps all nonpositive layer/dimension values to default; negative rejection is not claimed.'})
78
+ lib.free_embedding(None,0)
79
+ repeated=[call('short-en',3,64) for _ in range(5)];report['checks'].append({'name':'repeat-allocation-free','count':5,'pass':all(np.array_equal(v,repeated[0]) for v in repeated)})
80
+ for layer in [3,6,11,22]:call('tokens-32768',layer,768)
81
+ np.savez(a.output/'native-vectors.npz',**{'|'.join(map(str,k)):v for k,v in native.items()})
82
+ report['native_vectors_sha256']=sha(a.output/'native-vectors.npz');save()
83
+ model=AutoModel.from_pretrained(a.model,local_files_only=True,torch_dtype=torch.float32,attn_implementation='sdpa',reference_compile=False).eval();contract=read_representation_contract(model.config,'embedding');report['contract']=contract
84
+ assert all(p.dtype==torch.float32 for p in model.parameters())
85
+ refs={}
86
+ for key,text in texts.items():
87
+ if key=='tokens-32769':continue
88
+ inputs=tokenizer(text,truncation=False,return_tensors='pt');inputs={k:v for k,v in inputs.items() if k in ('input_ids','attention_mask')};t=time.monotonic()
89
+ with torch.inference_mode(),torch.autocast('cpu',enabled=False):
90
+ output=model(**inputs,output_hidden_states=True,return_dict=True)
91
+ for layer in [3,6,11,22]:
92
+ hidden=select_hidden_state(model,output,layer,contract,task='embedding');pooled=masked_mean(hidden,inputs['attention_mask'])
93
+ for dim in [64,128,256,512,768]:refs[(key,layer,dim)]=truncate_and_normalize(pooled,dim)[0].numpy().copy()
94
+ del output,hidden,pooled;gc.collect();print(json.dumps({'reference':key,'seconds':time.monotonic()-t}),flush=True)
95
+ for record in report['cases']:
96
+ key,layer,dim=record['input_id'],record['layer'],record['dimension'];value=native[(key,layer,dim)];target=refs[(key,layer if layer>0 else 22,dim if dim>0 else 768)]
97
+ maxabs=float(np.max(np.abs(value-target)));cos=float(np.dot(value.astype('float64'),target)/np.linalg.norm(value)/np.linalg.norm(target));passed=bool(np.allclose(value,target,atol=2e-4,rtol=1e-4) and cos>=.99999)
98
+ record.update(max_abs_error=maxabs,cosine=cos,pass_parity=passed)
99
+ for layer in [3,6,11,22]:
100
+ for dim in [64,128,256,512]:
101
+ value=native[('tokens-32768',layer,768)][:dim].copy();value/=np.linalg.norm(value);target=refs[('tokens-32768',layer,dim)];report['checks'].append({'name':'long-derived-dimension','layer':layer,'dimension':dim,'not_separate_ffi_call':True,'max_abs_error':float(np.max(np.abs(value-target))),'pass':bool(np.allclose(value,target,atol=2e-4,rtol=1e-4))})
102
+ np.savez(a.output/'hf-fp32-vectors.npz',**{'|'.join(map(str,k)):v for k,v in refs.items()});report['reference_vectors_sha256']=sha(a.output/'hf-fp32-vectors.npz');report['versions']={'torch':torch.__version__,'transformers':__import__('transformers').__version__,'numpy':np.__version__};report['all_pass']=all(c.get('pass_parity',False) and c['finite'] for c in report['cases']) and all(c['pass'] for c in report['checks']);report['complete']=True;save();print(json.dumps({'complete':True,'all_pass':report['all_pass'],'cases':len(report['cases'])}),flush=True)
103
+ if __name__=='__main__':main()
reproduction/clean_pawsx_scores.py ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Re-score cached predictions after the PAWS-X documented NS cleanup.
2
+
3
+ No model inference or training. Fit each threshold on cleaned validation only;
4
+ preserve raw metrics and verify cached label order against pinned source rows.
5
+ """
6
+ import argparse
7
+ import hashlib
8
+ import json
9
+ from pathlib import Path
10
+
11
+ import numpy as np
12
+ import pyarrow.parquet as pq
13
+ from sklearn.metrics import average_precision_score, f1_score, precision_recall_curve, roc_auc_score
14
+
15
+
16
+ def sha(path):
17
+ return hashlib.sha256(path.read_bytes()).hexdigest()
18
+
19
+
20
+ def is_valid(row):
21
+ return all(row[key].strip().casefold() not in ("", "ns") for key in ("sentence1", "sentence2"))
22
+
23
+
24
+ def metrics(labels, scores, threshold):
25
+ return {"examples": len(labels), "positives": int(labels.sum()),
26
+ "roc_auc": float(roc_auc_score(labels, scores)),
27
+ "average_precision": float(average_precision_score(labels, scores)),
28
+ "f1_at_dev_threshold": float(f1_score(labels, scores >= threshold)), "threshold": threshold}
29
+
30
+
31
+ def threshold(labels, scores):
32
+ precision, recall, values = precision_recall_curve(labels, scores)
33
+ f1 = 2 * precision[:-1] * recall[:-1] / np.maximum(precision[:-1] + recall[:-1], 1e-12)
34
+ return float(values[np.argmax(f1)])
35
+
36
+
37
+ def main():
38
+ p = argparse.ArgumentParser()
39
+ p.add_argument("--root", type=Path, required=True)
40
+ p.add_argument("--scores", type=Path, required=True)
41
+ p.add_argument("--output", type=Path, required=True)
42
+ args = p.parse_args()
43
+ if args.output.exists():
44
+ raise FileExistsError(args.output)
45
+ original = json.loads((args.scores / "metrics.json").read_text())
46
+ result = {"dataset_revision": "4cd8187c404bda33cb1f62b49b001115862acf37",
47
+ "cleanup": "Exclude rows with either sentence empty or case-insensitive NS; PAWS-X README documents NS cleanup.",
48
+ "threshold_selection": "cleaned official validation only; no test threshold selection",
49
+ "raw_metrics_sha256": sha(args.scores / "metrics.json"), "script_sha256": sha(Path(__file__)), "languages": {}}
50
+ for language in ("en", "de", "fr", "es", "ja", "zh"):
51
+ directory = args.root / "datasets/paws-x" / language
52
+ splits = {}
53
+ evidence = {}
54
+ excluded_training_texts = set()
55
+ for split in ("validation", "test"):
56
+ source = directory / f"{split}-00000-of-00001.parquet"
57
+ rows = pq.read_table(source).to_pylist()
58
+ for row in rows:
59
+ excluded_training_texts.update(row[key].strip() for key in ("sentence1", "sentence2"))
60
+ keep = np.array([is_valid(row) for row in rows])
61
+ score_path = args.scores / f"{language}-{split}-scores.npz"
62
+ cached = dict(np.load(score_path))
63
+ labels = np.array([row["label"] for row in rows])
64
+ if not np.array_equal(labels, cached["labels"]):
65
+ raise ValueError("Cached labels do not match pinned source row order")
66
+ expected = original["languages"][language]["file_sha256"][split]
67
+ if sha(source) != expected:
68
+ raise ValueError("Pinned source differs from original scoring source")
69
+ if any(len(values) != len(rows) or not np.isfinite(values).all() for values in cached.values()):
70
+ raise ValueError("Invalid score values or lengths")
71
+ splits[split] = {key: value[keep] for key, value in cached.items()}
72
+ evidence[split] = {"source_sha256": expected, "scores_sha256": sha(score_path),
73
+ "original_examples": len(rows), "removed": int((~keep).sum()), "kept": int(keep.sum())}
74
+ training = pq.read_table(directory / "train-00000-of-00001.parquet").to_pylist()
75
+ selected_training = [row for row in training if not any(row[key].strip() in excluded_training_texts for key in ("sentence1", "sentence2"))]
76
+ entry = {"source_splits": evidence, "training_cleanup_audit": {
77
+ "original_rows": len(training), "original_invalid_rows": sum(not is_valid(row) for row in training),
78
+ "actual_training_selection_rows": len(selected_training),
79
+ "invalid_rows_after_existing_text_dedup": sum(not is_valid(row) for row in selected_training)}, "configurations": {}}
80
+ for name in splits["validation"]:
81
+ if name == "labels":
82
+ continue
83
+ selected = threshold(splits["validation"]["labels"], splits["validation"][name])
84
+ entry["configurations"][name] = {split: metrics(values["labels"], values[name], selected) for split, values in splits.items()}
85
+ result["languages"][language] = entry
86
+ args.output.write_text(json.dumps(result, indent=2, allow_nan=False) + "\n")
87
+ print(json.dumps({language: {"removed": value["source_splits"]["test"]["removed"],
88
+ "remaining_invalid_train": value["training_cleanup_audit"]["invalid_rows_after_existing_text_dedup"],
89
+ "test_auc": {name: item["test"]["roc_auc"] for name, item in value["configurations"].items()}}
90
+ for language, value in result["languages"].items()}), flush=True)
91
+
92
+
93
+ if __name__ == "__main__":
94
+ main()
reproduction/debug_embedding_native_training_step.py ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """One real 32K train-only backward step before the native-FP16 controlled arm."""
2
+ import os
3
+
4
+ import argparse
5
+ import hashlib
6
+ import json
7
+ from pathlib import Path
8
+ import random
9
+ import torch
10
+ from transformers import AutoModel, AutoTokenizer
11
+ from vela_long_quality_data import build_splits, LongExamples
12
+ from train_embedding_english_repair_native import (
13
+ restrict_parameters,
14
+ parameter_hashes,
15
+ represent,
16
+ normalization,
17
+ retention,
18
+ set_vela_representation_contract,
19
+ )
20
+ from train_embedding_english_repair import inputs_from_tokens
21
+ from embedding_native_training_math import forward_native_half
22
+ from embedding_repair_math_v2 import forward_embedding
23
+
24
+
25
+ def sha(path):
26
+ return hashlib.sha256(path.read_bytes()).hexdigest()
27
+
28
+
29
+ def buffer_hashes(model):
30
+ return {
31
+ n: hashlib.sha256(
32
+ b.detach().cpu().contiguous().view(torch.uint8).numpy().tobytes()
33
+ ).hexdigest()
34
+ for n, b in model.named_buffers()
35
+ }
36
+
37
+
38
+ def main():
39
+ parser = argparse.ArgumentParser()
40
+ parser.add_argument("--scale", type=float, required=True)
41
+ parser.add_argument("--separate", action="store_true")
42
+ args = parser.parse_args()
43
+ root = Path(os.environ.get('VELA_REPRODUCTION_ROOT', 'reproduction'))
44
+ out = (
45
+ root
46
+ / f"evidence/vela-embedding-native-training-step-debug-scale{args.scale}-separate{args.separate}.json"
47
+ )
48
+ if out.exists():
49
+ raise FileExistsError(out)
50
+ torch.manual_seed(20260913 + 4100)
51
+ torch.set_num_threads(8)
52
+ source = root / "models/mmbert-embed-32k-2d-matryoshka"
53
+ tokenizer = AutoTokenizer.from_pretrained(source, local_files_only=True)
54
+ train, _, _, _, _ = build_splits(root, tokenizer)
55
+ builder = LongExamples(tokenizer, train)
56
+ rows = [
57
+ r
58
+ for r in train
59
+ if r["language"] == "ar"
60
+ and len(builder.raw(r["query"])) <= 192
61
+ and all(
62
+ 2 <= len(builder.raw(r[k][0]["title"] + " " + r[k][0]["text"])) <= 1024
63
+ for k in ("positive_passages", "negative_passages")
64
+ )
65
+ ]
66
+ row = min(
67
+ rows,
68
+ key=lambda r: hashlib.sha256(
69
+ ("vela-native-training-probe:" + r["group"]).encode()
70
+ ).hexdigest(),
71
+ )
72
+ example = builder.build(row, "embedding", 32768, "end", random.Random(9817))
73
+ model = AutoModel.from_pretrained(
74
+ source,
75
+ torch_dtype=torch.float32,
76
+ local_files_only=True,
77
+ reference_compile=False,
78
+ attn_implementation="sdpa",
79
+ ).to("cuda")
80
+ set_vela_representation_contract(model.config, "embedding")
81
+ names = restrict_parameters(model)
82
+ frozen = parameter_hashes(model, False)
83
+ before = parameter_hashes(model, True)
84
+ buffers = buffer_hashes(model)
85
+ native = (
86
+ AutoModel.from_pretrained(
87
+ source,
88
+ torch_dtype=torch.float16,
89
+ local_files_only=True,
90
+ reference_compile=False,
91
+ attn_implementation="sdpa",
92
+ )
93
+ .to("cuda")
94
+ .eval()
95
+ )
96
+ set_vela_representation_contract(native.config, "embedding")
97
+ optimizer = torch.optim.AdamW(
98
+ [p for p in model.parameters() if p.requires_grad], lr=2e-6, weight_decay=0.01
99
+ )
100
+ scaler = torch.amp.GradScaler("cuda", init_scale=args.scale, growth_interval=100)
101
+ tokens = [example["query"]] + example["inputs"]
102
+ inputs = inputs_from_tokens(tokenizer, tokens, torch.device("cuda"))
103
+ with torch.no_grad():
104
+ if args.separate:
105
+ target = torch.cat(
106
+ [
107
+ forward_embedding(
108
+ native,
109
+ inputs_from_tokens(tokenizer, [row], torch.device("cuda")),
110
+ training=False,
111
+ )[0][22]
112
+ for row in tokens
113
+ ]
114
+ )
115
+ else:
116
+ target, _ = forward_embedding(native, inputs, training=False)
117
+ target = target[22]
118
+ model.train()
119
+ if args.separate:
120
+ values = torch.cat(
121
+ [
122
+ forward_native_half(
123
+ model, inputs_from_tokens(tokenizer, [row], torch.device("cuda"))
124
+ )[0][22]
125
+ for row in tokens
126
+ ]
127
+ )
128
+ else:
129
+ values, _ = forward_native_half(model, inputs)
130
+ values = values[22]
131
+ zero_update_max_abs = float((values.detach() - target).abs().max())
132
+ if zero_update_max_abs != 0:
133
+ raise ValueError(
134
+ "Native reference and differentiable zero-update forward differ"
135
+ )
136
+ vectors = normalization(values)
137
+ scores = (vectors[1:] @ vectors[:1].T).squeeze(-1)
138
+ loss = retention(values, target, 20.0) + torch.nn.functional.softplus(
139
+ -20 * (scores[0] - scores[1])
140
+ )
141
+ scaler.scale(loss).backward()
142
+ scaler.unscale_(optimizer)
143
+ trainable = [p for p in model.parameters() if p.requires_grad]
144
+ diagnostic = {
145
+ "scale": args.scale,
146
+ "separate": args.separate,
147
+ "zero_update_max_abs": zero_update_max_abs,
148
+ "loss": float(loss.detach()),
149
+ "loss_finite": bool(torch.isfinite(loss)),
150
+ "gradients_before_clip": {
151
+ n: {
152
+ "nan": int(torch.isnan(p.grad).sum()),
153
+ "inf": int(torch.isinf(p.grad).sum()),
154
+ "nonzero": int(torch.count_nonzero(p.grad)),
155
+ "max_abs": float(p.grad.abs().max()),
156
+ }
157
+ for n, p in model.named_parameters()
158
+ if p.requires_grad
159
+ },
160
+ }
161
+ out.write_text(json.dumps(diagnostic, indent=2) + "\n")
162
+ print(json.dumps(diagnostic), flush=True)
163
+ gradient = torch.nn.utils.clip_grad_norm_(trainable, 1.0)
164
+ if not torch.isfinite(loss) or not torch.isfinite(gradient) or float(gradient) == 0:
165
+ raise ValueError("Invalid loss or gradient")
166
+ if any(p.grad is not None for p in model.parameters() if not p.requires_grad):
167
+ raise ValueError("Frozen gradient changed")
168
+ gradients = {
169
+ n: {
170
+ "finite": bool(torch.isfinite(p.grad).all()),
171
+ "nonzero": int(torch.count_nonzero(p.grad)),
172
+ }
173
+ for n, p in model.named_parameters()
174
+ if p.requires_grad
175
+ }
176
+ if not all(r["finite"] and r["nonzero"] for r in gradients.values()):
177
+ raise ValueError("Missing finite trainable gradient")
178
+ scaler.step(optimizer)
179
+ scaler.update()
180
+ after = parameter_hashes(model, True)
181
+ if frozen != parameter_hashes(model, False) or buffers != buffer_hashes(model):
182
+ raise ValueError("Frozen state changed")
183
+ if before == after:
184
+ raise ValueError("Optimizer did not update trainable parameters")
185
+ report = {
186
+ "weights_sha256": sha(source / "model.safetensors"),
187
+ "script_sha256": sha(Path(__file__)),
188
+ "native_training_script_sha256": sha(
189
+ Path(__file__).with_name("train_embedding_english_repair_native.py")
190
+ ),
191
+ "helper_sha256": sha(
192
+ Path(__file__).with_name("embedding_native_training_math.py")
193
+ ),
194
+ "training_query_id": row["group"],
195
+ "input_sha256": example["input_sha256"],
196
+ "input_lengths": list(map(len, tokens)),
197
+ "zero_update_native_max_abs": zero_update_max_abs,
198
+ "loss": float(loss.detach()),
199
+ "unscaled_gradient_norm": float(gradient),
200
+ "loss_scale_after_step": float(scaler.get_scale()),
201
+ "gradients": gradients,
202
+ "frozen_parameters_unchanged": True,
203
+ "buffers_unchanged": True,
204
+ "trainable_updated": sum(before[n] != after[n] for n in before),
205
+ "trainable_parameters": sum(names.values()),
206
+ "peak_bytes": torch.cuda.max_memory_allocated(),
207
+ "complete": True,
208
+ "artifact_policy": "Single-step probe parameters discarded; the actual controlled run reloads original weights and resets the original paired seed. No development/final scores read.",
209
+ }
210
+ out.write_text(json.dumps(report, indent=2) + "\n")
211
+ print(json.dumps(report), flush=True)
212
+
213
+
214
+ if __name__ == "__main__":
215
+ main()
reproduction/diagnose_embedding_training_precision.py ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Compare same-weight training forwards on fixed train-only inputs, no selection."""
2
+ import os
3
+
4
+ import hashlib
5
+ import json
6
+ from pathlib import Path
7
+ import sys
8
+ import torch
9
+ import torch.nn.functional as F
10
+ from transformers import AutoModel, AutoTokenizer
11
+ from vela_long_quality_data import qasper_data
12
+ from natural_paper_curriculum import bucket, heldout_exclusions, prepare
13
+ from train_embedding_english_repair import (
14
+ inputs_from_tokens,
15
+ set_vela_representation_contract,
16
+ )
17
+ from embedding_repair_math_v2 import forward_embedding
18
+ from embedding_native_training_math import forward_native_half
19
+
20
+
21
+ def sha(p):
22
+ return hashlib.sha256(p.read_bytes()).hexdigest()
23
+
24
+
25
+ @torch.inference_mode()
26
+ def main():
27
+ root = Path(os.environ.get('VELA_REPRODUCTION_ROOT', 'reproduction'))
28
+ out = root / "evidence/vela-embedding-same-weight-training-precision.json"
29
+ if out.exists():
30
+ raise FileExistsError(out)
31
+ source = root / "models/mmbert-embed-32k-2d-matryoshka"
32
+ tokenizer = AutoTokenizer.from_pretrained(source, local_files_only=True)
33
+ papers, _, _, _ = qasper_data(root, tokenizer)
34
+ papers, _, _ = prepare(papers, *heldout_exclusions(root))
35
+ selected = []
36
+ for group in range(4):
37
+ row = min(
38
+ (r for r in papers if bucket(len(r["tokens"])) == group),
39
+ key=lambda r: hashlib.sha256(
40
+ ("vela-train-precision-v1:" + r["id"]).encode()
41
+ ).hexdigest(),
42
+ )
43
+ question = min(row["questions"], key=lambda q: q["id"])
44
+ selected.append((row, question))
45
+ model = AutoModel.from_pretrained(
46
+ source,
47
+ torch_dtype=torch.float32,
48
+ local_files_only=True,
49
+ reference_compile=False,
50
+ attn_implementation="sdpa",
51
+ ).to("cuda")
52
+ set_vela_representation_contract(model.config, "embedding")
53
+ native = (
54
+ AutoModel.from_pretrained(
55
+ source,
56
+ torch_dtype=torch.float16,
57
+ local_files_only=True,
58
+ reference_compile=False,
59
+ attn_implementation="sdpa",
60
+ )
61
+ .to("cuda")
62
+ .eval()
63
+ )
64
+ set_vela_representation_contract(native.config, "embedding")
65
+ if any(isinstance(m, torch.nn.Dropout) and m.p for m in model.modules()):
66
+ raise ValueError("Cannot attribute stochastic dropout to dtype")
67
+ if getattr(model.config, "attention_dropout", 0):
68
+ raise ValueError("Attention dropout differs by train mode")
69
+ torch.set_num_threads(8)
70
+ results = []
71
+ for paper, query in selected:
72
+ vectors = {
73
+ mode: []
74
+ for mode in ("native_fp16", "student_bf16_amp", "student_functional_fp16")
75
+ }
76
+ for row in (query["tokens"], paper["tokens"]):
77
+ inputs = inputs_from_tokens(tokenizer, [row], torch.device("cuda"))
78
+ native.eval()
79
+ value, _ = forward_embedding(native, inputs, training=False)
80
+ vectors["native_fp16"].append(value[22].cpu())
81
+ model.train()
82
+ value, _ = forward_embedding(model, inputs, training=True)
83
+ vectors["student_bf16_amp"].append(value[22].cpu())
84
+ value, _ = forward_native_half(model, inputs)
85
+ vectors["student_functional_fp16"].append(value[22].cpu())
86
+ targets = torch.cat(vectors["native_fp16"])
87
+ normalized = F.normalize(targets, dim=-1)
88
+ reference_score = float(normalized[0] @ normalized[1])
89
+ comparisons = {}
90
+ for mode, parts in vectors.items():
91
+ values = torch.cat(parts)
92
+ normalized_values = F.normalize(values, dim=-1)
93
+ scores = float(normalized_values[0] @ normalized_values[1])
94
+ delta = values - targets
95
+ comparisons[mode] = {
96
+ "pooled_max_abs": float(delta.abs().max()),
97
+ "pooled_mean_abs": float(delta.abs().mean()),
98
+ "normalized_vector_mse": float(
99
+ F.mse_loss(normalized_values, normalized)
100
+ ),
101
+ "mean_one_minus_cosine": float(
102
+ (1 - (normalized_values * normalized).sum(-1)).mean()
103
+ ),
104
+ "query_document_cosine": scores,
105
+ "cosine_delta_from_native": scores - reference_score,
106
+ }
107
+ record = {
108
+ "paper_id": paper["id"],
109
+ "question_id": query["id"],
110
+ "query_tokens": len(query["tokens"]),
111
+ "document_tokens": len(paper["tokens"]),
112
+ "source": "QASPER training only; fixed hash-selected one paper per length bin",
113
+ "comparisons": comparisons,
114
+ }
115
+ results.append(record)
116
+ print(json.dumps(record), flush=True)
117
+ report = {
118
+ "source_weights_sha256": sha(source / "model.safetensors"),
119
+ "source_config_sha256": sha(source / "config.json"),
120
+ "tokenizer_sha256": sha(source / "tokenizer.json"),
121
+ "script_sha256": sha(Path(__file__)),
122
+ "helper_sha256": sha(
123
+ Path(__file__).with_name("embedding_native_training_math.py")
124
+ ),
125
+ "source": "Original embedding same parameters in every mode; unchanged original buffers; no optimizer; no development or final scores",
126
+ "cases": results,
127
+ "complete": True,
128
+ "future_use": "Training arithmetic diagnosis only, not a dtype/checkpoint selection using final performance",
129
+ }
130
+ out.write_text(json.dumps(report, indent=2) + "\n")
131
+ print(json.dumps({"report_sha256": sha(out), "complete": True}), flush=True)
132
+
133
+
134
+ if __name__ == "__main__":
135
+ main()
reproduction/diagnose_natural_teacher.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Training-only diagnosis of full-paper versus title/abstract teacher targets."""
2
+ import argparse
3
+ import hashlib
4
+ import json
5
+ from pathlib import Path
6
+ import gc
7
+ import numpy as np
8
+ import torch
9
+ from transformers import AutoTokenizer
10
+ import evaluate_vela_dev_precision_v3 as native
11
+ from vela_long_quality_data import qasper_data
12
+ from train_vela_text import normalization
13
+
14
+
15
+ def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest()
16
+ def ndcg(matrix,targets):
17
+ ranks=[]
18
+ for row,target in zip(matrix,targets,strict=True):
19
+ rank=int(np.flatnonzero(np.argsort(-row,kind='stable')==target)[0])+1;ranks.append(rank)
20
+ return {'source_paper_ndcg10':float(np.mean([1/np.log2(r+1) if r<=10 else 0 for r in ranks])),'ranks':ranks}
21
+
22
+
23
+ def main():
24
+ p=argparse.ArgumentParser();p.add_argument('--root',type=Path,required=True);p.add_argument('--run',type=Path,required=True);p.add_argument('--output',type=Path,required=True);a=p.parse_args()
25
+ a.output.mkdir(parents=True,exist_ok=False);torch.set_num_threads(8)
26
+ training=json.loads((a.run/'results.json').read_text());source=Path(training['args']['source']);tok=AutoTokenizer.from_pretrained(source,local_files_only=True)
27
+ papers,_,_,meta=qasper_data(a.root,tok);by_id={r['id']:r for r in papers};records=training['actual_natural_steps']
28
+ ids=sorted({r['paper_id'] for r in records}|{r['negative_id'] for r in records});questions={q['id']:q for r in papers for q in r['questions']};query_ids=sorted({r['question_id'] for r in records});positive={r['question_id']:r['paper_id'] for r in records}
29
+ for r in records:
30
+ if r['paper_id'] not in by_id or r['negative_id'] not in by_id or r['question_id'] not in questions:raise ValueError('Non-training example in recorded curriculum')
31
+ if positive[r['question_id']]!=r['paper_id']:raise ValueError('Ambiguous question ID')
32
+ summaries=[tok(by_id[k]['mining_text'],truncation=False)['input_ids'] for k in ids]
33
+ if max(map(len,summaries))>32768:raise ValueError('Summary exceeds context')
34
+ stat=native.configure_precision(torch.float16,torch.device('cuda'))
35
+ report={'scope':'Training-only diagnostic on actual sampled natural-paper questions and alternatives; no development/final model scores, no independent accuracy claim','training_report_sha256':sha(a.run/'results.json'),'script_sha256':sha(__file__),'reader_sha256':sha(native.__file__),'training_papers':len(ids),'training_queries':len(query_ids),'recorded_pairs':len(records),'source':meta,'models':{}}
36
+ for label,path in [('original',a.root/'models/mmbert-embed-32k-2d-matryoshka'),('task_source',source)]:
37
+ model=native.load_model(path,'embedding',torch.float16,torch.device('cuda'))
38
+ def encode(rows):
39
+ out=[]
40
+ for tokens in rows:
41
+ with torch.inference_mode():value=native.long_module.representation(model,tok,[tokens],'embedding')
42
+ if not torch.isfinite(value).all():raise ValueError('Nonfinite training representation')
43
+ out.append(normalization(value).cpu().numpy()[0])
44
+ return np.stack(out)
45
+ query=encode([questions[k]['tokens'] for k in query_ids]);full=encode([by_id[k]['tokens'] for k in ids]);summary=encode(summaries)
46
+ scores={'full':query@full.T,'title_abstract':query@summary.T};targets=[ids.index(positive[k]) for k in query_ids];item={key:ndcg(value,targets) for key,value in scores.items()}
47
+ for key,value in scores.items():
48
+ margins=[float(value[query_ids.index(r['question_id']),ids.index(r['paper_id'])]-value[query_ids.index(r['question_id']),ids.index(r['negative_id'])]) for r in records]
49
+ item[key]['sampled_source_over_unjudged_alternative']=float(np.mean(np.array(margins)>0));item[key]['margins']=margins
50
+ item['weights_sha256']={p.name:sha(p) for p in path.glob('*.safetensors')};report['models'][label]=item
51
+ np.savez_compressed(a.output/(label+'.npz'),queries=query,full_documents=full,title_abstract_documents=summary,query_ids=query_ids,paper_ids=ids)
52
+ (a.output/'metrics.json').write_text(json.dumps(report,indent=2)+'\n');print(json.dumps({'model':label,'full':{k:v for k,v in item['full'].items() if k not in ('ranks','margins')},'title_abstract':{k:v for k,v in item['title_abstract'].items() if k not in ('ranks','margins')}}),flush=True)
53
+ del model;gc.collect();torch.cuda.empty_cache()
54
+
55
+
56
+ if __name__=='__main__':main()