Lottolabs commited on
Commit
12f320c
·
verified ·
1 Parent(s): dace1e1

Upload verified mixed BFP4/BFP8 checkpoint with MTP and evaluation evidence

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .dockerignore +6 -0
  2. .gitattributes +250 -0
  3. LICENSE +202 -0
  4. SHA256SUMS +695 -0
  5. api_validate.py +125 -0
  6. build_native_checkpoint.py +277 -0
  7. calibration/importance.npz +3 -0
  8. calibration/instruction-calibration.jsonl +0 -0
  9. calibration/metadata.json +1337 -0
  10. checkpoint/LICENSE +202 -0
  11. checkpoint/chat_template.jinja +154 -0
  12. checkpoint/config.json +103 -0
  13. checkpoint/equivalence-mtp.json +342 -0
  14. checkpoint/equivalence.json +342 -0
  15. checkpoint/merges.txt +0 -0
  16. checkpoint/native_checkpoint.py +315 -0
  17. checkpoint/native_manifest.json +0 -0
  18. checkpoint/preprocessor_config.json +21 -0
  19. checkpoint/provenance/build_native_checkpoint.py +277 -0
  20. checkpoint/provenance/importance-metadata.json +1337 -0
  21. checkpoint/provenance/importance.npz +3 -0
  22. checkpoint/provenance/original.safetensors.index.json +782 -0
  23. checkpoint/provenance/overrides.json +73 -0
  24. checkpoint/provenance/precision-plan.json +233 -0
  25. checkpoint/provenance/tt_eval.py +440 -0
  26. checkpoint/provenance/weight_mapping.py +220 -0
  27. checkpoint/quantization-error.json +0 -0
  28. checkpoint/tensors/00000.tensorbin +3 -0
  29. checkpoint/tensors/00001.safetensors +3 -0
  30. checkpoint/tensors/00002.tensorbin +3 -0
  31. checkpoint/tensors/00003.tensorbin +3 -0
  32. checkpoint/tensors/00004.tensorbin +3 -0
  33. checkpoint/tensors/00005.tensorbin +3 -0
  34. checkpoint/tensors/00006.tensorbin +3 -0
  35. checkpoint/tensors/00007.tensorbin +3 -0
  36. checkpoint/tensors/00008.tensorbin +3 -0
  37. checkpoint/tensors/00009.tensorbin +3 -0
  38. checkpoint/tensors/00010.tensorbin +3 -0
  39. checkpoint/tensors/00011.tensorbin +3 -0
  40. checkpoint/tensors/00012.tensorbin +3 -0
  41. checkpoint/tensors/00013.tensorbin +3 -0
  42. checkpoint/tensors/00014.tensorbin +3 -0
  43. checkpoint/tensors/00015.tensorbin +3 -0
  44. checkpoint/tensors/00016.tensorbin +3 -0
  45. checkpoint/tensors/00017.tensorbin +3 -0
  46. checkpoint/tensors/00018.tensorbin +3 -0
  47. checkpoint/tensors/00019.tensorbin +3 -0
  48. checkpoint/tensors/00020.tensorbin +3 -0
  49. checkpoint/tensors/00021.tensorbin +3 -0
  50. checkpoint/tensors/00022.tensorbin +3 -0
.dockerignore ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ *
2
+ !runtime/
3
+ !runtime/**
4
+ !native_checkpoint.py
5
+ **/__pycache__/
6
+ **/*.pyc
.gitattributes CHANGED
@@ -33,3 +33,253 @@ 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
+ checkpoint/tensors/00000.tensorbin filter=lfs diff=lfs merge=lfs -text
37
+ checkpoint/tensors/00002.tensorbin filter=lfs diff=lfs merge=lfs -text
38
+ checkpoint/tensors/00003.tensorbin filter=lfs diff=lfs merge=lfs -text
39
+ checkpoint/tensors/00004.tensorbin filter=lfs diff=lfs merge=lfs -text
40
+ checkpoint/tensors/00005.tensorbin filter=lfs diff=lfs merge=lfs -text
41
+ checkpoint/tensors/00006.tensorbin filter=lfs diff=lfs merge=lfs -text
42
+ checkpoint/tensors/00007.tensorbin filter=lfs diff=lfs merge=lfs -text
43
+ checkpoint/tensors/00008.tensorbin filter=lfs diff=lfs merge=lfs -text
44
+ checkpoint/tensors/00009.tensorbin filter=lfs diff=lfs merge=lfs -text
45
+ checkpoint/tensors/00010.tensorbin filter=lfs diff=lfs merge=lfs -text
46
+ checkpoint/tensors/00011.tensorbin filter=lfs diff=lfs merge=lfs -text
47
+ checkpoint/tensors/00012.tensorbin filter=lfs diff=lfs merge=lfs -text
48
+ checkpoint/tensors/00013.tensorbin filter=lfs diff=lfs merge=lfs -text
49
+ checkpoint/tensors/00014.tensorbin filter=lfs diff=lfs merge=lfs -text
50
+ checkpoint/tensors/00015.tensorbin filter=lfs diff=lfs merge=lfs -text
51
+ checkpoint/tensors/00016.tensorbin filter=lfs diff=lfs merge=lfs -text
52
+ checkpoint/tensors/00017.tensorbin filter=lfs diff=lfs merge=lfs -text
53
+ checkpoint/tensors/00018.tensorbin filter=lfs diff=lfs merge=lfs -text
54
+ checkpoint/tensors/00019.tensorbin filter=lfs diff=lfs merge=lfs -text
55
+ checkpoint/tensors/00020.tensorbin filter=lfs diff=lfs merge=lfs -text
56
+ checkpoint/tensors/00021.tensorbin filter=lfs diff=lfs merge=lfs -text
57
+ checkpoint/tensors/00022.tensorbin filter=lfs diff=lfs merge=lfs -text
58
+ checkpoint/tensors/00023.tensorbin filter=lfs diff=lfs merge=lfs -text
59
+ checkpoint/tensors/00024.tensorbin filter=lfs diff=lfs merge=lfs -text
60
+ checkpoint/tensors/00025.tensorbin filter=lfs diff=lfs merge=lfs -text
61
+ checkpoint/tensors/00026.tensorbin filter=lfs diff=lfs merge=lfs -text
62
+ checkpoint/tensors/00027.tensorbin filter=lfs diff=lfs merge=lfs -text
63
+ checkpoint/tensors/00028.tensorbin filter=lfs diff=lfs merge=lfs -text
64
+ checkpoint/tensors/00029.tensorbin filter=lfs diff=lfs merge=lfs -text
65
+ checkpoint/tensors/00030.tensorbin filter=lfs diff=lfs merge=lfs -text
66
+ checkpoint/tensors/00031.tensorbin filter=lfs diff=lfs merge=lfs -text
67
+ checkpoint/tensors/00032.tensorbin filter=lfs diff=lfs merge=lfs -text
68
+ checkpoint/tensors/00033.tensorbin filter=lfs diff=lfs merge=lfs -text
69
+ checkpoint/tensors/00034.tensorbin filter=lfs diff=lfs merge=lfs -text
70
+ checkpoint/tensors/00035.tensorbin filter=lfs diff=lfs merge=lfs -text
71
+ checkpoint/tensors/00036.tensorbin filter=lfs diff=lfs merge=lfs -text
72
+ checkpoint/tensors/00037.tensorbin filter=lfs diff=lfs merge=lfs -text
73
+ checkpoint/tensors/00038.tensorbin filter=lfs diff=lfs merge=lfs -text
74
+ checkpoint/tensors/00039.tensorbin filter=lfs diff=lfs merge=lfs -text
75
+ checkpoint/tensors/00040.tensorbin filter=lfs diff=lfs merge=lfs -text
76
+ checkpoint/tensors/00041.tensorbin filter=lfs diff=lfs merge=lfs -text
77
+ checkpoint/tensors/00042.tensorbin filter=lfs diff=lfs merge=lfs -text
78
+ checkpoint/tensors/00043.tensorbin filter=lfs diff=lfs merge=lfs -text
79
+ checkpoint/tensors/00044.tensorbin filter=lfs diff=lfs merge=lfs -text
80
+ checkpoint/tensors/00045.tensorbin filter=lfs diff=lfs merge=lfs -text
81
+ checkpoint/tensors/00046.tensorbin filter=lfs diff=lfs merge=lfs -text
82
+ checkpoint/tensors/00047.tensorbin filter=lfs diff=lfs merge=lfs -text
83
+ checkpoint/tensors/00048.tensorbin filter=lfs diff=lfs merge=lfs -text
84
+ checkpoint/tensors/00049.tensorbin filter=lfs diff=lfs merge=lfs -text
85
+ checkpoint/tensors/00050.tensorbin filter=lfs diff=lfs merge=lfs -text
86
+ checkpoint/tensors/00051.tensorbin filter=lfs diff=lfs merge=lfs -text
87
+ checkpoint/tensors/00052.tensorbin filter=lfs diff=lfs merge=lfs -text
88
+ checkpoint/tensors/00053.tensorbin filter=lfs diff=lfs merge=lfs -text
89
+ checkpoint/tensors/00054.tensorbin filter=lfs diff=lfs merge=lfs -text
90
+ checkpoint/tensors/00055.tensorbin filter=lfs diff=lfs merge=lfs -text
91
+ checkpoint/tensors/00056.tensorbin filter=lfs diff=lfs merge=lfs -text
92
+ checkpoint/tensors/00057.tensorbin filter=lfs diff=lfs merge=lfs -text
93
+ checkpoint/tensors/00058.tensorbin filter=lfs diff=lfs merge=lfs -text
94
+ checkpoint/tensors/00059.tensorbin filter=lfs diff=lfs merge=lfs -text
95
+ checkpoint/tensors/00060.tensorbin filter=lfs diff=lfs merge=lfs -text
96
+ checkpoint/tensors/00061.tensorbin filter=lfs diff=lfs merge=lfs -text
97
+ checkpoint/tensors/00062.tensorbin filter=lfs diff=lfs merge=lfs -text
98
+ checkpoint/tensors/00063.tensorbin filter=lfs diff=lfs merge=lfs -text
99
+ checkpoint/tensors/00067.tensorbin filter=lfs diff=lfs merge=lfs -text
100
+ checkpoint/tensors/00068.tensorbin filter=lfs diff=lfs merge=lfs -text
101
+ checkpoint/tensors/00069.tensorbin filter=lfs diff=lfs merge=lfs -text
102
+ checkpoint/tensors/00070.tensorbin filter=lfs diff=lfs merge=lfs -text
103
+ checkpoint/tensors/00071.tensorbin filter=lfs diff=lfs merge=lfs -text
104
+ checkpoint/tensors/00072.tensorbin filter=lfs diff=lfs merge=lfs -text
105
+ checkpoint/tensors/00073.tensorbin filter=lfs diff=lfs merge=lfs -text
106
+ checkpoint/tensors/00074.tensorbin filter=lfs diff=lfs merge=lfs -text
107
+ checkpoint/tensors/00075.tensorbin filter=lfs diff=lfs merge=lfs -text
108
+ checkpoint/tensors/00076.tensorbin filter=lfs diff=lfs merge=lfs -text
109
+ checkpoint/tensors/00077.tensorbin filter=lfs diff=lfs merge=lfs -text
110
+ checkpoint/tensors/00078.tensorbin filter=lfs diff=lfs merge=lfs -text
111
+ checkpoint/tensors/00079.tensorbin filter=lfs diff=lfs merge=lfs -text
112
+ checkpoint/tensors/00080.tensorbin filter=lfs diff=lfs merge=lfs -text
113
+ checkpoint/tensors/00081.tensorbin filter=lfs diff=lfs merge=lfs -text
114
+ checkpoint/tensors/00082.tensorbin filter=lfs diff=lfs merge=lfs -text
115
+ checkpoint/tensors/00083.tensorbin filter=lfs diff=lfs merge=lfs -text
116
+ checkpoint/tensors/00084.tensorbin filter=lfs diff=lfs merge=lfs -text
117
+ checkpoint/tensors/00085.tensorbin filter=lfs diff=lfs merge=lfs -text
118
+ checkpoint/tensors/00086.tensorbin filter=lfs diff=lfs merge=lfs -text
119
+ checkpoint/tensors/00087.tensorbin filter=lfs diff=lfs merge=lfs -text
120
+ checkpoint/tensors/00088.tensorbin filter=lfs diff=lfs merge=lfs -text
121
+ checkpoint/tensors/00089.tensorbin filter=lfs diff=lfs merge=lfs -text
122
+ checkpoint/tensors/00090.tensorbin filter=lfs diff=lfs merge=lfs -text
123
+ checkpoint/tensors/00091.tensorbin filter=lfs diff=lfs merge=lfs -text
124
+ checkpoint/tensors/00092.tensorbin filter=lfs diff=lfs merge=lfs -text
125
+ checkpoint/tensors/00093.tensorbin filter=lfs diff=lfs merge=lfs -text
126
+ checkpoint/tensors/00094.tensorbin filter=lfs diff=lfs merge=lfs -text
127
+ checkpoint/tensors/00095.tensorbin filter=lfs diff=lfs merge=lfs -text
128
+ checkpoint/tensors/00096.tensorbin filter=lfs diff=lfs merge=lfs -text
129
+ checkpoint/tensors/00097.tensorbin filter=lfs diff=lfs merge=lfs -text
130
+ checkpoint/tensors/00098.tensorbin filter=lfs diff=lfs merge=lfs -text
131
+ checkpoint/tensors/00099.tensorbin filter=lfs diff=lfs merge=lfs -text
132
+ checkpoint/tensors/00100.tensorbin filter=lfs diff=lfs merge=lfs -text
133
+ checkpoint/tensors/00101.tensorbin filter=lfs diff=lfs merge=lfs -text
134
+ checkpoint/tensors/00102.tensorbin filter=lfs diff=lfs merge=lfs -text
135
+ checkpoint/tensors/00103.tensorbin filter=lfs diff=lfs merge=lfs -text
136
+ checkpoint/tensors/00104.tensorbin filter=lfs diff=lfs merge=lfs -text
137
+ checkpoint/tensors/00105.tensorbin filter=lfs diff=lfs merge=lfs -text
138
+ checkpoint/tensors/00106.tensorbin filter=lfs diff=lfs merge=lfs -text
139
+ checkpoint/tensors/00107.tensorbin filter=lfs diff=lfs merge=lfs -text
140
+ checkpoint/tensors/00108.tensorbin filter=lfs diff=lfs merge=lfs -text
141
+ checkpoint/tensors/00109.tensorbin filter=lfs diff=lfs merge=lfs -text
142
+ checkpoint/tensors/00110.tensorbin filter=lfs diff=lfs merge=lfs -text
143
+ checkpoint/tensors/00111.tensorbin filter=lfs diff=lfs merge=lfs -text
144
+ checkpoint/tensors/00112.tensorbin filter=lfs diff=lfs merge=lfs -text
145
+ checkpoint/tensors/00113.tensorbin filter=lfs diff=lfs merge=lfs -text
146
+ checkpoint/tensors/00114.tensorbin filter=lfs diff=lfs merge=lfs -text
147
+ checkpoint/tensors/00115.tensorbin filter=lfs diff=lfs merge=lfs -text
148
+ checkpoint/tensors/00116.tensorbin filter=lfs diff=lfs merge=lfs -text
149
+ checkpoint/tensors/00117.tensorbin filter=lfs diff=lfs merge=lfs -text
150
+ checkpoint/tensors/00118.tensorbin filter=lfs diff=lfs merge=lfs -text
151
+ checkpoint/tensors/00119.tensorbin filter=lfs diff=lfs merge=lfs -text
152
+ checkpoint/tensors/00120.tensorbin filter=lfs diff=lfs merge=lfs -text
153
+ checkpoint/tensors/00121.tensorbin filter=lfs diff=lfs merge=lfs -text
154
+ checkpoint/tensors/00122.tensorbin filter=lfs diff=lfs merge=lfs -text
155
+ checkpoint/tensors/00123.tensorbin filter=lfs diff=lfs merge=lfs -text
156
+ checkpoint/tensors/00124.tensorbin filter=lfs diff=lfs merge=lfs -text
157
+ checkpoint/tensors/00125.tensorbin filter=lfs diff=lfs merge=lfs -text
158
+ checkpoint/tensors/00126.tensorbin filter=lfs diff=lfs merge=lfs -text
159
+ checkpoint/tensors/00127.tensorbin filter=lfs diff=lfs merge=lfs -text
160
+ checkpoint/tensors/00136.tensorbin filter=lfs diff=lfs merge=lfs -text
161
+ checkpoint/tensors/00137.tensorbin filter=lfs diff=lfs merge=lfs -text
162
+ checkpoint/tensors/00138.tensorbin filter=lfs diff=lfs merge=lfs -text
163
+ checkpoint/tensors/00140.tensorbin filter=lfs diff=lfs merge=lfs -text
164
+ checkpoint/tensors/00148.tensorbin filter=lfs diff=lfs merge=lfs -text
165
+ checkpoint/tensors/00149.tensorbin filter=lfs diff=lfs merge=lfs -text
166
+ checkpoint/tensors/00150.tensorbin filter=lfs diff=lfs merge=lfs -text
167
+ checkpoint/tensors/00152.tensorbin filter=lfs diff=lfs merge=lfs -text
168
+ checkpoint/tensors/00160.tensorbin filter=lfs diff=lfs merge=lfs -text
169
+ checkpoint/tensors/00161.tensorbin filter=lfs diff=lfs merge=lfs -text
170
+ checkpoint/tensors/00162.tensorbin filter=lfs diff=lfs merge=lfs -text
171
+ checkpoint/tensors/00164.tensorbin filter=lfs diff=lfs merge=lfs -text
172
+ checkpoint/tensors/00169.tensorbin filter=lfs diff=lfs merge=lfs -text
173
+ checkpoint/tensors/00170.tensorbin filter=lfs diff=lfs merge=lfs -text
174
+ checkpoint/tensors/00172.tensorbin filter=lfs diff=lfs merge=lfs -text
175
+ checkpoint/tensors/00179.tensorbin filter=lfs diff=lfs merge=lfs -text
176
+ checkpoint/tensors/00180.tensorbin filter=lfs diff=lfs merge=lfs -text
177
+ checkpoint/tensors/00181.tensorbin filter=lfs diff=lfs merge=lfs -text
178
+ checkpoint/tensors/00182.tensorbin filter=lfs diff=lfs merge=lfs -text
179
+ checkpoint/tensors/00184.tensorbin filter=lfs diff=lfs merge=lfs -text
180
+ checkpoint/tensors/00192.tensorbin filter=lfs diff=lfs merge=lfs -text
181
+ checkpoint/tensors/00193.tensorbin filter=lfs diff=lfs merge=lfs -text
182
+ checkpoint/tensors/00194.tensorbin filter=lfs diff=lfs merge=lfs -text
183
+ checkpoint/tensors/00195.tensorbin filter=lfs diff=lfs merge=lfs -text
184
+ checkpoint/tensors/00197.tensorbin filter=lfs diff=lfs merge=lfs -text
185
+ checkpoint/tensors/00205.tensorbin filter=lfs diff=lfs merge=lfs -text
186
+ checkpoint/tensors/00206.tensorbin filter=lfs diff=lfs merge=lfs -text
187
+ checkpoint/tensors/00207.tensorbin filter=lfs diff=lfs merge=lfs -text
188
+ checkpoint/tensors/00209.tensorbin filter=lfs diff=lfs merge=lfs -text
189
+ checkpoint/tensors/00214.tensorbin filter=lfs diff=lfs merge=lfs -text
190
+ checkpoint/tensors/00215.tensorbin filter=lfs diff=lfs merge=lfs -text
191
+ checkpoint/tensors/00217.tensorbin filter=lfs diff=lfs merge=lfs -text
192
+ checkpoint/tensors/00224.tensorbin filter=lfs diff=lfs merge=lfs -text
193
+ checkpoint/tensors/00225.tensorbin filter=lfs diff=lfs merge=lfs -text
194
+ checkpoint/tensors/00226.tensorbin filter=lfs diff=lfs merge=lfs -text
195
+ checkpoint/tensors/00228.tensorbin filter=lfs diff=lfs merge=lfs -text
196
+ checkpoint/tensors/00236.tensorbin filter=lfs diff=lfs merge=lfs -text
197
+ checkpoint/tensors/00237.tensorbin filter=lfs diff=lfs merge=lfs -text
198
+ checkpoint/tensors/00238.tensorbin filter=lfs diff=lfs merge=lfs -text
199
+ checkpoint/tensors/00240.tensorbin filter=lfs diff=lfs merge=lfs -text
200
+ checkpoint/tensors/00248.tensorbin filter=lfs diff=lfs merge=lfs -text
201
+ checkpoint/tensors/00249.tensorbin filter=lfs diff=lfs merge=lfs -text
202
+ checkpoint/tensors/00250.tensorbin filter=lfs diff=lfs merge=lfs -text
203
+ checkpoint/tensors/00252.tensorbin filter=lfs diff=lfs merge=lfs -text
204
+ checkpoint/tensors/00257.tensorbin filter=lfs diff=lfs merge=lfs -text
205
+ checkpoint/tensors/00258.tensorbin filter=lfs diff=lfs merge=lfs -text
206
+ checkpoint/tensors/00260.tensorbin filter=lfs diff=lfs merge=lfs -text
207
+ checkpoint/tensors/00267.tensorbin filter=lfs diff=lfs merge=lfs -text
208
+ checkpoint/tensors/00268.tensorbin filter=lfs diff=lfs merge=lfs -text
209
+ checkpoint/tensors/00269.tensorbin filter=lfs diff=lfs merge=lfs -text
210
+ checkpoint/tensors/00271.tensorbin filter=lfs diff=lfs merge=lfs -text
211
+ checkpoint/tensors/00279.tensorbin filter=lfs diff=lfs merge=lfs -text
212
+ checkpoint/tensors/00280.tensorbin filter=lfs diff=lfs merge=lfs -text
213
+ checkpoint/tensors/00281.tensorbin filter=lfs diff=lfs merge=lfs -text
214
+ checkpoint/tensors/00283.tensorbin filter=lfs diff=lfs merge=lfs -text
215
+ checkpoint/tensors/00291.tensorbin filter=lfs diff=lfs merge=lfs -text
216
+ checkpoint/tensors/00292.tensorbin filter=lfs diff=lfs merge=lfs -text
217
+ checkpoint/tensors/00293.tensorbin filter=lfs diff=lfs merge=lfs -text
218
+ checkpoint/tensors/00294.tensorbin filter=lfs diff=lfs merge=lfs -text
219
+ checkpoint/tensors/00296.tensorbin filter=lfs diff=lfs merge=lfs -text
220
+ checkpoint/tensors/00304.tensorbin filter=lfs diff=lfs merge=lfs -text
221
+ checkpoint/tensors/00305.tensorbin filter=lfs diff=lfs merge=lfs -text
222
+ checkpoint/tensors/00306.tensorbin filter=lfs diff=lfs merge=lfs -text
223
+ checkpoint/tensors/00308.tensorbin filter=lfs diff=lfs merge=lfs -text
224
+ checkpoint/tensors/00313.tensorbin filter=lfs diff=lfs merge=lfs -text
225
+ checkpoint/tensors/00314.tensorbin filter=lfs diff=lfs merge=lfs -text
226
+ checkpoint/tensors/00316.tensorbin filter=lfs diff=lfs merge=lfs -text
227
+ checkpoint/tensors/00323.tensorbin filter=lfs diff=lfs merge=lfs -text
228
+ checkpoint/tensors/00324.tensorbin filter=lfs diff=lfs merge=lfs -text
229
+ checkpoint/tensors/00325.tensorbin filter=lfs diff=lfs merge=lfs -text
230
+ checkpoint/tensors/00327.tensorbin filter=lfs diff=lfs merge=lfs -text
231
+ checkpoint/tensors/00335.tensorbin filter=lfs diff=lfs merge=lfs -text
232
+ checkpoint/tensors/00336.tensorbin filter=lfs diff=lfs merge=lfs -text
233
+ checkpoint/tensors/00337.tensorbin filter=lfs diff=lfs merge=lfs -text
234
+ checkpoint/tensors/00339.tensorbin filter=lfs diff=lfs merge=lfs -text
235
+ checkpoint/tensors/00347.tensorbin filter=lfs diff=lfs merge=lfs -text
236
+ checkpoint/tensors/00348.tensorbin filter=lfs diff=lfs merge=lfs -text
237
+ checkpoint/tensors/00349.tensorbin filter=lfs diff=lfs merge=lfs -text
238
+ checkpoint/tensors/00351.tensorbin filter=lfs diff=lfs merge=lfs -text
239
+ checkpoint/tensors/00356.tensorbin filter=lfs diff=lfs merge=lfs -text
240
+ checkpoint/tensors/00357.tensorbin filter=lfs diff=lfs merge=lfs -text
241
+ checkpoint/tensors/00359.tensorbin filter=lfs diff=lfs merge=lfs -text
242
+ checkpoint/tensors/00366.tensorbin filter=lfs diff=lfs merge=lfs -text
243
+ checkpoint/tensors/00367.tensorbin filter=lfs diff=lfs merge=lfs -text
244
+ checkpoint/tensors/00368.tensorbin filter=lfs diff=lfs merge=lfs -text
245
+ checkpoint/tensors/00369.tensorbin filter=lfs diff=lfs merge=lfs -text
246
+ checkpoint/tensors/00371.tensorbin filter=lfs diff=lfs merge=lfs -text
247
+ checkpoint/tensors/00379.tensorbin filter=lfs diff=lfs merge=lfs -text
248
+ checkpoint/tensors/00380.tensorbin filter=lfs diff=lfs merge=lfs -text
249
+ checkpoint/tensors/00381.tensorbin filter=lfs diff=lfs merge=lfs -text
250
+ checkpoint/tensors/00382.tensorbin filter=lfs diff=lfs merge=lfs -text
251
+ checkpoint/tensors/00384.tensorbin filter=lfs diff=lfs merge=lfs -text
252
+ checkpoint/tensors/00389.tensorbin filter=lfs diff=lfs merge=lfs -text
253
+ checkpoint/tensors/00390.tensorbin filter=lfs diff=lfs merge=lfs -text
254
+ checkpoint/tensors/00392.tensorbin filter=lfs diff=lfs merge=lfs -text
255
+ checkpoint/tensors/00399.tensorbin filter=lfs diff=lfs merge=lfs -text
256
+ checkpoint/tensors/00400.tensorbin filter=lfs diff=lfs merge=lfs -text
257
+ checkpoint/tensors/00401.tensorbin filter=lfs diff=lfs merge=lfs -text
258
+ checkpoint/tensors/00403.tensorbin filter=lfs diff=lfs merge=lfs -text
259
+ checkpoint/tensors/00408.tensorbin filter=lfs diff=lfs merge=lfs -text
260
+ checkpoint/tensors/00409.tensorbin filter=lfs diff=lfs merge=lfs -text
261
+ checkpoint/tensors/00411.tensorbin filter=lfs diff=lfs merge=lfs -text
262
+ checkpoint/tensors/00418.tensorbin filter=lfs diff=lfs merge=lfs -text
263
+ checkpoint/tensors/00419.tensorbin filter=lfs diff=lfs merge=lfs -text
264
+ checkpoint/tensors/00420.tensorbin filter=lfs diff=lfs merge=lfs -text
265
+ checkpoint/tensors/00422.tensorbin filter=lfs diff=lfs merge=lfs -text
266
+ checkpoint/tensors/00430.tensorbin filter=lfs diff=lfs merge=lfs -text
267
+ checkpoint/tensors/00431.tensorbin filter=lfs diff=lfs merge=lfs -text
268
+ checkpoint/tensors/00432.tensorbin filter=lfs diff=lfs merge=lfs -text
269
+ checkpoint/tensors/00434.tensorbin filter=lfs diff=lfs merge=lfs -text
270
+ checkpoint/tensors/00442.tensorbin filter=lfs diff=lfs merge=lfs -text
271
+ checkpoint/tensors/00443.tensorbin filter=lfs diff=lfs merge=lfs -text
272
+ checkpoint/tensors/00444.tensorbin filter=lfs diff=lfs merge=lfs -text
273
+ checkpoint/tensors/00446.tensorbin filter=lfs diff=lfs merge=lfs -text
274
+ checkpoint/tensors/00451.tensorbin filter=lfs diff=lfs merge=lfs -text
275
+ checkpoint/tensors/00452.tensorbin filter=lfs diff=lfs merge=lfs -text
276
+ checkpoint/tensors/00454.tensorbin filter=lfs diff=lfs merge=lfs -text
277
+ checkpoint/tensors/00461.tensorbin filter=lfs diff=lfs merge=lfs -text
278
+ checkpoint/tensors/00462.tensorbin filter=lfs diff=lfs merge=lfs -text
279
+ checkpoint/tensors/00463.tensorbin filter=lfs diff=lfs merge=lfs -text
280
+ checkpoint/tensors/00465.tensorbin filter=lfs diff=lfs merge=lfs -text
281
+ checkpoint/tensors/00473.tensorbin filter=lfs diff=lfs merge=lfs -text
282
+ checkpoint/tensors/00474.tensorbin filter=lfs diff=lfs merge=lfs -text
283
+ checkpoint/tensors/00475.tensorbin filter=lfs diff=lfs merge=lfs -text
284
+ checkpoint/tensors/00477.tensorbin filter=lfs diff=lfs merge=lfs -text
285
+ checkpoint/tokenizer.json filter=lfs diff=lfs merge=lfs -text
LICENSE ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright 2026 Alibaba Cloud
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
SHA256SUMS ADDED
@@ -0,0 +1,695 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ce4c490df05a10f0ed52e0a8a394f2c25cffcef2821be24007388020f6ff2726 .dockerignore
2
+ bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a LICENSE
3
+ 2cf529188995827d07413fcab3a2fda048506185376d9b439495365bed5d2a29 api_validate.py
4
+ 556448845c2df6d212db03c121252d342f881a2d8db17f29a8d961b3a824cda3 build_native_checkpoint.py
5
+ ca51deb3c0f6b096bea1ff2312b1bab4a4a8fa083ba0e03b282ec4f8ef303779 calibration/importance.npz
6
+ c65c34c37633381a7322ff433a292f9e615d414bb834d1951b243ee16ecb310e calibration/instruction-calibration.jsonl
7
+ c13846b0b5a15946da39f98e49e0d6f0289bc30c46b646880e5f73ed17c90ffd calibration/metadata.json
8
+ bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a checkpoint/LICENSE
9
+ a4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715 checkpoint/chat_template.jinja
10
+ d0883072e01861ed0b2d47be3c16c36a8e81c224c7ffaa310c6558fb3f932b05 checkpoint/config.json
11
+ 777d1d74f79a46f56f182d839b16f965e0b25e78b58e5ccc64fad9a9264f1f51 checkpoint/equivalence-mtp.json
12
+ 7b24b0f45aa284c37a5038a1716d266dd2d25c1eb49b9dcf2ae0a324740b7f14 checkpoint/equivalence.json
13
+ a9d356d7bdf1ef4949e3e748e95b8e10ad9d4e2e838eddc38a0a7b6b94d1db8d checkpoint/merges.txt
14
+ 25e6c97b125e3fc969f9ea99290e1d3ca43db93720b699eb46f21224d8dd3c9d checkpoint/native_checkpoint.py
15
+ 34f774cf110e3ff94726171b52f6d462cb9b36651295b941efa85098ddb96ca2 checkpoint/native_manifest.json
16
+ 27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516 checkpoint/preprocessor_config.json
17
+ 556448845c2df6d212db03c121252d342f881a2d8db17f29a8d961b3a824cda3 checkpoint/provenance/build_native_checkpoint.py
18
+ c13846b0b5a15946da39f98e49e0d6f0289bc30c46b646880e5f73ed17c90ffd checkpoint/provenance/importance-metadata.json
19
+ ca51deb3c0f6b096bea1ff2312b1bab4a4a8fa083ba0e03b282ec4f8ef303779 checkpoint/provenance/importance.npz
20
+ 26d3539b516be613f39563617cb9d33b3f83d401298125be392c80cefb8f7fe5 checkpoint/provenance/original.safetensors.index.json
21
+ 59d35218b4780c71e90f2a7cf148cc1f8a0db44a4a5c5dbd90cda624d6b54b1a checkpoint/provenance/overrides.json
22
+ f15011f4b91e82c8b007acdf2c9c229954c2553a44c6dd3504010c07068dad43 checkpoint/provenance/precision-plan.json
23
+ 2939042f81d63dd6d90b1b13574c2a505623a07c1684bb9e3d048182c25eed59 checkpoint/provenance/tt_eval.py
24
+ d7ad88592fb7de07d87fa0d10f9d1bd0d4dcc92856438fffc394f90e29e650d2 checkpoint/provenance/weight_mapping.py
25
+ 88e0efffbbd322dc891ebc8cd891e6ff2fc96da16c5fde334b2b92e457c2db26 checkpoint/quantization-error.json
26
+ 0d4f553fe416591e5d9dfdf45150f82b4d88b4fea590983b65fe126bf602ee5a checkpoint/tensors/00000.tensorbin
27
+ 38bb1a27e20c64787cd377c3f18bf2117aa4ed8251d247aedb146bb4833b0573 checkpoint/tensors/00001.safetensors
28
+ b55492af5a288f52ebe592e39e2e75f6949706869b679621b41597619f9a7512 checkpoint/tensors/00002.tensorbin
29
+ 817739482fde7bf45eab7b3d68831fb27490390928c60966d48084fae7127b13 checkpoint/tensors/00003.tensorbin
30
+ d0552d5ca5f484aa8fce00132cef93c03ebfdb2c0cf2bb79c0e48ca2d787f971 checkpoint/tensors/00004.tensorbin
31
+ b5a8cbeb04c20ae79baf8ccd161ec5a05403ee15c6974e657a883f98769b0888 checkpoint/tensors/00005.tensorbin
32
+ 2663e15be67b452fcb6836f53efb57b1ebf7bc078889ef94c3d10973164647b6 checkpoint/tensors/00006.tensorbin
33
+ 8d1d32db0f18d850c2af69f9972a86dc53b789f604cbb38e934078ba4e98e833 checkpoint/tensors/00007.tensorbin
34
+ dbceb9cee219c05d5331cca9d3fe128834dba6ac763db5216ea0cfc58d4c3e11 checkpoint/tensors/00008.tensorbin
35
+ 1adcc930caac883061d6b927717fbc139896ee40754bc7970616a4dfc85666cc checkpoint/tensors/00009.tensorbin
36
+ 1f0b6775ab6d1429b849a7547fa1e83d30d26a179fea984875d9845838208052 checkpoint/tensors/00010.tensorbin
37
+ 752d18b915e7e3042dccce83624c75fa99879d390689a91b5fcdb72ff51ba8b3 checkpoint/tensors/00011.tensorbin
38
+ b5a07da9f758a7bd30153ee609e82be88ec4f6ec82c5693c72a66dd216315269 checkpoint/tensors/00012.tensorbin
39
+ e019672df4f09a8f8cbaa8851a9c0e6405dc243f8fd76f9ae64599bc0f6cf6ce checkpoint/tensors/00013.tensorbin
40
+ 470eff8f523155457cdeb861853b0ef8c0909399f3922f70424dd60f35d39cf0 checkpoint/tensors/00014.tensorbin
41
+ 0078928a85361a6b3b372725b25e9edb2332effce2dae748ad394819d624caac checkpoint/tensors/00015.tensorbin
42
+ 88c0a18c5c2ea0c5bbaa99d9d3dd782b28cc184a3b4528adcbf66a0f27d82709 checkpoint/tensors/00016.tensorbin
43
+ 161db47ca7a7747ec28c78a82b0b57ce46478ec7cfe2cd9f1f179fd0e44041b1 checkpoint/tensors/00017.tensorbin
44
+ 4c2de1c8bc2518ffaceb0b3ed5c0a1ff1de0ffb3cd8b3d684635d01cafd96fd3 checkpoint/tensors/00018.tensorbin
45
+ 6710c4b861036d61791c017dd22e7ec747abe741412e7f31d56b56014dfc2746 checkpoint/tensors/00019.tensorbin
46
+ 37726ca2810b3114267b599c1fff6dd17c18b534be98349851a74a0031511fd9 checkpoint/tensors/00020.tensorbin
47
+ 620b7f5bf138cef6f091b94e7bb4260e4e9693abcfc9257e6a7788af062a7ae0 checkpoint/tensors/00021.tensorbin
48
+ 70cd2c36ae9b0c518ec4ed9ccba038448c8b07a77fc40a61dba1b4e47ed403b6 checkpoint/tensors/00022.tensorbin
49
+ 0b176ee7254f919e4a8f4ce69d751888e7c0f91c3b23c1e828a04806741a4838 checkpoint/tensors/00023.tensorbin
50
+ d79eaffc8ef17f28f5f207c4755177f88a8b516bb0d5d66e3509a1740069801f checkpoint/tensors/00024.tensorbin
51
+ fd32920bfbff8c6c3a72a01da2988a8818c2633516697fa190b5918b748df0a0 checkpoint/tensors/00025.tensorbin
52
+ 481c0f7d3572873b540465a618c3532ffd50e2a991593514e5e32b816698f1be checkpoint/tensors/00026.tensorbin
53
+ 2a3d10f4d87bb8fb3b2f72cf68f3842f12fdc9a56e89557638877ede50ebe84d checkpoint/tensors/00027.tensorbin
54
+ a8dad6e14de206600af064221d3df2ed29a5223b2386babc9ad3d9c2d64e68d8 checkpoint/tensors/00028.tensorbin
55
+ f7fabe4cdca9624aa92fc3cfa0cea32cb0519d96c41966486b0dac8eb25b7729 checkpoint/tensors/00029.tensorbin
56
+ 20e836010896fbde4c9d6a914a38349cccfb1957dccdf10bbfc471d5cbb6c3c1 checkpoint/tensors/00030.tensorbin
57
+ bccb4914324b470e6105d0658372cbe21022e1c7330438ec56eabc7f4fbc1341 checkpoint/tensors/00031.tensorbin
58
+ 7f9285e2a7bec6d721ee5eb7592622dcf264d617b6ec28e4b98cfcb14f436b37 checkpoint/tensors/00032.tensorbin
59
+ 58129242aaf0c9f119685a236316e6b7619fccfd2d8c359221ccf952db487159 checkpoint/tensors/00033.tensorbin
60
+ 0abc905a66bf00ea9d014253c34f3f5a4881e65ebcb31c60d83cd8b80db64a3a checkpoint/tensors/00034.tensorbin
61
+ 0e09ef1810508b030d88d75247116b302bf3d33deeb0b3f9dce7cc370e77bae0 checkpoint/tensors/00035.tensorbin
62
+ 0050035ce84e831865a7de86f43cd1e148f08cb62305f5f5b59be2094b75eafe checkpoint/tensors/00036.tensorbin
63
+ 2f3bdffe838c66cf2281b330b8e422260743f032b90b386413ae0fd555d919de checkpoint/tensors/00037.tensorbin
64
+ 8fdbd257779bf19f48fb0e935eba3760b561cbbc8c0b0bea33709417eef07cf2 checkpoint/tensors/00038.tensorbin
65
+ 34334f82bb0bb9edf4f47bbf1cabcdfdf2f774c130aa33f00c0f247cd605d90b checkpoint/tensors/00039.tensorbin
66
+ 8adf3f60671f39e598c327d4e616b993a9191e7c126f639290dd203e6e057f0a checkpoint/tensors/00040.tensorbin
67
+ 2484b92f54dddd557997a230280d8e2964dd867c5190f58138b23146676519ce checkpoint/tensors/00041.tensorbin
68
+ dc228baee2344db89aceffda449b0a3cfbec39f4a17436530a275544dd158fd3 checkpoint/tensors/00042.tensorbin
69
+ 029abf2e4dc861d3bdfa61ec615f4e9c7615597e53de51d840a2b5b53cc88d7e checkpoint/tensors/00043.tensorbin
70
+ ff21a01ab0112788ff5bc8e6236180cc40fc12df4c2d27204800847d09bdd41c checkpoint/tensors/00044.tensorbin
71
+ e2e211fb1b163448dcd7de68460da8702e24fa27a19510dd6513310e360f2e60 checkpoint/tensors/00045.tensorbin
72
+ ab3d1fc4a9368572d01267ce3003df30a83be8df6ffa78251678636e92b3685f checkpoint/tensors/00046.tensorbin
73
+ dfd1e3c9738da0e46de25cd9cbc649cc0b8c9ecfe753d63a69597c3c010f69b7 checkpoint/tensors/00047.tensorbin
74
+ 774604c9bae0aa6ee0cf89ab02f38d74c5deef275b7dacb58db10ebd7ece53f8 checkpoint/tensors/00048.tensorbin
75
+ c07f37d22d38e04cede1f49e6247955673004553187713014cb6e54f2319ab52 checkpoint/tensors/00049.tensorbin
76
+ 20c083b06c60088c0288394470e1a7425f65304d926176553bc4aaa3e60411df checkpoint/tensors/00050.tensorbin
77
+ 30752bf40eb40e8d815e402b5c89484688a0a1d364177ea4471f638ad8887d3b checkpoint/tensors/00051.tensorbin
78
+ 4ce04d9b7b4cc2a72243657add46be6e17c3d2272ec72c89d7f9960cd8308bf4 checkpoint/tensors/00052.tensorbin
79
+ d0625ba5bec767267e8cf0f22d4b6b89662372643875ae8e6a0af2e186710e9e checkpoint/tensors/00053.tensorbin
80
+ 8115106f6f2518fbc801e77bf13cbf41e7b28aaebbaf8d0cf530e27a8dcd196a checkpoint/tensors/00054.tensorbin
81
+ c2e5786d5d2d7efff55c2911d80386fef51d83f34f67fde75959afb1e4690897 checkpoint/tensors/00055.tensorbin
82
+ 4b7f5fc94e230345e7effce8d0752929ff0d66ef175af15fcdd690c977422c4d checkpoint/tensors/00056.tensorbin
83
+ aa2bef86004685b25b45d7945c5100cefe6ba88ad0a6a317218f16345e73705d checkpoint/tensors/00057.tensorbin
84
+ 6c2c261a1abf1fdd09a87da8c71d57241853d2764ac3d13ae1cf00a9e7b68f3b checkpoint/tensors/00058.tensorbin
85
+ 298566b8f0f3c76e6a71ae4ffa04daa958f906eac3701983534ea53b5419afe3 checkpoint/tensors/00059.tensorbin
86
+ 815db429f97496e3cf32b2632412fa465b1f901833d8ac5ffa9aec0a63f89766 checkpoint/tensors/00060.tensorbin
87
+ 2fa0034ddff451981649961993d5cefccde251607dd1f05435148b8677688fde checkpoint/tensors/00061.tensorbin
88
+ 6501754a904e6f5dfb10968ac855d94e790c96cd81c2684ac4d9304337389cf3 checkpoint/tensors/00062.tensorbin
89
+ dd793491aaf595f9d49cc54111ddbb000fdfaec4fe3cf7f006a1a82a92360743 checkpoint/tensors/00063.tensorbin
90
+ f2b848ca24564c87e0f5db270127764cedb97b689e4b1b9a9eceb3a775b48559 checkpoint/tensors/00064.safetensors
91
+ 9ea198414c1d79d389ac94e866b8d084e55f7b241d9312b342477b6ab9fbbb7e checkpoint/tensors/00065.safetensors
92
+ 504db46d0b60e1eb0ee028836486f9efdca5fa6a81c2a380af8cd435245c4606 checkpoint/tensors/00066.safetensors
93
+ d805110f65f3b87b3bdc1cf43133c2f89d5788c956d4d38bffb67a958c08835d checkpoint/tensors/00067.tensorbin
94
+ 55248631595a532974415f42ae9ed0b5527690295e80e05aff638b47f013813b checkpoint/tensors/00068.tensorbin
95
+ 4a1b9108344f1177e55cb08f3beabf9bd67f5b0e99731f2e9cd3728873ddecd3 checkpoint/tensors/00069.tensorbin
96
+ cdbc77f06c9c92f4d0c9750ca333ff8693127f3a83a6e1af5e61e7994507e236 checkpoint/tensors/00070.tensorbin
97
+ 627840aaa440b20cf90441dbb13a359bc197f0798a81a4d9aeec305427b726e4 checkpoint/tensors/00071.tensorbin
98
+ 9a76750c0876731a91ac5b068505327f6eb724917096e10166dc0b1e7e808904 checkpoint/tensors/00072.tensorbin
99
+ 30b5c62ae765a8328a691832e3e6b786e115f52003290c1abad09b3a3ca8b138 checkpoint/tensors/00073.tensorbin
100
+ 96ddc1961df1ff9ace0c3dfffd64299ae781fdaa997f71e7712f2c0b4516d07b checkpoint/tensors/00074.tensorbin
101
+ 8f73151c88d081142422b03a198b667068198594460aa6e468316aef95ff1eae checkpoint/tensors/00075.tensorbin
102
+ d450d020d92fc8ca67f2711ae99fb3300fa50eafc9257ad919810127381d5a24 checkpoint/tensors/00076.tensorbin
103
+ 8ee0c647eb1079bde11a646338cf3a49543fb21e4e89d626a18344e634f616f1 checkpoint/tensors/00077.tensorbin
104
+ 8d7059cf1405f91c0b1a6473233404a91d4b5e6c1bb7a74c5caacc7b043cc4c3 checkpoint/tensors/00078.tensorbin
105
+ be95409ce6495807a69b30d23fa1443cf6f9efbe172fd0aed7c6c8f7a133c18b checkpoint/tensors/00079.tensorbin
106
+ 6768a39ecf6b7f1640860c0516c81bfc7efbddbb00a1d1ff4fe1de2ba279f3c4 checkpoint/tensors/00080.tensorbin
107
+ 8932cfd0e0cee9cfa7f5fbb76017df54ee96998630a86410b8825bc54ee7c1d8 checkpoint/tensors/00081.tensorbin
108
+ deb12edf58aba8544fe6075f9225606ed359ffa387a14467b0878ae0688763ec checkpoint/tensors/00082.tensorbin
109
+ def6b43065c2c20079e25159a11a4f083b7d1d4e9cb96b83a936de619a2775ba checkpoint/tensors/00083.tensorbin
110
+ e7cb7d7b6d214c9642826755baf01b2649bcb387cfd1a0ba901c852a39046792 checkpoint/tensors/00084.tensorbin
111
+ 43f748a9525b8a24906ea38929a9ea5b996988d939d1409dc73306e116b58a30 checkpoint/tensors/00085.tensorbin
112
+ 6feea622a98ff84898af115974c892bbad4f80ef9f3f97a27121a63a9335bb4d checkpoint/tensors/00086.tensorbin
113
+ 838b0ed15bb1bf815be45340f1eda533941a14c388f2b204429eea3f73ca1fdf checkpoint/tensors/00087.tensorbin
114
+ 020082276e7c5908ddb384880c007300a8f9e28e1125ebe928eda82f1832c435 checkpoint/tensors/00088.tensorbin
115
+ 8cc775394ba1c159995ee3ea60efe889016b924dfaaf3aa42129215cc571f58b checkpoint/tensors/00089.tensorbin
116
+ 230b248bec7296186b53f394d27eaf60909ba2f341049fa2f86369b91e33eb73 checkpoint/tensors/00090.tensorbin
117
+ a1f94dff13f4222f43672b88a1e97e94746c58637cbe18f8adb6e72a4e688bb4 checkpoint/tensors/00091.tensorbin
118
+ 06026d439572908535d0f9c9b7995c3173a4ead4607254940c196aaa021d98a9 checkpoint/tensors/00092.tensorbin
119
+ e0852f6849ea78db8dd4b47f3b6afba80a55f8d07045bde68395320000387457 checkpoint/tensors/00093.tensorbin
120
+ 6805413de6585faccb6a7dd7771652a5620b2d086a839e144b1400aa96b36a7e checkpoint/tensors/00094.tensorbin
121
+ d3d7293fb8a8ddfc653296fa1d2ff32b734234b26b397b939762d566d6072b81 checkpoint/tensors/00095.tensorbin
122
+ aaac2251885c04377ce4b6ab189b60539d857bcea37223341b241ed3512a098d checkpoint/tensors/00096.tensorbin
123
+ 065e5c5806e20ea0c9d631d660ecfc730c00a0d3cd1a9953cde256c6fc471941 checkpoint/tensors/00097.tensorbin
124
+ 4948c273dc7d8c589f6e0977cf9a7539b038b032cf911fcd4d1c361e71cb264a checkpoint/tensors/00098.tensorbin
125
+ 1aeffaba0b7b684c80c4f93dcc1b51ce71fb78bff90f0d69573c88697128682b checkpoint/tensors/00099.tensorbin
126
+ 6d636430d8665724ec6759fba20f599918856ff09b0e0cebeac1fea4b7da1fa8 checkpoint/tensors/00100.tensorbin
127
+ 5eeaa4ec50442bc57c7a45e24e0901d9186d017f1ef3e2a8b7a217091d380c35 checkpoint/tensors/00101.tensorbin
128
+ 8150f52f2c1b7c537caa71118e1f4a7eaf9c2413e2b3d02ac0413f92ee2f4d85 checkpoint/tensors/00102.tensorbin
129
+ dd530feed65d537c88b8b0664139a0a95c725eee19770a9b3641aa111000d65b checkpoint/tensors/00103.tensorbin
130
+ c973c181d1b9133eed39360be145c6d566efc5759bf8f2ad9380be15512a07dd checkpoint/tensors/00104.tensorbin
131
+ f034e2f598e8c8dcc938fcff3a6d5ea8e20c4580d6185e02bacd1e2f6f999e32 checkpoint/tensors/00105.tensorbin
132
+ 4f8f5cab8e4423e70c29f321ead60ec9edf7933f987edbbee435d8f4a26cdec0 checkpoint/tensors/00106.tensorbin
133
+ 6296caeb4c1fa89e462e9a615bfb647472dd4a7c4a3a4e5ac7d639648b142ac5 checkpoint/tensors/00107.tensorbin
134
+ 9b62d517058c99f3deb5d729cfbe3613f9feb207f798b6f966a6beb4b87060c7 checkpoint/tensors/00108.tensorbin
135
+ 4d1465a913340a25cbc0313d400da8fc8a04c4357a7a3bc2d35b812bcd27d045 checkpoint/tensors/00109.tensorbin
136
+ 4b286183f512a413db858379029f128b605a3097a06af39d579b5534cd08ee96 checkpoint/tensors/00110.tensorbin
137
+ 525a45f7dd52724d6cfa6503f31f1d0844a4f145bc6bc5296868293afe9f8f5a checkpoint/tensors/00111.tensorbin
138
+ b523d775a4af93ed9dcfa68086eabe191503fda8e3de9d29cada1dce76e9707d checkpoint/tensors/00112.tensorbin
139
+ a653a925df8698cfddcab95f192652ea8a0dbbb79a971c729e12e6880b3c41b2 checkpoint/tensors/00113.tensorbin
140
+ d914477f457833f972cd9cc02aa660b9ec75033aa8bef0ba7bea6356b671dfd4 checkpoint/tensors/00114.tensorbin
141
+ a71cc72015f9e1542109eae000ae5f9703ee01231aecdde233f1fbf07cfacb71 checkpoint/tensors/00115.tensorbin
142
+ 92b7f0ead412df2684b2e2b127d4b94aad9509dbf37e1bc7563db47720c8b5db checkpoint/tensors/00116.tensorbin
143
+ 66e7bd07ebb511bd69367a2e95a67545aee9c9aeb3b53dec095a4d2557fe7d53 checkpoint/tensors/00117.tensorbin
144
+ 1c29e5b0e41911cfc94ea54ead6560dc9bea9f23132a88dcaab1288f65545d4b checkpoint/tensors/00118.tensorbin
145
+ 9b6d8d7fcf4feebab07d931cc3ee821a2c31a305bff40d024e69d48e6724062a checkpoint/tensors/00119.tensorbin
146
+ 29c5dc7fca5333477cd5d429e320ada19d51bcf8432f0579075b2041f1e2155c checkpoint/tensors/00120.tensorbin
147
+ f5eeffb974a6d35cf1e9a77e9e437ba2a3322b4f56b45aa27209c1cf0a06013c checkpoint/tensors/00121.tensorbin
148
+ 1caa312f4302813480e8221e70bf1076ea6785d40afdc6066c7d6eb17d53d064 checkpoint/tensors/00122.tensorbin
149
+ fc6cb9d6de920085d034fda3afdff25a91c7746c838acbda609b7d0d5168b3df checkpoint/tensors/00123.tensorbin
150
+ 143e45c903df39db2ae0da6e62319024cf7b477da298805262d45fec4957bb10 checkpoint/tensors/00124.tensorbin
151
+ 49692a4fdfd572aa5b1e13019ca39f2797736b7ffcb3d0df1150f6a76e892e65 checkpoint/tensors/00125.tensorbin
152
+ 7aa0d11b9445a76f873bccc254682230184c617e3bb86273f0db52f37bc5ce85 checkpoint/tensors/00126.tensorbin
153
+ ec2b07dc9222bcb54aa14feaa98ac7b26fda9c1d0a9cbd6c4e79b85b241b09b3 checkpoint/tensors/00127.tensorbin
154
+ 244e0ecaa9599825163f1787480228ed4be81ea52ac52b70af161a0750f7013f checkpoint/tensors/00128.safetensors
155
+ 8cb9a4c329d19a4c5763afe8d4327a5f95be8117fad21b59a2dff6f1f68117c9 checkpoint/tensors/00129.safetensors
156
+ 6eb0e95a258543c55e6d6cff7350c8cd78396046ca778c5187901d3e84addde3 checkpoint/tensors/00130.safetensors
157
+ c79e2cb6b9bfa7b83cd08ca063a17af8ddb9749cf7c631f91873b7ffc6107b27 checkpoint/tensors/00131.safetensors
158
+ 869a8cf892a761640fe43c26ff83b818647ef99a69f4b4dd4762c4e441552e74 checkpoint/tensors/00132.safetensors
159
+ 34d57d4fc71b4f4c3e8ba820976fcfe321ec1cc48356097023bd6bf60a7ce88b checkpoint/tensors/00133.safetensors
160
+ 157df1bcc23a9e7b668929bc7abd40487065370399f83d9b62c97c58d1c373aa checkpoint/tensors/00134.safetensors
161
+ 48190215f980ca8a2f125691922f2aff80f80e55d13c68c96e94e99e3c5ec42b checkpoint/tensors/00135.safetensors
162
+ 85f0c3f3ea24c9dd04b5a4ce01ed8c8f0ba6f298b274da7d5f1b1f0bb2611fcf checkpoint/tensors/00136.tensorbin
163
+ 29d88cb438fdee0ae26ab244fca55c6b3c7100ec94e0277a45ba5bc64c732b1c checkpoint/tensors/00137.tensorbin
164
+ d8e5ebfd1d78ca5d8658e0d8b1229197fb9d5223de252684e24cf4aa47b20be5 checkpoint/tensors/00138.tensorbin
165
+ 50ca52b92ce1b395c3829b1b8146ab8a5eb575ea7cded4ec9ca2eee22a45f659 checkpoint/tensors/00139.safetensors
166
+ 2d3034a7e1059dc969cf4e5b2e192a63cbc14cd97f25c915650018274de9fcd6 checkpoint/tensors/00140.tensorbin
167
+ f7fd91d22fc075ba0e6b9609fad3087cb1f09b13ff62c69f5397145798394bb5 checkpoint/tensors/00141.safetensors
168
+ 1600211307e4bc218c89e5db4a32d344e21dc715f8a3a20d766b211cb391c901 checkpoint/tensors/00142.safetensors
169
+ 995187205d327324d3af45d009e2ad8abc13eacd7ae87069b15ff9302951c63f checkpoint/tensors/00143.safetensors
170
+ c32b964236c31808ad77be52d2b1ff21ee0c25958c850c598a4dff76f83d5d9f checkpoint/tensors/00144.safetensors
171
+ 8ad4b56fbc765b805bdb0862549ec986c5524280c17904aa3c26056081795abd checkpoint/tensors/00145.safetensors
172
+ 902b2a8472d969f2474c29fc1eda2d68b7c57715b3e2465502d1da04d681a8e6 checkpoint/tensors/00146.safetensors
173
+ cf613575983164c6ce667256f6e7b1ff875029081e25d0b0ddcc1429761adb3e checkpoint/tensors/00147.safetensors
174
+ 553a6b16596276b5e8f7e2af1f37202f6c29b47d68ff8c59ab50d9c825af8481 checkpoint/tensors/00148.tensorbin
175
+ d4f49cd50a3087c2a3e5919bd41faf17e5ad0a0fc4a1d5f35f1ab8dd56c3b53c checkpoint/tensors/00149.tensorbin
176
+ e3196bad4a922745fa7fa606d082eecfc0b2ab0fda2788b948d17ae3f4188084 checkpoint/tensors/00150.tensorbin
177
+ a299c93deae9d2f4c966f90c6692837b0508d6b05b98d84e8b426005e811e570 checkpoint/tensors/00151.safetensors
178
+ 378d28e5271c53993c7666873535a219f0adb6b9730ea67d718d236a36219834 checkpoint/tensors/00152.tensorbin
179
+ bd93ecf355364f054da40a0af6908339ccb2ed0e371bb0a9bfc2823430905b49 checkpoint/tensors/00153.safetensors
180
+ 71d5f229c2e437af23843635cdb07ebb2b9c27d370c6c662e0a9100f6c385008 checkpoint/tensors/00154.safetensors
181
+ b3c0f64c8b66a65010b61ab9cb50d6b797169df3c310178c68a3f0f1a43b0df2 checkpoint/tensors/00155.safetensors
182
+ 000d0e3f7dcd34472148e6e7adfaad8d8412b30d58483415c3c51616e1f22678 checkpoint/tensors/00156.safetensors
183
+ e28ac8299e73773142f1dd63f860cc428b811d420c279f11c34e23ad36cdbe66 checkpoint/tensors/00157.safetensors
184
+ 228ea2f75360ded7a5de13075f6f23102ae8ac8649b83c92214dd76f9b95c407 checkpoint/tensors/00158.safetensors
185
+ d9f5e04052e51db1a88070ada59571ff488f875ef127f47b661878978b7e81a8 checkpoint/tensors/00159.safetensors
186
+ ecacbc5c120ebbc4ebad237a0bd2cc1108493a3987f455c0e93b1e2f17804a09 checkpoint/tensors/00160.tensorbin
187
+ 9a15b402778a2da7e01bb34d4621ebb284a5396ffd45667891da720a417ae939 checkpoint/tensors/00161.tensorbin
188
+ fdded81ff117ea33891a4880dcb1ab95f3f3df946d1ea1858c0e507214e4a2c5 checkpoint/tensors/00162.tensorbin
189
+ 045109ea1decc75d5396eadd9513d235f2999b16ad2c97dce7ebd01d5e20ccbd checkpoint/tensors/00163.safetensors
190
+ 1a462260bedbdba19b804582501df638b813b70aa8d8e5000682c3132ee8c601 checkpoint/tensors/00164.tensorbin
191
+ 60d223bbc31f50c5a48029c2d4040643891be2615fbe1fa9fd7b614a2e7946ff checkpoint/tensors/00165.safetensors
192
+ 12f6be0d4e286fc1ac09846169bb43ce3adfe797f134989c74ae1e5aa23a17c2 checkpoint/tensors/00166.safetensors
193
+ 08296143d53592bf5f003ec330ebb7cf4349b11efa3cdc0f0c3247d77ee63f39 checkpoint/tensors/00167.safetensors
194
+ fd38b38978f626938c265223ef4350c26ec7712335b9baa4b5e380e3a7f19e79 checkpoint/tensors/00168.safetensors
195
+ 1b43c85b5e90e107df7b3ac19cb6c133d14c58dd290113cf3cc6cb6043a8175d checkpoint/tensors/00169.tensorbin
196
+ 9478d76047a7d3d8b5c6cea92497bdc906d16168542ffd5796843518da1aea65 checkpoint/tensors/00170.tensorbin
197
+ 47bf913af40449fe112b4d2e4aa59bfd0fb75e57d1fcd37facba51c321c74441 checkpoint/tensors/00171.safetensors
198
+ 1cfa7262159e4c6525959d64975d4fdc1a50a378b37d7e8a5fd1d602690c1b29 checkpoint/tensors/00172.tensorbin
199
+ a782c4052a3e575d6300574b984aff59726ee1f1ec96d08e73e40f3b2e5acfa8 checkpoint/tensors/00173.safetensors
200
+ 0b6f34383578b3105649d1f95c5173bdb88376c8d9ab32158cc6a6bb0bffd4a0 checkpoint/tensors/00174.safetensors
201
+ c6062e3d619185fbd9f97a41aeebc3c85f09589fef9381a8a76f88775526555f checkpoint/tensors/00175.safetensors
202
+ acb0e88a3f39981773996365a34edafa6d24b1b9ffa0fe1ac65802b4e98e30a6 checkpoint/tensors/00176.safetensors
203
+ e937c3bfc5ead2cd8933ced13c1763939e27519b4a5d44739c4ee382c8730041 checkpoint/tensors/00177.safetensors
204
+ f7fc5427d819ad5e42365571554e525ac72355ce61eb63033cf03adeb217b06d checkpoint/tensors/00178.safetensors
205
+ e2d9baf4dfa310085e1805120db2aea2a49e0ff04f8dbab5d2603a6950244678 checkpoint/tensors/00179.tensorbin
206
+ eef707a8e14ac8212bdcbae463986fcfba77bcd57efa8869734c3f42a88d9367 checkpoint/tensors/00180.tensorbin
207
+ 25fa98dda4cde0fb27fa99f9f14dfd7bf52e7d381b702f92c7645fd1fb22b37f checkpoint/tensors/00181.tensorbin
208
+ d762db369d89d0483ad0dcf213763e78f3a065026d782dff2fda6a5bc4fe24f1 checkpoint/tensors/00182.tensorbin
209
+ 98084788b206a21fb9fcc1694b0025784ceac47a77fa10747255d2b493efad16 checkpoint/tensors/00183.safetensors
210
+ 839f3d059da405d2371d6f1388c1279439942e11624d8d9697d36c5f4b81532f checkpoint/tensors/00184.tensorbin
211
+ c7b82e9ad9d4baba91e69459793eac00b2fac5b86d6b6213afdbb873f09d3c6e checkpoint/tensors/00185.safetensors
212
+ 5278825dbe62cdb7b38b364e5292e6131c4b741c4091d039adfa093b90616ed9 checkpoint/tensors/00186.safetensors
213
+ f5797fdecb3473fa94332bca67ef8f49953c77bcefa8b52e8d158622292d6efe checkpoint/tensors/00187.safetensors
214
+ e11fc1260bacf6ac2142b57926cd18cd701ad27c4cfc56d1c2e6f05578dae2fc checkpoint/tensors/00188.safetensors
215
+ 166512ceeaf961d4247de5a5de9cc281541c1459cba9c2b34e923ecbbb7d1075 checkpoint/tensors/00189.safetensors
216
+ f6fad43254aa6bdc0ddfea48edc2bec12ac864f69d0ed29682440b24ba91f18a checkpoint/tensors/00190.safetensors
217
+ d4fe3fe437a16c955c1206621e12d3b80fae7632189448bf2531091d77c27a9f checkpoint/tensors/00191.safetensors
218
+ 5f8d47f54e42a4c46ca3390449cf2b469c63545780b25c586a5839b5c5fae32a checkpoint/tensors/00192.tensorbin
219
+ ce532e59eb33e19c90173f5cdc273658d21b9f390ee6c5c20e7331e67ccb88d4 checkpoint/tensors/00193.tensorbin
220
+ b1344d5ac0f3d006c7263ebf8d2d22fc1c9a6f9478927198bf16fa91897ec318 checkpoint/tensors/00194.tensorbin
221
+ ffb9c4270c095e8c6f2f78a225b619f3bdabe6ad25ccb7dbdb76bb95130602cc checkpoint/tensors/00195.tensorbin
222
+ 94f3b04694b595970690995658b46f2f3f8f90838a91731888f287971f76caa7 checkpoint/tensors/00196.safetensors
223
+ e9a63febcd18a3d38600329657bb6e2fbee3e18a4d400c1f1385fd04ee5c58e6 checkpoint/tensors/00197.tensorbin
224
+ 5d9bc051681a0f93572e1e462964a2681091d591236c24692a058b59f42ed098 checkpoint/tensors/00198.safetensors
225
+ bd4af1de2e57ee4ef1ebfe29f8ad41850be4c3ad4880be954ce64eee55ffcf91 checkpoint/tensors/00199.safetensors
226
+ 59d24ffc0517b3ebeceab7ea318aa24a70a7c6841a2c66b02eaea462446bc505 checkpoint/tensors/00200.safetensors
227
+ 4ca069f655ed08c888b90c422f40e80c4e4228d603d186bcb82694288b977b48 checkpoint/tensors/00201.safetensors
228
+ fda9ec3799cf6262cd9eac9fd8356a04adae8425452e46833efc024bc05ca6c2 checkpoint/tensors/00202.safetensors
229
+ f338a70207e2ba55198c776b95992e187ab399cedd96cecd5ab357b5e0255175 checkpoint/tensors/00203.safetensors
230
+ 0654336d63056bb427450ee26c9a40c7c6bfa356685c73ddd4621b67e0fea59e checkpoint/tensors/00204.safetensors
231
+ fd7b879af6737c6b16faa652ecdfc38573d504abb0062af5ed090996c8b3fc50 checkpoint/tensors/00205.tensorbin
232
+ d00c56820f695d40380fa2374ca98b5f7dd097f7a79b437544db69e213d42a50 checkpoint/tensors/00206.tensorbin
233
+ f2b245ca51cd474595c982928b0488b37b40596a6827cd1681c3709e4f7428cb checkpoint/tensors/00207.tensorbin
234
+ cd3da56d5e52804bc958bfeeecf5cba62f21266b37184e13d735ff30573eb778 checkpoint/tensors/00208.safetensors
235
+ 9bf07a31dd7336993059401aa9b689c41db6cafa312accd31d1b25383062cd37 checkpoint/tensors/00209.tensorbin
236
+ c576ff0a8fc19406026cbae00a9b2fc291a8e9fa2346c02c3f95ec9132e34961 checkpoint/tensors/00210.safetensors
237
+ 219f3544eb5c4a08a710e711c9d9bc9122dbec1f51ef72f4d2dc76b3888455c7 checkpoint/tensors/00211.safetensors
238
+ 271c57142128391983d9b7e7011751e3b1d131c6d887e86b197560c53f3cb7e1 checkpoint/tensors/00212.safetensors
239
+ 8cffff78ca9c90a578d1878a2d0fb46c00c38e908389f1d214c295a1d5540351 checkpoint/tensors/00213.safetensors
240
+ ebff2ddc9ef56e39f07fe446792989f4c2bcd1a19e843f83b7a1f64c2bdcb917 checkpoint/tensors/00214.tensorbin
241
+ ce9a6334631e85e1601ef178fe7a9eb981d42c92351a094a0f4175a8035a89c9 checkpoint/tensors/00215.tensorbin
242
+ c30087ff46aeb95581e20b3f1056b9ee8634052572d3e34205570db01869357c checkpoint/tensors/00216.safetensors
243
+ 0921824fe3a5bf5e821bbdeb3b066f416806c155439503815721a9e8a20629dc checkpoint/tensors/00217.tensorbin
244
+ f4711cf8c8052221009cdb3346d8e8806ef6d17f471f5fc1ffd8be2b8181ceeb checkpoint/tensors/00218.safetensors
245
+ 79c1760736b8a2e0bf7c50095c419d03f946fa2b7bf5d538c0cd3c11d0750cf2 checkpoint/tensors/00219.safetensors
246
+ ec7428e1738dd71fcc0970c485fe1d26d115815ddcc4e299c349d5fb9de7045b checkpoint/tensors/00220.safetensors
247
+ 67ca646b743ed2b9647c66cc6185d23e731a29cf67c3e821f4ca35dd66882505 checkpoint/tensors/00221.safetensors
248
+ 8354d9c03e3e5800211294eb49c878715c47b43a7693f0b296036867dfdcea56 checkpoint/tensors/00222.safetensors
249
+ f19c7ce89230882513b6e068004d1fa45e0dd492759575b4096c10f55522ed17 checkpoint/tensors/00223.safetensors
250
+ 95b057d8b3514fd4eff05a9f9ebb5a7a85af464c706d4fe375b0e0c33ab81f42 checkpoint/tensors/00224.tensorbin
251
+ 267e850dd6a6c555d6344aac1094250dd3a50ea3ca8dab38edc2038351fab54e checkpoint/tensors/00225.tensorbin
252
+ c2dd907e1fcf1cca8514f4da83532dc1ff9664c1bb3ea3de72dc45f41e801da3 checkpoint/tensors/00226.tensorbin
253
+ 4ca188f46ca8251a3f489da651007cc83d4a9cfdfccf92457dda8ba848aa8aa7 checkpoint/tensors/00227.safetensors
254
+ 5eb385487013d1e2d55cc95607feac7ea9d6363f43d7fcced207d92b6f98e11c checkpoint/tensors/00228.tensorbin
255
+ e9c3baa03bd6fb2d322a1730c41f23a2c84fe3f7637d466e4dd8b8781e0b9896 checkpoint/tensors/00229.safetensors
256
+ d1bc21df4e1a98d55d81c36805f901a1432d6a2358832c1f67ad8a3e4625c84b checkpoint/tensors/00230.safetensors
257
+ 5cbcfc3e3055121805f6fe16945125ed7b1bdaa817c6cd6d4e5326f52fa3041a checkpoint/tensors/00231.safetensors
258
+ fa466d1f2f28c3feb99612085bf3d7564f3f419ea713816b4754430afb35bd00 checkpoint/tensors/00232.safetensors
259
+ 5c5f72b121266139d80b380a74abfee045d2bb125f3a03a0827e3f17cce47588 checkpoint/tensors/00233.safetensors
260
+ c454016bb441aea8e5a4836bd02f524252e9d9a0929eec452c6373aedfd58b16 checkpoint/tensors/00234.safetensors
261
+ 22bee2201bc52bcaaef8507de5fe8fd26a4fab30f59792f5dc81eda669f982e6 checkpoint/tensors/00235.safetensors
262
+ 42dc7c17e02829dac860be23e0ab073977133274397da682c72412a4a5d9cad6 checkpoint/tensors/00236.tensorbin
263
+ 056ac15c8eb24418276543a1016261dbc181e8b78e725261a21a0477d393f33c checkpoint/tensors/00237.tensorbin
264
+ 4c71c8d1026e980410e81045a5aa01184c39a9902e4dedfd7243550bf6aa0dfa checkpoint/tensors/00238.tensorbin
265
+ b0d3d256640f80cdd3b473e587b786211d14a11d7accc0094d2427d2132528a4 checkpoint/tensors/00239.safetensors
266
+ d256c4586dd4b6ed5789798b8ee19215add1be50885227e7c4bca14fa80cb6dd checkpoint/tensors/00240.tensorbin
267
+ 322d70565252e96f4181a9a3609f0b2cd99af77143def7fe9817c516c0a5f420 checkpoint/tensors/00241.safetensors
268
+ 32911e732d3c2393a1e51fa830a6023a7a385728eb4d9316d04323c34325438b checkpoint/tensors/00242.safetensors
269
+ 6b3c4fa2fe5802a96eefa1e2b1608acd70ab2aa2a845af4227750704fad8c07a checkpoint/tensors/00243.safetensors
270
+ 51df336e61046f72f6b77db284c58a0fc1353378495c919e9b29885837796eb7 checkpoint/tensors/00244.safetensors
271
+ ed061db718e9602639671015229e95ac54cc989452ee482f4e4dd9f13aff7cd1 checkpoint/tensors/00245.safetensors
272
+ de6444dc0df6eab11621b682cef3420c769acd4e513334adffdeacbd7f5c8b61 checkpoint/tensors/00246.safetensors
273
+ 2fa326e50aacde9f2baa954c6fc51bb1c3f562434538b4644d6a261c62243b1b checkpoint/tensors/00247.safetensors
274
+ 90e0b8fdcd1521d12eaa8b57629033e2763e33694f91442778fd2953d080a0f4 checkpoint/tensors/00248.tensorbin
275
+ abd6bb00b46a52129d65a77f76b629fe501a9439e0dd539615489802b68f0458 checkpoint/tensors/00249.tensorbin
276
+ 1637792f7773121b9d22743217bdcdc84d7805ae7d2ead037b06a878d59a8026 checkpoint/tensors/00250.tensorbin
277
+ 51c94c47de55b877011bc1bbc9013755b077614684a339649e39d9a2079ff586 checkpoint/tensors/00251.safetensors
278
+ 47d47160f3c2064b988723b88a43336d24d201009ef6fbd2b1533e005c513343 checkpoint/tensors/00252.tensorbin
279
+ 2b38cc904ef321ce74781601406446209383646dfdbeaae5726dfb008eeafd0c checkpoint/tensors/00253.safetensors
280
+ 38654ce7b79e1c05aa61dc9b34c4ac7b29fb06847ccfa9a36d4de4a6b2df3265 checkpoint/tensors/00254.safetensors
281
+ 1c7bcdd21ab2089806a4c7b8bd94f1098e23005cb5f8baa20f2cb48a876a1bc3 checkpoint/tensors/00255.safetensors
282
+ 2106b1e6bc57138bd7deb2cf6450ff5176ef6707046f3e1d37477fff69f1b73d checkpoint/tensors/00256.safetensors
283
+ 48fbdeb1777bb5d9a7d1d8f1f37bbc280953d6ebb3cf3c858a86205663c34fde checkpoint/tensors/00257.tensorbin
284
+ 57890eb05e76d93c95beef5106e17143ecbe3bd1984136c28c3df0b38a08619e checkpoint/tensors/00258.tensorbin
285
+ 89448a527c766d504122efe57ed9f8834fee66fcec3b93ef1e85d93f2756c47c checkpoint/tensors/00259.safetensors
286
+ 6157fee24d41d4c8d0fd5c4d85c59f61054ef36618511d18eba845f0d826e01d checkpoint/tensors/00260.tensorbin
287
+ a0060e8d2f168f6f6dbab9a65cab7b3dfcfcfc1b1d1429f1c5660cbd62907d49 checkpoint/tensors/00261.safetensors
288
+ df0f9398360b1edaa5a59a1df1f90a89924c4bffdf076594a876a01a1a387b2e checkpoint/tensors/00262.safetensors
289
+ 473f681d01a901d0a45a60f1d70ed59e2655ddfc48f28dce62cfcaffc3e7d3bf checkpoint/tensors/00263.safetensors
290
+ c4352ee4b4830dded883be793cb385ea964f07e92c4e52ca57c35f13fea8f4ef checkpoint/tensors/00264.safetensors
291
+ a853fce2667fb0bab567fb770c58ca23aacdca51bfad1923103f0840c2812834 checkpoint/tensors/00265.safetensors
292
+ 37ab29260417aa5f80b3a9886a3d4d7dac978ad78a16e43e3f48afc3515cd6c0 checkpoint/tensors/00266.safetensors
293
+ 5822f43f164be88896a302d49a93372bb3ff29df60af1ca72ef7119d5eb8488c checkpoint/tensors/00267.tensorbin
294
+ b157e6416e4a72a0e2bb5cabdc1d390d04dba42b3d25fa63dd36ee53c59b6140 checkpoint/tensors/00268.tensorbin
295
+ 665c065bb694dab4ac72c5ee6b3040dc2a2dbed3d368108eeafa41960e86faf6 checkpoint/tensors/00269.tensorbin
296
+ 2e61d7969a51d475cd21fff4de9c213dfa81f1934c9d929285de3a771149fe41 checkpoint/tensors/00270.safetensors
297
+ 8178aa75f45a4487085af2de907c640889616171c4abed815dade7b6e135d5f7 checkpoint/tensors/00271.tensorbin
298
+ 8398bcff821b7e10702c53bf8997e405df7c8ee648c3c17186399003b4cabc51 checkpoint/tensors/00272.safetensors
299
+ 6966a9e81d1f01b4d2176e2d41bbfb938a06ba1326993244ca4d71466ec3f3ef checkpoint/tensors/00273.safetensors
300
+ 5957cb85115b700fecdbe670ad7b126c483abc60f877054fab0c09c43077bcf8 checkpoint/tensors/00274.safetensors
301
+ dabda53cca267185337d397d61cb1aab6c384d5665b990546dbe3011d38cc9c4 checkpoint/tensors/00275.safetensors
302
+ a0c25b21e3d249d526bad702f84b34f102b355578e0f49b31c8eebe3e04c09bd checkpoint/tensors/00276.safetensors
303
+ 46d0a26891810a7ebb2f6b0be9b11c3ac2626d8b20a43ddb61753a847fd44c2e checkpoint/tensors/00277.safetensors
304
+ f425bccf2ed1ad258158a29258e86811e10b74acac215c44d1b3c19ac15b2218 checkpoint/tensors/00278.safetensors
305
+ aabdd93d47a5e14bbdb92558776bc0efdd1ae1a4e51295716347d596a1f6e61a checkpoint/tensors/00279.tensorbin
306
+ 9f00a4543ccdc6dea4b3d27a5d0dee7e9f8a5bb76153de5b1e710e15d97877e6 checkpoint/tensors/00280.tensorbin
307
+ 8d7beee32e834a01c4909aee73da34ca9cc788d2ed6587d0b056ab1bd3f7d715 checkpoint/tensors/00281.tensorbin
308
+ 039ffc93499858c43e7679895ee183da223b815ac302eb239abf50a8878f03bd checkpoint/tensors/00282.safetensors
309
+ b85710e21c8c4d9e76c7c7dd2fd05acf8caf3e32a17095930c3f9d5afec97ad8 checkpoint/tensors/00283.tensorbin
310
+ 7f25dd97556bd37d172034a49879985dda408b6c324b45ecb36764d50b12f28f checkpoint/tensors/00284.safetensors
311
+ 7f70fe196dd9667d5c6dbbc39db294acf42f2c60d9abb8c7053dce8ba5036e3b checkpoint/tensors/00285.safetensors
312
+ 1a9978ee692a87a4f74bc795fce8cca8d5629362201d1e36ae98159c76d4f505 checkpoint/tensors/00286.safetensors
313
+ 01de794ee6fab9abd381f43b9576f35435e33a566ae2b43d13be23bf60f2e5c1 checkpoint/tensors/00287.safetensors
314
+ 5a24fde5eb9a721434c43729db60c14c2ec1b801541eb3dd5264b75d2220e13c checkpoint/tensors/00288.safetensors
315
+ dbbb56a36f63e54c15485e48ca47ddf16e1faf0f1d5b4ee3ada3ed6e64495b32 checkpoint/tensors/00289.safetensors
316
+ 3f51f688965ae2d583119e9535e40d65bddd33d10f4b2f88f7af84959cec9ff7 checkpoint/tensors/00290.safetensors
317
+ 4a1eb64dd8ce24800bb597ce271cd2c77488222a453bde4da27cf196d62b2455 checkpoint/tensors/00291.tensorbin
318
+ 098dd64c24ee931b2a77664e5da03b42ef5490fccadbce75b9545f9a77a49391 checkpoint/tensors/00292.tensorbin
319
+ 9de9a8f1122f29ef9f84a024bb21290f951f77998f93973df6c7f194a6668ed7 checkpoint/tensors/00293.tensorbin
320
+ 51c2b37f53a5877a828b1224a397e404c9f7365cfad2dcd9f3a14282b5852587 checkpoint/tensors/00294.tensorbin
321
+ 3558af3c9aa5252e86e7e4976606a40201d5495b2b60ae73f6b7d8cd262c36ff checkpoint/tensors/00295.safetensors
322
+ 0ff4091c31a64c8f77fa19072530b34e954205c7b90609f69498de734946b1f9 checkpoint/tensors/00296.tensorbin
323
+ fbf2be4572bcb98c6e59e0b0770cdf26d3edb7be4adff8e0bb1a8bdee3726c38 checkpoint/tensors/00297.safetensors
324
+ 85d66979e3fd4359e5f0fba07d9354f4852a363d4ab373acde0ce79a2fc6ab8d checkpoint/tensors/00298.safetensors
325
+ 9c439ebad6ef276ee882906b8a49ecb9f5ebdb2a14e96c350765f4086683b519 checkpoint/tensors/00299.safetensors
326
+ 6497fe2be1c56d055ec8749f5a374cce098f391327006014e70e215e56b00d05 checkpoint/tensors/00300.safetensors
327
+ c9c72eec16aa6deb7eb8244dff9ed4c6446e0e3e5c67962452cdde1c9015f505 checkpoint/tensors/00301.safetensors
328
+ 0d90035447f1ef89d84b3004fcae47ad7669d468547fc1c7c4e74a303a7ef63d checkpoint/tensors/00302.safetensors
329
+ 50fe0d22f45354d5727dafc50e99aca18f4f77de8d97a5b2d15ebfc5e9f8cc60 checkpoint/tensors/00303.safetensors
330
+ cec4299aa26f9b2efef0f94e7e6c388dc15e2010b5426564234252b17dbe915c checkpoint/tensors/00304.tensorbin
331
+ 978f9b48a6d92a570b65351156d327d8225d2d40fa67fcc6896dac31b935873c checkpoint/tensors/00305.tensorbin
332
+ 2fd617ac3a25d25322264cd62f1d7ba9308f5d36815529760932e596d1cbb745 checkpoint/tensors/00306.tensorbin
333
+ 560029f02c32b5d3fb3af13065cb546add72c4e87262dbc2380140eee989921a checkpoint/tensors/00307.safetensors
334
+ 740b19bd5978a9fc3044ffda2b1625b7023e284fde2189e0b7159c5a581a4fa4 checkpoint/tensors/00308.tensorbin
335
+ 1e4ad227794afea73281315e2007b9fbe815a125ad8fe2c059801536908dec5b checkpoint/tensors/00309.safetensors
336
+ ee3c99d0dd30cd0e96d04e714bf684c33d15914ee4b4256864b29ba317379b99 checkpoint/tensors/00310.safetensors
337
+ b5c9dc07eba68c36550ac9cc47493ddb1746287e9c497dd2acc528c05fa96de9 checkpoint/tensors/00311.safetensors
338
+ 8cf4376df8e48b902830ffb21b4ee8052461e621892b2ebe6d27b1f6f7b281df checkpoint/tensors/00312.safetensors
339
+ 17f74ce7eebed8d5234996aa6eb2af6770db305c0b0d829331afd342745c0826 checkpoint/tensors/00313.tensorbin
340
+ 7138c9f183b12a3175fca61261a6ac5d174e0e03ce3688ea69e2fe4f342acf7e checkpoint/tensors/00314.tensorbin
341
+ 795db17e6f5b1c3108fcb6dfe847eaa8121de78d58474b38b72e15b75bc569ab checkpoint/tensors/00315.safetensors
342
+ eb014f2fbaffd21916d2377855333643343f725bb218c53f60543cfca6b16847 checkpoint/tensors/00316.tensorbin
343
+ e312836237d70d7f099a6f1b4089b0c9b187b01bf6b91ba7ab438e4056e5c9bc checkpoint/tensors/00317.safetensors
344
+ 2ecda668d3873790f22ab4576ef688ee7001c03201de31e8f894ac3903e1c526 checkpoint/tensors/00318.safetensors
345
+ fe5129a5eaf60df9d4ce13f4fbc10cda196a155d94407f7a6fc44f34e3afdf11 checkpoint/tensors/00319.safetensors
346
+ f6cca8e63072909f0de146423e1e7e7ae420e23f1540cb348bee2112d6103045 checkpoint/tensors/00320.safetensors
347
+ eb5131299b71e62d01e1c337dd7e94bf515195b23376afc581fa7a1d27e096e7 checkpoint/tensors/00321.safetensors
348
+ ef978f4506c8fb6d3b73805e4fd8ed2d0d48a22e3946141f7b00d5156bcf325a checkpoint/tensors/00322.safetensors
349
+ f7bd8b8db7bba066035323be0d08e70fd2e83ca8c76e2aed3b1a46ad513e403b checkpoint/tensors/00323.tensorbin
350
+ 933b0bffbbdb807d74ecdaf5767dfa127bca1eff39fdf6796a5367a60bea2a21 checkpoint/tensors/00324.tensorbin
351
+ 551ac18202925fc3768a79a9caab78cff2159be63fd8386c9b5a672401f65bf3 checkpoint/tensors/00325.tensorbin
352
+ 70a7473f2e824b5f9f3b5bb91b102cd7483761643ca5c4d853a30c44901a84c6 checkpoint/tensors/00326.safetensors
353
+ ffe895a65a1e633964e3800f55084b76631d3c4e4443f42e234f912e8a93bfa3 checkpoint/tensors/00327.tensorbin
354
+ aa112ad32962cbc96ea14d2730f74c086ecc5511103f7608c3c7b442854bd9c9 checkpoint/tensors/00328.safetensors
355
+ fa5b50e415bc1e00096c802c8684b8667cec92d5dfbcfc663e9cf1b8b751f391 checkpoint/tensors/00329.safetensors
356
+ 9e29e5361846363fca19daa4b33383c8b3d261a7e04e1da6c62960e14519ab61 checkpoint/tensors/00330.safetensors
357
+ e0f0f6fefd0da2b7df532eff6c74d4a0aeb0bea5e78cf53747d8ad47cb513425 checkpoint/tensors/00331.safetensors
358
+ b874bf3e0532ae654062a029f3b7c400ebf2801d87666531934f6e28a9f3b4e9 checkpoint/tensors/00332.safetensors
359
+ ce7270976c540756dc7068bd4d75aa9a93e4ae34ef41e8dd5636fc965a9ed86c checkpoint/tensors/00333.safetensors
360
+ 6c79c48dcfeac132354cfbd904f6e2c7c8ecc459f293a98b5a5263a05d8a1f6a checkpoint/tensors/00334.safetensors
361
+ c40f618ec516c0395f72dd5dd11d042a079889ae7cb4571ac173e8df70cc0f7a checkpoint/tensors/00335.tensorbin
362
+ 3bc65faaa82445b1751362a3cc1256c50b787c3245e7faec2886f664e0815bda checkpoint/tensors/00336.tensorbin
363
+ a4d560883f62ce9ce4158a2b7570ce0db3c4fec423bdb256cf7c898d3b1ed2d6 checkpoint/tensors/00337.tensorbin
364
+ f5526bcc2b454e1e2a2c3dc100deb7e1cba5ad544343188738e5742adbf2994f checkpoint/tensors/00338.safetensors
365
+ 1f2f41055f41a8b19dae62716e2935d85b97639432ea0c5de79711884473772d checkpoint/tensors/00339.tensorbin
366
+ 3e5c2370760a8dd78ff96c00be1af21786c71fe52abe1b5da870df375abe7a4c checkpoint/tensors/00340.safetensors
367
+ 01d009782aef328fced6416467e1e081be23e908d7588f2942d43289e02976c2 checkpoint/tensors/00341.safetensors
368
+ e00cd3eeb3514e00e3f08a2ecfa4f2bb234313eec1d3fc79bf6ef94f0d7d89ab checkpoint/tensors/00342.safetensors
369
+ dba5657f19f3e88041f7fe81b47af97feb1fba9ca1db6afcc74e62000e962345 checkpoint/tensors/00343.safetensors
370
+ b8641836711dea2234c384222dee768e4a09ba15157fb2669c8e93ea5a8aec0e checkpoint/tensors/00344.safetensors
371
+ 291d9e401610cd314415defe12396e50ac03946c3874514dddd61f3c0a2d4af6 checkpoint/tensors/00345.safetensors
372
+ f832ff73102e337143659675b3e4290294d533009104c8de059820c337f6890e checkpoint/tensors/00346.safetensors
373
+ 3b1e2e5c1dbe7b6d7be94bf54cc112069b99e8d07c73b318c5f96b086c302a72 checkpoint/tensors/00347.tensorbin
374
+ d88e7b367a2709497cafa85edc350a74d8d5e61950920bef77d15d05ec9b849a checkpoint/tensors/00348.tensorbin
375
+ bf571a3f4add95848f757d01b1515e2fee5acbad831102d9eb034c24db025f6e checkpoint/tensors/00349.tensorbin
376
+ 4104015aaa95de84c05cf0c9d47903b12d9730aebc61f3eb278476ef6b5bfd40 checkpoint/tensors/00350.safetensors
377
+ e83bb20e30a9aa8127b9f7c68cc1f6c028b734c314935aaf5806496fe25ee0ca checkpoint/tensors/00351.tensorbin
378
+ c982a6161cfd4b9fba51e79796c23d563bad2a546ef20b460b868e89d6bc5d11 checkpoint/tensors/00352.safetensors
379
+ 8e1c3c64b4f87c2b0c4e778c6fb8c8a205174d18dc5ae521ae10484484da40d5 checkpoint/tensors/00353.safetensors
380
+ 4043433e772192e6f4116c5342c11e12f312788b68b20dcb2e3bbc644ee37a19 checkpoint/tensors/00354.safetensors
381
+ 947905523ce2e65dc2a20b27b8b808b93b28275642abb69f1add7fa6c5e9a3fe checkpoint/tensors/00355.safetensors
382
+ 32957f1457668052016ae5f4a62d7599167d809fc8c4612b77a649602c7bc5ff checkpoint/tensors/00356.tensorbin
383
+ c1b9b6f9253a0e5d20e243ab5e677f77e01b702977f1a6b47482fd803c07538e checkpoint/tensors/00357.tensorbin
384
+ 94dfcd51dc3aacbd2e2eebf82a26150c0da0fde7aa14aeab73728041e45c5a4a checkpoint/tensors/00358.safetensors
385
+ 3ba7cb9bf833b8517324e58f01c59dee079ad852116ae318be5e5f5f1f4cb53c checkpoint/tensors/00359.tensorbin
386
+ 6c617751b4eb1e98024d82cb229dcc42a00371c028b7725f21d6a1c1dc024fcf checkpoint/tensors/00360.safetensors
387
+ 9072698b7bd9078c5660c71da724aea0ed39dde99385e67f31d9cf4f109b393b checkpoint/tensors/00361.safetensors
388
+ 8eeb01b3c275dd175b45f409bc5e941f775bfb8786548ee16a9bd85301e2ccc7 checkpoint/tensors/00362.safetensors
389
+ d405ae9ab72b06cf9f8b652f5210d78b4fa84a06b46d953df06e3ccfdd877054 checkpoint/tensors/00363.safetensors
390
+ d5ece82c0ca9d91b1e39a1d283c6a1ce6e17244e02b713711d610ac2d5573cde checkpoint/tensors/00364.safetensors
391
+ d0c00f4f5ff5bebc87646776c35d265343c8c276db7ebdbb935531c8ca58af0e checkpoint/tensors/00365.safetensors
392
+ 5a6ccc73efd577189cda08b2527afdeec98ae6a1a4776e346fe4b6596396cd34 checkpoint/tensors/00366.tensorbin
393
+ 1bd2e60de97d3127d3c29e4331e6d0a58338e3b70055ff76d7c253b2b8df90f2 checkpoint/tensors/00367.tensorbin
394
+ 74db066558ab1cfb1d09182226738a0c96af5a3bffe2494b6d4ac112e3b11918 checkpoint/tensors/00368.tensorbin
395
+ b64433e030f948f6a49268015c5d32df4ea8dbe86ae8d7b3b56ea054928d2317 checkpoint/tensors/00369.tensorbin
396
+ 941cc537004d25fefb3be63583c7c1377f985af59d2fb9d347afaa8b85b9e63c checkpoint/tensors/00370.safetensors
397
+ 02913ef3e17b7ceb8201daa2037f5d6566754265256d76949a3d22a5fb28c70f checkpoint/tensors/00371.tensorbin
398
+ 51f18d486004b9f7619c117ea305098f805dfb92b686d3c28a9cf8898b157ec6 checkpoint/tensors/00372.safetensors
399
+ 7e454367cf0d3f0d38057ca61b5bb5709993aae1fd6f435072e6afd2299eadbd checkpoint/tensors/00373.safetensors
400
+ eed68c136b8bb62ada3bdb30206d7cc39e520383de5f6886adcc6fb6fcc3129e checkpoint/tensors/00374.safetensors
401
+ 88552be1e06d96166c05c9be44f058db4abbfcf4447f00bb0673de5154d384fd checkpoint/tensors/00375.safetensors
402
+ 662afcbaa934fb721c55268fc622bdeb72962678d41c1174291f9682aa41bf98 checkpoint/tensors/00376.safetensors
403
+ 5c5f8d0a1e900413a0a43736cb0e84c43b73eb341a5b8b9aaaac651fc0c6dd99 checkpoint/tensors/00377.safetensors
404
+ 52bd7191382c0dc68dcb1ad3daf55729bbb6020fdb58f436765e707d1ef5197e checkpoint/tensors/00378.safetensors
405
+ e2b5fda61adc0cc32e36040203b19e91513cf0be439fba69bbda10519001f820 checkpoint/tensors/00379.tensorbin
406
+ 500b05010b8e4dc06ae9af18df8ee2207c757bbb586cc34042400092086b75f4 checkpoint/tensors/00380.tensorbin
407
+ 0ab06e612fb9dc83c0c81d8b31cd92ae183fba0d0e487f5607909e0dc1692fc1 checkpoint/tensors/00381.tensorbin
408
+ 3fbc9604b5ee5c4f4747faa78f5247580735812c9258299eeae8ddf400f34ca3 checkpoint/tensors/00382.tensorbin
409
+ 31dead960838bc8b8ebf535244fa3051f9cb4cf9b3a47a1570abcf92cf6edd4b checkpoint/tensors/00383.safetensors
410
+ 3927c4cb0676bae29a88181561e508e5b22813866e293e130f8fac0a726c687a checkpoint/tensors/00384.tensorbin
411
+ 118df08727745c490fae29eca4a550387a9cfa71d36d07f6d09b69a08291acb4 checkpoint/tensors/00385.safetensors
412
+ 5b0e9d911642c1112a2514651b0402b3a18c9e0be6d3248ded286dbe3517f4f4 checkpoint/tensors/00386.safetensors
413
+ 5f7c22a0e9b174d7aba458d5e583cec4e40ee00fd702d501fc6a7e01617ee371 checkpoint/tensors/00387.safetensors
414
+ 300acb95b202f2c983a68083c9b73d07d6d102b22c8376a744bbb5b84487ee20 checkpoint/tensors/00388.safetensors
415
+ 7a792110cd463a853c8d6cc7b7d4e62831243ca05e41ea409dd552902b8100bd checkpoint/tensors/00389.tensorbin
416
+ 164680f101e3c2b1dba4136e806e90b798a9888ed6ba3101c6f1f4727bc5ef96 checkpoint/tensors/00390.tensorbin
417
+ af30c45b25e697ac32f6c988eda52e0a38d7de82b05705afdeb809a988eae5d6 checkpoint/tensors/00391.safetensors
418
+ f5ebb79485f41cfb35759d841f9a4dffa119b7b5718157474d871684e2ff6a9d checkpoint/tensors/00392.tensorbin
419
+ 80b7e88c1170e38c3cd4c25e2b560d0e1d428699895ee53c8f5c13400447044f checkpoint/tensors/00393.safetensors
420
+ 301a065ac6e6acb68b0601031d26992885b1476113b0685a595ae09339db329a checkpoint/tensors/00394.safetensors
421
+ cfa1f54448347bc7274da9155527a1fd5d2aea21467f92a52583fcc92792687d checkpoint/tensors/00395.safetensors
422
+ 206f8d3a225c38e2b095632cb550471b8ea569c05295309f2c967761f9af3c4a checkpoint/tensors/00396.safetensors
423
+ c7197d3d5996e0041bc3d6e9d5eda77298ed76f9c53335e76e1880d14932386d checkpoint/tensors/00397.safetensors
424
+ 06e82b3c15479f4c88020d5a9226d5ae5dd98437ab20e248abce79dab8d3f333 checkpoint/tensors/00398.safetensors
425
+ 31c746a9713ac7adb43406d21bdaddd5263fe6b993a9fef7e06ac6c9c78c6601 checkpoint/tensors/00399.tensorbin
426
+ 3906b06ce3787dc7207b533a5b3a1ed8ec18e272240b953c548ee07a3300b763 checkpoint/tensors/00400.tensorbin
427
+ 6d2dcbd758f7498e083a4a0cfcfbacec0b9f3355ca484a364306e1dbebd8378b checkpoint/tensors/00401.tensorbin
428
+ a3dc095feecd7ec2fa99e23c3187ddfadced5769ec88e1850f2a5e26346c76e3 checkpoint/tensors/00402.safetensors
429
+ e3c8d5260b8b8b9bc3ef2a61cf2a082b3ea93c3c489956ce3b927397bf8aab5e checkpoint/tensors/00403.tensorbin
430
+ 6ea56c96365c56669dee3859fc04a10733614d17c7ea7ca595a642c1aa9faef9 checkpoint/tensors/00404.safetensors
431
+ a20db5ccc60faa237e046ac4e7b97ed601caf04e6963c6e93ccad97787a4307a checkpoint/tensors/00405.safetensors
432
+ 2221cccd72c09ae5f5772e700786133bea84ae41dbc602b217052923ffb3e862 checkpoint/tensors/00406.safetensors
433
+ a33b186f19e51b0d6916d426f9777a394648f9422cb1f8958460c0f6539c29b1 checkpoint/tensors/00407.safetensors
434
+ f080e2b5c63958ab128e21598ccf6e352aab1c2205d174de5bac92ca1d6cb49c checkpoint/tensors/00408.tensorbin
435
+ 7945eead342178f8a6a21a8ac233a851e21915753c6459a093f0b70fcc3a2bb8 checkpoint/tensors/00409.tensorbin
436
+ 387feace28cf17012298d482f7e8c68f29f1134760ac420b4ac3af4815ba0294 checkpoint/tensors/00410.safetensors
437
+ 45ba03b35321b1296697f9949cb2d92a5ccb14f97cd022219955a68656664ae2 checkpoint/tensors/00411.tensorbin
438
+ 640536bfed098ed2dc1efaae560a9b2c871e757d3affaa242e7ef468b6e48bd1 checkpoint/tensors/00412.safetensors
439
+ f52b1444dd4466d52873790066261d0c6d9d038b5ac269877e8aa029fecf9f86 checkpoint/tensors/00413.safetensors
440
+ bc59d7df0584793af27029b8e3854cefe2b83ef571332a3136679f402aebacbb checkpoint/tensors/00414.safetensors
441
+ 1706db1da8443732217a5676dd60204f5d6d0f414f1914c6cc5aae37c2c4de70 checkpoint/tensors/00415.safetensors
442
+ 392c7a06d0b106e9968a83b592e5fe87947dd1fecac749366c403a6ea2f87968 checkpoint/tensors/00416.safetensors
443
+ 91837a639269ef3a0e6b79de043992c44a8d1c18f8135b32f8dabb953120be1a checkpoint/tensors/00417.safetensors
444
+ 4871d3e8306bd7f58b283e6cb7928b89a938fc69063b870e65ba76cdb8424e89 checkpoint/tensors/00418.tensorbin
445
+ 053dc7715cec657e0d5cb652264e708f36478143d014f9109e4dd00e619e6afa checkpoint/tensors/00419.tensorbin
446
+ d8c94968f8d4f8a2e8061547c2817980b01317dbbd36cc4ddcfb655c160899c1 checkpoint/tensors/00420.tensorbin
447
+ e96df26bb801b4f4e3d2c082aca40f71f170ecce2b8bea973ae89e8a94ffad23 checkpoint/tensors/00421.safetensors
448
+ e382563765bec4ec8cbacf7e76b4efcff8754346060d028a376ee92d4dd34fa2 checkpoint/tensors/00422.tensorbin
449
+ 48134e5a383bbe269681f2f3db1bfa05eb170bb2b6147bf8a3069c7344e1d25f checkpoint/tensors/00423.safetensors
450
+ 8d3fba88fdfac5577ad5af7c884037e18cea4cc144d6adcbf599631c415e5bae checkpoint/tensors/00424.safetensors
451
+ af1708fcc2b70e879e1d2a1a6a34b2ddb3c641520de4cd32f07c994632149b81 checkpoint/tensors/00425.safetensors
452
+ 694e87094e8a7cfd313cf06efeceb7466a8e8329047657f2aa0a54edd8ffa70f checkpoint/tensors/00426.safetensors
453
+ e1ddcd72fd72b530f62ec5e3aa6fa3430ead9c244dbb0ece79999b013c10130b checkpoint/tensors/00427.safetensors
454
+ 23edf639f94aed7e7be12f3f74429c2882a687d684cca369bf0db24ca30c54ec checkpoint/tensors/00428.safetensors
455
+ 778afebc18173a5dce8402a0b5604bb6f6742d1955646c0f7bd14e3dd898580d checkpoint/tensors/00429.safetensors
456
+ 2a1e41d055c7de741e24cda79161514f2da045f19cec7a4d48a768f951aa912c checkpoint/tensors/00430.tensorbin
457
+ 774112aad52efa04b4fdc3ddf0ed076be65dde26f04b86100a78f81741157b6b checkpoint/tensors/00431.tensorbin
458
+ 47df8a1a5675944c9303f42625019aae5f0841c99ddf17860894d594aab36038 checkpoint/tensors/00432.tensorbin
459
+ 3e80e9dbbf2727bc184a1b4eb15f71356e7ef1c2f1229783f702f0d6aed33552 checkpoint/tensors/00433.safetensors
460
+ 135ea11b8de2629a6f40f522c84788059cfa98130b830061430fea3aec7c787e checkpoint/tensors/00434.tensorbin
461
+ 0a6337eaad23da3aa923c7e8d5daa77074cc56310816fad1d5006d01adcac494 checkpoint/tensors/00435.safetensors
462
+ 700be95730fdcd5e74c14c95c0c94ea5ecf2623ddccc85a970984e84a624b3fa checkpoint/tensors/00436.safetensors
463
+ 9bba0fb6d5f8af7c13b7d67b49c5cbd3905f6d3e7c26d9c1cd66d6cf68882ec3 checkpoint/tensors/00437.safetensors
464
+ b0a65b896c7b373d8e7a03988b6672257a388b5c6772e03cd00b1b9f03114192 checkpoint/tensors/00438.safetensors
465
+ b9a8efaff04fb39d75fef7764ba8f49912dea994d8a8108f0aaef65a0bd18794 checkpoint/tensors/00439.safetensors
466
+ 1ae5291a5aabf3c0f0f9550eca59e8e31f3ff207dd6970013e64d7942c4a763f checkpoint/tensors/00440.safetensors
467
+ 399c86adfde976e0e25f3c9d505f73b084009442691ee4367481be58b4fad362 checkpoint/tensors/00441.safetensors
468
+ 40e734a3a15cfa5507375abec138af46d0afb9faad64eb3af5f8e26a352c3f17 checkpoint/tensors/00442.tensorbin
469
+ 5e78bfe351466486c03dbdc39bf313cae53a02f73de524f031b52c1ea01eeac4 checkpoint/tensors/00443.tensorbin
470
+ 04b1e6a84915a11b329af92c6c613197175a1f7525bc557dfb25354b613f2801 checkpoint/tensors/00444.tensorbin
471
+ 11dcdcf629a2742b8c6bfb4b9e4c43bfc13d38d8d36731936e134b54dbb909d0 checkpoint/tensors/00445.safetensors
472
+ bbbca23d75a833abd42bb4098543fd4f9551e79ac95b5f4c62484649d1045d40 checkpoint/tensors/00446.tensorbin
473
+ c90fd44c1107b7ea201921e34843a97892c84f139711385267004a9aefe98d75 checkpoint/tensors/00447.safetensors
474
+ 8cbfde46a4d81445531ac1b5d63658d64bfab0fc2ef082f4268293fde80c8ff4 checkpoint/tensors/00448.safetensors
475
+ 1cc0f34276ab4c78a805746665b6e6a521d48b59c6b6bf36f148c670357061c2 checkpoint/tensors/00449.safetensors
476
+ 6e1bdc5a53f77d45a2290cb8ea8d70d01f25e9fa83caf231be8cf75076be9bb6 checkpoint/tensors/00450.safetensors
477
+ 1c95d49c2be1e13bc3a24678964c65a5d272d55ddafe4553f91adeb46f77427a checkpoint/tensors/00451.tensorbin
478
+ 1cbb3896127a3198474fa676b5ebbce1c29661c21ad4bf1cba48321e2cc54926 checkpoint/tensors/00452.tensorbin
479
+ 285cfbf38bc47939ffbcb160ecda125244c1b6965b13c40613ad022c924ed6a9 checkpoint/tensors/00453.safetensors
480
+ 593ec9941c04b5edbf977cad929c94c1d9fc1b9d1344fda12b58aa9094f07c52 checkpoint/tensors/00454.tensorbin
481
+ da0079b7208305a16e15d313663664d5ed2791222c564aa86b5997d3159b3400 checkpoint/tensors/00455.safetensors
482
+ c15aa81c67f0b93b9499736cc2673a758e1d70d6fee5e40ad36aeb08470b8943 checkpoint/tensors/00456.safetensors
483
+ a5539158c3981a309745499ae97672289e74c8e65c699d6d73738f83130e8ced checkpoint/tensors/00457.safetensors
484
+ d0c4abd04267fecebb649ec29e44be04c7ee91e0d3204ea7109d860bf0db1024 checkpoint/tensors/00458.safetensors
485
+ 9193c28379462d1ac32fe1b20a72fe4a454335feb9294be3aba0d85188cdaa0d checkpoint/tensors/00459.safetensors
486
+ da9b133a750c06487cbca457f05dbd82eeb8e5ecf197131a93d327a96a818061 checkpoint/tensors/00460.safetensors
487
+ d31609a8b7a38f97bb6644ce7cc03770bff60aa70eff2da09ab1e8fd9badedcb checkpoint/tensors/00461.tensorbin
488
+ bab52f6b8b71225acbe9c4d745f6596bdbbddaad3ed703f7997352d0474486f5 checkpoint/tensors/00462.tensorbin
489
+ 2cb6c902e41c5be476832d9968a54f782413d66886f895f4e5c90e370e5ec019 checkpoint/tensors/00463.tensorbin
490
+ 0824112bdd5eb270f2bd0301ebcee7d5340b01cc1d059434f919fd471c44f81e checkpoint/tensors/00464.safetensors
491
+ ecbb4066b48a19e253585003f2663b8c927e8134e1d10a1d5a36cbd7ff6cfb33 checkpoint/tensors/00465.tensorbin
492
+ 8d4b04e7bce60b341f1766b0d033d5d81f688f93332183027d9ab41db2c46edd checkpoint/tensors/00466.safetensors
493
+ 00b95e504637624cd68a051fe2d59f7137a8468f954eea19737c54db84a6094d checkpoint/tensors/00467.safetensors
494
+ 193a468fe0ecad48521114ca47bdadef25d2cce812941be3ebf56bb298e2b60f checkpoint/tensors/00468.safetensors
495
+ fcc62f682a7cb9347018ddd5282b42811d2654b22d24a3a62583b4f36ff03f52 checkpoint/tensors/00469.safetensors
496
+ fe3930c3ccb32d37743f85334f0f57c11da99ceea98067b7a5ab92de2e4b86ac checkpoint/tensors/00470.safetensors
497
+ cfae1c10334a0b4a3be13ae8d64af96385254ef5880357a603625e20c90c0086 checkpoint/tensors/00471.safetensors
498
+ 1d168adb24ca87be74b2a87f3305e6fa99525bd46890ba79638ef1f21ca7673e checkpoint/tensors/00472.safetensors
499
+ 5910c57587e07814685b50563d1cb8f35c70fa8e2b81aab35ce60f0bfa88a257 checkpoint/tensors/00473.tensorbin
500
+ 2bc158467526bb8a20dbaea1747882f0500b4c469ab8a59ba70f4280c594e6a7 checkpoint/tensors/00474.tensorbin
501
+ d5d708f47a07eed8432f60be221f9f399bd9e001bf6d7521d49bdb115e2781bc checkpoint/tensors/00475.tensorbin
502
+ 56e12160bb4dc11b44c67b6221dcf9cb6d0324e27265a2ea8c94e526c701dac2 checkpoint/tensors/00476.safetensors
503
+ de597c0d4097bc9d781ecb9495d6e2243e3b358761241a3e22e08bd3706b66f1 checkpoint/tensors/00477.tensorbin
504
+ 36b228da14b05f9ffffedd56a2c0dc803bd1f7d3fb15ba1e88e7b7f6f4bed281 checkpoint/tensors/00478.safetensors
505
+ e5d76fe208825dfca5c7b250ce42bf509b9952548d20b7dd99887e605a510945 checkpoint/tensors/00479.safetensors
506
+ a6e326dc337f0091cdc99f4648f5908263ed1b9f15f2fdcd5e4c08682165421f checkpoint/tensors/00480.safetensors
507
+ 59f79dd68f363379678e50b084042f0fddd7758c7d71f8f544ec370d31a1eb31 checkpoint/tensors/00481.safetensors
508
+ 62fa7d289f0fff7a4a048c886e47dcd0b1c33a22406da68b279489527e4d7d37 checkpoint/tensors/00482.safetensors
509
+ 9a5b54e0147aab4b620af2e2ea7bbc5d9224af8aa03247eb3e7ff05624427a1c checkpoint/tensors/00483.safetensors
510
+ ff347414f813f32d570f527ab249278f2219770fe5ee7257e3ef8b0475cb8422 checkpoint/tensors/00484.safetensors
511
+ 6a0855fe02d8fc491b2122a86a348948a70992049afec25a55097aa6618221eb checkpoint/tensors/00485.safetensors
512
+ 7c3710f7605adb64f1d6b0d759f241c44e5b5696b2bf72aa7375ff933e059f9e checkpoint/tensors/00486.safetensors
513
+ d5df4e469de20f888596de1e9fbc91a43315af3a9277d2008e4805df15eba8cb checkpoint/tensors/00487.safetensors
514
+ 551934f9c06a2afdc68792a22f7e558de59ca9517ba90fb448f7df7c2553502f checkpoint/tensors/00488.safetensors
515
+ 4529c477928e9f6ed72fffe2f573daec108b18245d4f4a39639458c675aaff56 checkpoint/tensors/00489.safetensors
516
+ 5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42 checkpoint/tokenizer.json
517
+ 316230d6a809701f4db5ea8f8fc862bc3a6f3229c937c174e674ff3ca0a64ac8 checkpoint/tokenizer_config.json
518
+ 7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13 checkpoint/video_preprocessor_config.json
519
+ ce99b4cb2983d118806ce0a8b777a35b093e2000a503ebde25853284c9dfa003 checkpoint/vocab.json
520
+ 8e7b3e30bf5e74ed59d90b0b2e4e0a33a4985c7f7504fd7bd75d97a96087c5dc collect_importance.py
521
+ cfe6517ca2f1d45e1bced935ec796ed1a1c44a46affe231403be92a8286e783e evaluation/assistant-masks.json
522
+ 1d99d13c9e19bed67ded85dd7ff475873a0094546fffb75d18b358fa1a740523 evaluation/behavior.jsonl
523
+ 7afb1723a477daebd26e8c9b8391d6a081bf4d8a0ba1930b8a840131faaaf144 evaluation/evaluation-protocol.json
524
+ a53a6e18c4d33b787f15bb1aad6ce88de97f25239ad2236617a62256b297f979 evaluation/instruction-eval.jsonl
525
+ 5b14998390eb10d78ebcb3869f6710ef72f41ff708889228165c335d816f144b evaluation/instruction-provenance.json
526
+ 3e0ef42f2092b094473afc38e7f9cdab1eea1a4cd6d77895d3367f16259723e4 evaluation/long-context.jsonl
527
+ 62bb803e55d143e602a660993fbf9c363de1069aa1776ec4335dbd06353587dd evaluation/selection-policy.json
528
+ edf56b67f604561433d5125ebbcfbb85be8a9e2d34cd14a8f94d0e459ae120de evaluation/trajectories.jsonl
529
+ 66772c7c01029d27a8d07012ecb76aad94da936f22fc76d472b5c5f08764ebc9 evidence/mtp/arc-challenge-shard1.json
530
+ bab23aa359297da7dde575591e9c0d432c893ae3b6fbc5e47cf35884327a1836 evidence/mtp/benchmark.py
531
+ d152b6f3df69200c3dfad4f821025ab668e01452ae4c74fb978b514f4cf32820 evidence/mtp/equivalence-summary.json
532
+ 3cac0a57ab13127fc28e0591cfe312c11487a127fa17e91a0dc8a8420aedeb1d evidence/mtp/fixed-runtime-provenance.json
533
+ 362b10ebd943ecd0414f34ef8de02c7dadca34c9b59d19de288cab7497da9950 evidence/mtp/gsm8k-shard1.json
534
+ 87fa288b6276af0056f27a6fa426950d4f2ede848190b33d1abafdb6953d1517 evidence/mtp/lmx-native-mtp-off.json
535
+ 355038cae1eff485d1be6c503ce8cfc545a58f531f4bc43b6542ef8f263a45ca evidence/mtp/lmx-native-mtp-on.json
536
+ 844d8b92bef08dd734da0d26c61b6b5d50d64ec7e5aa3c7a04cda0a52b445ae3 evidence/mtp/native-mtp-off-speed.json
537
+ d672e598b15f47248aff35c754663f8970807e4b0c019f77e1e456fd462d8973 evidence/mtp/native-mtp-on-speed.json
538
+ 156aa4f50f1e786520d97e1a0b9ba4e379402df5a42f05e06bb0c4778c501de2 evidence/mtp/native-off-serving-command.json
539
+ 05018f6d3279b86db3a32fdf0ef5eb9d7b35d88f76c2b2cf0072afcd2682d9d0 evidence/mtp/native-on-serving-command.json
540
+ fc3983f9954c25afaccf5cfb47df7dd1992446901bb4925ccae86719732c5561 evidence/mtp/quality-commands.json
541
+ 5f580b6eedad4a81f954cf6924ff75ce3de73db460f399d4a383864795b3e11a evidence/mtp/quality-protocol.json
542
+ 86dc22ff70cdf20a4ffdfc24c05a0a3ab18c8c354f1dc005f6e8857024a789dd evidence/mtp/quality-request-traces.jsonl
543
+ ab9345abf7492617cd1310dc87b306e47b854887454ae3f63fa60bbd4a90526c evidence/mtp/request-isolation-fixed.json
544
+ 539e89c3f67ff9cb219bdc34dbde0ccf98718786593305b0bcde0a5ce185be04 evidence/mtp/verify_equivalence.py
545
+ 6416311f11f5aee55f077f1818f61460078468d9b27cdab7fefb304aa4dfc037 evidence/previous-no-mtp-quality/native-heldout-all-token-quality.json
546
+ 98e6018710a5fb7496bb725178b25f08490f5a6eeae6ecba3f65990921508094 evidence/previous-no-mtp-quality/native-heldout-assistant-quality.json
547
+ 5fbf430d311f9556adaf3952397e161fae0517f7737c13916011fa2fd5da6f08 evidence/previous-no-mtp-quality/precision-summary.json
548
+ 83661fe8f501a9620b9c63c1c1b5824f7fd82b7802665db1f5c91ce45de5508a evidence/previous-no-mtp-quality/quality-summary.json
549
+ 25e6c97b125e3fc969f9ea99290e1d3ca43db93720b699eb46f21224d8dd3c9d native_checkpoint.py
550
+ 31f51ad1d7bc8cac7032d8a827856b8e31b5682b008b6daa41a5e3b9625548b6 precision-plan.json
551
+ 802887a19d7e543272f061928124ca9691c6c2e745576c198ad3bbba5ccda94a precision-summary.json
552
+ 860b81602f93bb01da7a095fc1f976d6b94c8ace623c4759848152a8ccdd7f8b prepare_assistant_masks.py
553
+ 881ed010e90c3658497b1efa3bd844f6ab4647d1d5af848b6838416832acdd53 prepare_behavior.py
554
+ 2862bfd2a04d894374e290698b9f888d9bf8e74f2e80b2053a7db660bea144d8 prepare_corpus.py
555
+ c5abd94571e74b281cff61c342c5037742e5384ed3a478ce6c9c3df7d42fc5fa prepare_instruction_corpus.py
556
+ 865a3003363aaa5aa23aec452acd4db717ca347884f1ed8fc9e6e115b4e4ae27 quality-summary.json
557
+ 4082a9f8e76f3eff57579a13eea20cbd862ad1c200dac6f0ba15105bc2be875b rank_precision.py
558
+ 286b970571921b3a4ca3aa80a75a55c4191de404b4c95ad84828349bc504e046 reference_eval.py
559
+ b64d3d1fdebd07f6c7f60930829c80327f16d469a4470a5ec523b1c1ae1d2ce3 reference_generate.py
560
+ 0d7ea076699733ed08d20519dc75d62e342b4dd43d53c9dacef2d1d08dd6b50b release-manifest.json
561
+ c558d575ac98af21215d86fcbc01f6d7c3ffd7c69907964635cf59424f08c0de reproduction.json
562
+ 804cd90bad7ecc9e23b17b014897b957f5114d153839d528b1ac8a4b265689a3 runtime/Dockerfile
563
+ d03d6d273119df3a6a0794e49ec8e880b7945a219308a9227d2454a9da78139a runtime/Dockerfile.incremental
564
+ a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 runtime/licenses/tt-metal/LICENSE
565
+ a729a2fb26ff46f60cf69d9903889236c22672f843041c651ae24263d753abb3 runtime/licenses/tt-metal/LICENSE_understanding.txt
566
+ 387a33040fa411a419e684d93df255822193dbfab5cdbdc88fe6acc9bb1f096d runtime/licenses/tt-metal/NOTICE
567
+ c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 runtime/licenses/vllm/LICENSE
568
+ 94cd328bc9bda593791da19ee2b51f442f24352937136a93d139116aa6251c7a runtime/overlay/home/container_app_user/tt-metal/models/common/rmsnorm.py
569
+ 32c19dcdf83d6d1315911c9418c86d125d68690032ba307dc7d2d8f166930046 runtime/overlay/home/container_app_user/tt-metal/models/experimental/gated_attention_gated_deltanet/tt/ttnn_delta_rule_ops.py
570
+ 05e839857238de477ef6f8c19f2429b50a77b58b8c9982b894013fc8d541faf7 runtime/overlay/home/container_app_user/tt-metal/models/experimental/gated_attention_gated_deltanet/tt/ttnn_delta_rule_seq.py
571
+ 4c191baf202017cb99545647b92ad2722dd16166d0709e874021ee09c9d02af8 runtime/overlay/home/container_app_user/tt-metal/models/experimental/gated_attention_gated_deltanet/tt/ttnn_gated_attention.py
572
+ ae5ee8836003861bcba2ccd2b01da369c3f875a4fed33a7a26d5566a86fee1a8 runtime/overlay/home/container_app_user/tt-metal/models/experimental/gated_attention_gated_deltanet/tt/ttnn_gated_deltanet.py
573
+ a4c45d3f54f37735ebe412255b92efa76479abf7083f88cfb71d27e404b001ad runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/matmul/device/factory/matmul_multicore_reuse_mcast_1d_program_factory.cpp
574
+ 35367672e01f5d494dbd3d7dc62d8fcce020ae870788b1e3f4ecfbaff7e1b358 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/matmul/device/kernels/compute/bmm_large_block_zm_fused_bias_activation.cpp
575
+ 9d2c601e9f3c630d8039c922f218ad012de8049e79785d7de31f6c95889a384a runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/matmul/device/kernels/dataflow/reader_bmm_tile_layout_in1_sender_writer_padding.cpp
576
+ f413d42d8ede06cad0a8f811ebd139a65623726735cf1d8bc9f9dc8b68585d3a runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/matmul/device/kernels/dataflow/reader_bmm_tile_layout_qwen_lmhead_packed.cpp
577
+ 479cc7812419ab87a7b8b1d838aeb635417abb7707522f5fce90b2d5c331f298 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/chunk_gated_delta_rule.cpp
578
+ 14c171d5ad013dbddac971acdc63858cae66394b3af2e0c96a79111f0210605b runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/chunk_gated_delta_rule.hpp
579
+ fa9d781a98bc0691c731f481d9b034e698cfb4bbd3bf4155e1cffbdc30361329 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/chunk_gated_delta_rule_nanobind.cpp
580
+ 2afeccc3d26969736c39cfe965e8ee8075b7bffc556b25c5ba665ccaeff9b711 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/chunk_gated_delta_rule_device_operation.cpp
581
+ c48587954dbf056c24f36753cfa1b2d1d1d556a9fd2b4bdebc78eaa04f43ecfe runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/chunk_gated_delta_rule_device_operation.hpp
582
+ abd6b46952266668ae26fc030af9b2e940f23c38d92e6742af07e636284ea48b runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/chunk_gated_delta_rule_device_operation_types.hpp
583
+ 9e5062cfe6ecd903ae89b70109decd0102387b8d81cf70f4f3e7303849a529bd runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/chunk_gated_delta_rule_program_factory.cpp
584
+ 6c6cf9bccada84cc245666291adbbcf899f7ed4e58a7d05e361af8169c79aca1 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/chunk_gated_delta_rule_program_factory.hpp
585
+ 1a5814a4dec3a35020bee4a73d2b191b561e55a4c16c197cce81972205de251c runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/kernels/compute/recurrent_gated_delta_rule.cpp
586
+ e638d13cb4c63a9f11622495145efe95b7254936fedcdaac89caa538672252a4 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/kernels/dataflow/reader_recurrent_gated_delta_rule.cpp
587
+ 434c56acbc87aa486c8a9d7630b9eadf01b5f1ef32f8c279999c4000ee90e84f runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/chunk_gated_delta_rule/device/kernels/dataflow/writer_recurrent_gated_delta_rule.cpp
588
+ 41599bcd4bd9d9d58137031d6e20723c2389443b43963d2597864ec36917251f runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/gated_delta_attn/device/gated_delta_attn_program_factory.cpp
589
+ 36045c0bceb322faeb32ff3d4d30d4af1cc1bf2e5d6ae0555e413db34ea3c241 runtime/overlay/home/container_app_user/tt-metal/ttnn/cpp/ttnn/operations/transformer/gated_delta_attn/device/kernels/compute/gated_delta_attn.cpp
590
+ 2b1b54a9a70d9c82ef5e58e0e636d5c27c4bb84f9d8fa071c65676c666c8e2cc runtime/overlay/home/container_app_user/vllm/plugins/vllm-tt-plugin/src/vllm_tt_plugin/model_input.py
591
+ 8eec17ddf95709c77b0d569c5e64c0a040c448c03fd0910206b77b3a0026e297 runtime/overlay/home/container_app_user/vllm/plugins/vllm-tt-plugin/src/vllm_tt_plugin/model_runner.py
592
+ 77a555aedc9ff4f77b85d65a540b20d1195c2c61d12215b84eef56b7053fff37 runtime/overlay/home/container_app_user/vllm/plugins/vllm-tt-plugin/src/vllm_tt_plugin/platform.py
593
+ 5c8c71bd386a34c13b992f6c57e89c10f6eac59843581750da9959b72420fb8d runtime/overlay/home/container_app_user/vllm/plugins/vllm-tt-plugin/src/vllm_tt_plugin/worker.py
594
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 runtime/qwen36/__init__.py
595
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 runtime/qwen36/demo/__init__.py
596
+ 98e1c2924c7387748bccb4db7ab4e4b7186747a281145cc7dca29576e44d8f6c runtime/qwen36/demo/benchmark_vision.py
597
+ 6387caf56cef80bb8f1ac6288c58a40954fb73715cf608ae60b364bc1c496026 runtime/qwen36/demo/sample_prompts/eval_frankenstein_long.json
598
+ f244039a6f6d0cfc82d0b166c4af0635b31420acfdef5e68e6063b94ab7fdc8e runtime/qwen36/demo/sample_prompts/input_data_long_4k.json
599
+ 7e001aeee4fd25da5ba1586d285d190ffda01d32292758b5748bb4ea2afeab32 runtime/qwen36/demo/sample_prompts/vision_demo.json
600
+ 861ba5cb5489cf31f8e6aa3563d0177f56cb4348b07d10663def680d95c41787 runtime/qwen36/demo/sample_prompts/vision_multi_image.json
601
+ 94c2a3f11d8b199de287efd895b5842ea4432adb616e42173888943cfbbdabdf runtime/qwen36/demo/sample_prompts/vision_text_only.json
602
+ e30102476ad9bede85e95cddbdaf56e5ab6d210ff531089887f059abe89e49a6 runtime/qwen36/demo/sample_prompts/vision_video.json
603
+ 9e3c1d86391312efb3ef6c8f07636d586322e7d22359cfb8d58a9cb1443fc37d runtime/qwen36/demo/text_demo.py
604
+ fe25dd9e81c3fc8b2ef3908b613500fd4de84106d9e2005ab753f5b62821f523 runtime/qwen36/demo/vision_demo.py
605
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 runtime/qwen36/tests/__init__.py
606
+ facc72bc2d4daaa6063efb448360b48d48e936388df0bd9ad84ec1833b85f6b2 runtime/qwen36/tests/conftest.py
607
+ 3c67a83e7c64acdcf7341ca3ac75a2fff7c2c288daa1ae16a4b969cb57d26b29 runtime/qwen36/tests/pcc_thresholds.json
608
+ faac4db41e15dea443bb9185635e94d5c9e968fbb8e4b95009ce874f88192566 runtime/qwen36/tests/test_attention_tp.py
609
+ b4b122dfeeb530d460a7bdb20534621009710d3b52bbfb28d475581107303422 runtime/qwen36/tests/test_decode_bucketing.py
610
+ ddbbfd6ab73db4bfc9b45ae32bc6de44d5d032e8d41cb8d27f39aa0a8ab01d73 runtime/qwen36/tests/test_factory.py
611
+ 4fc8a93b4c122f24ffa7c15be459011b39ff72e0ffe5a3665453507f2a74b8d8 runtime/qwen36/tests/test_gdn_tp.py
612
+ 2cc65458dd3acc06de9a8da5a2457e9d1dae639dabf7436b456f632fdf6408bd runtime/qwen36/tests/test_generate_tp.py
613
+ 0c7a32c00de7d42700e78e63a12b5abe8d11ecc41f36a33d8b078ffd7f788d2e runtime/qwen36/tests/test_mlp.py
614
+ 3402b0165e6dedd386d9b57a23df80811c6f4f261c818f4a5e448b04608a245a runtime/qwen36/tests/test_mlp_tp.py
615
+ 123d57bfe23fd7d2d2f070b62589b1af617733dfb566695b11ee775523c29080 runtime/qwen36/tests/test_model.py
616
+ d3733c41e470165895dce249ecbf86776427bb5f9348f267988bcfce7a1a568b runtime/qwen36/tests/test_model_tp.py
617
+ 893db166c3aea884e05a2099529e4842e03f2ae3ce45fdeae9b765b502c053a4 runtime/qwen36/tests/test_patch_merger.py
618
+ b4d0ac8c72656e8dc771bf2a9c231f8dded674a9e5ff14be82e878b3d85f6072 runtime/qwen36/tests/test_prefill.py
619
+ cf0c1fa054bd79f639cfe773b0acf4f6bcf53bf01c77911a886064e85fdd6a47 runtime/qwen36/tests/test_rope_tp.py
620
+ 7444ccb142551cdf4190305039b94d7d4622a050dd905a53da3256e8c985c2b5 runtime/qwen36/tests/test_sampling.py
621
+ e04c1814d95959aee63d7a6fdc2032762418f1f1956a31bd0dbfaeff033f27dd runtime/qwen36/tests/test_vision_attention.py
622
+ 3065caa4c032cc89140986418d1c9ae4cfe06ad8e91b05de950579b17dcb3e6c runtime/qwen36/tests/test_vision_block.py
623
+ beb49e1a62ab665523329fed2da45481803676acd98b705c7c2f5be420f28710 runtime/qwen36/tests/test_weight_mapping.py
624
+ eddaca444bc1bea1c73aa28299739a910192b305b7bdc686fb09f96b1767ac2a runtime/qwen36/tests/test_wrapped_model.py
625
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 runtime/qwen36/tests/unit/__init__.py
626
+ 7dcbd7c08346a18f41f7f22c8fd63503468bcf69b1c4b6d60737cb02081c770d runtime/qwen36/tests/unit/conftest.py
627
+ bc4ff5c0c429bca4607534329e62cbcd84061d0b1a9a02dc7ee6534db47cb1e7 runtime/qwen36/tests/unit/test_attention.py
628
+ 66607195f94c141b153f198e0310dd8a3c20a50e3b7689e9d31b19b1e18e3558 runtime/qwen36/tests/unit/test_embedding.py
629
+ 15323b3051d4c466d1a6021681ea37b0e70806358ec619f69419e2b36426b501 runtime/qwen36/tests/unit/test_gdn.py
630
+ d6babb72837bec309e047d4c03e91733a1711dad2c0568fc65fb15c6c1d94385 runtime/qwen36/tests/unit/test_layer.py
631
+ 327f70e8d720f4ca52327ecbc87ec52e8d5969b24ab1bd593916362c51604994 runtime/qwen36/tests/unit/test_lm_head.py
632
+ 3947b52bd589f1daa46634f70f0e0f47c2715d7d75c05607e8c6222e049ba49f runtime/qwen36/tests/unit/test_mlp.py
633
+ 5a17473efbce8b70ddcb323dfe10a36208a1ec5e069c72298f9d5a0423343ba6 runtime/qwen36/tests/unit/test_model.py
634
+ 1196bed05216527986a366bd98985ccf0ec04bb6bd692dd5c30b7c6f4017f38e runtime/qwen36/tests/unit/test_rms_norm.py
635
+ c22883d945579f7365ef50fbfd942c62329e2a4f6a907187d8a56151b57eef0c runtime/qwen36/tests/unit/test_rope.py
636
+ 101215ebc50ea587700c4f6dd64ad6fbd40101efc81a917991de856fc67e607e runtime/qwen36/tests/unit/test_substate.py
637
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 runtime/qwen36/tt/__init__.py
638
+ 86fbe666fb79e0b726789175fca14912c6bfb971295355165e97a3e8eed4a991 runtime/qwen36/tt/attention/__init__.py
639
+ 6bdec51939dd9824cdb0c904cae46de82fb148d6f8f4be7ecf6d727f5c0cc28e runtime/qwen36/tt/attention/config.py
640
+ 73ccc4511896933cc0b40bac9b43c0eec583e747a10b4af622e6916233a115d5 runtime/qwen36/tt/attention/decode.py
641
+ 42b9480eb138c3c5628d55432e19d875d6fc1847be9ca46b271979d2194017eb runtime/qwen36/tt/attention/gated_attention.py
642
+ 1cc028e66492bf13d6d8e8040026c6ae4c82618bab19f1db8a7681929553ad77 runtime/qwen36/tt/attention/prefill.py
643
+ b841d519864e702ef0c9b63306a28df8d57af6ad17462b9e282b6912239f6e70 runtime/qwen36/tt/attention/rope_tp.py
644
+ a31ec742f2382af56bb620812859be7c25e675f1115c12e9ab713bc2d8bf0f3e runtime/qwen36/tt/attention/tp.py
645
+ bd50f4f9bcd820fb44a82293e5c34842c9bad55701600410137d19a0e8033428 runtime/qwen36/tt/attention/weights.py
646
+ 4fb0b62e54f4da4df2013bb05a4504cbf35563e6c7d7ef1073740dff328e4289 runtime/qwen36/tt/common.py
647
+ 0c0d8c94369c6e4b5d246afb1f8d36ccaff4b9510b093a76bd243c1c0b67bf51 runtime/qwen36/tt/fused_swiglu.py
648
+ e4d8f6233ec1e86fb80fb0032e01e9c5f7c48ade6603fca50ad59db1c6b5b7f9 runtime/qwen36/tt/fused_swiglu_kernel.cpp
649
+ d27e043b36083293a4841c5f69109aeb89bdbe01e1c11cc00e118af04e8bb24a runtime/qwen36/tt/gateup_layout/gateup_layout_reader.cpp
650
+ cd9dade74044020df60b3158c82c7ced484a8012d150ae87dcadd09fe45c82e8 runtime/qwen36/tt/gdn/__init__.py
651
+ d36dc3dabace49f020e96d3979ffd7fba415e9d244db7a511e2ea6611b14e306 runtime/qwen36/tt/gdn/config.py
652
+ 56dd072ad942f2f59af543521cb3a3981bdddd906976892a9c2c9e821f366644 runtime/qwen36/tt/gdn/decode.py
653
+ d3721fd705f5dcf513ad90fe21496fe2e475ffb14683a07533f51aba77762d7a runtime/qwen36/tt/gdn/fused_chunk.py
654
+ 2a248f57b59a74e5a4ef04ab1e6386f24de4ddfdbff2de3904f6abbc1d2168c0 runtime/qwen36/tt/gdn/fused_commit.py
655
+ f92493aaefe3ca27f8e0006b0f749ce900ccd63f4a37a261a126cebda619b1b1 runtime/qwen36/tt/gdn/fused_commit_kernel.cpp
656
+ 10f0f96fc1a4f9a8888ff606974f4f5ad0309f119be30fb5490c79e1a4584e5c runtime/qwen36/tt/gdn/fused_verify_output.cpp
657
+ e782e7711a02eac5de100bcd2b26b463437d0f6ad05ee3b345e319c4c1dff3ce runtime/qwen36/tt/gdn/fused_verify_output.py
658
+ f38160d095b1fb384a875f2dbd949d5cd0708f8316d708a9e10d3798b41bfad6 runtime/qwen36/tt/gdn/fused_verify_writer.cpp
659
+ 5b3b1efad65cf9ddf6c201fff6ced22dda0f8feb924d564047edbb484ca0f006 runtime/qwen36/tt/gdn/gated_deltanet.py
660
+ 45531e65d90e79ddf8d51b7757060ff8e86aaf1b3e80e0f2740c90f7c363a11a runtime/qwen36/tt/gdn/native_frontend.py
661
+ 0d46fe1db394499da78dda8c6f83f9776692388b55afa2ff3cf615d23f4490b3 runtime/qwen36/tt/gdn/native_frontend_kernel.cpp
662
+ 4961e26b7fb0ecd068ec92871389d5502e244f0002dda8fdbec68da5deaab508 runtime/qwen36/tt/gdn/native_output.py
663
+ 16088ec9cd0d2001081f58cf595668e5e565f1db0a3f6a93ec654eba965335bd runtime/qwen36/tt/gdn/native_output_kernel.cpp
664
+ 34a2323786d33640ad9fb8a9d74f8e8f830a8a46e3946c5029648c5647ed944e runtime/qwen36/tt/gdn/state.py
665
+ 72c1a2fe5d7b60b6740d42037c70ff2fe93a5e1fbaa3b5e18d629e2f4cd47de9 runtime/qwen36/tt/gdn/tp.py
666
+ a7dbd253ab080dac1885e1a6f1bd7831032c2222c7200932c179941f61112302 runtime/qwen36/tt/gdn/weights.py
667
+ 5eb6f5c1874e88ae097f6be4a884b38790525fa42f62ca88c3763ef490b3c456 runtime/qwen36/tt/generator_interface.py
668
+ fa986f11ee9ca7b22e4387b5b47ac936192513ac96e0c633df266671fddae4fd runtime/qwen36/tt/layer.py
669
+ 9a9356f88f6124b74967e1fed34bea5383a83ffbf7206e944a0964e70ba1a11f runtime/qwen36/tt/mlp.py
670
+ 23d23caef5aac2f34b3ac41f9af9b5cd65ae0a67b7424e3d50d9741fc919e684 runtime/qwen36/tt/model.py
671
+ 268444cc9edcd069e0fa74141a286035512551c40141e50565726d134cc7903c runtime/qwen36/tt/model_config.py
672
+ 6ccd78a5ffd176e7267d60d6cff960014918df203130614a0cd2b201eeffa4c8 runtime/qwen36/tt/mtp.py
673
+ 2e3bc11507f4fbba00464593e048faa1e29d8928722143839541c96e319be7fc runtime/qwen36/tt/qwen36_vllm.py
674
+ 5bb650d835e5ed6cdfa375e64c80ed92a1758996883ffb7c238b2195869f6f00 runtime/qwen36/tt/rms_norm.py
675
+ baa056d37129f1fa97a444ba5f6d5f3a5cfd6c15402dcfad13d300b11f2cef26 runtime/qwen36/tt/rope.py
676
+ bb43f0cde336c3f84725d47a64ed2b506b5287bdd0e910cd24b13feed0a0826a runtime/qwen36/tt/tp_common.py
677
+ cc2c73418c0211e5db739ce19e47b7c479f507d246e37239d90d0f469d73f1ef runtime/qwen36/tt/vision/__init__.py
678
+ 02a48050552879762da15634627500c04e49c620ef880c05c794715c536e5511 runtime/qwen36/tt/vision/functional.py
679
+ 92f33dcd670d8bf2000a8f523b2dcba4cada9599d309e0d7d079a87720742f91 runtime/qwen36/tt/vision/model.py
680
+ c7af2a141d45c8d7843445aaa0f68be9eaf5f6249d1c42c2a8f0fa393496aae9 runtime/qwen36/tt/vision/patch_merger.py
681
+ 5f99bb9243dce7c37045f82d5917b005bb7aa6ca6dfac788bb69abc44927a0be runtime/qwen36/tt/vision/vision_attention.py
682
+ 1d951f0732445ee099112711c8a59b9701a235e35668b87b97cb965faa74ad64 runtime/qwen36/tt/vision/vision_block.py
683
+ 47fd0fcf240b4a1dba399e2f608b050ecc789ffe2c7871d375b94574bda49a23 runtime/qwen36/tt/vision/vision_distributed_layernorm.py
684
+ cb2b91f9d6cdf788847871eeb3fd21059dc3934ed274e61e40f5e9fc98e0db60 runtime/qwen36/tt/vision/vision_layernorm.py
685
+ 6c3c092c33df7cba0483b6ab88903f29a95f2fcecc723d3884e3cbe4effcd0e5 runtime/qwen36/tt/vision/vision_mlp.py
686
+ bf1eb6f5d47243c46c33ee2c3506f6985131a379161d71a02b7bff88bdec5a4d runtime/qwen36/tt/vision/vision_model_config.py
687
+ d7ad88592fb7de07d87fa0d10f9d1bd0d4dcc92856438fffc394f90e29e650d2 runtime/qwen36/tt/weight_mapping.py
688
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 runtime/qwen36/utils/__init__.py
689
+ 813aa26dc9053e1217425a3cacf0c63255254f9d17723f3b5ac378167cfca28c runtime/qwen36/utils/substate.py
690
+ 2a1f7f46c7a4096cc327921ad2e3b7fb1d0d5859a531a5c6d4bc56aa0978050b runtime/source-manifest.json
691
+ a87126812d5e9c761a7670589175e3be6b855f60df76a641bf2691789f7899a1 score_behavior.py
692
+ 680552951c60918e48e6f652f59fc5ed75473c663f1eaa63e116979f6a6a43d9 score_logits.py
693
+ 59d35218b4780c71e90f2a7cf148cc1f8a0db44a4a5c5dbd90cda624d6b54b1a selected-overrides.json
694
+ 0118c611f52574043f9fe3b9a32657e59a663b5e92e051f3159e91fa0e1b1e01 serve_native.py
695
+ 2939042f81d63dd6d90b1b13574c2a505623a07c1684bb9e3d048182c25eed59 tt_eval.py
api_validate.py ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Exercise native serving behavior, near-limit prefill and greedy decode over HTTP.
2
+ Local diagnostics, not an official task benchmark or Unsloth Divergence-300.
3
+ """
4
+ import argparse
5
+ import json
6
+ import statistics
7
+ import time
8
+ import urllib.request
9
+ from pathlib import Path
10
+ from score_behavior import passed
11
+
12
+
13
+ def payload(model, messages, max_tokens):
14
+ return {"model": model, "messages": messages, "temperature": 0, "top_p": 1,
15
+ "seed": 9472, "max_tokens": max_tokens,
16
+ "chat_template_kwargs": {"enable_thinking": False}}
17
+
18
+
19
+ def send(base_url, body):
20
+ return urllib.request.urlopen(urllib.request.Request(
21
+ base_url.rstrip('/') + '/v1/chat/completions',
22
+ data=json.dumps(body).encode(), headers={"Content-Type": "application/json"}), timeout=600)
23
+
24
+
25
+ def check_case(base_url, model, case, max_tokens):
26
+ messages = case.get('messages', [{"role": "user", "content": case['prompt']}])
27
+ body = payload(model, messages, max_tokens)
28
+ if case.get('tools'):
29
+ body.update(tools=case['tools'], tool_choice='auto')
30
+ started = time.monotonic()
31
+ with send(base_url, body) as response:
32
+ result = json.load(response)
33
+ message = result['choices'][0]['message']
34
+ text = message.get('content') or ''
35
+ if case['check'] == 'weather_tool':
36
+ calls = message.get('tool_calls') or []
37
+ ok = len(calls) == 1 and calls[0]['function']['name'] == 'get_weather'
38
+ if ok:
39
+ arguments = json.loads(calls[0]['function']['arguments'])
40
+ ok = arguments.get('city', '').casefold() == str(case['expected']).casefold()
41
+ else:
42
+ ok = passed(case, text)
43
+ return {'id': case['id'], 'pass': bool(ok), 'seconds': time.monotonic() - started,
44
+ 'response': result}
45
+
46
+
47
+ def benchmark(base_url, model):
48
+ body = payload(model, [{"role": "user", "content":
49
+ "Write a detailed technical explanation of why batch-one language-model decoding "
50
+ "is often memory-bandwidth limited. Explain weight traffic, activation traffic, "
51
+ "kernel launch overhead, and how these differ from prompt prefill. Use several paragraphs."}], 128)
52
+ body.update(stream=True, stream_options={'include_usage': True})
53
+ started = time.monotonic()
54
+ first_token, finished, usage = None, None, None
55
+ pieces = []
56
+ with send(base_url, body) as response:
57
+ for raw in response:
58
+ line = raw.decode().strip()
59
+ if not line.startswith('data: '):
60
+ continue
61
+ data = line[6:]
62
+ if data == '[DONE]':
63
+ break
64
+ event = json.loads(data)
65
+ if event.get('usage'):
66
+ usage = event['usage']
67
+ for choice in event.get('choices', []):
68
+ delta = choice.get('delta', {})
69
+ text = (delta.get('reasoning_content') or '') + (delta.get('content') or '')
70
+ if text:
71
+ if first_token is None:
72
+ first_token = time.monotonic()
73
+ pieces.append(text)
74
+ if choice.get('finish_reason') is not None:
75
+ finished = time.monotonic()
76
+ if first_token is None or finished is None or not usage or usage['completion_tokens'] < 2:
77
+ raise ValueError('Missing streamed timing or endpoint token-usage evidence')
78
+ return {'text': ''.join(pieces), 'usage': usage,
79
+ 'ttft_ms': (first_token - started) * 1000,
80
+ 'decode_tokens_per_second': (usage['completion_tokens'] - 1) / (finished - first_token),
81
+ 'decode_seconds': finished - first_token,
82
+ 'timing_scope': 'Client-observed first nonempty delta through finish event; excludes first output token'}
83
+
84
+
85
+ def main():
86
+ parser = argparse.ArgumentParser(description=__doc__)
87
+ parser.add_argument('--base-url', default='http://127.0.0.1:8001')
88
+ parser.add_argument('--model', default='Qwen/Qwen3.5-9B')
89
+ parser.add_argument('--cases', type=Path, required=True)
90
+ parser.add_argument('--long-case', type=Path, required=True)
91
+ parser.add_argument('--output', type=Path, required=True)
92
+ args = parser.parse_args()
93
+ report = {'status': 'running', 'scope': __doc__, 'base_url': args.base_url,
94
+ 'model': args.model, 'behavior': [], 'long_context': [], 'decode_runs': []}
95
+ try:
96
+ report['initial_decode'] = benchmark(args.base_url, args.model)
97
+ for case in map(json.loads, args.cases.read_text().splitlines()):
98
+ result = check_case(args.base_url, args.model, case, 64)
99
+ report['behavior'].append(result)
100
+ print(json.dumps({'case': result['id'], 'pass': result['pass']}), flush=True)
101
+ for case in map(json.loads, args.long_case.read_text().splitlines()):
102
+ result = check_case(args.base_url, args.model, case, 16)
103
+ result['prepared_prompt_tokens'] = len(case['token_ids'])
104
+ report['long_context'].append(result)
105
+ print(json.dumps({'case': result['id'], 'pass': result['pass']}), flush=True)
106
+ for _ in range(3):
107
+ report['decode_runs'].append(benchmark(args.base_url, args.model))
108
+ report.update(status='complete', behavior_passes=sum(r['pass'] for r in report['behavior']),
109
+ long_context_passes=sum(r['pass'] for r in report['long_context']),
110
+ median_decode_tokens_per_second=statistics.median(r['decode_tokens_per_second'] for r in report['decode_runs']),
111
+ identical_greedy_completions=len({r['text'] for r in report['decode_runs']}) == 1)
112
+ report['request_isolation_passed'] = all(
113
+ run['text'] == report['initial_decode']['text'] for run in report['decode_runs'])
114
+ if not report['request_isolation_passed']:
115
+ raise RuntimeError('Greedy output changed after interleaved requests, including long-context prefill')
116
+ except BaseException as error:
117
+ report.update(status='failed', error=str(error))
118
+ raise
119
+ finally:
120
+ args.output.write_text(json.dumps(report, indent=2, ensure_ascii=False) + '\n')
121
+ print(json.dumps({k: v for k, v in report.items() if k not in ('behavior', 'long_context', 'decode_runs')}, indent=2), flush=True)
122
+
123
+
124
+ if __name__ == '__main__':
125
+ main()
build_native_checkpoint.py ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Stream original Qwen3.5-9B text and MTP safetensors into a standalone TT-native PTQ.
3
+
4
+ Run only with exclusive TT device ownership. TTNN host conversion
5
+ initializes device metadata. Example inside the pinned container:
6
+ python /work/build_native_checkpoint.py --weights /weights/Qwen3.5-9B \
7
+ --output /work/native-candidate --profile current-bfp4 \
8
+ --overrides /work/candidate.json --importance /work/importance/importance.npz \
9
+ --container-image IMAGE_ID --device-ownership-confirmed
10
+
11
+ Each target tensor is remapped individually; linear matrices are transposed
12
+ BEFORE native TILE quantization. Other tensors, including BF16 embeddings and
13
+ original FP32 nonlinear parameters, are preserved as individual safetensors.
14
+ All original mtp.* tensors bypass remapping and quantization, preserving their
15
+ runtime keys, values and source dtype for the existing one-layer MTP runtime.
16
+ Importance only measures/ranks precision error: it does not optimize rounding,
17
+ implement an imatrix-aware quantizer, or measure output KL. Candidate quality
18
+ must be evaluated on held-out text with the separate TT runner/scorer.
19
+ """
20
+ import argparse
21
+ import datetime
22
+ import importlib.util
23
+ import json
24
+ import platform
25
+ import shutil
26
+ from pathlib import Path
27
+
28
+ from native_checkpoint import DTYPES, FORMAT, MANIFEST, MTP_KEYS, digest, local_file, matrix_family, save_json, tensor_hash, tensor_precision, validate_mtp_keys
29
+
30
+ ROOT = Path(__file__).resolve().parent
31
+ ASSETS = ("config.json", "tokenizer.json", "tokenizer_config.json", "vocab.json", "merges.txt",
32
+ "chat_template.jinja", "special_tokens_map.json", "added_tokens.json", "generation_config.json",
33
+ "tokenizer.model", "preprocessor_config.json", "processor_config.json",
34
+ "video_preprocessor_config.json")
35
+
36
+
37
+ def load_remapper(path):
38
+ spec = importlib.util.spec_from_file_location("native_export_weight_mapping", path)
39
+ module = importlib.util.module_from_spec(spec)
40
+ spec.loader.exec_module(module)
41
+ return module.remap_qwen36_state_dict
42
+
43
+
44
+ def weight_error(original, restored, importance, module, torch):
45
+ """Bounded row chunks; diagonal input second moments, not output KL."""
46
+ moments, count = None, None
47
+ if importance is not None and module + ".sumsq" in importance.files:
48
+ import numpy as np
49
+
50
+ sumsq = importance[module + ".sumsq"]
51
+ count = int(importance[module + ".count"].item())
52
+ if count < 1 or sumsq.shape != (original.shape[1],) or not np.isfinite(sumsq).all() or (sumsq < 0).any():
53
+ raise ValueError(f"Invalid activation importance for {module}")
54
+ moments = torch.from_numpy(sumsq.copy()).to(torch.float64) / count
55
+ error_sum, original_sum, weighted_error, weighted_signal, max_error = 0.0, 0.0, 0.0, 0.0, 0.0
56
+ for start in range(0, original.shape[0], 128):
57
+ source = original[start:start + 128].to(torch.float32)
58
+ error = restored[start:start + 128].to(torch.float32) - source
59
+ squared = error.square()
60
+ error_sum += squared.sum(dtype=torch.float64).item()
61
+ original_sum += source.square().sum(dtype=torch.float64).item()
62
+ max_error = max(max_error, error.abs().max().item())
63
+ if moments is not None:
64
+ weighted_error += (squared.sum(dim=0, dtype=torch.float64) * moments).sum().item()
65
+ weighted_signal += (source.square().sum(dim=0, dtype=torch.float64) * moments).sum().item()
66
+ result = {"sum_squared_error": error_sum, "mean_squared_error": error_sum / original.numel(),
67
+ "max_abs_error": max_error,
68
+ "relative_squared_error": error_sum / original_sum if original_sum else None,
69
+ "importance_available": moments is not None}
70
+ if moments is not None:
71
+ result.update({"activation_rows": count, "importance_weighted_squared_error": weighted_error,
72
+ "importance_weighted_mean_per_output": weighted_error / original.shape[0],
73
+ "importance_weighted_relative_squared_error": weighted_error / weighted_signal if weighted_signal else None})
74
+ return result
75
+
76
+
77
+ def export(args):
78
+ import numpy as np
79
+ import torch
80
+ import ttnn
81
+ from safetensors import safe_open
82
+ from safetensors.torch import save_file
83
+ from tt_eval import precision_map
84
+
85
+ torch.set_num_threads(args.cpu_threads)
86
+ weights, output = args.weights.resolve(), args.output.resolve()
87
+ if not output.is_relative_to(ROOT) or output == ROOT or output.is_relative_to(weights) or weights.is_relative_to(output):
88
+ raise ValueError(f"Output must be isolated beneath {ROOT}, outside original weights")
89
+ if output.exists() and any(output.iterdir()):
90
+ raise ValueError("Refusing to overwrite a nonempty output directory")
91
+ config = json.loads((weights / "config.json").read_text())
92
+ text = config["text_config"]
93
+ if (text["num_hidden_layers"], text["hidden_size"], text["vocab_size"]) != (32, 4096, 248320):
94
+ raise ValueError("Only original Qwen3.5-9B is supported")
95
+ overrides = json.loads(args.overrides.read_text()) if args.overrides else None
96
+ precision = precision_map(args.profile, overrides, text["layer_types"])
97
+ remap_path = ROOT / "runtime/qwen36/tt/weight_mapping.py"
98
+ remap = load_remapper(remap_path)
99
+ index_path = weights / "model.safetensors.index.json"
100
+ index = json.loads(index_path.read_text())["weight_map"]
101
+ validate_mtp_keys(index)
102
+ shards = {}
103
+ for name, filename in index.items():
104
+ if name.startswith("mtp.") or name == "lm_head.weight" or (name.startswith("model.language_model.") and ".mtp." not in name and ".visual." not in name):
105
+ shards.setdefault(filename, []).append(name)
106
+ if not shards:
107
+ raise ValueError("Expected original model.language_model text checkpoint keys")
108
+ importance = np.load(args.importance, allow_pickle=False) if args.importance else None
109
+ output.mkdir(parents=True, exist_ok=True)
110
+ (output / "tensors").mkdir()
111
+ (output / "provenance").mkdir()
112
+ files, tensors, source_shards, errors = {}, {}, {}, {}
113
+
114
+ def register(path):
115
+ path.chmod(0o644)
116
+ name = str(path.relative_to(output))
117
+ files[name] = {"bytes": path.stat().st_size, "sha256": digest(path)}
118
+ return name
119
+
120
+ for name in ASSETS:
121
+ source = weights / name
122
+ if source.is_file():
123
+ shutil.copyfile(source, output / name)
124
+ register(output / name)
125
+ licenses = [p for p in weights.iterdir() if p.is_file() and p.name.upper().startswith(("LICENSE", "NOTICE", "COPYING"))]
126
+ if not licenses or not all((output / name).is_file() for name in ("config.json", "tokenizer.json", "tokenizer_config.json")):
127
+ raise ValueError("Original config/tokenizer/license assets are required for standalone export")
128
+ for source in licenses:
129
+ shutil.copyfile(source, output / source.name)
130
+ register(output / source.name)
131
+ for source, destination in ((Path(__file__), output / "provenance/build_native_checkpoint.py"),
132
+ (ROOT / "native_checkpoint.py", output / "native_checkpoint.py"),
133
+ (remap_path, output / "provenance/weight_mapping.py"),
134
+ (ROOT / "tt_eval.py", output / "provenance/tt_eval.py"),
135
+ (ROOT / "precision-plan.json", output / "provenance/precision-plan.json"),
136
+ (index_path, output / "provenance/original.safetensors.index.json")):
137
+ shutil.copyfile(source, destination)
138
+ register(destination)
139
+ if args.overrides:
140
+ shutil.copyfile(args.overrides, output / "provenance/overrides.json")
141
+ register(output / "provenance/overrides.json")
142
+ if args.importance:
143
+ shutil.copyfile(args.importance, output / "provenance/importance.npz")
144
+ register(output / "provenance/importance.npz")
145
+ if (args.importance.parent / "metadata.json").is_file():
146
+ shutil.copyfile(args.importance.parent / "metadata.json", output / "provenance/importance-metadata.json")
147
+ register(output / "provenance/importance-metadata.json")
148
+ counter, quantized, fp32, mtp_fp32 = 0, 0, 0, 0
149
+ for filename, names in sorted(shards.items()):
150
+ shard = local_file(weights, filename)
151
+ source_shards[filename] = {"bytes": shard.stat().st_size, "sha256": digest(shard)}
152
+ with safe_open(str(shard), framework="pt", device="cpu") as source:
153
+ for original_name in sorted(names):
154
+ original = source.get_tensor(original_name)
155
+ original_hash = tensor_hash(original)
156
+ is_mtp = original_name.startswith("mtp.")
157
+ remapped = {original_name: original} if is_mtp else remap({original_name: original})
158
+ for name, value in remapped.items():
159
+ if name in tensors or "visual" in name or ("mtp" in name and not is_mtp):
160
+ raise ValueError(f"Unexpected duplicate/non-text remapped tensor: {name}")
161
+ dtype_name = None if is_mtp else tensor_precision(name, precision)
162
+ entry = {"source_name": original_name, "source_shard": filename,
163
+ "source_shape": list(original.shape), "source_torch_dtype": str(original.dtype),
164
+ "source_tensor_sha256": original_hash, "shape": list(value.shape),
165
+ "family": matrix_family(name), "restored_torch_dtype": str(value.dtype)}
166
+ if dtype_name is None:
167
+ value_hash = original_hash if is_mtp else tensor_hash(value)
168
+ path = output / "tensors" / f"{counter:05d}.safetensors"
169
+ save_file({name: value.contiguous()}, str(path))
170
+ with safe_open(str(path), framework="pt", device="cpu") as saved:
171
+ restored = saved.get_tensor(name)
172
+ if (restored.dtype != value.dtype or not torch.equal(restored, value)
173
+ or (is_mtp and tensor_hash(restored) != original_hash)):
174
+ raise ValueError(f"Lossless roundtrip failed: {name}")
175
+ del restored
176
+ if is_mtp:
177
+ mtp_fp32 += int(value.dtype == torch.float32)
178
+ else:
179
+ fp32 += int(value.dtype == torch.float32)
180
+ entry.update({"storage": "safetensors-lossless", "tensor_sha256": value_hash,
181
+ "roundtrip": {"exact_values": True, "exact_dtype": True}})
182
+ else:
183
+ if value.ndim != 2 or value.dtype != torch.bfloat16:
184
+ raise ValueError(f"Expected original BF16 linear matrix: {name} {value.shape} {value.dtype}")
185
+ path = output / "tensors" / f"{counter:05d}.tensorbin"
186
+ oriented = value.T.contiguous()
187
+ native = ttnn.from_torch(oriented, dtype=getattr(ttnn, DTYPES[dtype_name]), layout=ttnn.TILE_LAYOUT)
188
+ del oriented
189
+ ttnn.dump_tensor(str(path), native)
190
+ reloaded = ttnn.load_tensor(str(path))
191
+ rounded = ttnn.to_torch(reloaded).to(torch.bfloat16)
192
+ if not torch.equal(ttnn.to_torch(native), rounded):
193
+ raise ValueError(f"Native serialization or BF16 host restoration changes values: {name}")
194
+ del native, reloaded
195
+ restored = rounded.T.contiguous()
196
+ # Deliberately exercise the same transpose/copy that runtime converters do.
197
+ second = ttnn.from_torch(restored.T.contiguous(), dtype=getattr(ttnn, DTYPES[dtype_name]), layout=ttnn.TILE_LAYOUT)
198
+ second_path = output / "tensors" / f"{counter:05d}.roundtrip.tensorbin"
199
+ ttnn.dump_tensor(str(second_path), second)
200
+ exact_values = torch.equal(rounded, ttnn.to_torch(second))
201
+ exact_bytes = digest(path) == digest(second_path)
202
+ if not exact_values or not exact_bytes:
203
+ raise ValueError(f"Native requantization is not idempotent: {name}; values={exact_values}, bytes={exact_bytes}")
204
+ second_path.unlink()
205
+ del second, rounded
206
+ errors[name] = {"source_module": original_name.removesuffix(".weight"), "precision": dtype_name,
207
+ **weight_error(value, restored, importance, original_name.removesuffix(".weight"), torch)}
208
+ del restored
209
+ entry.update({"storage": "ttnn-tile", "precision": dtype_name,
210
+ "native_dtype": DTYPES[dtype_name], "native_shape": [value.shape[1], value.shape[0]],
211
+ "orientation": "input,output", "layout": "TILE_LAYOUT",
212
+ "roundtrip": {"exact_values": exact_values, "exact_serialized_bytes": exact_bytes}})
213
+ quantized += 1
214
+ entry["file"] = register(path)
215
+ entry["sha256"] = files[entry["file"]]["sha256"]
216
+ tensors[name] = entry
217
+ counter += 1
218
+ print(json.dumps({"tensor": name, "precision": dtype_name or "lossless", "bytes": files[entry["file"]]["bytes"]}), flush=True)
219
+ del original, remapped, value
220
+ if importance is not None:
221
+ importance.close()
222
+ if not {"tok_embeddings.weight", "output.weight", "norm.weight"} <= tensors.keys() or fp32 != 48:
223
+ raise ValueError(f"Missing top-level tensors or original FP32 nonlinear tensors: fp32={fp32}, expected 48")
224
+ validate_mtp_keys(tensors)
225
+ save_json(output / "quantization-error.json", {"method": "Unmodified TTNN rounding; importance-weighted precision ranking only, not optimized values or output KL",
226
+ "formula": "sum_out,in ((W-Wq)^2 * input_sumsq[in]/input_count)",
227
+ "tensors": errors})
228
+ register(output / "quantization-error.json")
229
+ manifest = {"format": FORMAT, "schema_version": 1, "scope": "text-only-no-vision-with-mtp",
230
+ "mtp": {"enabled": True, "num_speculative_tokens": 1,
231
+ "source_tensor_count": len(MTP_KEYS), "storage": "lossless"},
232
+ "status": "tensor_roundtrip_verified", "precision": precision,
233
+ "end_to_end_verification": "Requires separate manifest-bound equivalence.json (MTP=0) or equivalence-mtp.json (MTP=1); serialization alone is not validation",
234
+ "profile": args.profile, "files": files, "tensors": tensors,
235
+ "roundtrip": {"all_passed": True, "native_matrices": quantized, "lossless_tensors": counter - quantized,
236
+ "preserved_original_fp32_tensors": fp32,
237
+ "preserved_original_mtp_fp32_tensors": mtp_fp32},
238
+ "source": {"original_index_sha256": digest(index_path), "shards": source_shards,
239
+ "declared_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a"},
240
+ "toolchain": {"python": platform.python_version(), "torch": torch.__version__,
241
+ "ttnn": getattr(ttnn, "__version__", None), "container_image": args.container_image,
242
+ "tt_metal_commit": "de59f8a658b1ceafd230c8266026b1a72bb198d7"},
243
+ "load_contract": {"weights": "native dump -> CPU TT -> BF16 torch [out,in] -> runtime transpose -> requantize",
244
+ "nonlinear": "Lossless original tensors, preserving FP32 until normal runtime conversion",
245
+ "mtp": "Lossless original mtp.* tensors; existing Qwen36MTP uses target layer-0 precision policy with one speculative token",
246
+ "gdn_derived": "Runtime rebuilds AB and QKVABZ from quant-rounded components, then requantizes; no derived tensor stored",
247
+ "supported_runtime": "single-device Qwen36 text with optional MTP-1 at manifest precision, generic or explicitly dtype-gated packed families, only under verified runtime sources/environment",
248
+ "risks": ["Block exponent grouping is orientation/layout dependent", "Component idempotence does not prove GDN derived or full-model parity", "Every generic/packed configuration requires its own equivalence evidence; TP is excluded"],
249
+ "required_evidence": "native_checkpoint.py CHECKPOINT --baseline ORIGINAL_AT_SAME_PRECISION --restored NATIVE_RELOAD_RUN writes equivalence.json for recorded MTP=0 or equivalence-mtp.json for recorded MTP=1 only after exact full-logit comparison; actual speculation requires separate live-cycle evidence"},
250
+ "created_at": datetime.datetime.now(datetime.timezone.utc).isoformat()}
251
+ save_json(output / MANIFEST, manifest)
252
+ print(json.dumps({"manifest": str(output / MANIFEST), "tensors": counter, "native_matrices": quantized,
253
+ "artifact_bytes": sum(info["bytes"] for info in files.values()), "end_to_end_verified": False}), flush=True)
254
+
255
+
256
+ def main():
257
+ from tt_eval import PROFILES
258
+
259
+ parser = argparse.ArgumentParser(description=__doc__)
260
+ parser.add_argument("--weights", type=Path, required=True)
261
+ parser.add_argument("--output", type=Path, required=True)
262
+ parser.add_argument("--profile", choices=tuple(PROFILES), default="current-bfp4")
263
+ parser.add_argument("--overrides", type=Path)
264
+ parser.add_argument("--importance", type=Path)
265
+ parser.add_argument("--cpu-threads", type=int, default=8)
266
+ parser.add_argument("--container-image", required=True, help="Exact image identity reported by docker image inspect")
267
+ parser.add_argument("--device-ownership-confirmed", action="store_true")
268
+ args = parser.parse_args()
269
+ if not args.device_ownership_confirmed:
270
+ parser.error("TTNN host conversion requires exclusive device ownership; stop other P150 workloads first")
271
+ if args.cpu_threads < 1:
272
+ parser.error("--cpu-threads must be positive")
273
+ export(args)
274
+
275
+
276
+ if __name__ == "__main__":
277
+ main()
calibration/importance.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca51deb3c0f6b096bea1ff2312b1bab4a4a8fa083ba0e03b282ec4f8ef303779
3
+ size 10427338
calibration/instruction-calibration.jsonl ADDED
The diff for this file is too large to render. See raw diff
 
calibration/metadata.json ADDED
@@ -0,0 +1,1337 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "arguments": {
3
+ "accumulation_chunk_rows": 128,
4
+ "checkpoint_every": 32,
5
+ "input": "/work/instruction-calibration.jsonl",
6
+ "interop_threads": 1,
7
+ "max_tokens": 2048,
8
+ "model": "/model",
9
+ "output": "/work/importance",
10
+ "revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
11
+ "sample_rows": 8,
12
+ "threads": 16
13
+ },
14
+ "completed_input_tokens": 300941,
15
+ "completed_records": 614,
16
+ "config_sha256": "d0883072e01861ed0b2d47be3c16c36a8e81c224c7ffaa310c6558fb3f932b05",
17
+ "elapsed_seconds": 2298.5781133160344,
18
+ "exclusions": "Only torch.nn.Linear input channels. Embedding lookup, GDN convolution, norms and A_log are not diagonal-linear importance entries; original reference weights remain unchanged.",
19
+ "importance_sha256": "ca51deb3c0f6b096bea1ff2312b1bab4a4a8fa083ba0e03b282ec4f8ef303779",
20
+ "index_sha256": "26d3539b516be613f39563617cb9d33b3f83d401298125be392c80cefb8f7fe5",
21
+ "input_sha256": "c65c34c37633381a7322ff433a292f9e615d414bb834d1951b243ee16ecb310e",
22
+ "kind": "reference_cpu_linear_input_diagonal_second_moments",
23
+ "last_record_id": "instruct-multilingual-train-145250",
24
+ "loading_info": {
25
+ "error_msgs": [],
26
+ "mismatched_keys": [],
27
+ "missing_keys": [],
28
+ "unexpected_keys": []
29
+ },
30
+ "memory_policy": "One batch-size-1 complete record <= max-tokens; CPU BF16 reference with original FP32 GDN weights; use_cache=False; no vocabulary projection/logits; reduction temp <= accumulation-chunk-rows * largest_linear_input_features FP32; persistent float64 channel sums and optional sample-rows FP32 activation rows per module.",
31
+ "model_id": "Qwen/Qwen3.5-9B",
32
+ "model_path": "/model",
33
+ "model_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
34
+ "module_key_format": "Original checkpoint module name (strip .weight), keys <module>.sumsq float64[input_features], <module>.count int64 scalar; optional <module>.samples float32[rows,input_features] and <module>.sample_token_indices int64[rows]",
35
+ "modules": {
36
+ "lm_head": {
37
+ "count": 300941,
38
+ "input_features": 4096,
39
+ "sample_rows": 8
40
+ },
41
+ "model.language_model.layers.0.linear_attn.in_proj_a": {
42
+ "count": 300941,
43
+ "input_features": 4096,
44
+ "sample_rows": 8
45
+ },
46
+ "model.language_model.layers.0.linear_attn.in_proj_b": {
47
+ "count": 300941,
48
+ "input_features": 4096,
49
+ "sample_rows": 8
50
+ },
51
+ "model.language_model.layers.0.linear_attn.in_proj_qkv": {
52
+ "count": 300941,
53
+ "input_features": 4096,
54
+ "sample_rows": 8
55
+ },
56
+ "model.language_model.layers.0.linear_attn.in_proj_z": {
57
+ "count": 300941,
58
+ "input_features": 4096,
59
+ "sample_rows": 8
60
+ },
61
+ "model.language_model.layers.0.linear_attn.out_proj": {
62
+ "count": 300941,
63
+ "input_features": 4096,
64
+ "sample_rows": 8
65
+ },
66
+ "model.language_model.layers.0.mlp.down_proj": {
67
+ "count": 300941,
68
+ "input_features": 12288,
69
+ "sample_rows": 8
70
+ },
71
+ "model.language_model.layers.0.mlp.gate_proj": {
72
+ "count": 300941,
73
+ "input_features": 4096,
74
+ "sample_rows": 8
75
+ },
76
+ "model.language_model.layers.0.mlp.up_proj": {
77
+ "count": 300941,
78
+ "input_features": 4096,
79
+ "sample_rows": 8
80
+ },
81
+ "model.language_model.layers.1.linear_attn.in_proj_a": {
82
+ "count": 300941,
83
+ "input_features": 4096,
84
+ "sample_rows": 8
85
+ },
86
+ "model.language_model.layers.1.linear_attn.in_proj_b": {
87
+ "count": 300941,
88
+ "input_features": 4096,
89
+ "sample_rows": 8
90
+ },
91
+ "model.language_model.layers.1.linear_attn.in_proj_qkv": {
92
+ "count": 300941,
93
+ "input_features": 4096,
94
+ "sample_rows": 8
95
+ },
96
+ "model.language_model.layers.1.linear_attn.in_proj_z": {
97
+ "count": 300941,
98
+ "input_features": 4096,
99
+ "sample_rows": 8
100
+ },
101
+ "model.language_model.layers.1.linear_attn.out_proj": {
102
+ "count": 300941,
103
+ "input_features": 4096,
104
+ "sample_rows": 8
105
+ },
106
+ "model.language_model.layers.1.mlp.down_proj": {
107
+ "count": 300941,
108
+ "input_features": 12288,
109
+ "sample_rows": 8
110
+ },
111
+ "model.language_model.layers.1.mlp.gate_proj": {
112
+ "count": 300941,
113
+ "input_features": 4096,
114
+ "sample_rows": 8
115
+ },
116
+ "model.language_model.layers.1.mlp.up_proj": {
117
+ "count": 300941,
118
+ "input_features": 4096,
119
+ "sample_rows": 8
120
+ },
121
+ "model.language_model.layers.10.linear_attn.in_proj_a": {
122
+ "count": 300941,
123
+ "input_features": 4096,
124
+ "sample_rows": 8
125
+ },
126
+ "model.language_model.layers.10.linear_attn.in_proj_b": {
127
+ "count": 300941,
128
+ "input_features": 4096,
129
+ "sample_rows": 8
130
+ },
131
+ "model.language_model.layers.10.linear_attn.in_proj_qkv": {
132
+ "count": 300941,
133
+ "input_features": 4096,
134
+ "sample_rows": 8
135
+ },
136
+ "model.language_model.layers.10.linear_attn.in_proj_z": {
137
+ "count": 300941,
138
+ "input_features": 4096,
139
+ "sample_rows": 8
140
+ },
141
+ "model.language_model.layers.10.linear_attn.out_proj": {
142
+ "count": 300941,
143
+ "input_features": 4096,
144
+ "sample_rows": 8
145
+ },
146
+ "model.language_model.layers.10.mlp.down_proj": {
147
+ "count": 300941,
148
+ "input_features": 12288,
149
+ "sample_rows": 8
150
+ },
151
+ "model.language_model.layers.10.mlp.gate_proj": {
152
+ "count": 300941,
153
+ "input_features": 4096,
154
+ "sample_rows": 8
155
+ },
156
+ "model.language_model.layers.10.mlp.up_proj": {
157
+ "count": 300941,
158
+ "input_features": 4096,
159
+ "sample_rows": 8
160
+ },
161
+ "model.language_model.layers.11.mlp.down_proj": {
162
+ "count": 300941,
163
+ "input_features": 12288,
164
+ "sample_rows": 8
165
+ },
166
+ "model.language_model.layers.11.mlp.gate_proj": {
167
+ "count": 300941,
168
+ "input_features": 4096,
169
+ "sample_rows": 8
170
+ },
171
+ "model.language_model.layers.11.mlp.up_proj": {
172
+ "count": 300941,
173
+ "input_features": 4096,
174
+ "sample_rows": 8
175
+ },
176
+ "model.language_model.layers.11.self_attn.k_proj": {
177
+ "count": 300941,
178
+ "input_features": 4096,
179
+ "sample_rows": 8
180
+ },
181
+ "model.language_model.layers.11.self_attn.o_proj": {
182
+ "count": 300941,
183
+ "input_features": 4096,
184
+ "sample_rows": 8
185
+ },
186
+ "model.language_model.layers.11.self_attn.q_proj": {
187
+ "count": 300941,
188
+ "input_features": 4096,
189
+ "sample_rows": 8
190
+ },
191
+ "model.language_model.layers.11.self_attn.v_proj": {
192
+ "count": 300941,
193
+ "input_features": 4096,
194
+ "sample_rows": 8
195
+ },
196
+ "model.language_model.layers.12.linear_attn.in_proj_a": {
197
+ "count": 300941,
198
+ "input_features": 4096,
199
+ "sample_rows": 8
200
+ },
201
+ "model.language_model.layers.12.linear_attn.in_proj_b": {
202
+ "count": 300941,
203
+ "input_features": 4096,
204
+ "sample_rows": 8
205
+ },
206
+ "model.language_model.layers.12.linear_attn.in_proj_qkv": {
207
+ "count": 300941,
208
+ "input_features": 4096,
209
+ "sample_rows": 8
210
+ },
211
+ "model.language_model.layers.12.linear_attn.in_proj_z": {
212
+ "count": 300941,
213
+ "input_features": 4096,
214
+ "sample_rows": 8
215
+ },
216
+ "model.language_model.layers.12.linear_attn.out_proj": {
217
+ "count": 300941,
218
+ "input_features": 4096,
219
+ "sample_rows": 8
220
+ },
221
+ "model.language_model.layers.12.mlp.down_proj": {
222
+ "count": 300941,
223
+ "input_features": 12288,
224
+ "sample_rows": 8
225
+ },
226
+ "model.language_model.layers.12.mlp.gate_proj": {
227
+ "count": 300941,
228
+ "input_features": 4096,
229
+ "sample_rows": 8
230
+ },
231
+ "model.language_model.layers.12.mlp.up_proj": {
232
+ "count": 300941,
233
+ "input_features": 4096,
234
+ "sample_rows": 8
235
+ },
236
+ "model.language_model.layers.13.linear_attn.in_proj_a": {
237
+ "count": 300941,
238
+ "input_features": 4096,
239
+ "sample_rows": 8
240
+ },
241
+ "model.language_model.layers.13.linear_attn.in_proj_b": {
242
+ "count": 300941,
243
+ "input_features": 4096,
244
+ "sample_rows": 8
245
+ },
246
+ "model.language_model.layers.13.linear_attn.in_proj_qkv": {
247
+ "count": 300941,
248
+ "input_features": 4096,
249
+ "sample_rows": 8
250
+ },
251
+ "model.language_model.layers.13.linear_attn.in_proj_z": {
252
+ "count": 300941,
253
+ "input_features": 4096,
254
+ "sample_rows": 8
255
+ },
256
+ "model.language_model.layers.13.linear_attn.out_proj": {
257
+ "count": 300941,
258
+ "input_features": 4096,
259
+ "sample_rows": 8
260
+ },
261
+ "model.language_model.layers.13.mlp.down_proj": {
262
+ "count": 300941,
263
+ "input_features": 12288,
264
+ "sample_rows": 8
265
+ },
266
+ "model.language_model.layers.13.mlp.gate_proj": {
267
+ "count": 300941,
268
+ "input_features": 4096,
269
+ "sample_rows": 8
270
+ },
271
+ "model.language_model.layers.13.mlp.up_proj": {
272
+ "count": 300941,
273
+ "input_features": 4096,
274
+ "sample_rows": 8
275
+ },
276
+ "model.language_model.layers.14.linear_attn.in_proj_a": {
277
+ "count": 300941,
278
+ "input_features": 4096,
279
+ "sample_rows": 8
280
+ },
281
+ "model.language_model.layers.14.linear_attn.in_proj_b": {
282
+ "count": 300941,
283
+ "input_features": 4096,
284
+ "sample_rows": 8
285
+ },
286
+ "model.language_model.layers.14.linear_attn.in_proj_qkv": {
287
+ "count": 300941,
288
+ "input_features": 4096,
289
+ "sample_rows": 8
290
+ },
291
+ "model.language_model.layers.14.linear_attn.in_proj_z": {
292
+ "count": 300941,
293
+ "input_features": 4096,
294
+ "sample_rows": 8
295
+ },
296
+ "model.language_model.layers.14.linear_attn.out_proj": {
297
+ "count": 300941,
298
+ "input_features": 4096,
299
+ "sample_rows": 8
300
+ },
301
+ "model.language_model.layers.14.mlp.down_proj": {
302
+ "count": 300941,
303
+ "input_features": 12288,
304
+ "sample_rows": 8
305
+ },
306
+ "model.language_model.layers.14.mlp.gate_proj": {
307
+ "count": 300941,
308
+ "input_features": 4096,
309
+ "sample_rows": 8
310
+ },
311
+ "model.language_model.layers.14.mlp.up_proj": {
312
+ "count": 300941,
313
+ "input_features": 4096,
314
+ "sample_rows": 8
315
+ },
316
+ "model.language_model.layers.15.mlp.down_proj": {
317
+ "count": 300941,
318
+ "input_features": 12288,
319
+ "sample_rows": 8
320
+ },
321
+ "model.language_model.layers.15.mlp.gate_proj": {
322
+ "count": 300941,
323
+ "input_features": 4096,
324
+ "sample_rows": 8
325
+ },
326
+ "model.language_model.layers.15.mlp.up_proj": {
327
+ "count": 300941,
328
+ "input_features": 4096,
329
+ "sample_rows": 8
330
+ },
331
+ "model.language_model.layers.15.self_attn.k_proj": {
332
+ "count": 300941,
333
+ "input_features": 4096,
334
+ "sample_rows": 8
335
+ },
336
+ "model.language_model.layers.15.self_attn.o_proj": {
337
+ "count": 300941,
338
+ "input_features": 4096,
339
+ "sample_rows": 8
340
+ },
341
+ "model.language_model.layers.15.self_attn.q_proj": {
342
+ "count": 300941,
343
+ "input_features": 4096,
344
+ "sample_rows": 8
345
+ },
346
+ "model.language_model.layers.15.self_attn.v_proj": {
347
+ "count": 300941,
348
+ "input_features": 4096,
349
+ "sample_rows": 8
350
+ },
351
+ "model.language_model.layers.16.linear_attn.in_proj_a": {
352
+ "count": 300941,
353
+ "input_features": 4096,
354
+ "sample_rows": 8
355
+ },
356
+ "model.language_model.layers.16.linear_attn.in_proj_b": {
357
+ "count": 300941,
358
+ "input_features": 4096,
359
+ "sample_rows": 8
360
+ },
361
+ "model.language_model.layers.16.linear_attn.in_proj_qkv": {
362
+ "count": 300941,
363
+ "input_features": 4096,
364
+ "sample_rows": 8
365
+ },
366
+ "model.language_model.layers.16.linear_attn.in_proj_z": {
367
+ "count": 300941,
368
+ "input_features": 4096,
369
+ "sample_rows": 8
370
+ },
371
+ "model.language_model.layers.16.linear_attn.out_proj": {
372
+ "count": 300941,
373
+ "input_features": 4096,
374
+ "sample_rows": 8
375
+ },
376
+ "model.language_model.layers.16.mlp.down_proj": {
377
+ "count": 300941,
378
+ "input_features": 12288,
379
+ "sample_rows": 8
380
+ },
381
+ "model.language_model.layers.16.mlp.gate_proj": {
382
+ "count": 300941,
383
+ "input_features": 4096,
384
+ "sample_rows": 8
385
+ },
386
+ "model.language_model.layers.16.mlp.up_proj": {
387
+ "count": 300941,
388
+ "input_features": 4096,
389
+ "sample_rows": 8
390
+ },
391
+ "model.language_model.layers.17.linear_attn.in_proj_a": {
392
+ "count": 300941,
393
+ "input_features": 4096,
394
+ "sample_rows": 8
395
+ },
396
+ "model.language_model.layers.17.linear_attn.in_proj_b": {
397
+ "count": 300941,
398
+ "input_features": 4096,
399
+ "sample_rows": 8
400
+ },
401
+ "model.language_model.layers.17.linear_attn.in_proj_qkv": {
402
+ "count": 300941,
403
+ "input_features": 4096,
404
+ "sample_rows": 8
405
+ },
406
+ "model.language_model.layers.17.linear_attn.in_proj_z": {
407
+ "count": 300941,
408
+ "input_features": 4096,
409
+ "sample_rows": 8
410
+ },
411
+ "model.language_model.layers.17.linear_attn.out_proj": {
412
+ "count": 300941,
413
+ "input_features": 4096,
414
+ "sample_rows": 8
415
+ },
416
+ "model.language_model.layers.17.mlp.down_proj": {
417
+ "count": 300941,
418
+ "input_features": 12288,
419
+ "sample_rows": 8
420
+ },
421
+ "model.language_model.layers.17.mlp.gate_proj": {
422
+ "count": 300941,
423
+ "input_features": 4096,
424
+ "sample_rows": 8
425
+ },
426
+ "model.language_model.layers.17.mlp.up_proj": {
427
+ "count": 300941,
428
+ "input_features": 4096,
429
+ "sample_rows": 8
430
+ },
431
+ "model.language_model.layers.18.linear_attn.in_proj_a": {
432
+ "count": 300941,
433
+ "input_features": 4096,
434
+ "sample_rows": 8
435
+ },
436
+ "model.language_model.layers.18.linear_attn.in_proj_b": {
437
+ "count": 300941,
438
+ "input_features": 4096,
439
+ "sample_rows": 8
440
+ },
441
+ "model.language_model.layers.18.linear_attn.in_proj_qkv": {
442
+ "count": 300941,
443
+ "input_features": 4096,
444
+ "sample_rows": 8
445
+ },
446
+ "model.language_model.layers.18.linear_attn.in_proj_z": {
447
+ "count": 300941,
448
+ "input_features": 4096,
449
+ "sample_rows": 8
450
+ },
451
+ "model.language_model.layers.18.linear_attn.out_proj": {
452
+ "count": 300941,
453
+ "input_features": 4096,
454
+ "sample_rows": 8
455
+ },
456
+ "model.language_model.layers.18.mlp.down_proj": {
457
+ "count": 300941,
458
+ "input_features": 12288,
459
+ "sample_rows": 8
460
+ },
461
+ "model.language_model.layers.18.mlp.gate_proj": {
462
+ "count": 300941,
463
+ "input_features": 4096,
464
+ "sample_rows": 8
465
+ },
466
+ "model.language_model.layers.18.mlp.up_proj": {
467
+ "count": 300941,
468
+ "input_features": 4096,
469
+ "sample_rows": 8
470
+ },
471
+ "model.language_model.layers.19.mlp.down_proj": {
472
+ "count": 300941,
473
+ "input_features": 12288,
474
+ "sample_rows": 8
475
+ },
476
+ "model.language_model.layers.19.mlp.gate_proj": {
477
+ "count": 300941,
478
+ "input_features": 4096,
479
+ "sample_rows": 8
480
+ },
481
+ "model.language_model.layers.19.mlp.up_proj": {
482
+ "count": 300941,
483
+ "input_features": 4096,
484
+ "sample_rows": 8
485
+ },
486
+ "model.language_model.layers.19.self_attn.k_proj": {
487
+ "count": 300941,
488
+ "input_features": 4096,
489
+ "sample_rows": 8
490
+ },
491
+ "model.language_model.layers.19.self_attn.o_proj": {
492
+ "count": 300941,
493
+ "input_features": 4096,
494
+ "sample_rows": 8
495
+ },
496
+ "model.language_model.layers.19.self_attn.q_proj": {
497
+ "count": 300941,
498
+ "input_features": 4096,
499
+ "sample_rows": 8
500
+ },
501
+ "model.language_model.layers.19.self_attn.v_proj": {
502
+ "count": 300941,
503
+ "input_features": 4096,
504
+ "sample_rows": 8
505
+ },
506
+ "model.language_model.layers.2.linear_attn.in_proj_a": {
507
+ "count": 300941,
508
+ "input_features": 4096,
509
+ "sample_rows": 8
510
+ },
511
+ "model.language_model.layers.2.linear_attn.in_proj_b": {
512
+ "count": 300941,
513
+ "input_features": 4096,
514
+ "sample_rows": 8
515
+ },
516
+ "model.language_model.layers.2.linear_attn.in_proj_qkv": {
517
+ "count": 300941,
518
+ "input_features": 4096,
519
+ "sample_rows": 8
520
+ },
521
+ "model.language_model.layers.2.linear_attn.in_proj_z": {
522
+ "count": 300941,
523
+ "input_features": 4096,
524
+ "sample_rows": 8
525
+ },
526
+ "model.language_model.layers.2.linear_attn.out_proj": {
527
+ "count": 300941,
528
+ "input_features": 4096,
529
+ "sample_rows": 8
530
+ },
531
+ "model.language_model.layers.2.mlp.down_proj": {
532
+ "count": 300941,
533
+ "input_features": 12288,
534
+ "sample_rows": 8
535
+ },
536
+ "model.language_model.layers.2.mlp.gate_proj": {
537
+ "count": 300941,
538
+ "input_features": 4096,
539
+ "sample_rows": 8
540
+ },
541
+ "model.language_model.layers.2.mlp.up_proj": {
542
+ "count": 300941,
543
+ "input_features": 4096,
544
+ "sample_rows": 8
545
+ },
546
+ "model.language_model.layers.20.linear_attn.in_proj_a": {
547
+ "count": 300941,
548
+ "input_features": 4096,
549
+ "sample_rows": 8
550
+ },
551
+ "model.language_model.layers.20.linear_attn.in_proj_b": {
552
+ "count": 300941,
553
+ "input_features": 4096,
554
+ "sample_rows": 8
555
+ },
556
+ "model.language_model.layers.20.linear_attn.in_proj_qkv": {
557
+ "count": 300941,
558
+ "input_features": 4096,
559
+ "sample_rows": 8
560
+ },
561
+ "model.language_model.layers.20.linear_attn.in_proj_z": {
562
+ "count": 300941,
563
+ "input_features": 4096,
564
+ "sample_rows": 8
565
+ },
566
+ "model.language_model.layers.20.linear_attn.out_proj": {
567
+ "count": 300941,
568
+ "input_features": 4096,
569
+ "sample_rows": 8
570
+ },
571
+ "model.language_model.layers.20.mlp.down_proj": {
572
+ "count": 300941,
573
+ "input_features": 12288,
574
+ "sample_rows": 8
575
+ },
576
+ "model.language_model.layers.20.mlp.gate_proj": {
577
+ "count": 300941,
578
+ "input_features": 4096,
579
+ "sample_rows": 8
580
+ },
581
+ "model.language_model.layers.20.mlp.up_proj": {
582
+ "count": 300941,
583
+ "input_features": 4096,
584
+ "sample_rows": 8
585
+ },
586
+ "model.language_model.layers.21.linear_attn.in_proj_a": {
587
+ "count": 300941,
588
+ "input_features": 4096,
589
+ "sample_rows": 8
590
+ },
591
+ "model.language_model.layers.21.linear_attn.in_proj_b": {
592
+ "count": 300941,
593
+ "input_features": 4096,
594
+ "sample_rows": 8
595
+ },
596
+ "model.language_model.layers.21.linear_attn.in_proj_qkv": {
597
+ "count": 300941,
598
+ "input_features": 4096,
599
+ "sample_rows": 8
600
+ },
601
+ "model.language_model.layers.21.linear_attn.in_proj_z": {
602
+ "count": 300941,
603
+ "input_features": 4096,
604
+ "sample_rows": 8
605
+ },
606
+ "model.language_model.layers.21.linear_attn.out_proj": {
607
+ "count": 300941,
608
+ "input_features": 4096,
609
+ "sample_rows": 8
610
+ },
611
+ "model.language_model.layers.21.mlp.down_proj": {
612
+ "count": 300941,
613
+ "input_features": 12288,
614
+ "sample_rows": 8
615
+ },
616
+ "model.language_model.layers.21.mlp.gate_proj": {
617
+ "count": 300941,
618
+ "input_features": 4096,
619
+ "sample_rows": 8
620
+ },
621
+ "model.language_model.layers.21.mlp.up_proj": {
622
+ "count": 300941,
623
+ "input_features": 4096,
624
+ "sample_rows": 8
625
+ },
626
+ "model.language_model.layers.22.linear_attn.in_proj_a": {
627
+ "count": 300941,
628
+ "input_features": 4096,
629
+ "sample_rows": 8
630
+ },
631
+ "model.language_model.layers.22.linear_attn.in_proj_b": {
632
+ "count": 300941,
633
+ "input_features": 4096,
634
+ "sample_rows": 8
635
+ },
636
+ "model.language_model.layers.22.linear_attn.in_proj_qkv": {
637
+ "count": 300941,
638
+ "input_features": 4096,
639
+ "sample_rows": 8
640
+ },
641
+ "model.language_model.layers.22.linear_attn.in_proj_z": {
642
+ "count": 300941,
643
+ "input_features": 4096,
644
+ "sample_rows": 8
645
+ },
646
+ "model.language_model.layers.22.linear_attn.out_proj": {
647
+ "count": 300941,
648
+ "input_features": 4096,
649
+ "sample_rows": 8
650
+ },
651
+ "model.language_model.layers.22.mlp.down_proj": {
652
+ "count": 300941,
653
+ "input_features": 12288,
654
+ "sample_rows": 8
655
+ },
656
+ "model.language_model.layers.22.mlp.gate_proj": {
657
+ "count": 300941,
658
+ "input_features": 4096,
659
+ "sample_rows": 8
660
+ },
661
+ "model.language_model.layers.22.mlp.up_proj": {
662
+ "count": 300941,
663
+ "input_features": 4096,
664
+ "sample_rows": 8
665
+ },
666
+ "model.language_model.layers.23.mlp.down_proj": {
667
+ "count": 300941,
668
+ "input_features": 12288,
669
+ "sample_rows": 8
670
+ },
671
+ "model.language_model.layers.23.mlp.gate_proj": {
672
+ "count": 300941,
673
+ "input_features": 4096,
674
+ "sample_rows": 8
675
+ },
676
+ "model.language_model.layers.23.mlp.up_proj": {
677
+ "count": 300941,
678
+ "input_features": 4096,
679
+ "sample_rows": 8
680
+ },
681
+ "model.language_model.layers.23.self_attn.k_proj": {
682
+ "count": 300941,
683
+ "input_features": 4096,
684
+ "sample_rows": 8
685
+ },
686
+ "model.language_model.layers.23.self_attn.o_proj": {
687
+ "count": 300941,
688
+ "input_features": 4096,
689
+ "sample_rows": 8
690
+ },
691
+ "model.language_model.layers.23.self_attn.q_proj": {
692
+ "count": 300941,
693
+ "input_features": 4096,
694
+ "sample_rows": 8
695
+ },
696
+ "model.language_model.layers.23.self_attn.v_proj": {
697
+ "count": 300941,
698
+ "input_features": 4096,
699
+ "sample_rows": 8
700
+ },
701
+ "model.language_model.layers.24.linear_attn.in_proj_a": {
702
+ "count": 300941,
703
+ "input_features": 4096,
704
+ "sample_rows": 8
705
+ },
706
+ "model.language_model.layers.24.linear_attn.in_proj_b": {
707
+ "count": 300941,
708
+ "input_features": 4096,
709
+ "sample_rows": 8
710
+ },
711
+ "model.language_model.layers.24.linear_attn.in_proj_qkv": {
712
+ "count": 300941,
713
+ "input_features": 4096,
714
+ "sample_rows": 8
715
+ },
716
+ "model.language_model.layers.24.linear_attn.in_proj_z": {
717
+ "count": 300941,
718
+ "input_features": 4096,
719
+ "sample_rows": 8
720
+ },
721
+ "model.language_model.layers.24.linear_attn.out_proj": {
722
+ "count": 300941,
723
+ "input_features": 4096,
724
+ "sample_rows": 8
725
+ },
726
+ "model.language_model.layers.24.mlp.down_proj": {
727
+ "count": 300941,
728
+ "input_features": 12288,
729
+ "sample_rows": 8
730
+ },
731
+ "model.language_model.layers.24.mlp.gate_proj": {
732
+ "count": 300941,
733
+ "input_features": 4096,
734
+ "sample_rows": 8
735
+ },
736
+ "model.language_model.layers.24.mlp.up_proj": {
737
+ "count": 300941,
738
+ "input_features": 4096,
739
+ "sample_rows": 8
740
+ },
741
+ "model.language_model.layers.25.linear_attn.in_proj_a": {
742
+ "count": 300941,
743
+ "input_features": 4096,
744
+ "sample_rows": 8
745
+ },
746
+ "model.language_model.layers.25.linear_attn.in_proj_b": {
747
+ "count": 300941,
748
+ "input_features": 4096,
749
+ "sample_rows": 8
750
+ },
751
+ "model.language_model.layers.25.linear_attn.in_proj_qkv": {
752
+ "count": 300941,
753
+ "input_features": 4096,
754
+ "sample_rows": 8
755
+ },
756
+ "model.language_model.layers.25.linear_attn.in_proj_z": {
757
+ "count": 300941,
758
+ "input_features": 4096,
759
+ "sample_rows": 8
760
+ },
761
+ "model.language_model.layers.25.linear_attn.out_proj": {
762
+ "count": 300941,
763
+ "input_features": 4096,
764
+ "sample_rows": 8
765
+ },
766
+ "model.language_model.layers.25.mlp.down_proj": {
767
+ "count": 300941,
768
+ "input_features": 12288,
769
+ "sample_rows": 8
770
+ },
771
+ "model.language_model.layers.25.mlp.gate_proj": {
772
+ "count": 300941,
773
+ "input_features": 4096,
774
+ "sample_rows": 8
775
+ },
776
+ "model.language_model.layers.25.mlp.up_proj": {
777
+ "count": 300941,
778
+ "input_features": 4096,
779
+ "sample_rows": 8
780
+ },
781
+ "model.language_model.layers.26.linear_attn.in_proj_a": {
782
+ "count": 300941,
783
+ "input_features": 4096,
784
+ "sample_rows": 8
785
+ },
786
+ "model.language_model.layers.26.linear_attn.in_proj_b": {
787
+ "count": 300941,
788
+ "input_features": 4096,
789
+ "sample_rows": 8
790
+ },
791
+ "model.language_model.layers.26.linear_attn.in_proj_qkv": {
792
+ "count": 300941,
793
+ "input_features": 4096,
794
+ "sample_rows": 8
795
+ },
796
+ "model.language_model.layers.26.linear_attn.in_proj_z": {
797
+ "count": 300941,
798
+ "input_features": 4096,
799
+ "sample_rows": 8
800
+ },
801
+ "model.language_model.layers.26.linear_attn.out_proj": {
802
+ "count": 300941,
803
+ "input_features": 4096,
804
+ "sample_rows": 8
805
+ },
806
+ "model.language_model.layers.26.mlp.down_proj": {
807
+ "count": 300941,
808
+ "input_features": 12288,
809
+ "sample_rows": 8
810
+ },
811
+ "model.language_model.layers.26.mlp.gate_proj": {
812
+ "count": 300941,
813
+ "input_features": 4096,
814
+ "sample_rows": 8
815
+ },
816
+ "model.language_model.layers.26.mlp.up_proj": {
817
+ "count": 300941,
818
+ "input_features": 4096,
819
+ "sample_rows": 8
820
+ },
821
+ "model.language_model.layers.27.mlp.down_proj": {
822
+ "count": 300941,
823
+ "input_features": 12288,
824
+ "sample_rows": 8
825
+ },
826
+ "model.language_model.layers.27.mlp.gate_proj": {
827
+ "count": 300941,
828
+ "input_features": 4096,
829
+ "sample_rows": 8
830
+ },
831
+ "model.language_model.layers.27.mlp.up_proj": {
832
+ "count": 300941,
833
+ "input_features": 4096,
834
+ "sample_rows": 8
835
+ },
836
+ "model.language_model.layers.27.self_attn.k_proj": {
837
+ "count": 300941,
838
+ "input_features": 4096,
839
+ "sample_rows": 8
840
+ },
841
+ "model.language_model.layers.27.self_attn.o_proj": {
842
+ "count": 300941,
843
+ "input_features": 4096,
844
+ "sample_rows": 8
845
+ },
846
+ "model.language_model.layers.27.self_attn.q_proj": {
847
+ "count": 300941,
848
+ "input_features": 4096,
849
+ "sample_rows": 8
850
+ },
851
+ "model.language_model.layers.27.self_attn.v_proj": {
852
+ "count": 300941,
853
+ "input_features": 4096,
854
+ "sample_rows": 8
855
+ },
856
+ "model.language_model.layers.28.linear_attn.in_proj_a": {
857
+ "count": 300941,
858
+ "input_features": 4096,
859
+ "sample_rows": 8
860
+ },
861
+ "model.language_model.layers.28.linear_attn.in_proj_b": {
862
+ "count": 300941,
863
+ "input_features": 4096,
864
+ "sample_rows": 8
865
+ },
866
+ "model.language_model.layers.28.linear_attn.in_proj_qkv": {
867
+ "count": 300941,
868
+ "input_features": 4096,
869
+ "sample_rows": 8
870
+ },
871
+ "model.language_model.layers.28.linear_attn.in_proj_z": {
872
+ "count": 300941,
873
+ "input_features": 4096,
874
+ "sample_rows": 8
875
+ },
876
+ "model.language_model.layers.28.linear_attn.out_proj": {
877
+ "count": 300941,
878
+ "input_features": 4096,
879
+ "sample_rows": 8
880
+ },
881
+ "model.language_model.layers.28.mlp.down_proj": {
882
+ "count": 300941,
883
+ "input_features": 12288,
884
+ "sample_rows": 8
885
+ },
886
+ "model.language_model.layers.28.mlp.gate_proj": {
887
+ "count": 300941,
888
+ "input_features": 4096,
889
+ "sample_rows": 8
890
+ },
891
+ "model.language_model.layers.28.mlp.up_proj": {
892
+ "count": 300941,
893
+ "input_features": 4096,
894
+ "sample_rows": 8
895
+ },
896
+ "model.language_model.layers.29.linear_attn.in_proj_a": {
897
+ "count": 300941,
898
+ "input_features": 4096,
899
+ "sample_rows": 8
900
+ },
901
+ "model.language_model.layers.29.linear_attn.in_proj_b": {
902
+ "count": 300941,
903
+ "input_features": 4096,
904
+ "sample_rows": 8
905
+ },
906
+ "model.language_model.layers.29.linear_attn.in_proj_qkv": {
907
+ "count": 300941,
908
+ "input_features": 4096,
909
+ "sample_rows": 8
910
+ },
911
+ "model.language_model.layers.29.linear_attn.in_proj_z": {
912
+ "count": 300941,
913
+ "input_features": 4096,
914
+ "sample_rows": 8
915
+ },
916
+ "model.language_model.layers.29.linear_attn.out_proj": {
917
+ "count": 300941,
918
+ "input_features": 4096,
919
+ "sample_rows": 8
920
+ },
921
+ "model.language_model.layers.29.mlp.down_proj": {
922
+ "count": 300941,
923
+ "input_features": 12288,
924
+ "sample_rows": 8
925
+ },
926
+ "model.language_model.layers.29.mlp.gate_proj": {
927
+ "count": 300941,
928
+ "input_features": 4096,
929
+ "sample_rows": 8
930
+ },
931
+ "model.language_model.layers.29.mlp.up_proj": {
932
+ "count": 300941,
933
+ "input_features": 4096,
934
+ "sample_rows": 8
935
+ },
936
+ "model.language_model.layers.3.mlp.down_proj": {
937
+ "count": 300941,
938
+ "input_features": 12288,
939
+ "sample_rows": 8
940
+ },
941
+ "model.language_model.layers.3.mlp.gate_proj": {
942
+ "count": 300941,
943
+ "input_features": 4096,
944
+ "sample_rows": 8
945
+ },
946
+ "model.language_model.layers.3.mlp.up_proj": {
947
+ "count": 300941,
948
+ "input_features": 4096,
949
+ "sample_rows": 8
950
+ },
951
+ "model.language_model.layers.3.self_attn.k_proj": {
952
+ "count": 300941,
953
+ "input_features": 4096,
954
+ "sample_rows": 8
955
+ },
956
+ "model.language_model.layers.3.self_attn.o_proj": {
957
+ "count": 300941,
958
+ "input_features": 4096,
959
+ "sample_rows": 8
960
+ },
961
+ "model.language_model.layers.3.self_attn.q_proj": {
962
+ "count": 300941,
963
+ "input_features": 4096,
964
+ "sample_rows": 8
965
+ },
966
+ "model.language_model.layers.3.self_attn.v_proj": {
967
+ "count": 300941,
968
+ "input_features": 4096,
969
+ "sample_rows": 8
970
+ },
971
+ "model.language_model.layers.30.linear_attn.in_proj_a": {
972
+ "count": 300941,
973
+ "input_features": 4096,
974
+ "sample_rows": 8
975
+ },
976
+ "model.language_model.layers.30.linear_attn.in_proj_b": {
977
+ "count": 300941,
978
+ "input_features": 4096,
979
+ "sample_rows": 8
980
+ },
981
+ "model.language_model.layers.30.linear_attn.in_proj_qkv": {
982
+ "count": 300941,
983
+ "input_features": 4096,
984
+ "sample_rows": 8
985
+ },
986
+ "model.language_model.layers.30.linear_attn.in_proj_z": {
987
+ "count": 300941,
988
+ "input_features": 4096,
989
+ "sample_rows": 8
990
+ },
991
+ "model.language_model.layers.30.linear_attn.out_proj": {
992
+ "count": 300941,
993
+ "input_features": 4096,
994
+ "sample_rows": 8
995
+ },
996
+ "model.language_model.layers.30.mlp.down_proj": {
997
+ "count": 300941,
998
+ "input_features": 12288,
999
+ "sample_rows": 8
1000
+ },
1001
+ "model.language_model.layers.30.mlp.gate_proj": {
1002
+ "count": 300941,
1003
+ "input_features": 4096,
1004
+ "sample_rows": 8
1005
+ },
1006
+ "model.language_model.layers.30.mlp.up_proj": {
1007
+ "count": 300941,
1008
+ "input_features": 4096,
1009
+ "sample_rows": 8
1010
+ },
1011
+ "model.language_model.layers.31.mlp.down_proj": {
1012
+ "count": 300941,
1013
+ "input_features": 12288,
1014
+ "sample_rows": 8
1015
+ },
1016
+ "model.language_model.layers.31.mlp.gate_proj": {
1017
+ "count": 300941,
1018
+ "input_features": 4096,
1019
+ "sample_rows": 8
1020
+ },
1021
+ "model.language_model.layers.31.mlp.up_proj": {
1022
+ "count": 300941,
1023
+ "input_features": 4096,
1024
+ "sample_rows": 8
1025
+ },
1026
+ "model.language_model.layers.31.self_attn.k_proj": {
1027
+ "count": 300941,
1028
+ "input_features": 4096,
1029
+ "sample_rows": 8
1030
+ },
1031
+ "model.language_model.layers.31.self_attn.o_proj": {
1032
+ "count": 300941,
1033
+ "input_features": 4096,
1034
+ "sample_rows": 8
1035
+ },
1036
+ "model.language_model.layers.31.self_attn.q_proj": {
1037
+ "count": 300941,
1038
+ "input_features": 4096,
1039
+ "sample_rows": 8
1040
+ },
1041
+ "model.language_model.layers.31.self_attn.v_proj": {
1042
+ "count": 300941,
1043
+ "input_features": 4096,
1044
+ "sample_rows": 8
1045
+ },
1046
+ "model.language_model.layers.4.linear_attn.in_proj_a": {
1047
+ "count": 300941,
1048
+ "input_features": 4096,
1049
+ "sample_rows": 8
1050
+ },
1051
+ "model.language_model.layers.4.linear_attn.in_proj_b": {
1052
+ "count": 300941,
1053
+ "input_features": 4096,
1054
+ "sample_rows": 8
1055
+ },
1056
+ "model.language_model.layers.4.linear_attn.in_proj_qkv": {
1057
+ "count": 300941,
1058
+ "input_features": 4096,
1059
+ "sample_rows": 8
1060
+ },
1061
+ "model.language_model.layers.4.linear_attn.in_proj_z": {
1062
+ "count": 300941,
1063
+ "input_features": 4096,
1064
+ "sample_rows": 8
1065
+ },
1066
+ "model.language_model.layers.4.linear_attn.out_proj": {
1067
+ "count": 300941,
1068
+ "input_features": 4096,
1069
+ "sample_rows": 8
1070
+ },
1071
+ "model.language_model.layers.4.mlp.down_proj": {
1072
+ "count": 300941,
1073
+ "input_features": 12288,
1074
+ "sample_rows": 8
1075
+ },
1076
+ "model.language_model.layers.4.mlp.gate_proj": {
1077
+ "count": 300941,
1078
+ "input_features": 4096,
1079
+ "sample_rows": 8
1080
+ },
1081
+ "model.language_model.layers.4.mlp.up_proj": {
1082
+ "count": 300941,
1083
+ "input_features": 4096,
1084
+ "sample_rows": 8
1085
+ },
1086
+ "model.language_model.layers.5.linear_attn.in_proj_a": {
1087
+ "count": 300941,
1088
+ "input_features": 4096,
1089
+ "sample_rows": 8
1090
+ },
1091
+ "model.language_model.layers.5.linear_attn.in_proj_b": {
1092
+ "count": 300941,
1093
+ "input_features": 4096,
1094
+ "sample_rows": 8
1095
+ },
1096
+ "model.language_model.layers.5.linear_attn.in_proj_qkv": {
1097
+ "count": 300941,
1098
+ "input_features": 4096,
1099
+ "sample_rows": 8
1100
+ },
1101
+ "model.language_model.layers.5.linear_attn.in_proj_z": {
1102
+ "count": 300941,
1103
+ "input_features": 4096,
1104
+ "sample_rows": 8
1105
+ },
1106
+ "model.language_model.layers.5.linear_attn.out_proj": {
1107
+ "count": 300941,
1108
+ "input_features": 4096,
1109
+ "sample_rows": 8
1110
+ },
1111
+ "model.language_model.layers.5.mlp.down_proj": {
1112
+ "count": 300941,
1113
+ "input_features": 12288,
1114
+ "sample_rows": 8
1115
+ },
1116
+ "model.language_model.layers.5.mlp.gate_proj": {
1117
+ "count": 300941,
1118
+ "input_features": 4096,
1119
+ "sample_rows": 8
1120
+ },
1121
+ "model.language_model.layers.5.mlp.up_proj": {
1122
+ "count": 300941,
1123
+ "input_features": 4096,
1124
+ "sample_rows": 8
1125
+ },
1126
+ "model.language_model.layers.6.linear_attn.in_proj_a": {
1127
+ "count": 300941,
1128
+ "input_features": 4096,
1129
+ "sample_rows": 8
1130
+ },
1131
+ "model.language_model.layers.6.linear_attn.in_proj_b": {
1132
+ "count": 300941,
1133
+ "input_features": 4096,
1134
+ "sample_rows": 8
1135
+ },
1136
+ "model.language_model.layers.6.linear_attn.in_proj_qkv": {
1137
+ "count": 300941,
1138
+ "input_features": 4096,
1139
+ "sample_rows": 8
1140
+ },
1141
+ "model.language_model.layers.6.linear_attn.in_proj_z": {
1142
+ "count": 300941,
1143
+ "input_features": 4096,
1144
+ "sample_rows": 8
1145
+ },
1146
+ "model.language_model.layers.6.linear_attn.out_proj": {
1147
+ "count": 300941,
1148
+ "input_features": 4096,
1149
+ "sample_rows": 8
1150
+ },
1151
+ "model.language_model.layers.6.mlp.down_proj": {
1152
+ "count": 300941,
1153
+ "input_features": 12288,
1154
+ "sample_rows": 8
1155
+ },
1156
+ "model.language_model.layers.6.mlp.gate_proj": {
1157
+ "count": 300941,
1158
+ "input_features": 4096,
1159
+ "sample_rows": 8
1160
+ },
1161
+ "model.language_model.layers.6.mlp.up_proj": {
1162
+ "count": 300941,
1163
+ "input_features": 4096,
1164
+ "sample_rows": 8
1165
+ },
1166
+ "model.language_model.layers.7.mlp.down_proj": {
1167
+ "count": 300941,
1168
+ "input_features": 12288,
1169
+ "sample_rows": 8
1170
+ },
1171
+ "model.language_model.layers.7.mlp.gate_proj": {
1172
+ "count": 300941,
1173
+ "input_features": 4096,
1174
+ "sample_rows": 8
1175
+ },
1176
+ "model.language_model.layers.7.mlp.up_proj": {
1177
+ "count": 300941,
1178
+ "input_features": 4096,
1179
+ "sample_rows": 8
1180
+ },
1181
+ "model.language_model.layers.7.self_attn.k_proj": {
1182
+ "count": 300941,
1183
+ "input_features": 4096,
1184
+ "sample_rows": 8
1185
+ },
1186
+ "model.language_model.layers.7.self_attn.o_proj": {
1187
+ "count": 300941,
1188
+ "input_features": 4096,
1189
+ "sample_rows": 8
1190
+ },
1191
+ "model.language_model.layers.7.self_attn.q_proj": {
1192
+ "count": 300941,
1193
+ "input_features": 4096,
1194
+ "sample_rows": 8
1195
+ },
1196
+ "model.language_model.layers.7.self_attn.v_proj": {
1197
+ "count": 300941,
1198
+ "input_features": 4096,
1199
+ "sample_rows": 8
1200
+ },
1201
+ "model.language_model.layers.8.linear_attn.in_proj_a": {
1202
+ "count": 300941,
1203
+ "input_features": 4096,
1204
+ "sample_rows": 8
1205
+ },
1206
+ "model.language_model.layers.8.linear_attn.in_proj_b": {
1207
+ "count": 300941,
1208
+ "input_features": 4096,
1209
+ "sample_rows": 8
1210
+ },
1211
+ "model.language_model.layers.8.linear_attn.in_proj_qkv": {
1212
+ "count": 300941,
1213
+ "input_features": 4096,
1214
+ "sample_rows": 8
1215
+ },
1216
+ "model.language_model.layers.8.linear_attn.in_proj_z": {
1217
+ "count": 300941,
1218
+ "input_features": 4096,
1219
+ "sample_rows": 8
1220
+ },
1221
+ "model.language_model.layers.8.linear_attn.out_proj": {
1222
+ "count": 300941,
1223
+ "input_features": 4096,
1224
+ "sample_rows": 8
1225
+ },
1226
+ "model.language_model.layers.8.mlp.down_proj": {
1227
+ "count": 300941,
1228
+ "input_features": 12288,
1229
+ "sample_rows": 8
1230
+ },
1231
+ "model.language_model.layers.8.mlp.gate_proj": {
1232
+ "count": 300941,
1233
+ "input_features": 4096,
1234
+ "sample_rows": 8
1235
+ },
1236
+ "model.language_model.layers.8.mlp.up_proj": {
1237
+ "count": 300941,
1238
+ "input_features": 4096,
1239
+ "sample_rows": 8
1240
+ },
1241
+ "model.language_model.layers.9.linear_attn.in_proj_a": {
1242
+ "count": 300941,
1243
+ "input_features": 4096,
1244
+ "sample_rows": 8
1245
+ },
1246
+ "model.language_model.layers.9.linear_attn.in_proj_b": {
1247
+ "count": 300941,
1248
+ "input_features": 4096,
1249
+ "sample_rows": 8
1250
+ },
1251
+ "model.language_model.layers.9.linear_attn.in_proj_qkv": {
1252
+ "count": 300941,
1253
+ "input_features": 4096,
1254
+ "sample_rows": 8
1255
+ },
1256
+ "model.language_model.layers.9.linear_attn.in_proj_z": {
1257
+ "count": 300941,
1258
+ "input_features": 4096,
1259
+ "sample_rows": 8
1260
+ },
1261
+ "model.language_model.layers.9.linear_attn.out_proj": {
1262
+ "count": 300941,
1263
+ "input_features": 4096,
1264
+ "sample_rows": 8
1265
+ },
1266
+ "model.language_model.layers.9.mlp.down_proj": {
1267
+ "count": 300941,
1268
+ "input_features": 12288,
1269
+ "sample_rows": 8
1270
+ },
1271
+ "model.language_model.layers.9.mlp.gate_proj": {
1272
+ "count": 300941,
1273
+ "input_features": 4096,
1274
+ "sample_rows": 8
1275
+ },
1276
+ "model.language_model.layers.9.mlp.up_proj": {
1277
+ "count": 300941,
1278
+ "input_features": 4096,
1279
+ "sample_rows": 8
1280
+ }
1281
+ },
1282
+ "native_fp32_tensors_restored": 48,
1283
+ "packages": {
1284
+ "accelerate": "1.7.0",
1285
+ "numpy": "1.26.4",
1286
+ "safetensors": "0.8.0",
1287
+ "torch": "2.11.0+cpu",
1288
+ "transformers": "5.12.1"
1289
+ },
1290
+ "parameter_elements_by_dtype": {
1291
+ "torch.bfloat16": 8953799424,
1292
+ "torch.float32": 3840
1293
+ },
1294
+ "reference_loader_sha256": "286b970571921b3a4ca3aa80a75a55c4191de404b4c95ad84828349bc504e046",
1295
+ "revision_evidence": {
1296
+ "chat_template.jinja": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1297
+ "config.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1298
+ "merges.txt": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1299
+ "model.safetensors-00001-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1300
+ "model.safetensors-00002-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1301
+ "model.safetensors-00003-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1302
+ "model.safetensors-00004-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1303
+ "model.safetensors.index.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1304
+ "tokenizer.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1305
+ "tokenizer_config.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1306
+ "vocab.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a"
1307
+ },
1308
+ "samples_sha256": "f5fa7dbda17bc7e8c09e6108eb648b49766e434e548786fe53746567049b67e4",
1309
+ "sampling": "Fixed approximately uniformly spaced token indices over the full deterministic record stream, not a first-record activation slice",
1310
+ "schema_version": 1,
1311
+ "script_sha256": "8e7b3e30bf5e74ed59d90b0b2e4e0a33a4985c7f7504fd7bd75d97a96087c5dc",
1312
+ "statistic": "float64 sum of FP32 squared linear-input activations over all full-record token positions; count is unpadded token rows. Mean diagonal second moment = sumsq / count.",
1313
+ "status": "complete",
1314
+ "text_tensor_count": 427,
1315
+ "tokenizer": {
1316
+ "applied_here": false,
1317
+ "file_sha256": {
1318
+ "chat_template.jinja": "a4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715",
1319
+ "merges.txt": "a9d356d7bdf1ef4949e3e748e95b8e10ad9d4e2e838eddc38a0a7b6b94d1db8d",
1320
+ "tokenizer.json": "5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42",
1321
+ "tokenizer_config.json": "316230d6a809701f4db5ea8f8fc862bc3a6f3229c937c174e674ff3ca0a64ac8",
1322
+ "vocab.json": "ce99b4cb2983d118806ce0a8b777a35b093e2000a503ebde25853284c9dfa003"
1323
+ },
1324
+ "model_id": "Qwen/Qwen3.5-9B",
1325
+ "revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1326
+ "vocabulary_order": "Original checkpoint lm_head row order, unchanged"
1327
+ },
1328
+ "total_input_tokens": 300941,
1329
+ "total_records": 614,
1330
+ "use": "TT precision sensitivity ranking; importance = sumsq/count. Not llama.cpp imatrix format; no training or quantized-weight optimization.",
1331
+ "weight_bytes_by_component": {
1332
+ "mtp": 486581248,
1333
+ "text": 17907614208,
1334
+ "vision": 912020960
1335
+ },
1336
+ "weight_integrity_note": "Revision sidecars plus config/index hashes; full multi-GB shard content hashes are not recomputed."
1337
+ }
checkpoint/LICENSE ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright 2026 Alibaba Cloud
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
checkpoint/chat_template.jinja ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- if tools and tools is iterable and tools is not mapping %}
46
+ {{- '<|im_start|>system\n' }}
47
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
48
+ {%- for tool in tools %}
49
+ {{- "\n" }}
50
+ {{- tool | tojson }}
51
+ {%- endfor %}
52
+ {{- "\n</tools>" }}
53
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
54
+ {%- if messages[0].role == 'system' %}
55
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
56
+ {%- if content %}
57
+ {{- '\n\n' + content }}
58
+ {%- endif %}
59
+ {%- endif %}
60
+ {{- '<|im_end|>\n' }}
61
+ {%- else %}
62
+ {%- if messages[0].role == 'system' %}
63
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
64
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
65
+ {%- endif %}
66
+ {%- endif %}
67
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
68
+ {%- for message in messages[::-1] %}
69
+ {%- set index = (messages|length - 1) - loop.index0 %}
70
+ {%- if ns.multi_step_tool and message.role == "user" %}
71
+ {%- set content = render_content(message.content, false)|trim %}
72
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
73
+ {%- set ns.multi_step_tool = false %}
74
+ {%- set ns.last_query_index = index %}
75
+ {%- endif %}
76
+ {%- endif %}
77
+ {%- endfor %}
78
+ {%- if ns.multi_step_tool %}
79
+ {{- raise_exception('No user query found in messages.') }}
80
+ {%- endif %}
81
+ {%- for message in messages %}
82
+ {%- set content = render_content(message.content, true)|trim %}
83
+ {%- if message.role == "system" %}
84
+ {%- if not loop.first %}
85
+ {{- raise_exception('System message must be at the beginning.') }}
86
+ {%- endif %}
87
+ {%- elif message.role == "user" %}
88
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
89
+ {%- elif message.role == "assistant" %}
90
+ {%- set reasoning_content = '' %}
91
+ {%- if message.reasoning_content is string %}
92
+ {%- set reasoning_content = message.reasoning_content %}
93
+ {%- else %}
94
+ {%- if '</think>' in content %}
95
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
96
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
97
+ {%- endif %}
98
+ {%- endif %}
99
+ {%- set reasoning_content = reasoning_content|trim %}
100
+ {%- if loop.index0 > ns.last_query_index %}
101
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
102
+ {%- else %}
103
+ {{- '<|im_start|>' + message.role + '\n' + content }}
104
+ {%- endif %}
105
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
106
+ {%- for tool_call in message.tool_calls %}
107
+ {%- if tool_call.function is defined %}
108
+ {%- set tool_call = tool_call.function %}
109
+ {%- endif %}
110
+ {%- if loop.first %}
111
+ {%- if content|trim %}
112
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
113
+ {%- else %}
114
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
115
+ {%- endif %}
116
+ {%- else %}
117
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
118
+ {%- endif %}
119
+ {%- if tool_call.arguments is defined %}
120
+ {%- for args_name, args_value in tool_call.arguments|items %}
121
+ {{- '<parameter=' + args_name + '>\n' }}
122
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
123
+ {{- args_value }}
124
+ {{- '\n</parameter>\n' }}
125
+ {%- endfor %}
126
+ {%- endif %}
127
+ {{- '</function>\n</tool_call>' }}
128
+ {%- endfor %}
129
+ {%- endif %}
130
+ {{- '<|im_end|>\n' }}
131
+ {%- elif message.role == "tool" %}
132
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
133
+ {{- '<|im_start|>user' }}
134
+ {%- endif %}
135
+ {{- '\n<tool_response>\n' }}
136
+ {{- content }}
137
+ {{- '\n</tool_response>' }}
138
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
139
+ {{- '<|im_end|>\n' }}
140
+ {%- elif loop.last %}
141
+ {{- '<|im_end|>\n' }}
142
+ {%- endif %}
143
+ {%- else %}
144
+ {{- raise_exception('Unexpected message role.') }}
145
+ {%- endif %}
146
+ {%- endfor %}
147
+ {%- if add_generation_prompt %}
148
+ {{- '<|im_start|>assistant\n' }}
149
+ {%- if enable_thinking is defined and enable_thinking is false %}
150
+ {{- '<think>\n\n</think>\n\n' }}
151
+ {%- else %}
152
+ {{- '<think>\n' }}
153
+ {%- endif %}
154
+ {%- endif %}
checkpoint/config.json ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "image_token_id": 248056,
6
+ "model_type": "qwen3_5",
7
+ "text_config": {
8
+ "attention_bias": false,
9
+ "attention_dropout": 0.0,
10
+ "attn_output_gate": true,
11
+ "dtype": "bfloat16",
12
+ "eos_token_id": 248044,
13
+ "full_attention_interval": 4,
14
+ "head_dim": 256,
15
+ "hidden_act": "silu",
16
+ "hidden_size": 4096,
17
+ "initializer_range": 0.02,
18
+ "intermediate_size": 12288,
19
+ "layer_types": [
20
+ "linear_attention",
21
+ "linear_attention",
22
+ "linear_attention",
23
+ "full_attention",
24
+ "linear_attention",
25
+ "linear_attention",
26
+ "linear_attention",
27
+ "full_attention",
28
+ "linear_attention",
29
+ "linear_attention",
30
+ "linear_attention",
31
+ "full_attention",
32
+ "linear_attention",
33
+ "linear_attention",
34
+ "linear_attention",
35
+ "full_attention",
36
+ "linear_attention",
37
+ "linear_attention",
38
+ "linear_attention",
39
+ "full_attention",
40
+ "linear_attention",
41
+ "linear_attention",
42
+ "linear_attention",
43
+ "full_attention",
44
+ "linear_attention",
45
+ "linear_attention",
46
+ "linear_attention",
47
+ "full_attention",
48
+ "linear_attention",
49
+ "linear_attention",
50
+ "linear_attention",
51
+ "full_attention"
52
+ ],
53
+ "linear_conv_kernel_dim": 4,
54
+ "linear_key_head_dim": 128,
55
+ "linear_num_key_heads": 16,
56
+ "linear_num_value_heads": 32,
57
+ "linear_value_head_dim": 128,
58
+ "max_position_embeddings": 262144,
59
+ "mlp_only_layers": [],
60
+ "model_type": "qwen3_5_text",
61
+ "mtp_num_hidden_layers": 1,
62
+ "mtp_use_dedicated_embeddings": false,
63
+ "num_attention_heads": 16,
64
+ "num_hidden_layers": 32,
65
+ "num_key_value_heads": 4,
66
+ "rms_norm_eps": 1e-06,
67
+ "use_cache": true,
68
+ "vocab_size": 248320,
69
+ "mamba_ssm_dtype": "float32",
70
+ "rope_parameters": {
71
+ "mrope_interleaved": true,
72
+ "mrope_section": [
73
+ 11,
74
+ 11,
75
+ 10
76
+ ],
77
+ "rope_type": "default",
78
+ "rope_theta": 10000000,
79
+ "partial_rotary_factor": 0.25
80
+ }
81
+ },
82
+ "tie_word_embeddings": false,
83
+ "transformers_version": "4.57.0.dev0",
84
+ "video_token_id": 248057,
85
+ "vision_config": {
86
+ "deepstack_visual_indexes": [],
87
+ "depth": 27,
88
+ "hidden_act": "gelu_pytorch_tanh",
89
+ "hidden_size": 1152,
90
+ "in_channels": 3,
91
+ "initializer_range": 0.02,
92
+ "intermediate_size": 4304,
93
+ "model_type": "qwen3_5",
94
+ "num_heads": 16,
95
+ "num_position_embeddings": 2304,
96
+ "out_hidden_size": 4096,
97
+ "patch_size": 16,
98
+ "spatial_merge_size": 2,
99
+ "temporal_patch_size": 2
100
+ },
101
+ "vision_end_token_id": 248054,
102
+ "vision_start_token_id": 248053
103
+ }
checkpoint/equivalence-mtp.json ADDED
@@ -0,0 +1,342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "baseline_metadata_sha256": "fff7f404107f42f3db20c52eb4398e2016f00fe8878ef86ebfc114a1b147698b",
3
+ "exact_logits_equal": true,
4
+ "manifest_sha256": "34f774cf110e3ff94726171b52f6d462cb9b36651295b941efa85098ddb96ca2",
5
+ "precision": {
6
+ "layers": {
7
+ "0": {
8
+ "gdn": "bfp8",
9
+ "gdn_output": "bfp8",
10
+ "mlp_down": "bfp4",
11
+ "mlp_gate_up": "bfp4"
12
+ },
13
+ "1": {
14
+ "gdn": "bfp8",
15
+ "gdn_output": "bfp8",
16
+ "mlp_down": "bfp8",
17
+ "mlp_gate_up": "bfp4"
18
+ },
19
+ "10": {
20
+ "gdn": "bfp8",
21
+ "gdn_output": "bfp8",
22
+ "mlp_down": "bfp4",
23
+ "mlp_gate_up": "bfp4"
24
+ },
25
+ "11": {
26
+ "attention": "bfp8",
27
+ "mlp_down": "bfp4",
28
+ "mlp_gate_up": "bfp4"
29
+ },
30
+ "12": {
31
+ "gdn": "bfp8",
32
+ "gdn_output": "bfp8",
33
+ "mlp_down": "bfp4",
34
+ "mlp_gate_up": "bfp8"
35
+ },
36
+ "13": {
37
+ "gdn": "bfp8",
38
+ "gdn_output": "bfp8",
39
+ "mlp_down": "bfp4",
40
+ "mlp_gate_up": "bfp8"
41
+ },
42
+ "14": {
43
+ "gdn": "bfp8",
44
+ "gdn_output": "bfp8",
45
+ "mlp_down": "bfp4",
46
+ "mlp_gate_up": "bfp8"
47
+ },
48
+ "15": {
49
+ "attention": "bfp8",
50
+ "mlp_down": "bfp4",
51
+ "mlp_gate_up": "bfp8"
52
+ },
53
+ "16": {
54
+ "gdn": "bfp8",
55
+ "gdn_output": "bfp8",
56
+ "mlp_down": "bfp8",
57
+ "mlp_gate_up": "bfp8"
58
+ },
59
+ "17": {
60
+ "gdn": "bfp8",
61
+ "gdn_output": "bfp8",
62
+ "mlp_down": "bfp4",
63
+ "mlp_gate_up": "bfp8"
64
+ },
65
+ "18": {
66
+ "gdn": "bfp8",
67
+ "gdn_output": "bfp8",
68
+ "mlp_down": "bfp8",
69
+ "mlp_gate_up": "bfp8"
70
+ },
71
+ "19": {
72
+ "attention": "bfp8",
73
+ "mlp_down": "bfp8",
74
+ "mlp_gate_up": "bfp8"
75
+ },
76
+ "2": {
77
+ "gdn": "bfp8",
78
+ "gdn_output": "bfp8",
79
+ "mlp_down": "bfp4",
80
+ "mlp_gate_up": "bfp4"
81
+ },
82
+ "20": {
83
+ "gdn": "bfp8",
84
+ "gdn_output": "bfp8",
85
+ "mlp_down": "bfp4",
86
+ "mlp_gate_up": "bfp8"
87
+ },
88
+ "21": {
89
+ "gdn": "bfp8",
90
+ "gdn_output": "bfp8",
91
+ "mlp_down": "bfp4",
92
+ "mlp_gate_up": "bfp8"
93
+ },
94
+ "22": {
95
+ "gdn": "bfp8",
96
+ "gdn_output": "bfp8",
97
+ "mlp_down": "bfp8",
98
+ "mlp_gate_up": "bfp8"
99
+ },
100
+ "23": {
101
+ "attention": "bfp8",
102
+ "mlp_down": "bfp4",
103
+ "mlp_gate_up": "bfp8"
104
+ },
105
+ "24": {
106
+ "gdn": "bfp8",
107
+ "gdn_output": "bfp8",
108
+ "mlp_down": "bfp4",
109
+ "mlp_gate_up": "bfp4"
110
+ },
111
+ "25": {
112
+ "gdn": "bfp8",
113
+ "gdn_output": "bfp8",
114
+ "mlp_down": "bfp4",
115
+ "mlp_gate_up": "bfp4"
116
+ },
117
+ "26": {
118
+ "gdn": "bfp8",
119
+ "gdn_output": "bfp8",
120
+ "mlp_down": "bfp4",
121
+ "mlp_gate_up": "bfp4"
122
+ },
123
+ "27": {
124
+ "attention": "bfp8",
125
+ "mlp_down": "bfp4",
126
+ "mlp_gate_up": "bfp8"
127
+ },
128
+ "28": {
129
+ "gdn": "bfp8",
130
+ "gdn_output": "bfp8",
131
+ "mlp_down": "bfp4",
132
+ "mlp_gate_up": "bfp8"
133
+ },
134
+ "29": {
135
+ "gdn": "bfp8",
136
+ "gdn_output": "bfp8",
137
+ "mlp_down": "bfp4",
138
+ "mlp_gate_up": "bfp8"
139
+ },
140
+ "3": {
141
+ "attention": "bfp8",
142
+ "mlp_down": "bfp4",
143
+ "mlp_gate_up": "bfp4"
144
+ },
145
+ "30": {
146
+ "gdn": "bfp8",
147
+ "gdn_output": "bfp8",
148
+ "mlp_down": "bfp8",
149
+ "mlp_gate_up": "bfp8"
150
+ },
151
+ "31": {
152
+ "attention": "bfp8",
153
+ "mlp_down": "bfp8",
154
+ "mlp_gate_up": "bfp8"
155
+ },
156
+ "4": {
157
+ "gdn": "bfp8",
158
+ "gdn_output": "bfp8",
159
+ "mlp_down": "bfp4",
160
+ "mlp_gate_up": "bfp4"
161
+ },
162
+ "5": {
163
+ "gdn": "bfp8",
164
+ "gdn_output": "bfp8",
165
+ "mlp_down": "bfp4",
166
+ "mlp_gate_up": "bfp4"
167
+ },
168
+ "6": {
169
+ "gdn": "bfp8",
170
+ "gdn_output": "bfp8",
171
+ "mlp_down": "bfp8",
172
+ "mlp_gate_up": "bfp4"
173
+ },
174
+ "7": {
175
+ "attention": "bfp8",
176
+ "mlp_down": "bfp4",
177
+ "mlp_gate_up": "bfp4"
178
+ },
179
+ "8": {
180
+ "gdn": "bfp8",
181
+ "gdn_output": "bfp8",
182
+ "mlp_down": "bfp4",
183
+ "mlp_gate_up": "bfp4"
184
+ },
185
+ "9": {
186
+ "gdn": "bfp8",
187
+ "gdn_output": "bfp8",
188
+ "mlp_down": "bfp4",
189
+ "mlp_gate_up": "bfp4"
190
+ }
191
+ },
192
+ "lm_head": "bfp8"
193
+ },
194
+ "records": [
195
+ {
196
+ "baseline_sha256": "730b53e084230fe28916b6d25eebfbd65c04c1c23bbc8a76bedd791ca0673146",
197
+ "id": "instruct-code-train-156476",
198
+ "restored_sha256": "730b53e084230fe28916b6d25eebfbd65c04c1c23bbc8a76bedd791ca0673146"
199
+ },
200
+ {
201
+ "baseline_sha256": "d789b431d2bd3cd32da1204889f24005e59922445920141b543a528f6221b34d",
202
+ "id": "instruct-multilingual-test-5",
203
+ "restored_sha256": "d789b431d2bd3cd32da1204889f24005e59922445920141b543a528f6221b34d"
204
+ },
205
+ {
206
+ "baseline_sha256": "a93674e96ea9e4ac6f91d8ccb37935da84e3d179e1c32e80b171a05fb3638e66",
207
+ "id": "instruct-multilingual-test-1160",
208
+ "restored_sha256": "a93674e96ea9e4ac6f91d8ccb37935da84e3d179e1c32e80b171a05fb3638e66"
209
+ }
210
+ ],
211
+ "restored_metadata_sha256": "1fba950eac3fab86047d18337e170a0d294982f532d07c025501059c9cd8724d",
212
+ "runtime_environment": {
213
+ "ARCH_NAME": "blackhole",
214
+ "MESH_DEVICE": "P150",
215
+ "QWEN36_BFP4_LM_HEAD": "1",
216
+ "QWEN36_BFP4_MLP_DOWN": "1",
217
+ "QWEN36_BFP4_WEIGHTS": "1",
218
+ "QWEN36_FUSED_FINAL_RESIDUAL_NORM": "1",
219
+ "QWEN36_FUSED_GATE_UP": "1",
220
+ "QWEN36_FUSED_GATE_UP_CORES": "110",
221
+ "QWEN36_FUSED_GATE_UP_PACKED": "1",
222
+ "QWEN36_FUSED_QKV": "1",
223
+ "QWEN36_GATEUP_CB_SLOTS": "2",
224
+ "QWEN36_GATEUP_OUTSTANDING": "1",
225
+ "QWEN36_GATEUP_REQUIRE_PACKED": "1",
226
+ "QWEN36_LM_HEAD_CB_SLOTS": "2",
227
+ "QWEN36_LM_HEAD_OUTSTANDING": "1",
228
+ "QWEN36_LM_HEAD_PACKED": "1",
229
+ "QWEN36_LM_HEAD_REQUIRE_PACKED": "1",
230
+ "QWEN36_MAX_TOKENS_ALL_USERS": "8192",
231
+ "QWEN36_MLP_DOWN_CB_SLOTS": "2",
232
+ "QWEN36_MLP_DOWN_OUTSTANDING": "1",
233
+ "QWEN36_MLP_DOWN_PACKED": "1",
234
+ "QWEN36_MLP_DOWN_REQUIRE_PACKED": "1",
235
+ "QWEN36_MTP": "1",
236
+ "QWEN36_SHARDED_FINAL_NORM": "1",
237
+ "QWEN36_SINGLE_1D_DECODE": "1",
238
+ "QWEN_GDN_FRONTEND_FUSED": "1",
239
+ "QWEN_GDN_MEGA_CB_SLOTS": "2",
240
+ "QWEN_GDN_MEGA_CORES": "110",
241
+ "QWEN_GDN_MEGA_OUTSTANDING": "1",
242
+ "QWEN_GDN_MEGA_PACKED": "1",
243
+ "QWEN_GDN_MEGA_REQUIRE_PACKED": "1",
244
+ "QWEN_GDN_OUTPUT_FUSED": "1",
245
+ "QWEN_GDN_RECURRENT_FUSED": "1",
246
+ "QWEN_SDPA_BF8": "0",
247
+ "TT_QWEN35_TEXT_VER": "qwen36_blackhole"
248
+ },
249
+ "runtime_sources": {
250
+ "__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
251
+ "demo/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
252
+ "demo/benchmark_vision.py": "98e1c2924c7387748bccb4db7ab4e4b7186747a281145cc7dca29576e44d8f6c",
253
+ "demo/text_demo.py": "9e3c1d86391312efb3ef6c8f07636d586322e7d22359cfb8d58a9cb1443fc37d",
254
+ "demo/vision_demo.py": "fe25dd9e81c3fc8b2ef3908b613500fd4de84106d9e2005ab753f5b62821f523",
255
+ "tests/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
256
+ "tests/conftest.py": "facc72bc2d4daaa6063efb448360b48d48e936388df0bd9ad84ec1833b85f6b2",
257
+ "tests/test_attention_tp.py": "faac4db41e15dea443bb9185635e94d5c9e968fbb8e4b95009ce874f88192566",
258
+ "tests/test_decode_bucketing.py": "b4b122dfeeb530d460a7bdb20534621009710d3b52bbfb28d475581107303422",
259
+ "tests/test_factory.py": "ddbbfd6ab73db4bfc9b45ae32bc6de44d5d032e8d41cb8d27f39aa0a8ab01d73",
260
+ "tests/test_gdn_tp.py": "4fc8a93b4c122f24ffa7c15be459011b39ff72e0ffe5a3665453507f2a74b8d8",
261
+ "tests/test_generate_tp.py": "2cc65458dd3acc06de9a8da5a2457e9d1dae639dabf7436b456f632fdf6408bd",
262
+ "tests/test_mlp.py": "0c7a32c00de7d42700e78e63a12b5abe8d11ecc41f36a33d8b078ffd7f788d2e",
263
+ "tests/test_mlp_tp.py": "3402b0165e6dedd386d9b57a23df80811c6f4f261c818f4a5e448b04608a245a",
264
+ "tests/test_model.py": "123d57bfe23fd7d2d2f070b62589b1af617733dfb566695b11ee775523c29080",
265
+ "tests/test_model_tp.py": "d3733c41e470165895dce249ecbf86776427bb5f9348f267988bcfce7a1a568b",
266
+ "tests/test_patch_merger.py": "893db166c3aea884e05a2099529e4842e03f2ae3ce45fdeae9b765b502c053a4",
267
+ "tests/test_prefill.py": "b4d0ac8c72656e8dc771bf2a9c231f8dded674a9e5ff14be82e878b3d85f6072",
268
+ "tests/test_rope_tp.py": "cf0c1fa054bd79f639cfe773b0acf4f6bcf53bf01c77911a886064e85fdd6a47",
269
+ "tests/test_sampling.py": "7444ccb142551cdf4190305039b94d7d4622a050dd905a53da3256e8c985c2b5",
270
+ "tests/test_vision_attention.py": "e04c1814d95959aee63d7a6fdc2032762418f1f1956a31bd0dbfaeff033f27dd",
271
+ "tests/test_vision_block.py": "3065caa4c032cc89140986418d1c9ae4cfe06ad8e91b05de950579b17dcb3e6c",
272
+ "tests/test_weight_mapping.py": "beb49e1a62ab665523329fed2da45481803676acd98b705c7c2f5be420f28710",
273
+ "tests/test_wrapped_model.py": "eddaca444bc1bea1c73aa28299739a910192b305b7bdc686fb09f96b1767ac2a",
274
+ "tests/unit/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
275
+ "tests/unit/conftest.py": "7dcbd7c08346a18f41f7f22c8fd63503468bcf69b1c4b6d60737cb02081c770d",
276
+ "tests/unit/test_attention.py": "bc4ff5c0c429bca4607534329e62cbcd84061d0b1a9a02dc7ee6534db47cb1e7",
277
+ "tests/unit/test_embedding.py": "66607195f94c141b153f198e0310dd8a3c20a50e3b7689e9d31b19b1e18e3558",
278
+ "tests/unit/test_gdn.py": "15323b3051d4c466d1a6021681ea37b0e70806358ec619f69419e2b36426b501",
279
+ "tests/unit/test_layer.py": "d6babb72837bec309e047d4c03e91733a1711dad2c0568fc65fb15c6c1d94385",
280
+ "tests/unit/test_lm_head.py": "327f70e8d720f4ca52327ecbc87ec52e8d5969b24ab1bd593916362c51604994",
281
+ "tests/unit/test_mlp.py": "3947b52bd589f1daa46634f70f0e0f47c2715d7d75c05607e8c6222e049ba49f",
282
+ "tests/unit/test_model.py": "5a17473efbce8b70ddcb323dfe10a36208a1ec5e069c72298f9d5a0423343ba6",
283
+ "tests/unit/test_rms_norm.py": "1196bed05216527986a366bd98985ccf0ec04bb6bd692dd5c30b7c6f4017f38e",
284
+ "tests/unit/test_rope.py": "c22883d945579f7365ef50fbfd942c62329e2a4f6a907187d8a56151b57eef0c",
285
+ "tests/unit/test_substate.py": "101215ebc50ea587700c4f6dd64ad6fbd40101efc81a917991de856fc67e607e",
286
+ "tt/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
287
+ "tt/attention/__init__.py": "86fbe666fb79e0b726789175fca14912c6bfb971295355165e97a3e8eed4a991",
288
+ "tt/attention/config.py": "6bdec51939dd9824cdb0c904cae46de82fb148d6f8f4be7ecf6d727f5c0cc28e",
289
+ "tt/attention/decode.py": "73ccc4511896933cc0b40bac9b43c0eec583e747a10b4af622e6916233a115d5",
290
+ "tt/attention/gated_attention.py": "42b9480eb138c3c5628d55432e19d875d6fc1847be9ca46b271979d2194017eb",
291
+ "tt/attention/prefill.py": "1cc028e66492bf13d6d8e8040026c6ae4c82618bab19f1db8a7681929553ad77",
292
+ "tt/attention/rope_tp.py": "b841d519864e702ef0c9b63306a28df8d57af6ad17462b9e282b6912239f6e70",
293
+ "tt/attention/tp.py": "a31ec742f2382af56bb620812859be7c25e675f1115c12e9ab713bc2d8bf0f3e",
294
+ "tt/attention/weights.py": "bd50f4f9bcd820fb44a82293e5c34842c9bad55701600410137d19a0e8033428",
295
+ "tt/common.py": "4fb0b62e54f4da4df2013bb05a4504cbf35563e6c7d7ef1073740dff328e4289",
296
+ "tt/fused_swiglu.py": "0c0d8c94369c6e4b5d246afb1f8d36ccaff4b9510b093a76bd243c1c0b67bf51",
297
+ "tt/fused_swiglu_kernel.cpp": "e4d8f6233ec1e86fb80fb0032e01e9c5f7c48ade6603fca50ad59db1c6b5b7f9",
298
+ "tt/gateup_layout/gateup_layout_reader.cpp": "d27e043b36083293a4841c5f69109aeb89bdbe01e1c11cc00e118af04e8bb24a",
299
+ "tt/gdn/__init__.py": "cd9dade74044020df60b3158c82c7ced484a8012d150ae87dcadd09fe45c82e8",
300
+ "tt/gdn/config.py": "d36dc3dabace49f020e96d3979ffd7fba415e9d244db7a511e2ea6611b14e306",
301
+ "tt/gdn/decode.py": "56dd072ad942f2f59af543521cb3a3981bdddd906976892a9c2c9e821f366644",
302
+ "tt/gdn/fused_chunk.py": "d3721fd705f5dcf513ad90fe21496fe2e475ffb14683a07533f51aba77762d7a",
303
+ "tt/gdn/fused_commit.py": "2a248f57b59a74e5a4ef04ab1e6386f24de4ddfdbff2de3904f6abbc1d2168c0",
304
+ "tt/gdn/fused_commit_kernel.cpp": "f92493aaefe3ca27f8e0006b0f749ce900ccd63f4a37a261a126cebda619b1b1",
305
+ "tt/gdn/fused_verify_output.cpp": "10f0f96fc1a4f9a8888ff606974f4f5ad0309f119be30fb5490c79e1a4584e5c",
306
+ "tt/gdn/fused_verify_output.py": "e782e7711a02eac5de100bcd2b26b463437d0f6ad05ee3b345e319c4c1dff3ce",
307
+ "tt/gdn/fused_verify_writer.cpp": "f38160d095b1fb384a875f2dbd949d5cd0708f8316d708a9e10d3798b41bfad6",
308
+ "tt/gdn/gated_deltanet.py": "5b3b1efad65cf9ddf6c201fff6ced22dda0f8feb924d564047edbb484ca0f006",
309
+ "tt/gdn/native_frontend.py": "45531e65d90e79ddf8d51b7757060ff8e86aaf1b3e80e0f2740c90f7c363a11a",
310
+ "tt/gdn/native_frontend_kernel.cpp": "0d46fe1db394499da78dda8c6f83f9776692388b55afa2ff3cf615d23f4490b3",
311
+ "tt/gdn/native_output.py": "4961e26b7fb0ecd068ec92871389d5502e244f0002dda8fdbec68da5deaab508",
312
+ "tt/gdn/native_output_kernel.cpp": "16088ec9cd0d2001081f58cf595668e5e565f1db0a3f6a93ec654eba965335bd",
313
+ "tt/gdn/state.py": "34a2323786d33640ad9fb8a9d74f8e8f830a8a46e3946c5029648c5647ed944e",
314
+ "tt/gdn/tp.py": "72c1a2fe5d7b60b6740d42037c70ff2fe93a5e1fbaa3b5e18d629e2f4cd47de9",
315
+ "tt/gdn/weights.py": "a7dbd253ab080dac1885e1a6f1bd7831032c2222c7200932c179941f61112302",
316
+ "tt/generator_interface.py": "5eb6f5c1874e88ae097f6be4a884b38790525fa42f62ca88c3763ef490b3c456",
317
+ "tt/layer.py": "fa986f11ee9ca7b22e4387b5b47ac936192513ac96e0c633df266671fddae4fd",
318
+ "tt/mlp.py": "9a9356f88f6124b74967e1fed34bea5383a83ffbf7206e944a0964e70ba1a11f",
319
+ "tt/model.py": "23d23caef5aac2f34b3ac41f9af9b5cd65ae0a67b7424e3d50d9741fc919e684",
320
+ "tt/model_config.py": "268444cc9edcd069e0fa74141a286035512551c40141e50565726d134cc7903c",
321
+ "tt/mtp.py": "6ccd78a5ffd176e7267d60d6cff960014918df203130614a0cd2b201eeffa4c8",
322
+ "tt/qwen36_vllm.py": "2e3bc11507f4fbba00464593e048faa1e29d8928722143839541c96e319be7fc",
323
+ "tt/rms_norm.py": "5bb650d835e5ed6cdfa375e64c80ed92a1758996883ffb7c238b2195869f6f00",
324
+ "tt/rope.py": "baa056d37129f1fa97a444ba5f6d5f3a5cfd6c15402dcfad13d300b11f2cef26",
325
+ "tt/tp_common.py": "bb43f0cde336c3f84725d47a64ed2b506b5287bdd0e910cd24b13feed0a0826a",
326
+ "tt/vision/__init__.py": "cc2c73418c0211e5db739ce19e47b7c479f507d246e37239d90d0f469d73f1ef",
327
+ "tt/vision/functional.py": "02a48050552879762da15634627500c04e49c620ef880c05c794715c536e5511",
328
+ "tt/vision/model.py": "92f33dcd670d8bf2000a8f523b2dcba4cada9599d309e0d7d079a87720742f91",
329
+ "tt/vision/patch_merger.py": "c7af2a141d45c8d7843445aaa0f68be9eaf5f6249d1c42c2a8f0fa393496aae9",
330
+ "tt/vision/vision_attention.py": "5f99bb9243dce7c37045f82d5917b005bb7aa6ca6dfac788bb69abc44927a0be",
331
+ "tt/vision/vision_block.py": "1d951f0732445ee099112711c8a59b9701a235e35668b87b97cb965faa74ad64",
332
+ "tt/vision/vision_distributed_layernorm.py": "47fd0fcf240b4a1dba399e2f608b050ecc789ffe2c7871d375b94574bda49a23",
333
+ "tt/vision/vision_layernorm.py": "cb2b91f9d6cdf788847871eeb3fd21059dc3934ed274e61e40f5e9fc98e0db60",
334
+ "tt/vision/vision_mlp.py": "6c3c092c33df7cba0483b6ab88903f29a95f2fcecc723d3884e3cbe4effcd0e5",
335
+ "tt/vision/vision_model_config.py": "bf1eb6f5d47243c46c33ee2c3506f6985131a379161d71a02b7bff88bdec5a4d",
336
+ "tt/weight_mapping.py": "d7ad88592fb7de07d87fa0d10f9d1bd0d4dcc92856438fffc394f90e29e650d2",
337
+ "utils/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
338
+ "utils/substate.py": "813aa26dc9053e1217425a3cacf0c63255254f9d17723f3b5ac378167cfca28c"
339
+ },
340
+ "scope": "Exact parity only on recorded full-vocabulary teacher-forced sequences; not a quality certification",
341
+ "tokens_compared": 1415
342
+ }
checkpoint/equivalence.json ADDED
@@ -0,0 +1,342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "baseline_metadata_sha256": "cf8d5c51f40fe78c935b71dfacd821073dca741ed28db78f6794e9cb020870e1",
3
+ "exact_logits_equal": true,
4
+ "manifest_sha256": "34f774cf110e3ff94726171b52f6d462cb9b36651295b941efa85098ddb96ca2",
5
+ "precision": {
6
+ "layers": {
7
+ "0": {
8
+ "gdn": "bfp8",
9
+ "gdn_output": "bfp8",
10
+ "mlp_down": "bfp4",
11
+ "mlp_gate_up": "bfp4"
12
+ },
13
+ "1": {
14
+ "gdn": "bfp8",
15
+ "gdn_output": "bfp8",
16
+ "mlp_down": "bfp8",
17
+ "mlp_gate_up": "bfp4"
18
+ },
19
+ "10": {
20
+ "gdn": "bfp8",
21
+ "gdn_output": "bfp8",
22
+ "mlp_down": "bfp4",
23
+ "mlp_gate_up": "bfp4"
24
+ },
25
+ "11": {
26
+ "attention": "bfp8",
27
+ "mlp_down": "bfp4",
28
+ "mlp_gate_up": "bfp4"
29
+ },
30
+ "12": {
31
+ "gdn": "bfp8",
32
+ "gdn_output": "bfp8",
33
+ "mlp_down": "bfp4",
34
+ "mlp_gate_up": "bfp8"
35
+ },
36
+ "13": {
37
+ "gdn": "bfp8",
38
+ "gdn_output": "bfp8",
39
+ "mlp_down": "bfp4",
40
+ "mlp_gate_up": "bfp8"
41
+ },
42
+ "14": {
43
+ "gdn": "bfp8",
44
+ "gdn_output": "bfp8",
45
+ "mlp_down": "bfp4",
46
+ "mlp_gate_up": "bfp8"
47
+ },
48
+ "15": {
49
+ "attention": "bfp8",
50
+ "mlp_down": "bfp4",
51
+ "mlp_gate_up": "bfp8"
52
+ },
53
+ "16": {
54
+ "gdn": "bfp8",
55
+ "gdn_output": "bfp8",
56
+ "mlp_down": "bfp8",
57
+ "mlp_gate_up": "bfp8"
58
+ },
59
+ "17": {
60
+ "gdn": "bfp8",
61
+ "gdn_output": "bfp8",
62
+ "mlp_down": "bfp4",
63
+ "mlp_gate_up": "bfp8"
64
+ },
65
+ "18": {
66
+ "gdn": "bfp8",
67
+ "gdn_output": "bfp8",
68
+ "mlp_down": "bfp8",
69
+ "mlp_gate_up": "bfp8"
70
+ },
71
+ "19": {
72
+ "attention": "bfp8",
73
+ "mlp_down": "bfp8",
74
+ "mlp_gate_up": "bfp8"
75
+ },
76
+ "2": {
77
+ "gdn": "bfp8",
78
+ "gdn_output": "bfp8",
79
+ "mlp_down": "bfp4",
80
+ "mlp_gate_up": "bfp4"
81
+ },
82
+ "20": {
83
+ "gdn": "bfp8",
84
+ "gdn_output": "bfp8",
85
+ "mlp_down": "bfp4",
86
+ "mlp_gate_up": "bfp8"
87
+ },
88
+ "21": {
89
+ "gdn": "bfp8",
90
+ "gdn_output": "bfp8",
91
+ "mlp_down": "bfp4",
92
+ "mlp_gate_up": "bfp8"
93
+ },
94
+ "22": {
95
+ "gdn": "bfp8",
96
+ "gdn_output": "bfp8",
97
+ "mlp_down": "bfp8",
98
+ "mlp_gate_up": "bfp8"
99
+ },
100
+ "23": {
101
+ "attention": "bfp8",
102
+ "mlp_down": "bfp4",
103
+ "mlp_gate_up": "bfp8"
104
+ },
105
+ "24": {
106
+ "gdn": "bfp8",
107
+ "gdn_output": "bfp8",
108
+ "mlp_down": "bfp4",
109
+ "mlp_gate_up": "bfp4"
110
+ },
111
+ "25": {
112
+ "gdn": "bfp8",
113
+ "gdn_output": "bfp8",
114
+ "mlp_down": "bfp4",
115
+ "mlp_gate_up": "bfp4"
116
+ },
117
+ "26": {
118
+ "gdn": "bfp8",
119
+ "gdn_output": "bfp8",
120
+ "mlp_down": "bfp4",
121
+ "mlp_gate_up": "bfp4"
122
+ },
123
+ "27": {
124
+ "attention": "bfp8",
125
+ "mlp_down": "bfp4",
126
+ "mlp_gate_up": "bfp8"
127
+ },
128
+ "28": {
129
+ "gdn": "bfp8",
130
+ "gdn_output": "bfp8",
131
+ "mlp_down": "bfp4",
132
+ "mlp_gate_up": "bfp8"
133
+ },
134
+ "29": {
135
+ "gdn": "bfp8",
136
+ "gdn_output": "bfp8",
137
+ "mlp_down": "bfp4",
138
+ "mlp_gate_up": "bfp8"
139
+ },
140
+ "3": {
141
+ "attention": "bfp8",
142
+ "mlp_down": "bfp4",
143
+ "mlp_gate_up": "bfp4"
144
+ },
145
+ "30": {
146
+ "gdn": "bfp8",
147
+ "gdn_output": "bfp8",
148
+ "mlp_down": "bfp8",
149
+ "mlp_gate_up": "bfp8"
150
+ },
151
+ "31": {
152
+ "attention": "bfp8",
153
+ "mlp_down": "bfp8",
154
+ "mlp_gate_up": "bfp8"
155
+ },
156
+ "4": {
157
+ "gdn": "bfp8",
158
+ "gdn_output": "bfp8",
159
+ "mlp_down": "bfp4",
160
+ "mlp_gate_up": "bfp4"
161
+ },
162
+ "5": {
163
+ "gdn": "bfp8",
164
+ "gdn_output": "bfp8",
165
+ "mlp_down": "bfp4",
166
+ "mlp_gate_up": "bfp4"
167
+ },
168
+ "6": {
169
+ "gdn": "bfp8",
170
+ "gdn_output": "bfp8",
171
+ "mlp_down": "bfp8",
172
+ "mlp_gate_up": "bfp4"
173
+ },
174
+ "7": {
175
+ "attention": "bfp8",
176
+ "mlp_down": "bfp4",
177
+ "mlp_gate_up": "bfp4"
178
+ },
179
+ "8": {
180
+ "gdn": "bfp8",
181
+ "gdn_output": "bfp8",
182
+ "mlp_down": "bfp4",
183
+ "mlp_gate_up": "bfp4"
184
+ },
185
+ "9": {
186
+ "gdn": "bfp8",
187
+ "gdn_output": "bfp8",
188
+ "mlp_down": "bfp4",
189
+ "mlp_gate_up": "bfp4"
190
+ }
191
+ },
192
+ "lm_head": "bfp8"
193
+ },
194
+ "records": [
195
+ {
196
+ "baseline_sha256": "730b53e084230fe28916b6d25eebfbd65c04c1c23bbc8a76bedd791ca0673146",
197
+ "id": "instruct-code-train-156476",
198
+ "restored_sha256": "730b53e084230fe28916b6d25eebfbd65c04c1c23bbc8a76bedd791ca0673146"
199
+ },
200
+ {
201
+ "baseline_sha256": "d789b431d2bd3cd32da1204889f24005e59922445920141b543a528f6221b34d",
202
+ "id": "instruct-multilingual-test-5",
203
+ "restored_sha256": "d789b431d2bd3cd32da1204889f24005e59922445920141b543a528f6221b34d"
204
+ },
205
+ {
206
+ "baseline_sha256": "a93674e96ea9e4ac6f91d8ccb37935da84e3d179e1c32e80b171a05fb3638e66",
207
+ "id": "instruct-multilingual-test-1160",
208
+ "restored_sha256": "a93674e96ea9e4ac6f91d8ccb37935da84e3d179e1c32e80b171a05fb3638e66"
209
+ }
210
+ ],
211
+ "restored_metadata_sha256": "5409a61cd263cd7f5cb9c89953144502024108d9d1b9e4cfc440a71634805c4c",
212
+ "runtime_environment": {
213
+ "ARCH_NAME": "blackhole",
214
+ "MESH_DEVICE": "P150",
215
+ "QWEN36_BFP4_LM_HEAD": "1",
216
+ "QWEN36_BFP4_MLP_DOWN": "1",
217
+ "QWEN36_BFP4_WEIGHTS": "1",
218
+ "QWEN36_FUSED_FINAL_RESIDUAL_NORM": "1",
219
+ "QWEN36_FUSED_GATE_UP": "1",
220
+ "QWEN36_FUSED_GATE_UP_CORES": "110",
221
+ "QWEN36_FUSED_GATE_UP_PACKED": "1",
222
+ "QWEN36_FUSED_QKV": "1",
223
+ "QWEN36_GATEUP_CB_SLOTS": "2",
224
+ "QWEN36_GATEUP_OUTSTANDING": "1",
225
+ "QWEN36_GATEUP_REQUIRE_PACKED": "1",
226
+ "QWEN36_LM_HEAD_CB_SLOTS": "2",
227
+ "QWEN36_LM_HEAD_OUTSTANDING": "1",
228
+ "QWEN36_LM_HEAD_PACKED": "1",
229
+ "QWEN36_LM_HEAD_REQUIRE_PACKED": "1",
230
+ "QWEN36_MAX_TOKENS_ALL_USERS": "8192",
231
+ "QWEN36_MLP_DOWN_CB_SLOTS": "2",
232
+ "QWEN36_MLP_DOWN_OUTSTANDING": "1",
233
+ "QWEN36_MLP_DOWN_PACKED": "1",
234
+ "QWEN36_MLP_DOWN_REQUIRE_PACKED": "1",
235
+ "QWEN36_MTP": "0",
236
+ "QWEN36_SHARDED_FINAL_NORM": "1",
237
+ "QWEN36_SINGLE_1D_DECODE": "1",
238
+ "QWEN_GDN_FRONTEND_FUSED": "1",
239
+ "QWEN_GDN_MEGA_CB_SLOTS": "2",
240
+ "QWEN_GDN_MEGA_CORES": "110",
241
+ "QWEN_GDN_MEGA_OUTSTANDING": "1",
242
+ "QWEN_GDN_MEGA_PACKED": "1",
243
+ "QWEN_GDN_MEGA_REQUIRE_PACKED": "1",
244
+ "QWEN_GDN_OUTPUT_FUSED": "1",
245
+ "QWEN_GDN_RECURRENT_FUSED": "1",
246
+ "QWEN_SDPA_BF8": "0",
247
+ "TT_QWEN35_TEXT_VER": "qwen36_blackhole"
248
+ },
249
+ "runtime_sources": {
250
+ "__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
251
+ "demo/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
252
+ "demo/benchmark_vision.py": "98e1c2924c7387748bccb4db7ab4e4b7186747a281145cc7dca29576e44d8f6c",
253
+ "demo/text_demo.py": "9e3c1d86391312efb3ef6c8f07636d586322e7d22359cfb8d58a9cb1443fc37d",
254
+ "demo/vision_demo.py": "fe25dd9e81c3fc8b2ef3908b613500fd4de84106d9e2005ab753f5b62821f523",
255
+ "tests/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
256
+ "tests/conftest.py": "facc72bc2d4daaa6063efb448360b48d48e936388df0bd9ad84ec1833b85f6b2",
257
+ "tests/test_attention_tp.py": "faac4db41e15dea443bb9185635e94d5c9e968fbb8e4b95009ce874f88192566",
258
+ "tests/test_decode_bucketing.py": "b4b122dfeeb530d460a7bdb20534621009710d3b52bbfb28d475581107303422",
259
+ "tests/test_factory.py": "ddbbfd6ab73db4bfc9b45ae32bc6de44d5d032e8d41cb8d27f39aa0a8ab01d73",
260
+ "tests/test_gdn_tp.py": "4fc8a93b4c122f24ffa7c15be459011b39ff72e0ffe5a3665453507f2a74b8d8",
261
+ "tests/test_generate_tp.py": "2cc65458dd3acc06de9a8da5a2457e9d1dae639dabf7436b456f632fdf6408bd",
262
+ "tests/test_mlp.py": "0c7a32c00de7d42700e78e63a12b5abe8d11ecc41f36a33d8b078ffd7f788d2e",
263
+ "tests/test_mlp_tp.py": "3402b0165e6dedd386d9b57a23df80811c6f4f261c818f4a5e448b04608a245a",
264
+ "tests/test_model.py": "123d57bfe23fd7d2d2f070b62589b1af617733dfb566695b11ee775523c29080",
265
+ "tests/test_model_tp.py": "d3733c41e470165895dce249ecbf86776427bb5f9348f267988bcfce7a1a568b",
266
+ "tests/test_patch_merger.py": "893db166c3aea884e05a2099529e4842e03f2ae3ce45fdeae9b765b502c053a4",
267
+ "tests/test_prefill.py": "b4d0ac8c72656e8dc771bf2a9c231f8dded674a9e5ff14be82e878b3d85f6072",
268
+ "tests/test_rope_tp.py": "cf0c1fa054bd79f639cfe773b0acf4f6bcf53bf01c77911a886064e85fdd6a47",
269
+ "tests/test_sampling.py": "7444ccb142551cdf4190305039b94d7d4622a050dd905a53da3256e8c985c2b5",
270
+ "tests/test_vision_attention.py": "e04c1814d95959aee63d7a6fdc2032762418f1f1956a31bd0dbfaeff033f27dd",
271
+ "tests/test_vision_block.py": "3065caa4c032cc89140986418d1c9ae4cfe06ad8e91b05de950579b17dcb3e6c",
272
+ "tests/test_weight_mapping.py": "beb49e1a62ab665523329fed2da45481803676acd98b705c7c2f5be420f28710",
273
+ "tests/test_wrapped_model.py": "eddaca444bc1bea1c73aa28299739a910192b305b7bdc686fb09f96b1767ac2a",
274
+ "tests/unit/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
275
+ "tests/unit/conftest.py": "7dcbd7c08346a18f41f7f22c8fd63503468bcf69b1c4b6d60737cb02081c770d",
276
+ "tests/unit/test_attention.py": "bc4ff5c0c429bca4607534329e62cbcd84061d0b1a9a02dc7ee6534db47cb1e7",
277
+ "tests/unit/test_embedding.py": "66607195f94c141b153f198e0310dd8a3c20a50e3b7689e9d31b19b1e18e3558",
278
+ "tests/unit/test_gdn.py": "15323b3051d4c466d1a6021681ea37b0e70806358ec619f69419e2b36426b501",
279
+ "tests/unit/test_layer.py": "d6babb72837bec309e047d4c03e91733a1711dad2c0568fc65fb15c6c1d94385",
280
+ "tests/unit/test_lm_head.py": "327f70e8d720f4ca52327ecbc87ec52e8d5969b24ab1bd593916362c51604994",
281
+ "tests/unit/test_mlp.py": "3947b52bd589f1daa46634f70f0e0f47c2715d7d75c05607e8c6222e049ba49f",
282
+ "tests/unit/test_model.py": "5a17473efbce8b70ddcb323dfe10a36208a1ec5e069c72298f9d5a0423343ba6",
283
+ "tests/unit/test_rms_norm.py": "1196bed05216527986a366bd98985ccf0ec04bb6bd692dd5c30b7c6f4017f38e",
284
+ "tests/unit/test_rope.py": "c22883d945579f7365ef50fbfd942c62329e2a4f6a907187d8a56151b57eef0c",
285
+ "tests/unit/test_substate.py": "101215ebc50ea587700c4f6dd64ad6fbd40101efc81a917991de856fc67e607e",
286
+ "tt/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
287
+ "tt/attention/__init__.py": "86fbe666fb79e0b726789175fca14912c6bfb971295355165e97a3e8eed4a991",
288
+ "tt/attention/config.py": "6bdec51939dd9824cdb0c904cae46de82fb148d6f8f4be7ecf6d727f5c0cc28e",
289
+ "tt/attention/decode.py": "73ccc4511896933cc0b40bac9b43c0eec583e747a10b4af622e6916233a115d5",
290
+ "tt/attention/gated_attention.py": "42b9480eb138c3c5628d55432e19d875d6fc1847be9ca46b271979d2194017eb",
291
+ "tt/attention/prefill.py": "1cc028e66492bf13d6d8e8040026c6ae4c82618bab19f1db8a7681929553ad77",
292
+ "tt/attention/rope_tp.py": "b841d519864e702ef0c9b63306a28df8d57af6ad17462b9e282b6912239f6e70",
293
+ "tt/attention/tp.py": "a31ec742f2382af56bb620812859be7c25e675f1115c12e9ab713bc2d8bf0f3e",
294
+ "tt/attention/weights.py": "bd50f4f9bcd820fb44a82293e5c34842c9bad55701600410137d19a0e8033428",
295
+ "tt/common.py": "4fb0b62e54f4da4df2013bb05a4504cbf35563e6c7d7ef1073740dff328e4289",
296
+ "tt/fused_swiglu.py": "0c0d8c94369c6e4b5d246afb1f8d36ccaff4b9510b093a76bd243c1c0b67bf51",
297
+ "tt/fused_swiglu_kernel.cpp": "e4d8f6233ec1e86fb80fb0032e01e9c5f7c48ade6603fca50ad59db1c6b5b7f9",
298
+ "tt/gateup_layout/gateup_layout_reader.cpp": "d27e043b36083293a4841c5f69109aeb89bdbe01e1c11cc00e118af04e8bb24a",
299
+ "tt/gdn/__init__.py": "cd9dade74044020df60b3158c82c7ced484a8012d150ae87dcadd09fe45c82e8",
300
+ "tt/gdn/config.py": "d36dc3dabace49f020e96d3979ffd7fba415e9d244db7a511e2ea6611b14e306",
301
+ "tt/gdn/decode.py": "56dd072ad942f2f59af543521cb3a3981bdddd906976892a9c2c9e821f366644",
302
+ "tt/gdn/fused_chunk.py": "d3721fd705f5dcf513ad90fe21496fe2e475ffb14683a07533f51aba77762d7a",
303
+ "tt/gdn/fused_commit.py": "2a248f57b59a74e5a4ef04ab1e6386f24de4ddfdbff2de3904f6abbc1d2168c0",
304
+ "tt/gdn/fused_commit_kernel.cpp": "f92493aaefe3ca27f8e0006b0f749ce900ccd63f4a37a261a126cebda619b1b1",
305
+ "tt/gdn/fused_verify_output.cpp": "10f0f96fc1a4f9a8888ff606974f4f5ad0309f119be30fb5490c79e1a4584e5c",
306
+ "tt/gdn/fused_verify_output.py": "e782e7711a02eac5de100bcd2b26b463437d0f6ad05ee3b345e319c4c1dff3ce",
307
+ "tt/gdn/fused_verify_writer.cpp": "f38160d095b1fb384a875f2dbd949d5cd0708f8316d708a9e10d3798b41bfad6",
308
+ "tt/gdn/gated_deltanet.py": "5b3b1efad65cf9ddf6c201fff6ced22dda0f8feb924d564047edbb484ca0f006",
309
+ "tt/gdn/native_frontend.py": "45531e65d90e79ddf8d51b7757060ff8e86aaf1b3e80e0f2740c90f7c363a11a",
310
+ "tt/gdn/native_frontend_kernel.cpp": "0d46fe1db394499da78dda8c6f83f9776692388b55afa2ff3cf615d23f4490b3",
311
+ "tt/gdn/native_output.py": "4961e26b7fb0ecd068ec92871389d5502e244f0002dda8fdbec68da5deaab508",
312
+ "tt/gdn/native_output_kernel.cpp": "16088ec9cd0d2001081f58cf595668e5e565f1db0a3f6a93ec654eba965335bd",
313
+ "tt/gdn/state.py": "34a2323786d33640ad9fb8a9d74f8e8f830a8a46e3946c5029648c5647ed944e",
314
+ "tt/gdn/tp.py": "72c1a2fe5d7b60b6740d42037c70ff2fe93a5e1fbaa3b5e18d629e2f4cd47de9",
315
+ "tt/gdn/weights.py": "a7dbd253ab080dac1885e1a6f1bd7831032c2222c7200932c179941f61112302",
316
+ "tt/generator_interface.py": "5eb6f5c1874e88ae097f6be4a884b38790525fa42f62ca88c3763ef490b3c456",
317
+ "tt/layer.py": "fa986f11ee9ca7b22e4387b5b47ac936192513ac96e0c633df266671fddae4fd",
318
+ "tt/mlp.py": "9a9356f88f6124b74967e1fed34bea5383a83ffbf7206e944a0964e70ba1a11f",
319
+ "tt/model.py": "23d23caef5aac2f34b3ac41f9af9b5cd65ae0a67b7424e3d50d9741fc919e684",
320
+ "tt/model_config.py": "268444cc9edcd069e0fa74141a286035512551c40141e50565726d134cc7903c",
321
+ "tt/mtp.py": "6ccd78a5ffd176e7267d60d6cff960014918df203130614a0cd2b201eeffa4c8",
322
+ "tt/qwen36_vllm.py": "2e3bc11507f4fbba00464593e048faa1e29d8928722143839541c96e319be7fc",
323
+ "tt/rms_norm.py": "5bb650d835e5ed6cdfa375e64c80ed92a1758996883ffb7c238b2195869f6f00",
324
+ "tt/rope.py": "baa056d37129f1fa97a444ba5f6d5f3a5cfd6c15402dcfad13d300b11f2cef26",
325
+ "tt/tp_common.py": "bb43f0cde336c3f84725d47a64ed2b506b5287bdd0e910cd24b13feed0a0826a",
326
+ "tt/vision/__init__.py": "cc2c73418c0211e5db739ce19e47b7c479f507d246e37239d90d0f469d73f1ef",
327
+ "tt/vision/functional.py": "02a48050552879762da15634627500c04e49c620ef880c05c794715c536e5511",
328
+ "tt/vision/model.py": "92f33dcd670d8bf2000a8f523b2dcba4cada9599d309e0d7d079a87720742f91",
329
+ "tt/vision/patch_merger.py": "c7af2a141d45c8d7843445aaa0f68be9eaf5f6249d1c42c2a8f0fa393496aae9",
330
+ "tt/vision/vision_attention.py": "5f99bb9243dce7c37045f82d5917b005bb7aa6ca6dfac788bb69abc44927a0be",
331
+ "tt/vision/vision_block.py": "1d951f0732445ee099112711c8a59b9701a235e35668b87b97cb965faa74ad64",
332
+ "tt/vision/vision_distributed_layernorm.py": "47fd0fcf240b4a1dba399e2f608b050ecc789ffe2c7871d375b94574bda49a23",
333
+ "tt/vision/vision_layernorm.py": "cb2b91f9d6cdf788847871eeb3fd21059dc3934ed274e61e40f5e9fc98e0db60",
334
+ "tt/vision/vision_mlp.py": "6c3c092c33df7cba0483b6ab88903f29a95f2fcecc723d3884e3cbe4effcd0e5",
335
+ "tt/vision/vision_model_config.py": "bf1eb6f5d47243c46c33ee2c3506f6985131a379161d71a02b7bff88bdec5a4d",
336
+ "tt/weight_mapping.py": "d7ad88592fb7de07d87fa0d10f9d1bd0d4dcc92856438fffc394f90e29e650d2",
337
+ "utils/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
338
+ "utils/substate.py": "813aa26dc9053e1217425a3cacf0c63255254f9d17723f3b5ac378167cfca28c"
339
+ },
340
+ "scope": "Exact parity only on recorded full-vocabulary teacher-forced sequences; not a quality certification",
341
+ "tokens_compared": 1415
342
+ }
checkpoint/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint/native_checkpoint.py ADDED
@@ -0,0 +1,315 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """TT-native text-only checkpoint contract and lossless host reconstruction.
3
+
4
+ Native matrices are TTNN TILE dumps in [input, output] orientation. Loading
5
+ returns remapped torch [output, input] BF16 tensors; the runtime requantizes
6
+ them. This is NOT direct device-cache loading, GGUF, QAT, or an official
7
+ Unsloth quant. Exact per-matrix idempotence is necessary but insufficient:
8
+ GDN AB/mega tensors concatenate quant-rounded components, and packed/fused
9
+ layouts can regroup block exponents. End-to-end equivalence is required for
10
+ each supported runtime configuration. Single-device generic or dtype-gated
11
+ mixed packed execution with optional one-token MTP can be verified; vision
12
+ and tensor parallelism are excluded. MTP source tensors are stored losslessly.
13
+
14
+ TTNN host conversion may initialize driver metadata: even host-only commands
15
+ need exclusive device ownership in this environment. No original HF checkpoint
16
+ is used by this loader. The installed compatible TT runtime is still required.
17
+ """
18
+ import argparse
19
+ import hashlib
20
+ import json
21
+ import os
22
+ from pathlib import Path
23
+
24
+ MANIFEST = "native_manifest.json"
25
+ FORMAT = "qwen35-9b-ttnn-native-text-v1"
26
+ DTYPES = {"bf16": "bfloat16", "bfp8": "bfloat8_b", "bfp4": "bfloat4_b"}
27
+ MTP_KEYS = frozenset({
28
+ "mtp.fc.weight",
29
+ "mtp.norm.weight",
30
+ "mtp.pre_fc_norm_embedding.weight",
31
+ "mtp.pre_fc_norm_hidden.weight",
32
+ "mtp.layers.0.input_layernorm.weight",
33
+ "mtp.layers.0.post_attention_layernorm.weight",
34
+ "mtp.layers.0.self_attn.q_norm.weight",
35
+ "mtp.layers.0.self_attn.k_norm.weight",
36
+ "mtp.layers.0.self_attn.q_proj.weight",
37
+ "mtp.layers.0.self_attn.k_proj.weight",
38
+ "mtp.layers.0.self_attn.v_proj.weight",
39
+ "mtp.layers.0.self_attn.o_proj.weight",
40
+ "mtp.layers.0.mlp.gate_proj.weight",
41
+ "mtp.layers.0.mlp.up_proj.weight",
42
+ "mtp.layers.0.mlp.down_proj.weight",
43
+ })
44
+
45
+
46
+ def tensor_hash(tensor):
47
+ import torch
48
+
49
+ raw = tensor.contiguous().view(torch.uint8).reshape(-1).numpy()
50
+ return hashlib.sha256(memoryview(raw)).hexdigest()
51
+
52
+
53
+ def validate_mtp_keys(keys):
54
+ actual = {name for name in keys if name.startswith("mtp.")}
55
+ if actual != MTP_KEYS:
56
+ raise ValueError(f"Incomplete/unsupported one-layer MTP subtree: missing={sorted(MTP_KEYS - actual)}, unexpected={sorted(actual - MTP_KEYS)}")
57
+
58
+
59
+ def equivalence_filename(environment):
60
+ mode = environment.get("QWEN36_MTP")
61
+ if mode not in ("0", "1"):
62
+ raise ValueError("Equivalence requires explicit QWEN36_MTP=0 or QWEN36_MTP=1")
63
+ return "equivalence-mtp.json" if mode == "1" else "equivalence.json"
64
+
65
+
66
+ def digest(path):
67
+ value = hashlib.sha256()
68
+ with Path(path).open("rb") as stream:
69
+ for block in iter(lambda: stream.read(8 * 1024 * 1024), b""):
70
+ value.update(block)
71
+ return value.hexdigest()
72
+
73
+
74
+ def save_json(path, value):
75
+ path = Path(path)
76
+ temporary = path.with_suffix(path.suffix + ".partial")
77
+ temporary.write_text(json.dumps(value, sort_keys=True, indent=2, allow_nan=False) + "\n")
78
+ temporary.replace(path)
79
+
80
+
81
+ def local_file(root, name):
82
+ root = Path(root).resolve()
83
+ path = (root / name).resolve()
84
+ if not path.is_relative_to(root) or path == root:
85
+ raise ValueError(f"Artifact path escapes checkpoint: {name}")
86
+ return path
87
+
88
+
89
+ def read_manifest(root):
90
+ manifest = json.loads((Path(root) / MANIFEST).read_text())
91
+ if manifest.get("format") != FORMAT or manifest.get("scope") != "text-only-no-vision-with-mtp":
92
+ raise ValueError("Unsupported native checkpoint format/scope")
93
+ if not manifest.get("tensors") or not manifest.get("roundtrip", {}).get("all_passed"):
94
+ raise ValueError("Incomplete native checkpoint or failed tensor roundtrip")
95
+ mtp = manifest.get("mtp", {})
96
+ if (mtp.get("enabled") is not True or type(mtp.get("num_speculative_tokens")) is not int
97
+ or mtp["num_speculative_tokens"] != 1 or type(mtp.get("source_tensor_count")) is not int
98
+ or mtp["source_tensor_count"] != len(MTP_KEYS) or mtp.get("storage") != "lossless"):
99
+ raise ValueError("Checkpoint requires complete lossless MTP-1 metadata")
100
+ validate_mtp_keys(manifest["tensors"])
101
+ for name in MTP_KEYS:
102
+ entry = manifest["tensors"][name]
103
+ source_hash = entry.get("source_tensor_sha256")
104
+ file_info = manifest.get("files", {}).get(entry.get("file"), {})
105
+ if (entry.get("storage") != "safetensors-lossless" or entry.get("source_name") != name
106
+ or not entry.get("source_shape") or entry["source_shape"] != entry.get("shape")
107
+ or not entry.get("source_torch_dtype")
108
+ or entry["source_torch_dtype"] != entry.get("restored_torch_dtype")
109
+ or not isinstance(source_hash, str) or len(source_hash) != 64
110
+ or any(c not in "0123456789abcdef" for c in source_hash)
111
+ or source_hash != entry.get("tensor_sha256")
112
+ or not file_info.get("sha256") or entry.get("sha256") != file_info["sha256"]
113
+ or entry.get("roundtrip", {}).get("exact_values") is not True
114
+ or entry.get("roundtrip", {}).get("exact_dtype") is not True):
115
+ raise ValueError(f"MTP tensor is not bound to lossless original values/dtype: {name}")
116
+ return manifest
117
+
118
+
119
+ def verify_files(root, manifest):
120
+ for name, info in manifest["files"].items():
121
+ path = local_file(root, name)
122
+ if path.stat().st_size != info["bytes"] or digest(path) != info["sha256"]:
123
+ raise ValueError(f"Checkpoint file hash/size mismatch: {name}")
124
+
125
+
126
+ def require_equivalence(root, manifest):
127
+ proof = json.loads((Path(root) / equivalence_filename(os.environ)).read_text())
128
+ if (proof.get("manifest_sha256") != digest(Path(root) / MANIFEST)
129
+ or proof.get("exact_logits_equal") is not True or proof.get("tokens_compared", 0) < 1):
130
+ raise ValueError("Native checkpoint lacks matching exact end-to-end equivalence evidence")
131
+ if proof.get("precision") != manifest["precision"]:
132
+ raise ValueError("Equivalence evidence precision mismatch")
133
+ environment = proof.get("runtime_environment", {})
134
+ if equivalence_filename(environment) != equivalence_filename(os.environ):
135
+ raise ValueError("Equivalence evidence MTP mode mismatch")
136
+ return proof
137
+
138
+
139
+ def validate_runtime(root, runtime_root, num_devices):
140
+ """Reject using equivalence evidence under a different execution contract."""
141
+ if num_devices != 1:
142
+ raise ValueError("Native checkpoint equivalence covers one device only")
143
+ proof = require_equivalence(root, read_manifest(root))
144
+ for name, value in proof["runtime_environment"].items():
145
+ if os.environ.get(name) != value:
146
+ raise ValueError(f"Runtime environment differs from native equivalence: {name}")
147
+ for name, value in proof["runtime_sources"].items():
148
+ if digest(local_file(runtime_root, name)) != value:
149
+ raise ValueError(f"Runtime source differs from native equivalence: {name}")
150
+
151
+
152
+ def matrix_family(name):
153
+ if name == "output.weight":
154
+ return "lm_head"
155
+ if not name.startswith("layers.") or not name.endswith(".weight"):
156
+ return None
157
+ suffix = ".".join(name.split(".")[2:])
158
+ if suffix in {f"self_attn.{p}_proj.weight" for p in ("q", "k", "v", "o")}:
159
+ return "attention"
160
+ if suffix == "linear_attn.out_proj.weight":
161
+ return "gdn_output"
162
+ if suffix in {f"linear_attn.{p}.weight" for p in ("qkv_proj", "in_proj_a", "in_proj_b", "in_proj_z")}:
163
+ return "gdn"
164
+ if suffix in {"mlp.gate_proj.weight", "mlp.up_proj.weight"}:
165
+ return "mlp_gate_up"
166
+ if suffix == "mlp.down_proj.weight":
167
+ return "mlp_down"
168
+ return None
169
+
170
+
171
+ def tensor_precision(name, plan):
172
+ family = matrix_family(name)
173
+ if family is None:
174
+ return None
175
+ if family == "lm_head":
176
+ return plan[family]
177
+ values = plan["layers"][name.split(".")[1]]
178
+ return values.get("gdn_output", values["gdn"]) if family == "gdn_output" else values[family]
179
+
180
+
181
+ def load_native_checkpoint(root, verify_hashes=True, allow_unverified=False):
182
+ """Reconstruct text and MTP tensors; allow_unverified is for equivalence runs only.
183
+
184
+ Small/nonlinear tensors (including original FP32 A_log/dt_bias) retain
185
+ original values/dtypes. Embeddings and all MTP tensors are stored losslessly. This loader
186
+ materializes one remapped model, never an HF model or an original copy.
187
+ """
188
+ import torch
189
+ import ttnn
190
+ from safetensors import safe_open
191
+
192
+ root = Path(root).resolve()
193
+ manifest = read_manifest(root)
194
+ if verify_hashes:
195
+ verify_files(root, manifest)
196
+ if not allow_unverified:
197
+ require_equivalence(root, manifest)
198
+ result = {}
199
+ for name, entry in manifest["tensors"].items():
200
+ path = local_file(root, entry["file"])
201
+ if entry["storage"] == "ttnn-tile":
202
+ if entry["precision"] != tensor_precision(name, manifest["precision"]):
203
+ raise ValueError(f"Tensor precision disagrees with checkpoint plan: {name}")
204
+ tensor = ttnn.load_tensor(str(path))
205
+ if list(tensor.shape) != entry["native_shape"] or tensor.dtype != getattr(ttnn, DTYPES[entry["precision"]]):
206
+ raise ValueError(f"Native tensor shape/dtype mismatch: {name}")
207
+ if tensor.layout != ttnn.TILE_LAYOUT:
208
+ raise ValueError(f"Native tensor layout mismatch: {name}")
209
+ value = ttnn.to_torch(tensor).to(torch.bfloat16).T.contiguous()
210
+ del tensor
211
+ elif entry["storage"] == "safetensors-lossless":
212
+ with safe_open(str(path), framework="pt", device="cpu") as source:
213
+ value = source.get_tensor(name)
214
+ else:
215
+ raise ValueError(f"Unsupported tensor storage: {name}")
216
+ if list(value.shape) != entry["shape"] or str(value.dtype) != entry["restored_torch_dtype"]:
217
+ raise ValueError(f"Restored tensor shape/dtype mismatch: {name}")
218
+ if name in MTP_KEYS and tensor_hash(value) != entry["source_tensor_sha256"]:
219
+ raise ValueError(f"Restored MTP tensor differs from original source hash: {name}")
220
+ result[name] = value
221
+ if not {"tok_embeddings.weight", "output.weight", "norm.weight"} <= result.keys():
222
+ raise ValueError("Native checkpoint is missing required top-level tensors")
223
+ return result
224
+
225
+
226
+ def record_equivalence(root, baseline, restored):
227
+ """Compare actual full-vocabulary runner artifacts, not weight-error proxies.
228
+
229
+ Baseline must evaluate ORIGINAL weights at the SAME chosen precision and
230
+ runtime, not baseline-bf16 against a mixed candidate. Exact logits equality
231
+ is deliberately strict. Evidence covers the supplied records only.
232
+ The destination is selected by the recorded MTP runtime environment, never
233
+ by the environment of this proof-writing process. MTP proof does not replace
234
+ a separate live speculative-cycle verification.
235
+ """
236
+ import numpy as np
237
+
238
+ root, baseline, restored = map(Path, (root, baseline, restored))
239
+ manifest = read_manifest(root)
240
+ verify_files(root, manifest)
241
+ left = json.loads((baseline / "metadata.json").read_text())
242
+ right = json.loads((restored / "metadata.json").read_text())
243
+ for metadata in (left, right):
244
+ if metadata.get("status") != "complete" or metadata.get("backend") != "ttnn-native":
245
+ raise ValueError("Both evaluations must be completed TTNN runs")
246
+ if metadata.get("precision") != manifest["precision"] or not metadata.get("full_vocabulary"):
247
+ raise ValueError("Both evaluations must use the exported precision and full logits")
248
+ for key in ("precision", "selection", "input_sha256", "runtime_environment", "alignment", "max_seq_len"):
249
+ if left.get(key) != right.get(key):
250
+ raise ValueError(f"End-to-end comparison configuration mismatch: {key}")
251
+ proof_filename = equivalence_filename(left.get("runtime_environment", {}))
252
+ if left["source_identity"]["sources"] != right["source_identity"]["sources"]:
253
+ raise ValueError("Runtime source hashes differ between equivalence runs")
254
+ if right["source_identity"].get("native_manifest_sha256") != digest(root / MANIFEST):
255
+ raise ValueError("Restored evaluation is not bound to this native manifest")
256
+ if left["source_identity"].get("native_manifest_sha256") is not None:
257
+ raise ValueError("Baseline must use the original HF checkpoint")
258
+ if left["source_identity"].get("index_sha256") != manifest["source"]["original_index_sha256"]:
259
+ raise ValueError("Baseline original checkpoint index differs from exported source")
260
+ for metadata in (left, right):
261
+ if metadata["source_identity"].get("config_sha256") != manifest["files"]["config.json"]["sha256"]:
262
+ raise ValueError("Evaluation config differs from native checkpoint")
263
+ rows_a = [json.loads(line) for line in (baseline / "records.jsonl").read_text().splitlines() if line.strip()]
264
+ rows_b = [json.loads(line) for line in (restored / "records.jsonl").read_text().splitlines() if line.strip()]
265
+ if not rows_a or len(rows_a) != len(rows_b):
266
+ raise ValueError("Evaluation record coverage differs or is empty")
267
+ for metadata, rows in ((left, rows_a), (right, rows_b)):
268
+ if metadata.get("completed_records") != len(rows) or [row["id"] for row in rows] != metadata["selection"]["record_ids"]:
269
+ raise ValueError("Evaluation records do not cover the declared completed selection")
270
+ evidence, tokens = [], 0
271
+ for a, b in zip(rows_a, rows_b):
272
+ for key in ("id", "split", "token_ids"):
273
+ if a[key] != b[key]:
274
+ raise ValueError(f"Evaluation record mismatch: {key}")
275
+ file_a = local_file(baseline, a["logits_file"])
276
+ file_b = local_file(restored, b["logits_file"])
277
+ x, y = np.load(file_a, mmap_mode="r"), np.load(file_b, mmap_mode="r")
278
+ expected = (len(a["token_ids"]) - 1, left["vocab_size"])
279
+ if x.shape != expected or y.shape != expected:
280
+ raise ValueError(f"Unexpected full-logits shape for record {a['id']}")
281
+ for start in range(0, x.shape[0], 16):
282
+ if not np.isfinite(x[start:start + 16]).all() or not np.array_equal(x[start:start + 16], y[start:start + 16]):
283
+ raise ValueError(f"Native reload logits differ for record {a['id']} at chunk {start}")
284
+ tokens += x.shape[0]
285
+ evidence.append({"id": a["id"], "baseline_sha256": digest(file_a), "restored_sha256": digest(file_b)})
286
+ proof = {"manifest_sha256": digest(root / MANIFEST), "exact_logits_equal": True,
287
+ "tokens_compared": tokens, "records": evidence, "precision": manifest["precision"],
288
+ "runtime_sources": left["source_identity"]["sources"],
289
+ "runtime_environment": left["runtime_environment"],
290
+ "baseline_metadata_sha256": digest(baseline / "metadata.json"),
291
+ "restored_metadata_sha256": digest(restored / "metadata.json"),
292
+ "scope": "Exact parity only on recorded full-vocabulary teacher-forced sequences; not a quality certification"}
293
+ save_json(root / proof_filename, proof)
294
+ return proof
295
+
296
+
297
+ def main():
298
+ parser = argparse.ArgumentParser(description=__doc__)
299
+ parser.add_argument("checkpoint", type=Path)
300
+ parser.add_argument("--baseline", type=Path)
301
+ parser.add_argument("--restored", type=Path)
302
+ args = parser.parse_args()
303
+ if bool(args.baseline) != bool(args.restored):
304
+ parser.error("--baseline and --restored must be supplied together")
305
+ if args.baseline:
306
+ print(json.dumps(record_equivalence(args.checkpoint, args.baseline, args.restored), indent=2))
307
+ else:
308
+ manifest = read_manifest(args.checkpoint)
309
+ verify_files(args.checkpoint, manifest)
310
+ print(json.dumps({"files_verified": True, "tensors": len(manifest["tensors"]),
311
+ "equivalence": require_equivalence(args.checkpoint, manifest)}, indent=2))
312
+
313
+
314
+ if __name__ == "__main__":
315
+ main()
checkpoint/native_manifest.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint/preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 16777216,
4
+ "shortest_edge": 65536
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "image_processor_type": "Qwen2VLImageProcessorFast"
21
+ }
checkpoint/provenance/build_native_checkpoint.py ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Stream original Qwen3.5-9B text and MTP safetensors into a standalone TT-native PTQ.
3
+
4
+ Run only with exclusive TT device ownership. TTNN host conversion
5
+ initializes device metadata. Example inside the pinned container:
6
+ python /work/build_native_checkpoint.py --weights /weights/Qwen3.5-9B \
7
+ --output /work/native-candidate --profile current-bfp4 \
8
+ --overrides /work/candidate.json --importance /work/importance/importance.npz \
9
+ --container-image IMAGE_ID --device-ownership-confirmed
10
+
11
+ Each target tensor is remapped individually; linear matrices are transposed
12
+ BEFORE native TILE quantization. Other tensors, including BF16 embeddings and
13
+ original FP32 nonlinear parameters, are preserved as individual safetensors.
14
+ All original mtp.* tensors bypass remapping and quantization, preserving their
15
+ runtime keys, values and source dtype for the existing one-layer MTP runtime.
16
+ Importance only measures/ranks precision error: it does not optimize rounding,
17
+ implement an imatrix-aware quantizer, or measure output KL. Candidate quality
18
+ must be evaluated on held-out text with the separate TT runner/scorer.
19
+ """
20
+ import argparse
21
+ import datetime
22
+ import importlib.util
23
+ import json
24
+ import platform
25
+ import shutil
26
+ from pathlib import Path
27
+
28
+ from native_checkpoint import DTYPES, FORMAT, MANIFEST, MTP_KEYS, digest, local_file, matrix_family, save_json, tensor_hash, tensor_precision, validate_mtp_keys
29
+
30
+ ROOT = Path(__file__).resolve().parent
31
+ ASSETS = ("config.json", "tokenizer.json", "tokenizer_config.json", "vocab.json", "merges.txt",
32
+ "chat_template.jinja", "special_tokens_map.json", "added_tokens.json", "generation_config.json",
33
+ "tokenizer.model", "preprocessor_config.json", "processor_config.json",
34
+ "video_preprocessor_config.json")
35
+
36
+
37
+ def load_remapper(path):
38
+ spec = importlib.util.spec_from_file_location("native_export_weight_mapping", path)
39
+ module = importlib.util.module_from_spec(spec)
40
+ spec.loader.exec_module(module)
41
+ return module.remap_qwen36_state_dict
42
+
43
+
44
+ def weight_error(original, restored, importance, module, torch):
45
+ """Bounded row chunks; diagonal input second moments, not output KL."""
46
+ moments, count = None, None
47
+ if importance is not None and module + ".sumsq" in importance.files:
48
+ import numpy as np
49
+
50
+ sumsq = importance[module + ".sumsq"]
51
+ count = int(importance[module + ".count"].item())
52
+ if count < 1 or sumsq.shape != (original.shape[1],) or not np.isfinite(sumsq).all() or (sumsq < 0).any():
53
+ raise ValueError(f"Invalid activation importance for {module}")
54
+ moments = torch.from_numpy(sumsq.copy()).to(torch.float64) / count
55
+ error_sum, original_sum, weighted_error, weighted_signal, max_error = 0.0, 0.0, 0.0, 0.0, 0.0
56
+ for start in range(0, original.shape[0], 128):
57
+ source = original[start:start + 128].to(torch.float32)
58
+ error = restored[start:start + 128].to(torch.float32) - source
59
+ squared = error.square()
60
+ error_sum += squared.sum(dtype=torch.float64).item()
61
+ original_sum += source.square().sum(dtype=torch.float64).item()
62
+ max_error = max(max_error, error.abs().max().item())
63
+ if moments is not None:
64
+ weighted_error += (squared.sum(dim=0, dtype=torch.float64) * moments).sum().item()
65
+ weighted_signal += (source.square().sum(dim=0, dtype=torch.float64) * moments).sum().item()
66
+ result = {"sum_squared_error": error_sum, "mean_squared_error": error_sum / original.numel(),
67
+ "max_abs_error": max_error,
68
+ "relative_squared_error": error_sum / original_sum if original_sum else None,
69
+ "importance_available": moments is not None}
70
+ if moments is not None:
71
+ result.update({"activation_rows": count, "importance_weighted_squared_error": weighted_error,
72
+ "importance_weighted_mean_per_output": weighted_error / original.shape[0],
73
+ "importance_weighted_relative_squared_error": weighted_error / weighted_signal if weighted_signal else None})
74
+ return result
75
+
76
+
77
+ def export(args):
78
+ import numpy as np
79
+ import torch
80
+ import ttnn
81
+ from safetensors import safe_open
82
+ from safetensors.torch import save_file
83
+ from tt_eval import precision_map
84
+
85
+ torch.set_num_threads(args.cpu_threads)
86
+ weights, output = args.weights.resolve(), args.output.resolve()
87
+ if not output.is_relative_to(ROOT) or output == ROOT or output.is_relative_to(weights) or weights.is_relative_to(output):
88
+ raise ValueError(f"Output must be isolated beneath {ROOT}, outside original weights")
89
+ if output.exists() and any(output.iterdir()):
90
+ raise ValueError("Refusing to overwrite a nonempty output directory")
91
+ config = json.loads((weights / "config.json").read_text())
92
+ text = config["text_config"]
93
+ if (text["num_hidden_layers"], text["hidden_size"], text["vocab_size"]) != (32, 4096, 248320):
94
+ raise ValueError("Only original Qwen3.5-9B is supported")
95
+ overrides = json.loads(args.overrides.read_text()) if args.overrides else None
96
+ precision = precision_map(args.profile, overrides, text["layer_types"])
97
+ remap_path = ROOT / "runtime/qwen36/tt/weight_mapping.py"
98
+ remap = load_remapper(remap_path)
99
+ index_path = weights / "model.safetensors.index.json"
100
+ index = json.loads(index_path.read_text())["weight_map"]
101
+ validate_mtp_keys(index)
102
+ shards = {}
103
+ for name, filename in index.items():
104
+ if name.startswith("mtp.") or name == "lm_head.weight" or (name.startswith("model.language_model.") and ".mtp." not in name and ".visual." not in name):
105
+ shards.setdefault(filename, []).append(name)
106
+ if not shards:
107
+ raise ValueError("Expected original model.language_model text checkpoint keys")
108
+ importance = np.load(args.importance, allow_pickle=False) if args.importance else None
109
+ output.mkdir(parents=True, exist_ok=True)
110
+ (output / "tensors").mkdir()
111
+ (output / "provenance").mkdir()
112
+ files, tensors, source_shards, errors = {}, {}, {}, {}
113
+
114
+ def register(path):
115
+ path.chmod(0o644)
116
+ name = str(path.relative_to(output))
117
+ files[name] = {"bytes": path.stat().st_size, "sha256": digest(path)}
118
+ return name
119
+
120
+ for name in ASSETS:
121
+ source = weights / name
122
+ if source.is_file():
123
+ shutil.copyfile(source, output / name)
124
+ register(output / name)
125
+ licenses = [p for p in weights.iterdir() if p.is_file() and p.name.upper().startswith(("LICENSE", "NOTICE", "COPYING"))]
126
+ if not licenses or not all((output / name).is_file() for name in ("config.json", "tokenizer.json", "tokenizer_config.json")):
127
+ raise ValueError("Original config/tokenizer/license assets are required for standalone export")
128
+ for source in licenses:
129
+ shutil.copyfile(source, output / source.name)
130
+ register(output / source.name)
131
+ for source, destination in ((Path(__file__), output / "provenance/build_native_checkpoint.py"),
132
+ (ROOT / "native_checkpoint.py", output / "native_checkpoint.py"),
133
+ (remap_path, output / "provenance/weight_mapping.py"),
134
+ (ROOT / "tt_eval.py", output / "provenance/tt_eval.py"),
135
+ (ROOT / "precision-plan.json", output / "provenance/precision-plan.json"),
136
+ (index_path, output / "provenance/original.safetensors.index.json")):
137
+ shutil.copyfile(source, destination)
138
+ register(destination)
139
+ if args.overrides:
140
+ shutil.copyfile(args.overrides, output / "provenance/overrides.json")
141
+ register(output / "provenance/overrides.json")
142
+ if args.importance:
143
+ shutil.copyfile(args.importance, output / "provenance/importance.npz")
144
+ register(output / "provenance/importance.npz")
145
+ if (args.importance.parent / "metadata.json").is_file():
146
+ shutil.copyfile(args.importance.parent / "metadata.json", output / "provenance/importance-metadata.json")
147
+ register(output / "provenance/importance-metadata.json")
148
+ counter, quantized, fp32, mtp_fp32 = 0, 0, 0, 0
149
+ for filename, names in sorted(shards.items()):
150
+ shard = local_file(weights, filename)
151
+ source_shards[filename] = {"bytes": shard.stat().st_size, "sha256": digest(shard)}
152
+ with safe_open(str(shard), framework="pt", device="cpu") as source:
153
+ for original_name in sorted(names):
154
+ original = source.get_tensor(original_name)
155
+ original_hash = tensor_hash(original)
156
+ is_mtp = original_name.startswith("mtp.")
157
+ remapped = {original_name: original} if is_mtp else remap({original_name: original})
158
+ for name, value in remapped.items():
159
+ if name in tensors or "visual" in name or ("mtp" in name and not is_mtp):
160
+ raise ValueError(f"Unexpected duplicate/non-text remapped tensor: {name}")
161
+ dtype_name = None if is_mtp else tensor_precision(name, precision)
162
+ entry = {"source_name": original_name, "source_shard": filename,
163
+ "source_shape": list(original.shape), "source_torch_dtype": str(original.dtype),
164
+ "source_tensor_sha256": original_hash, "shape": list(value.shape),
165
+ "family": matrix_family(name), "restored_torch_dtype": str(value.dtype)}
166
+ if dtype_name is None:
167
+ value_hash = original_hash if is_mtp else tensor_hash(value)
168
+ path = output / "tensors" / f"{counter:05d}.safetensors"
169
+ save_file({name: value.contiguous()}, str(path))
170
+ with safe_open(str(path), framework="pt", device="cpu") as saved:
171
+ restored = saved.get_tensor(name)
172
+ if (restored.dtype != value.dtype or not torch.equal(restored, value)
173
+ or (is_mtp and tensor_hash(restored) != original_hash)):
174
+ raise ValueError(f"Lossless roundtrip failed: {name}")
175
+ del restored
176
+ if is_mtp:
177
+ mtp_fp32 += int(value.dtype == torch.float32)
178
+ else:
179
+ fp32 += int(value.dtype == torch.float32)
180
+ entry.update({"storage": "safetensors-lossless", "tensor_sha256": value_hash,
181
+ "roundtrip": {"exact_values": True, "exact_dtype": True}})
182
+ else:
183
+ if value.ndim != 2 or value.dtype != torch.bfloat16:
184
+ raise ValueError(f"Expected original BF16 linear matrix: {name} {value.shape} {value.dtype}")
185
+ path = output / "tensors" / f"{counter:05d}.tensorbin"
186
+ oriented = value.T.contiguous()
187
+ native = ttnn.from_torch(oriented, dtype=getattr(ttnn, DTYPES[dtype_name]), layout=ttnn.TILE_LAYOUT)
188
+ del oriented
189
+ ttnn.dump_tensor(str(path), native)
190
+ reloaded = ttnn.load_tensor(str(path))
191
+ rounded = ttnn.to_torch(reloaded).to(torch.bfloat16)
192
+ if not torch.equal(ttnn.to_torch(native), rounded):
193
+ raise ValueError(f"Native serialization or BF16 host restoration changes values: {name}")
194
+ del native, reloaded
195
+ restored = rounded.T.contiguous()
196
+ # Deliberately exercise the same transpose/copy that runtime converters do.
197
+ second = ttnn.from_torch(restored.T.contiguous(), dtype=getattr(ttnn, DTYPES[dtype_name]), layout=ttnn.TILE_LAYOUT)
198
+ second_path = output / "tensors" / f"{counter:05d}.roundtrip.tensorbin"
199
+ ttnn.dump_tensor(str(second_path), second)
200
+ exact_values = torch.equal(rounded, ttnn.to_torch(second))
201
+ exact_bytes = digest(path) == digest(second_path)
202
+ if not exact_values or not exact_bytes:
203
+ raise ValueError(f"Native requantization is not idempotent: {name}; values={exact_values}, bytes={exact_bytes}")
204
+ second_path.unlink()
205
+ del second, rounded
206
+ errors[name] = {"source_module": original_name.removesuffix(".weight"), "precision": dtype_name,
207
+ **weight_error(value, restored, importance, original_name.removesuffix(".weight"), torch)}
208
+ del restored
209
+ entry.update({"storage": "ttnn-tile", "precision": dtype_name,
210
+ "native_dtype": DTYPES[dtype_name], "native_shape": [value.shape[1], value.shape[0]],
211
+ "orientation": "input,output", "layout": "TILE_LAYOUT",
212
+ "roundtrip": {"exact_values": exact_values, "exact_serialized_bytes": exact_bytes}})
213
+ quantized += 1
214
+ entry["file"] = register(path)
215
+ entry["sha256"] = files[entry["file"]]["sha256"]
216
+ tensors[name] = entry
217
+ counter += 1
218
+ print(json.dumps({"tensor": name, "precision": dtype_name or "lossless", "bytes": files[entry["file"]]["bytes"]}), flush=True)
219
+ del original, remapped, value
220
+ if importance is not None:
221
+ importance.close()
222
+ if not {"tok_embeddings.weight", "output.weight", "norm.weight"} <= tensors.keys() or fp32 != 48:
223
+ raise ValueError(f"Missing top-level tensors or original FP32 nonlinear tensors: fp32={fp32}, expected 48")
224
+ validate_mtp_keys(tensors)
225
+ save_json(output / "quantization-error.json", {"method": "Unmodified TTNN rounding; importance-weighted precision ranking only, not optimized values or output KL",
226
+ "formula": "sum_out,in ((W-Wq)^2 * input_sumsq[in]/input_count)",
227
+ "tensors": errors})
228
+ register(output / "quantization-error.json")
229
+ manifest = {"format": FORMAT, "schema_version": 1, "scope": "text-only-no-vision-with-mtp",
230
+ "mtp": {"enabled": True, "num_speculative_tokens": 1,
231
+ "source_tensor_count": len(MTP_KEYS), "storage": "lossless"},
232
+ "status": "tensor_roundtrip_verified", "precision": precision,
233
+ "end_to_end_verification": "Requires separate manifest-bound equivalence.json (MTP=0) or equivalence-mtp.json (MTP=1); serialization alone is not validation",
234
+ "profile": args.profile, "files": files, "tensors": tensors,
235
+ "roundtrip": {"all_passed": True, "native_matrices": quantized, "lossless_tensors": counter - quantized,
236
+ "preserved_original_fp32_tensors": fp32,
237
+ "preserved_original_mtp_fp32_tensors": mtp_fp32},
238
+ "source": {"original_index_sha256": digest(index_path), "shards": source_shards,
239
+ "declared_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a"},
240
+ "toolchain": {"python": platform.python_version(), "torch": torch.__version__,
241
+ "ttnn": getattr(ttnn, "__version__", None), "container_image": args.container_image,
242
+ "tt_metal_commit": "de59f8a658b1ceafd230c8266026b1a72bb198d7"},
243
+ "load_contract": {"weights": "native dump -> CPU TT -> BF16 torch [out,in] -> runtime transpose -> requantize",
244
+ "nonlinear": "Lossless original tensors, preserving FP32 until normal runtime conversion",
245
+ "mtp": "Lossless original mtp.* tensors; existing Qwen36MTP uses target layer-0 precision policy with one speculative token",
246
+ "gdn_derived": "Runtime rebuilds AB and QKVABZ from quant-rounded components, then requantizes; no derived tensor stored",
247
+ "supported_runtime": "single-device Qwen36 text with optional MTP-1 at manifest precision, generic or explicitly dtype-gated packed families, only under verified runtime sources/environment",
248
+ "risks": ["Block exponent grouping is orientation/layout dependent", "Component idempotence does not prove GDN derived or full-model parity", "Every generic/packed configuration requires its own equivalence evidence; TP is excluded"],
249
+ "required_evidence": "native_checkpoint.py CHECKPOINT --baseline ORIGINAL_AT_SAME_PRECISION --restored NATIVE_RELOAD_RUN writes equivalence.json for recorded MTP=0 or equivalence-mtp.json for recorded MTP=1 only after exact full-logit comparison; actual speculation requires separate live-cycle evidence"},
250
+ "created_at": datetime.datetime.now(datetime.timezone.utc).isoformat()}
251
+ save_json(output / MANIFEST, manifest)
252
+ print(json.dumps({"manifest": str(output / MANIFEST), "tensors": counter, "native_matrices": quantized,
253
+ "artifact_bytes": sum(info["bytes"] for info in files.values()), "end_to_end_verified": False}), flush=True)
254
+
255
+
256
+ def main():
257
+ from tt_eval import PROFILES
258
+
259
+ parser = argparse.ArgumentParser(description=__doc__)
260
+ parser.add_argument("--weights", type=Path, required=True)
261
+ parser.add_argument("--output", type=Path, required=True)
262
+ parser.add_argument("--profile", choices=tuple(PROFILES), default="current-bfp4")
263
+ parser.add_argument("--overrides", type=Path)
264
+ parser.add_argument("--importance", type=Path)
265
+ parser.add_argument("--cpu-threads", type=int, default=8)
266
+ parser.add_argument("--container-image", required=True, help="Exact image identity reported by docker image inspect")
267
+ parser.add_argument("--device-ownership-confirmed", action="store_true")
268
+ args = parser.parse_args()
269
+ if not args.device_ownership_confirmed:
270
+ parser.error("TTNN host conversion requires exclusive device ownership; stop other P150 workloads first")
271
+ if args.cpu_threads < 1:
272
+ parser.error("--cpu-threads must be positive")
273
+ export(args)
274
+
275
+
276
+ if __name__ == "__main__":
277
+ main()
checkpoint/provenance/importance-metadata.json ADDED
@@ -0,0 +1,1337 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "arguments": {
3
+ "accumulation_chunk_rows": 128,
4
+ "checkpoint_every": 32,
5
+ "input": "/work/instruction-calibration.jsonl",
6
+ "interop_threads": 1,
7
+ "max_tokens": 2048,
8
+ "model": "/model",
9
+ "output": "/work/importance",
10
+ "revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
11
+ "sample_rows": 8,
12
+ "threads": 16
13
+ },
14
+ "completed_input_tokens": 300941,
15
+ "completed_records": 614,
16
+ "config_sha256": "d0883072e01861ed0b2d47be3c16c36a8e81c224c7ffaa310c6558fb3f932b05",
17
+ "elapsed_seconds": 2298.5781133160344,
18
+ "exclusions": "Only torch.nn.Linear input channels. Embedding lookup, GDN convolution, norms and A_log are not diagonal-linear importance entries; original reference weights remain unchanged.",
19
+ "importance_sha256": "ca51deb3c0f6b096bea1ff2312b1bab4a4a8fa083ba0e03b282ec4f8ef303779",
20
+ "index_sha256": "26d3539b516be613f39563617cb9d33b3f83d401298125be392c80cefb8f7fe5",
21
+ "input_sha256": "c65c34c37633381a7322ff433a292f9e615d414bb834d1951b243ee16ecb310e",
22
+ "kind": "reference_cpu_linear_input_diagonal_second_moments",
23
+ "last_record_id": "instruct-multilingual-train-145250",
24
+ "loading_info": {
25
+ "error_msgs": [],
26
+ "mismatched_keys": [],
27
+ "missing_keys": [],
28
+ "unexpected_keys": []
29
+ },
30
+ "memory_policy": "One batch-size-1 complete record <= max-tokens; CPU BF16 reference with original FP32 GDN weights; use_cache=False; no vocabulary projection/logits; reduction temp <= accumulation-chunk-rows * largest_linear_input_features FP32; persistent float64 channel sums and optional sample-rows FP32 activation rows per module.",
31
+ "model_id": "Qwen/Qwen3.5-9B",
32
+ "model_path": "/model",
33
+ "model_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
34
+ "module_key_format": "Original checkpoint module name (strip .weight), keys <module>.sumsq float64[input_features], <module>.count int64 scalar; optional <module>.samples float32[rows,input_features] and <module>.sample_token_indices int64[rows]",
35
+ "modules": {
36
+ "lm_head": {
37
+ "count": 300941,
38
+ "input_features": 4096,
39
+ "sample_rows": 8
40
+ },
41
+ "model.language_model.layers.0.linear_attn.in_proj_a": {
42
+ "count": 300941,
43
+ "input_features": 4096,
44
+ "sample_rows": 8
45
+ },
46
+ "model.language_model.layers.0.linear_attn.in_proj_b": {
47
+ "count": 300941,
48
+ "input_features": 4096,
49
+ "sample_rows": 8
50
+ },
51
+ "model.language_model.layers.0.linear_attn.in_proj_qkv": {
52
+ "count": 300941,
53
+ "input_features": 4096,
54
+ "sample_rows": 8
55
+ },
56
+ "model.language_model.layers.0.linear_attn.in_proj_z": {
57
+ "count": 300941,
58
+ "input_features": 4096,
59
+ "sample_rows": 8
60
+ },
61
+ "model.language_model.layers.0.linear_attn.out_proj": {
62
+ "count": 300941,
63
+ "input_features": 4096,
64
+ "sample_rows": 8
65
+ },
66
+ "model.language_model.layers.0.mlp.down_proj": {
67
+ "count": 300941,
68
+ "input_features": 12288,
69
+ "sample_rows": 8
70
+ },
71
+ "model.language_model.layers.0.mlp.gate_proj": {
72
+ "count": 300941,
73
+ "input_features": 4096,
74
+ "sample_rows": 8
75
+ },
76
+ "model.language_model.layers.0.mlp.up_proj": {
77
+ "count": 300941,
78
+ "input_features": 4096,
79
+ "sample_rows": 8
80
+ },
81
+ "model.language_model.layers.1.linear_attn.in_proj_a": {
82
+ "count": 300941,
83
+ "input_features": 4096,
84
+ "sample_rows": 8
85
+ },
86
+ "model.language_model.layers.1.linear_attn.in_proj_b": {
87
+ "count": 300941,
88
+ "input_features": 4096,
89
+ "sample_rows": 8
90
+ },
91
+ "model.language_model.layers.1.linear_attn.in_proj_qkv": {
92
+ "count": 300941,
93
+ "input_features": 4096,
94
+ "sample_rows": 8
95
+ },
96
+ "model.language_model.layers.1.linear_attn.in_proj_z": {
97
+ "count": 300941,
98
+ "input_features": 4096,
99
+ "sample_rows": 8
100
+ },
101
+ "model.language_model.layers.1.linear_attn.out_proj": {
102
+ "count": 300941,
103
+ "input_features": 4096,
104
+ "sample_rows": 8
105
+ },
106
+ "model.language_model.layers.1.mlp.down_proj": {
107
+ "count": 300941,
108
+ "input_features": 12288,
109
+ "sample_rows": 8
110
+ },
111
+ "model.language_model.layers.1.mlp.gate_proj": {
112
+ "count": 300941,
113
+ "input_features": 4096,
114
+ "sample_rows": 8
115
+ },
116
+ "model.language_model.layers.1.mlp.up_proj": {
117
+ "count": 300941,
118
+ "input_features": 4096,
119
+ "sample_rows": 8
120
+ },
121
+ "model.language_model.layers.10.linear_attn.in_proj_a": {
122
+ "count": 300941,
123
+ "input_features": 4096,
124
+ "sample_rows": 8
125
+ },
126
+ "model.language_model.layers.10.linear_attn.in_proj_b": {
127
+ "count": 300941,
128
+ "input_features": 4096,
129
+ "sample_rows": 8
130
+ },
131
+ "model.language_model.layers.10.linear_attn.in_proj_qkv": {
132
+ "count": 300941,
133
+ "input_features": 4096,
134
+ "sample_rows": 8
135
+ },
136
+ "model.language_model.layers.10.linear_attn.in_proj_z": {
137
+ "count": 300941,
138
+ "input_features": 4096,
139
+ "sample_rows": 8
140
+ },
141
+ "model.language_model.layers.10.linear_attn.out_proj": {
142
+ "count": 300941,
143
+ "input_features": 4096,
144
+ "sample_rows": 8
145
+ },
146
+ "model.language_model.layers.10.mlp.down_proj": {
147
+ "count": 300941,
148
+ "input_features": 12288,
149
+ "sample_rows": 8
150
+ },
151
+ "model.language_model.layers.10.mlp.gate_proj": {
152
+ "count": 300941,
153
+ "input_features": 4096,
154
+ "sample_rows": 8
155
+ },
156
+ "model.language_model.layers.10.mlp.up_proj": {
157
+ "count": 300941,
158
+ "input_features": 4096,
159
+ "sample_rows": 8
160
+ },
161
+ "model.language_model.layers.11.mlp.down_proj": {
162
+ "count": 300941,
163
+ "input_features": 12288,
164
+ "sample_rows": 8
165
+ },
166
+ "model.language_model.layers.11.mlp.gate_proj": {
167
+ "count": 300941,
168
+ "input_features": 4096,
169
+ "sample_rows": 8
170
+ },
171
+ "model.language_model.layers.11.mlp.up_proj": {
172
+ "count": 300941,
173
+ "input_features": 4096,
174
+ "sample_rows": 8
175
+ },
176
+ "model.language_model.layers.11.self_attn.k_proj": {
177
+ "count": 300941,
178
+ "input_features": 4096,
179
+ "sample_rows": 8
180
+ },
181
+ "model.language_model.layers.11.self_attn.o_proj": {
182
+ "count": 300941,
183
+ "input_features": 4096,
184
+ "sample_rows": 8
185
+ },
186
+ "model.language_model.layers.11.self_attn.q_proj": {
187
+ "count": 300941,
188
+ "input_features": 4096,
189
+ "sample_rows": 8
190
+ },
191
+ "model.language_model.layers.11.self_attn.v_proj": {
192
+ "count": 300941,
193
+ "input_features": 4096,
194
+ "sample_rows": 8
195
+ },
196
+ "model.language_model.layers.12.linear_attn.in_proj_a": {
197
+ "count": 300941,
198
+ "input_features": 4096,
199
+ "sample_rows": 8
200
+ },
201
+ "model.language_model.layers.12.linear_attn.in_proj_b": {
202
+ "count": 300941,
203
+ "input_features": 4096,
204
+ "sample_rows": 8
205
+ },
206
+ "model.language_model.layers.12.linear_attn.in_proj_qkv": {
207
+ "count": 300941,
208
+ "input_features": 4096,
209
+ "sample_rows": 8
210
+ },
211
+ "model.language_model.layers.12.linear_attn.in_proj_z": {
212
+ "count": 300941,
213
+ "input_features": 4096,
214
+ "sample_rows": 8
215
+ },
216
+ "model.language_model.layers.12.linear_attn.out_proj": {
217
+ "count": 300941,
218
+ "input_features": 4096,
219
+ "sample_rows": 8
220
+ },
221
+ "model.language_model.layers.12.mlp.down_proj": {
222
+ "count": 300941,
223
+ "input_features": 12288,
224
+ "sample_rows": 8
225
+ },
226
+ "model.language_model.layers.12.mlp.gate_proj": {
227
+ "count": 300941,
228
+ "input_features": 4096,
229
+ "sample_rows": 8
230
+ },
231
+ "model.language_model.layers.12.mlp.up_proj": {
232
+ "count": 300941,
233
+ "input_features": 4096,
234
+ "sample_rows": 8
235
+ },
236
+ "model.language_model.layers.13.linear_attn.in_proj_a": {
237
+ "count": 300941,
238
+ "input_features": 4096,
239
+ "sample_rows": 8
240
+ },
241
+ "model.language_model.layers.13.linear_attn.in_proj_b": {
242
+ "count": 300941,
243
+ "input_features": 4096,
244
+ "sample_rows": 8
245
+ },
246
+ "model.language_model.layers.13.linear_attn.in_proj_qkv": {
247
+ "count": 300941,
248
+ "input_features": 4096,
249
+ "sample_rows": 8
250
+ },
251
+ "model.language_model.layers.13.linear_attn.in_proj_z": {
252
+ "count": 300941,
253
+ "input_features": 4096,
254
+ "sample_rows": 8
255
+ },
256
+ "model.language_model.layers.13.linear_attn.out_proj": {
257
+ "count": 300941,
258
+ "input_features": 4096,
259
+ "sample_rows": 8
260
+ },
261
+ "model.language_model.layers.13.mlp.down_proj": {
262
+ "count": 300941,
263
+ "input_features": 12288,
264
+ "sample_rows": 8
265
+ },
266
+ "model.language_model.layers.13.mlp.gate_proj": {
267
+ "count": 300941,
268
+ "input_features": 4096,
269
+ "sample_rows": 8
270
+ },
271
+ "model.language_model.layers.13.mlp.up_proj": {
272
+ "count": 300941,
273
+ "input_features": 4096,
274
+ "sample_rows": 8
275
+ },
276
+ "model.language_model.layers.14.linear_attn.in_proj_a": {
277
+ "count": 300941,
278
+ "input_features": 4096,
279
+ "sample_rows": 8
280
+ },
281
+ "model.language_model.layers.14.linear_attn.in_proj_b": {
282
+ "count": 300941,
283
+ "input_features": 4096,
284
+ "sample_rows": 8
285
+ },
286
+ "model.language_model.layers.14.linear_attn.in_proj_qkv": {
287
+ "count": 300941,
288
+ "input_features": 4096,
289
+ "sample_rows": 8
290
+ },
291
+ "model.language_model.layers.14.linear_attn.in_proj_z": {
292
+ "count": 300941,
293
+ "input_features": 4096,
294
+ "sample_rows": 8
295
+ },
296
+ "model.language_model.layers.14.linear_attn.out_proj": {
297
+ "count": 300941,
298
+ "input_features": 4096,
299
+ "sample_rows": 8
300
+ },
301
+ "model.language_model.layers.14.mlp.down_proj": {
302
+ "count": 300941,
303
+ "input_features": 12288,
304
+ "sample_rows": 8
305
+ },
306
+ "model.language_model.layers.14.mlp.gate_proj": {
307
+ "count": 300941,
308
+ "input_features": 4096,
309
+ "sample_rows": 8
310
+ },
311
+ "model.language_model.layers.14.mlp.up_proj": {
312
+ "count": 300941,
313
+ "input_features": 4096,
314
+ "sample_rows": 8
315
+ },
316
+ "model.language_model.layers.15.mlp.down_proj": {
317
+ "count": 300941,
318
+ "input_features": 12288,
319
+ "sample_rows": 8
320
+ },
321
+ "model.language_model.layers.15.mlp.gate_proj": {
322
+ "count": 300941,
323
+ "input_features": 4096,
324
+ "sample_rows": 8
325
+ },
326
+ "model.language_model.layers.15.mlp.up_proj": {
327
+ "count": 300941,
328
+ "input_features": 4096,
329
+ "sample_rows": 8
330
+ },
331
+ "model.language_model.layers.15.self_attn.k_proj": {
332
+ "count": 300941,
333
+ "input_features": 4096,
334
+ "sample_rows": 8
335
+ },
336
+ "model.language_model.layers.15.self_attn.o_proj": {
337
+ "count": 300941,
338
+ "input_features": 4096,
339
+ "sample_rows": 8
340
+ },
341
+ "model.language_model.layers.15.self_attn.q_proj": {
342
+ "count": 300941,
343
+ "input_features": 4096,
344
+ "sample_rows": 8
345
+ },
346
+ "model.language_model.layers.15.self_attn.v_proj": {
347
+ "count": 300941,
348
+ "input_features": 4096,
349
+ "sample_rows": 8
350
+ },
351
+ "model.language_model.layers.16.linear_attn.in_proj_a": {
352
+ "count": 300941,
353
+ "input_features": 4096,
354
+ "sample_rows": 8
355
+ },
356
+ "model.language_model.layers.16.linear_attn.in_proj_b": {
357
+ "count": 300941,
358
+ "input_features": 4096,
359
+ "sample_rows": 8
360
+ },
361
+ "model.language_model.layers.16.linear_attn.in_proj_qkv": {
362
+ "count": 300941,
363
+ "input_features": 4096,
364
+ "sample_rows": 8
365
+ },
366
+ "model.language_model.layers.16.linear_attn.in_proj_z": {
367
+ "count": 300941,
368
+ "input_features": 4096,
369
+ "sample_rows": 8
370
+ },
371
+ "model.language_model.layers.16.linear_attn.out_proj": {
372
+ "count": 300941,
373
+ "input_features": 4096,
374
+ "sample_rows": 8
375
+ },
376
+ "model.language_model.layers.16.mlp.down_proj": {
377
+ "count": 300941,
378
+ "input_features": 12288,
379
+ "sample_rows": 8
380
+ },
381
+ "model.language_model.layers.16.mlp.gate_proj": {
382
+ "count": 300941,
383
+ "input_features": 4096,
384
+ "sample_rows": 8
385
+ },
386
+ "model.language_model.layers.16.mlp.up_proj": {
387
+ "count": 300941,
388
+ "input_features": 4096,
389
+ "sample_rows": 8
390
+ },
391
+ "model.language_model.layers.17.linear_attn.in_proj_a": {
392
+ "count": 300941,
393
+ "input_features": 4096,
394
+ "sample_rows": 8
395
+ },
396
+ "model.language_model.layers.17.linear_attn.in_proj_b": {
397
+ "count": 300941,
398
+ "input_features": 4096,
399
+ "sample_rows": 8
400
+ },
401
+ "model.language_model.layers.17.linear_attn.in_proj_qkv": {
402
+ "count": 300941,
403
+ "input_features": 4096,
404
+ "sample_rows": 8
405
+ },
406
+ "model.language_model.layers.17.linear_attn.in_proj_z": {
407
+ "count": 300941,
408
+ "input_features": 4096,
409
+ "sample_rows": 8
410
+ },
411
+ "model.language_model.layers.17.linear_attn.out_proj": {
412
+ "count": 300941,
413
+ "input_features": 4096,
414
+ "sample_rows": 8
415
+ },
416
+ "model.language_model.layers.17.mlp.down_proj": {
417
+ "count": 300941,
418
+ "input_features": 12288,
419
+ "sample_rows": 8
420
+ },
421
+ "model.language_model.layers.17.mlp.gate_proj": {
422
+ "count": 300941,
423
+ "input_features": 4096,
424
+ "sample_rows": 8
425
+ },
426
+ "model.language_model.layers.17.mlp.up_proj": {
427
+ "count": 300941,
428
+ "input_features": 4096,
429
+ "sample_rows": 8
430
+ },
431
+ "model.language_model.layers.18.linear_attn.in_proj_a": {
432
+ "count": 300941,
433
+ "input_features": 4096,
434
+ "sample_rows": 8
435
+ },
436
+ "model.language_model.layers.18.linear_attn.in_proj_b": {
437
+ "count": 300941,
438
+ "input_features": 4096,
439
+ "sample_rows": 8
440
+ },
441
+ "model.language_model.layers.18.linear_attn.in_proj_qkv": {
442
+ "count": 300941,
443
+ "input_features": 4096,
444
+ "sample_rows": 8
445
+ },
446
+ "model.language_model.layers.18.linear_attn.in_proj_z": {
447
+ "count": 300941,
448
+ "input_features": 4096,
449
+ "sample_rows": 8
450
+ },
451
+ "model.language_model.layers.18.linear_attn.out_proj": {
452
+ "count": 300941,
453
+ "input_features": 4096,
454
+ "sample_rows": 8
455
+ },
456
+ "model.language_model.layers.18.mlp.down_proj": {
457
+ "count": 300941,
458
+ "input_features": 12288,
459
+ "sample_rows": 8
460
+ },
461
+ "model.language_model.layers.18.mlp.gate_proj": {
462
+ "count": 300941,
463
+ "input_features": 4096,
464
+ "sample_rows": 8
465
+ },
466
+ "model.language_model.layers.18.mlp.up_proj": {
467
+ "count": 300941,
468
+ "input_features": 4096,
469
+ "sample_rows": 8
470
+ },
471
+ "model.language_model.layers.19.mlp.down_proj": {
472
+ "count": 300941,
473
+ "input_features": 12288,
474
+ "sample_rows": 8
475
+ },
476
+ "model.language_model.layers.19.mlp.gate_proj": {
477
+ "count": 300941,
478
+ "input_features": 4096,
479
+ "sample_rows": 8
480
+ },
481
+ "model.language_model.layers.19.mlp.up_proj": {
482
+ "count": 300941,
483
+ "input_features": 4096,
484
+ "sample_rows": 8
485
+ },
486
+ "model.language_model.layers.19.self_attn.k_proj": {
487
+ "count": 300941,
488
+ "input_features": 4096,
489
+ "sample_rows": 8
490
+ },
491
+ "model.language_model.layers.19.self_attn.o_proj": {
492
+ "count": 300941,
493
+ "input_features": 4096,
494
+ "sample_rows": 8
495
+ },
496
+ "model.language_model.layers.19.self_attn.q_proj": {
497
+ "count": 300941,
498
+ "input_features": 4096,
499
+ "sample_rows": 8
500
+ },
501
+ "model.language_model.layers.19.self_attn.v_proj": {
502
+ "count": 300941,
503
+ "input_features": 4096,
504
+ "sample_rows": 8
505
+ },
506
+ "model.language_model.layers.2.linear_attn.in_proj_a": {
507
+ "count": 300941,
508
+ "input_features": 4096,
509
+ "sample_rows": 8
510
+ },
511
+ "model.language_model.layers.2.linear_attn.in_proj_b": {
512
+ "count": 300941,
513
+ "input_features": 4096,
514
+ "sample_rows": 8
515
+ },
516
+ "model.language_model.layers.2.linear_attn.in_proj_qkv": {
517
+ "count": 300941,
518
+ "input_features": 4096,
519
+ "sample_rows": 8
520
+ },
521
+ "model.language_model.layers.2.linear_attn.in_proj_z": {
522
+ "count": 300941,
523
+ "input_features": 4096,
524
+ "sample_rows": 8
525
+ },
526
+ "model.language_model.layers.2.linear_attn.out_proj": {
527
+ "count": 300941,
528
+ "input_features": 4096,
529
+ "sample_rows": 8
530
+ },
531
+ "model.language_model.layers.2.mlp.down_proj": {
532
+ "count": 300941,
533
+ "input_features": 12288,
534
+ "sample_rows": 8
535
+ },
536
+ "model.language_model.layers.2.mlp.gate_proj": {
537
+ "count": 300941,
538
+ "input_features": 4096,
539
+ "sample_rows": 8
540
+ },
541
+ "model.language_model.layers.2.mlp.up_proj": {
542
+ "count": 300941,
543
+ "input_features": 4096,
544
+ "sample_rows": 8
545
+ },
546
+ "model.language_model.layers.20.linear_attn.in_proj_a": {
547
+ "count": 300941,
548
+ "input_features": 4096,
549
+ "sample_rows": 8
550
+ },
551
+ "model.language_model.layers.20.linear_attn.in_proj_b": {
552
+ "count": 300941,
553
+ "input_features": 4096,
554
+ "sample_rows": 8
555
+ },
556
+ "model.language_model.layers.20.linear_attn.in_proj_qkv": {
557
+ "count": 300941,
558
+ "input_features": 4096,
559
+ "sample_rows": 8
560
+ },
561
+ "model.language_model.layers.20.linear_attn.in_proj_z": {
562
+ "count": 300941,
563
+ "input_features": 4096,
564
+ "sample_rows": 8
565
+ },
566
+ "model.language_model.layers.20.linear_attn.out_proj": {
567
+ "count": 300941,
568
+ "input_features": 4096,
569
+ "sample_rows": 8
570
+ },
571
+ "model.language_model.layers.20.mlp.down_proj": {
572
+ "count": 300941,
573
+ "input_features": 12288,
574
+ "sample_rows": 8
575
+ },
576
+ "model.language_model.layers.20.mlp.gate_proj": {
577
+ "count": 300941,
578
+ "input_features": 4096,
579
+ "sample_rows": 8
580
+ },
581
+ "model.language_model.layers.20.mlp.up_proj": {
582
+ "count": 300941,
583
+ "input_features": 4096,
584
+ "sample_rows": 8
585
+ },
586
+ "model.language_model.layers.21.linear_attn.in_proj_a": {
587
+ "count": 300941,
588
+ "input_features": 4096,
589
+ "sample_rows": 8
590
+ },
591
+ "model.language_model.layers.21.linear_attn.in_proj_b": {
592
+ "count": 300941,
593
+ "input_features": 4096,
594
+ "sample_rows": 8
595
+ },
596
+ "model.language_model.layers.21.linear_attn.in_proj_qkv": {
597
+ "count": 300941,
598
+ "input_features": 4096,
599
+ "sample_rows": 8
600
+ },
601
+ "model.language_model.layers.21.linear_attn.in_proj_z": {
602
+ "count": 300941,
603
+ "input_features": 4096,
604
+ "sample_rows": 8
605
+ },
606
+ "model.language_model.layers.21.linear_attn.out_proj": {
607
+ "count": 300941,
608
+ "input_features": 4096,
609
+ "sample_rows": 8
610
+ },
611
+ "model.language_model.layers.21.mlp.down_proj": {
612
+ "count": 300941,
613
+ "input_features": 12288,
614
+ "sample_rows": 8
615
+ },
616
+ "model.language_model.layers.21.mlp.gate_proj": {
617
+ "count": 300941,
618
+ "input_features": 4096,
619
+ "sample_rows": 8
620
+ },
621
+ "model.language_model.layers.21.mlp.up_proj": {
622
+ "count": 300941,
623
+ "input_features": 4096,
624
+ "sample_rows": 8
625
+ },
626
+ "model.language_model.layers.22.linear_attn.in_proj_a": {
627
+ "count": 300941,
628
+ "input_features": 4096,
629
+ "sample_rows": 8
630
+ },
631
+ "model.language_model.layers.22.linear_attn.in_proj_b": {
632
+ "count": 300941,
633
+ "input_features": 4096,
634
+ "sample_rows": 8
635
+ },
636
+ "model.language_model.layers.22.linear_attn.in_proj_qkv": {
637
+ "count": 300941,
638
+ "input_features": 4096,
639
+ "sample_rows": 8
640
+ },
641
+ "model.language_model.layers.22.linear_attn.in_proj_z": {
642
+ "count": 300941,
643
+ "input_features": 4096,
644
+ "sample_rows": 8
645
+ },
646
+ "model.language_model.layers.22.linear_attn.out_proj": {
647
+ "count": 300941,
648
+ "input_features": 4096,
649
+ "sample_rows": 8
650
+ },
651
+ "model.language_model.layers.22.mlp.down_proj": {
652
+ "count": 300941,
653
+ "input_features": 12288,
654
+ "sample_rows": 8
655
+ },
656
+ "model.language_model.layers.22.mlp.gate_proj": {
657
+ "count": 300941,
658
+ "input_features": 4096,
659
+ "sample_rows": 8
660
+ },
661
+ "model.language_model.layers.22.mlp.up_proj": {
662
+ "count": 300941,
663
+ "input_features": 4096,
664
+ "sample_rows": 8
665
+ },
666
+ "model.language_model.layers.23.mlp.down_proj": {
667
+ "count": 300941,
668
+ "input_features": 12288,
669
+ "sample_rows": 8
670
+ },
671
+ "model.language_model.layers.23.mlp.gate_proj": {
672
+ "count": 300941,
673
+ "input_features": 4096,
674
+ "sample_rows": 8
675
+ },
676
+ "model.language_model.layers.23.mlp.up_proj": {
677
+ "count": 300941,
678
+ "input_features": 4096,
679
+ "sample_rows": 8
680
+ },
681
+ "model.language_model.layers.23.self_attn.k_proj": {
682
+ "count": 300941,
683
+ "input_features": 4096,
684
+ "sample_rows": 8
685
+ },
686
+ "model.language_model.layers.23.self_attn.o_proj": {
687
+ "count": 300941,
688
+ "input_features": 4096,
689
+ "sample_rows": 8
690
+ },
691
+ "model.language_model.layers.23.self_attn.q_proj": {
692
+ "count": 300941,
693
+ "input_features": 4096,
694
+ "sample_rows": 8
695
+ },
696
+ "model.language_model.layers.23.self_attn.v_proj": {
697
+ "count": 300941,
698
+ "input_features": 4096,
699
+ "sample_rows": 8
700
+ },
701
+ "model.language_model.layers.24.linear_attn.in_proj_a": {
702
+ "count": 300941,
703
+ "input_features": 4096,
704
+ "sample_rows": 8
705
+ },
706
+ "model.language_model.layers.24.linear_attn.in_proj_b": {
707
+ "count": 300941,
708
+ "input_features": 4096,
709
+ "sample_rows": 8
710
+ },
711
+ "model.language_model.layers.24.linear_attn.in_proj_qkv": {
712
+ "count": 300941,
713
+ "input_features": 4096,
714
+ "sample_rows": 8
715
+ },
716
+ "model.language_model.layers.24.linear_attn.in_proj_z": {
717
+ "count": 300941,
718
+ "input_features": 4096,
719
+ "sample_rows": 8
720
+ },
721
+ "model.language_model.layers.24.linear_attn.out_proj": {
722
+ "count": 300941,
723
+ "input_features": 4096,
724
+ "sample_rows": 8
725
+ },
726
+ "model.language_model.layers.24.mlp.down_proj": {
727
+ "count": 300941,
728
+ "input_features": 12288,
729
+ "sample_rows": 8
730
+ },
731
+ "model.language_model.layers.24.mlp.gate_proj": {
732
+ "count": 300941,
733
+ "input_features": 4096,
734
+ "sample_rows": 8
735
+ },
736
+ "model.language_model.layers.24.mlp.up_proj": {
737
+ "count": 300941,
738
+ "input_features": 4096,
739
+ "sample_rows": 8
740
+ },
741
+ "model.language_model.layers.25.linear_attn.in_proj_a": {
742
+ "count": 300941,
743
+ "input_features": 4096,
744
+ "sample_rows": 8
745
+ },
746
+ "model.language_model.layers.25.linear_attn.in_proj_b": {
747
+ "count": 300941,
748
+ "input_features": 4096,
749
+ "sample_rows": 8
750
+ },
751
+ "model.language_model.layers.25.linear_attn.in_proj_qkv": {
752
+ "count": 300941,
753
+ "input_features": 4096,
754
+ "sample_rows": 8
755
+ },
756
+ "model.language_model.layers.25.linear_attn.in_proj_z": {
757
+ "count": 300941,
758
+ "input_features": 4096,
759
+ "sample_rows": 8
760
+ },
761
+ "model.language_model.layers.25.linear_attn.out_proj": {
762
+ "count": 300941,
763
+ "input_features": 4096,
764
+ "sample_rows": 8
765
+ },
766
+ "model.language_model.layers.25.mlp.down_proj": {
767
+ "count": 300941,
768
+ "input_features": 12288,
769
+ "sample_rows": 8
770
+ },
771
+ "model.language_model.layers.25.mlp.gate_proj": {
772
+ "count": 300941,
773
+ "input_features": 4096,
774
+ "sample_rows": 8
775
+ },
776
+ "model.language_model.layers.25.mlp.up_proj": {
777
+ "count": 300941,
778
+ "input_features": 4096,
779
+ "sample_rows": 8
780
+ },
781
+ "model.language_model.layers.26.linear_attn.in_proj_a": {
782
+ "count": 300941,
783
+ "input_features": 4096,
784
+ "sample_rows": 8
785
+ },
786
+ "model.language_model.layers.26.linear_attn.in_proj_b": {
787
+ "count": 300941,
788
+ "input_features": 4096,
789
+ "sample_rows": 8
790
+ },
791
+ "model.language_model.layers.26.linear_attn.in_proj_qkv": {
792
+ "count": 300941,
793
+ "input_features": 4096,
794
+ "sample_rows": 8
795
+ },
796
+ "model.language_model.layers.26.linear_attn.in_proj_z": {
797
+ "count": 300941,
798
+ "input_features": 4096,
799
+ "sample_rows": 8
800
+ },
801
+ "model.language_model.layers.26.linear_attn.out_proj": {
802
+ "count": 300941,
803
+ "input_features": 4096,
804
+ "sample_rows": 8
805
+ },
806
+ "model.language_model.layers.26.mlp.down_proj": {
807
+ "count": 300941,
808
+ "input_features": 12288,
809
+ "sample_rows": 8
810
+ },
811
+ "model.language_model.layers.26.mlp.gate_proj": {
812
+ "count": 300941,
813
+ "input_features": 4096,
814
+ "sample_rows": 8
815
+ },
816
+ "model.language_model.layers.26.mlp.up_proj": {
817
+ "count": 300941,
818
+ "input_features": 4096,
819
+ "sample_rows": 8
820
+ },
821
+ "model.language_model.layers.27.mlp.down_proj": {
822
+ "count": 300941,
823
+ "input_features": 12288,
824
+ "sample_rows": 8
825
+ },
826
+ "model.language_model.layers.27.mlp.gate_proj": {
827
+ "count": 300941,
828
+ "input_features": 4096,
829
+ "sample_rows": 8
830
+ },
831
+ "model.language_model.layers.27.mlp.up_proj": {
832
+ "count": 300941,
833
+ "input_features": 4096,
834
+ "sample_rows": 8
835
+ },
836
+ "model.language_model.layers.27.self_attn.k_proj": {
837
+ "count": 300941,
838
+ "input_features": 4096,
839
+ "sample_rows": 8
840
+ },
841
+ "model.language_model.layers.27.self_attn.o_proj": {
842
+ "count": 300941,
843
+ "input_features": 4096,
844
+ "sample_rows": 8
845
+ },
846
+ "model.language_model.layers.27.self_attn.q_proj": {
847
+ "count": 300941,
848
+ "input_features": 4096,
849
+ "sample_rows": 8
850
+ },
851
+ "model.language_model.layers.27.self_attn.v_proj": {
852
+ "count": 300941,
853
+ "input_features": 4096,
854
+ "sample_rows": 8
855
+ },
856
+ "model.language_model.layers.28.linear_attn.in_proj_a": {
857
+ "count": 300941,
858
+ "input_features": 4096,
859
+ "sample_rows": 8
860
+ },
861
+ "model.language_model.layers.28.linear_attn.in_proj_b": {
862
+ "count": 300941,
863
+ "input_features": 4096,
864
+ "sample_rows": 8
865
+ },
866
+ "model.language_model.layers.28.linear_attn.in_proj_qkv": {
867
+ "count": 300941,
868
+ "input_features": 4096,
869
+ "sample_rows": 8
870
+ },
871
+ "model.language_model.layers.28.linear_attn.in_proj_z": {
872
+ "count": 300941,
873
+ "input_features": 4096,
874
+ "sample_rows": 8
875
+ },
876
+ "model.language_model.layers.28.linear_attn.out_proj": {
877
+ "count": 300941,
878
+ "input_features": 4096,
879
+ "sample_rows": 8
880
+ },
881
+ "model.language_model.layers.28.mlp.down_proj": {
882
+ "count": 300941,
883
+ "input_features": 12288,
884
+ "sample_rows": 8
885
+ },
886
+ "model.language_model.layers.28.mlp.gate_proj": {
887
+ "count": 300941,
888
+ "input_features": 4096,
889
+ "sample_rows": 8
890
+ },
891
+ "model.language_model.layers.28.mlp.up_proj": {
892
+ "count": 300941,
893
+ "input_features": 4096,
894
+ "sample_rows": 8
895
+ },
896
+ "model.language_model.layers.29.linear_attn.in_proj_a": {
897
+ "count": 300941,
898
+ "input_features": 4096,
899
+ "sample_rows": 8
900
+ },
901
+ "model.language_model.layers.29.linear_attn.in_proj_b": {
902
+ "count": 300941,
903
+ "input_features": 4096,
904
+ "sample_rows": 8
905
+ },
906
+ "model.language_model.layers.29.linear_attn.in_proj_qkv": {
907
+ "count": 300941,
908
+ "input_features": 4096,
909
+ "sample_rows": 8
910
+ },
911
+ "model.language_model.layers.29.linear_attn.in_proj_z": {
912
+ "count": 300941,
913
+ "input_features": 4096,
914
+ "sample_rows": 8
915
+ },
916
+ "model.language_model.layers.29.linear_attn.out_proj": {
917
+ "count": 300941,
918
+ "input_features": 4096,
919
+ "sample_rows": 8
920
+ },
921
+ "model.language_model.layers.29.mlp.down_proj": {
922
+ "count": 300941,
923
+ "input_features": 12288,
924
+ "sample_rows": 8
925
+ },
926
+ "model.language_model.layers.29.mlp.gate_proj": {
927
+ "count": 300941,
928
+ "input_features": 4096,
929
+ "sample_rows": 8
930
+ },
931
+ "model.language_model.layers.29.mlp.up_proj": {
932
+ "count": 300941,
933
+ "input_features": 4096,
934
+ "sample_rows": 8
935
+ },
936
+ "model.language_model.layers.3.mlp.down_proj": {
937
+ "count": 300941,
938
+ "input_features": 12288,
939
+ "sample_rows": 8
940
+ },
941
+ "model.language_model.layers.3.mlp.gate_proj": {
942
+ "count": 300941,
943
+ "input_features": 4096,
944
+ "sample_rows": 8
945
+ },
946
+ "model.language_model.layers.3.mlp.up_proj": {
947
+ "count": 300941,
948
+ "input_features": 4096,
949
+ "sample_rows": 8
950
+ },
951
+ "model.language_model.layers.3.self_attn.k_proj": {
952
+ "count": 300941,
953
+ "input_features": 4096,
954
+ "sample_rows": 8
955
+ },
956
+ "model.language_model.layers.3.self_attn.o_proj": {
957
+ "count": 300941,
958
+ "input_features": 4096,
959
+ "sample_rows": 8
960
+ },
961
+ "model.language_model.layers.3.self_attn.q_proj": {
962
+ "count": 300941,
963
+ "input_features": 4096,
964
+ "sample_rows": 8
965
+ },
966
+ "model.language_model.layers.3.self_attn.v_proj": {
967
+ "count": 300941,
968
+ "input_features": 4096,
969
+ "sample_rows": 8
970
+ },
971
+ "model.language_model.layers.30.linear_attn.in_proj_a": {
972
+ "count": 300941,
973
+ "input_features": 4096,
974
+ "sample_rows": 8
975
+ },
976
+ "model.language_model.layers.30.linear_attn.in_proj_b": {
977
+ "count": 300941,
978
+ "input_features": 4096,
979
+ "sample_rows": 8
980
+ },
981
+ "model.language_model.layers.30.linear_attn.in_proj_qkv": {
982
+ "count": 300941,
983
+ "input_features": 4096,
984
+ "sample_rows": 8
985
+ },
986
+ "model.language_model.layers.30.linear_attn.in_proj_z": {
987
+ "count": 300941,
988
+ "input_features": 4096,
989
+ "sample_rows": 8
990
+ },
991
+ "model.language_model.layers.30.linear_attn.out_proj": {
992
+ "count": 300941,
993
+ "input_features": 4096,
994
+ "sample_rows": 8
995
+ },
996
+ "model.language_model.layers.30.mlp.down_proj": {
997
+ "count": 300941,
998
+ "input_features": 12288,
999
+ "sample_rows": 8
1000
+ },
1001
+ "model.language_model.layers.30.mlp.gate_proj": {
1002
+ "count": 300941,
1003
+ "input_features": 4096,
1004
+ "sample_rows": 8
1005
+ },
1006
+ "model.language_model.layers.30.mlp.up_proj": {
1007
+ "count": 300941,
1008
+ "input_features": 4096,
1009
+ "sample_rows": 8
1010
+ },
1011
+ "model.language_model.layers.31.mlp.down_proj": {
1012
+ "count": 300941,
1013
+ "input_features": 12288,
1014
+ "sample_rows": 8
1015
+ },
1016
+ "model.language_model.layers.31.mlp.gate_proj": {
1017
+ "count": 300941,
1018
+ "input_features": 4096,
1019
+ "sample_rows": 8
1020
+ },
1021
+ "model.language_model.layers.31.mlp.up_proj": {
1022
+ "count": 300941,
1023
+ "input_features": 4096,
1024
+ "sample_rows": 8
1025
+ },
1026
+ "model.language_model.layers.31.self_attn.k_proj": {
1027
+ "count": 300941,
1028
+ "input_features": 4096,
1029
+ "sample_rows": 8
1030
+ },
1031
+ "model.language_model.layers.31.self_attn.o_proj": {
1032
+ "count": 300941,
1033
+ "input_features": 4096,
1034
+ "sample_rows": 8
1035
+ },
1036
+ "model.language_model.layers.31.self_attn.q_proj": {
1037
+ "count": 300941,
1038
+ "input_features": 4096,
1039
+ "sample_rows": 8
1040
+ },
1041
+ "model.language_model.layers.31.self_attn.v_proj": {
1042
+ "count": 300941,
1043
+ "input_features": 4096,
1044
+ "sample_rows": 8
1045
+ },
1046
+ "model.language_model.layers.4.linear_attn.in_proj_a": {
1047
+ "count": 300941,
1048
+ "input_features": 4096,
1049
+ "sample_rows": 8
1050
+ },
1051
+ "model.language_model.layers.4.linear_attn.in_proj_b": {
1052
+ "count": 300941,
1053
+ "input_features": 4096,
1054
+ "sample_rows": 8
1055
+ },
1056
+ "model.language_model.layers.4.linear_attn.in_proj_qkv": {
1057
+ "count": 300941,
1058
+ "input_features": 4096,
1059
+ "sample_rows": 8
1060
+ },
1061
+ "model.language_model.layers.4.linear_attn.in_proj_z": {
1062
+ "count": 300941,
1063
+ "input_features": 4096,
1064
+ "sample_rows": 8
1065
+ },
1066
+ "model.language_model.layers.4.linear_attn.out_proj": {
1067
+ "count": 300941,
1068
+ "input_features": 4096,
1069
+ "sample_rows": 8
1070
+ },
1071
+ "model.language_model.layers.4.mlp.down_proj": {
1072
+ "count": 300941,
1073
+ "input_features": 12288,
1074
+ "sample_rows": 8
1075
+ },
1076
+ "model.language_model.layers.4.mlp.gate_proj": {
1077
+ "count": 300941,
1078
+ "input_features": 4096,
1079
+ "sample_rows": 8
1080
+ },
1081
+ "model.language_model.layers.4.mlp.up_proj": {
1082
+ "count": 300941,
1083
+ "input_features": 4096,
1084
+ "sample_rows": 8
1085
+ },
1086
+ "model.language_model.layers.5.linear_attn.in_proj_a": {
1087
+ "count": 300941,
1088
+ "input_features": 4096,
1089
+ "sample_rows": 8
1090
+ },
1091
+ "model.language_model.layers.5.linear_attn.in_proj_b": {
1092
+ "count": 300941,
1093
+ "input_features": 4096,
1094
+ "sample_rows": 8
1095
+ },
1096
+ "model.language_model.layers.5.linear_attn.in_proj_qkv": {
1097
+ "count": 300941,
1098
+ "input_features": 4096,
1099
+ "sample_rows": 8
1100
+ },
1101
+ "model.language_model.layers.5.linear_attn.in_proj_z": {
1102
+ "count": 300941,
1103
+ "input_features": 4096,
1104
+ "sample_rows": 8
1105
+ },
1106
+ "model.language_model.layers.5.linear_attn.out_proj": {
1107
+ "count": 300941,
1108
+ "input_features": 4096,
1109
+ "sample_rows": 8
1110
+ },
1111
+ "model.language_model.layers.5.mlp.down_proj": {
1112
+ "count": 300941,
1113
+ "input_features": 12288,
1114
+ "sample_rows": 8
1115
+ },
1116
+ "model.language_model.layers.5.mlp.gate_proj": {
1117
+ "count": 300941,
1118
+ "input_features": 4096,
1119
+ "sample_rows": 8
1120
+ },
1121
+ "model.language_model.layers.5.mlp.up_proj": {
1122
+ "count": 300941,
1123
+ "input_features": 4096,
1124
+ "sample_rows": 8
1125
+ },
1126
+ "model.language_model.layers.6.linear_attn.in_proj_a": {
1127
+ "count": 300941,
1128
+ "input_features": 4096,
1129
+ "sample_rows": 8
1130
+ },
1131
+ "model.language_model.layers.6.linear_attn.in_proj_b": {
1132
+ "count": 300941,
1133
+ "input_features": 4096,
1134
+ "sample_rows": 8
1135
+ },
1136
+ "model.language_model.layers.6.linear_attn.in_proj_qkv": {
1137
+ "count": 300941,
1138
+ "input_features": 4096,
1139
+ "sample_rows": 8
1140
+ },
1141
+ "model.language_model.layers.6.linear_attn.in_proj_z": {
1142
+ "count": 300941,
1143
+ "input_features": 4096,
1144
+ "sample_rows": 8
1145
+ },
1146
+ "model.language_model.layers.6.linear_attn.out_proj": {
1147
+ "count": 300941,
1148
+ "input_features": 4096,
1149
+ "sample_rows": 8
1150
+ },
1151
+ "model.language_model.layers.6.mlp.down_proj": {
1152
+ "count": 300941,
1153
+ "input_features": 12288,
1154
+ "sample_rows": 8
1155
+ },
1156
+ "model.language_model.layers.6.mlp.gate_proj": {
1157
+ "count": 300941,
1158
+ "input_features": 4096,
1159
+ "sample_rows": 8
1160
+ },
1161
+ "model.language_model.layers.6.mlp.up_proj": {
1162
+ "count": 300941,
1163
+ "input_features": 4096,
1164
+ "sample_rows": 8
1165
+ },
1166
+ "model.language_model.layers.7.mlp.down_proj": {
1167
+ "count": 300941,
1168
+ "input_features": 12288,
1169
+ "sample_rows": 8
1170
+ },
1171
+ "model.language_model.layers.7.mlp.gate_proj": {
1172
+ "count": 300941,
1173
+ "input_features": 4096,
1174
+ "sample_rows": 8
1175
+ },
1176
+ "model.language_model.layers.7.mlp.up_proj": {
1177
+ "count": 300941,
1178
+ "input_features": 4096,
1179
+ "sample_rows": 8
1180
+ },
1181
+ "model.language_model.layers.7.self_attn.k_proj": {
1182
+ "count": 300941,
1183
+ "input_features": 4096,
1184
+ "sample_rows": 8
1185
+ },
1186
+ "model.language_model.layers.7.self_attn.o_proj": {
1187
+ "count": 300941,
1188
+ "input_features": 4096,
1189
+ "sample_rows": 8
1190
+ },
1191
+ "model.language_model.layers.7.self_attn.q_proj": {
1192
+ "count": 300941,
1193
+ "input_features": 4096,
1194
+ "sample_rows": 8
1195
+ },
1196
+ "model.language_model.layers.7.self_attn.v_proj": {
1197
+ "count": 300941,
1198
+ "input_features": 4096,
1199
+ "sample_rows": 8
1200
+ },
1201
+ "model.language_model.layers.8.linear_attn.in_proj_a": {
1202
+ "count": 300941,
1203
+ "input_features": 4096,
1204
+ "sample_rows": 8
1205
+ },
1206
+ "model.language_model.layers.8.linear_attn.in_proj_b": {
1207
+ "count": 300941,
1208
+ "input_features": 4096,
1209
+ "sample_rows": 8
1210
+ },
1211
+ "model.language_model.layers.8.linear_attn.in_proj_qkv": {
1212
+ "count": 300941,
1213
+ "input_features": 4096,
1214
+ "sample_rows": 8
1215
+ },
1216
+ "model.language_model.layers.8.linear_attn.in_proj_z": {
1217
+ "count": 300941,
1218
+ "input_features": 4096,
1219
+ "sample_rows": 8
1220
+ },
1221
+ "model.language_model.layers.8.linear_attn.out_proj": {
1222
+ "count": 300941,
1223
+ "input_features": 4096,
1224
+ "sample_rows": 8
1225
+ },
1226
+ "model.language_model.layers.8.mlp.down_proj": {
1227
+ "count": 300941,
1228
+ "input_features": 12288,
1229
+ "sample_rows": 8
1230
+ },
1231
+ "model.language_model.layers.8.mlp.gate_proj": {
1232
+ "count": 300941,
1233
+ "input_features": 4096,
1234
+ "sample_rows": 8
1235
+ },
1236
+ "model.language_model.layers.8.mlp.up_proj": {
1237
+ "count": 300941,
1238
+ "input_features": 4096,
1239
+ "sample_rows": 8
1240
+ },
1241
+ "model.language_model.layers.9.linear_attn.in_proj_a": {
1242
+ "count": 300941,
1243
+ "input_features": 4096,
1244
+ "sample_rows": 8
1245
+ },
1246
+ "model.language_model.layers.9.linear_attn.in_proj_b": {
1247
+ "count": 300941,
1248
+ "input_features": 4096,
1249
+ "sample_rows": 8
1250
+ },
1251
+ "model.language_model.layers.9.linear_attn.in_proj_qkv": {
1252
+ "count": 300941,
1253
+ "input_features": 4096,
1254
+ "sample_rows": 8
1255
+ },
1256
+ "model.language_model.layers.9.linear_attn.in_proj_z": {
1257
+ "count": 300941,
1258
+ "input_features": 4096,
1259
+ "sample_rows": 8
1260
+ },
1261
+ "model.language_model.layers.9.linear_attn.out_proj": {
1262
+ "count": 300941,
1263
+ "input_features": 4096,
1264
+ "sample_rows": 8
1265
+ },
1266
+ "model.language_model.layers.9.mlp.down_proj": {
1267
+ "count": 300941,
1268
+ "input_features": 12288,
1269
+ "sample_rows": 8
1270
+ },
1271
+ "model.language_model.layers.9.mlp.gate_proj": {
1272
+ "count": 300941,
1273
+ "input_features": 4096,
1274
+ "sample_rows": 8
1275
+ },
1276
+ "model.language_model.layers.9.mlp.up_proj": {
1277
+ "count": 300941,
1278
+ "input_features": 4096,
1279
+ "sample_rows": 8
1280
+ }
1281
+ },
1282
+ "native_fp32_tensors_restored": 48,
1283
+ "packages": {
1284
+ "accelerate": "1.7.0",
1285
+ "numpy": "1.26.4",
1286
+ "safetensors": "0.8.0",
1287
+ "torch": "2.11.0+cpu",
1288
+ "transformers": "5.12.1"
1289
+ },
1290
+ "parameter_elements_by_dtype": {
1291
+ "torch.bfloat16": 8953799424,
1292
+ "torch.float32": 3840
1293
+ },
1294
+ "reference_loader_sha256": "286b970571921b3a4ca3aa80a75a55c4191de404b4c95ad84828349bc504e046",
1295
+ "revision_evidence": {
1296
+ "chat_template.jinja": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1297
+ "config.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1298
+ "merges.txt": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1299
+ "model.safetensors-00001-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1300
+ "model.safetensors-00002-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1301
+ "model.safetensors-00003-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1302
+ "model.safetensors-00004-of-00004.safetensors": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1303
+ "model.safetensors.index.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1304
+ "tokenizer.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1305
+ "tokenizer_config.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1306
+ "vocab.json": "c202236235762e1c871ad0ccb60c8ee5ba337b9a"
1307
+ },
1308
+ "samples_sha256": "f5fa7dbda17bc7e8c09e6108eb648b49766e434e548786fe53746567049b67e4",
1309
+ "sampling": "Fixed approximately uniformly spaced token indices over the full deterministic record stream, not a first-record activation slice",
1310
+ "schema_version": 1,
1311
+ "script_sha256": "8e7b3e30bf5e74ed59d90b0b2e4e0a33a4985c7f7504fd7bd75d97a96087c5dc",
1312
+ "statistic": "float64 sum of FP32 squared linear-input activations over all full-record token positions; count is unpadded token rows. Mean diagonal second moment = sumsq / count.",
1313
+ "status": "complete",
1314
+ "text_tensor_count": 427,
1315
+ "tokenizer": {
1316
+ "applied_here": false,
1317
+ "file_sha256": {
1318
+ "chat_template.jinja": "a4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715",
1319
+ "merges.txt": "a9d356d7bdf1ef4949e3e748e95b8e10ad9d4e2e838eddc38a0a7b6b94d1db8d",
1320
+ "tokenizer.json": "5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42",
1321
+ "tokenizer_config.json": "316230d6a809701f4db5ea8f8fc862bc3a6f3229c937c174e674ff3ca0a64ac8",
1322
+ "vocab.json": "ce99b4cb2983d118806ce0a8b777a35b093e2000a503ebde25853284c9dfa003"
1323
+ },
1324
+ "model_id": "Qwen/Qwen3.5-9B",
1325
+ "revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
1326
+ "vocabulary_order": "Original checkpoint lm_head row order, unchanged"
1327
+ },
1328
+ "total_input_tokens": 300941,
1329
+ "total_records": 614,
1330
+ "use": "TT precision sensitivity ranking; importance = sumsq/count. Not llama.cpp imatrix format; no training or quantized-weight optimization.",
1331
+ "weight_bytes_by_component": {
1332
+ "mtp": 486581248,
1333
+ "text": 17907614208,
1334
+ "vision": 912020960
1335
+ },
1336
+ "weight_integrity_note": "Revision sidecars plus config/index hashes; full multi-GB shard content hashes are not recomputed."
1337
+ }
checkpoint/provenance/importance.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca51deb3c0f6b096bea1ff2312b1bab4a4a8fa083ba0e03b282ec4f8ef303779
3
+ size 10427338
checkpoint/provenance/original.safetensors.index.json ADDED
@@ -0,0 +1,782 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_size": 19306216416
4
+ },
5
+ "weight_map": {
6
+ "lm_head.weight": "model.safetensors-00001-of-00004.safetensors",
7
+ "model.language_model.embed_tokens.weight": "model.safetensors-00001-of-00004.safetensors",
8
+ "model.language_model.layers.14.mlp.down_proj.weight": "model.safetensors-00001-of-00004.safetensors",
9
+ "model.language_model.layers.14.mlp.gate_proj.weight": "model.safetensors-00001-of-00004.safetensors",
10
+ "model.language_model.layers.14.mlp.up_proj.weight": "model.safetensors-00001-of-00004.safetensors",
11
+ "model.language_model.layers.15.mlp.down_proj.weight": "model.safetensors-00001-of-00004.safetensors",
12
+ "model.language_model.layers.15.mlp.gate_proj.weight": "model.safetensors-00001-of-00004.safetensors",
13
+ "model.language_model.layers.15.mlp.up_proj.weight": "model.safetensors-00001-of-00004.safetensors",
14
+ "model.language_model.layers.25.mlp.down_proj.weight": "model.safetensors-00001-of-00004.safetensors",
15
+ "model.language_model.layers.26.mlp.down_proj.weight": "model.safetensors-00001-of-00004.safetensors",
16
+ "model.language_model.layers.26.mlp.gate_proj.weight": "model.safetensors-00001-of-00004.safetensors",
17
+ "model.language_model.layers.26.mlp.up_proj.weight": "model.safetensors-00001-of-00004.safetensors",
18
+ "model.language_model.layers.27.mlp.down_proj.weight": "model.safetensors-00001-of-00004.safetensors",
19
+ "model.language_model.layers.27.mlp.gate_proj.weight": "model.safetensors-00001-of-00004.safetensors",
20
+ "model.language_model.layers.27.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
21
+ "model.language_model.layers.3.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
22
+ "model.language_model.layers.3.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
23
+ "model.language_model.layers.3.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
24
+ "model.language_model.layers.30.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
25
+ "model.language_model.layers.30.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
26
+ "model.language_model.layers.30.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
27
+ "model.language_model.layers.31.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
28
+ "model.language_model.layers.31.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
29
+ "model.language_model.layers.9.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
30
+ "model.language_model.layers.9.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
31
+ "model.language_model.layers.9.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
32
+ "mtp.layers.0.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
33
+ "mtp.layers.0.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
34
+ "mtp.layers.0.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
35
+ "model.language_model.layers.1.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
36
+ "model.language_model.layers.1.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
37
+ "model.language_model.layers.1.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
38
+ "model.language_model.layers.10.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
39
+ "model.language_model.layers.10.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
40
+ "model.language_model.layers.10.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
41
+ "model.language_model.layers.11.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
42
+ "model.language_model.layers.11.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
43
+ "model.language_model.layers.11.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
44
+ "model.language_model.layers.0.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
45
+ "model.language_model.layers.0.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
46
+ "model.language_model.layers.0.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
47
+ "model.language_model.layers.21.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
48
+ "model.language_model.layers.21.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
49
+ "model.language_model.layers.21.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
50
+ "model.language_model.layers.22.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
51
+ "model.language_model.layers.22.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
52
+ "model.language_model.layers.22.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
53
+ "model.language_model.layers.23.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
54
+ "model.language_model.layers.23.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
55
+ "model.language_model.layers.23.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
56
+ "model.language_model.layers.8.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
57
+ "model.language_model.layers.8.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
58
+ "model.language_model.layers.8.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
59
+ "model.language_model.layers.31.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
60
+ "model.language_model.layers.4.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
61
+ "model.language_model.layers.4.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
62
+ "model.language_model.layers.4.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
63
+ "model.language_model.layers.16.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
64
+ "model.language_model.layers.16.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
65
+ "model.language_model.layers.16.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
66
+ "model.language_model.layers.17.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
67
+ "model.language_model.layers.17.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
68
+ "model.language_model.layers.17.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
69
+ "model.language_model.layers.18.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
70
+ "model.language_model.layers.18.mlp.gate_proj.weight": "model.safetensors-00002-of-00004.safetensors",
71
+ "model.language_model.layers.18.mlp.up_proj.weight": "model.safetensors-00002-of-00004.safetensors",
72
+ "model.language_model.layers.19.mlp.down_proj.weight": "model.safetensors-00002-of-00004.safetensors",
73
+ "model.language_model.layers.19.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
74
+ "model.language_model.layers.19.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
75
+ "model.language_model.layers.24.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
76
+ "model.language_model.layers.24.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
77
+ "model.language_model.layers.24.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
78
+ "model.language_model.layers.25.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
79
+ "model.language_model.layers.25.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
80
+ "model.language_model.layers.5.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
81
+ "model.language_model.layers.5.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
82
+ "model.language_model.layers.5.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
83
+ "model.language_model.layers.6.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
84
+ "model.language_model.layers.6.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
85
+ "model.language_model.layers.6.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
86
+ "model.language_model.layers.7.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
87
+ "model.language_model.layers.7.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
88
+ "model.language_model.layers.7.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
89
+ "model.language_model.layers.2.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
90
+ "model.language_model.layers.2.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
91
+ "model.language_model.layers.2.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
92
+ "model.language_model.layers.20.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
93
+ "model.language_model.layers.20.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
94
+ "model.language_model.layers.20.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
95
+ "model.language_model.layers.28.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
96
+ "model.language_model.layers.28.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
97
+ "model.language_model.layers.28.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
98
+ "model.language_model.layers.29.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
99
+ "model.language_model.layers.29.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
100
+ "model.language_model.layers.29.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
101
+ "model.language_model.layers.12.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
102
+ "model.language_model.layers.12.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
103
+ "model.language_model.layers.12.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
104
+ "model.language_model.layers.13.mlp.down_proj.weight": "model.safetensors-00003-of-00004.safetensors",
105
+ "model.language_model.layers.13.mlp.gate_proj.weight": "model.safetensors-00003-of-00004.safetensors",
106
+ "model.language_model.layers.13.mlp.up_proj.weight": "model.safetensors-00003-of-00004.safetensors",
107
+ "model.language_model.layers.14.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
108
+ "model.language_model.layers.15.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
109
+ "model.language_model.layers.26.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
110
+ "model.language_model.layers.27.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
111
+ "model.language_model.layers.3.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
112
+ "model.language_model.layers.30.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
113
+ "model.language_model.layers.9.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
114
+ "mtp.fc.weight": "model.safetensors-00003-of-00004.safetensors",
115
+ "mtp.layers.0.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
116
+ "model.language_model.layers.10.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
117
+ "model.language_model.layers.11.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
118
+ "model.language_model.layers.0.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
119
+ "model.language_model.layers.1.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
120
+ "model.language_model.layers.22.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
121
+ "model.language_model.layers.23.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
122
+ "model.language_model.layers.7.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
123
+ "model.language_model.layers.8.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
124
+ "model.language_model.layers.31.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
125
+ "model.language_model.layers.4.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
126
+ "model.language_model.layers.16.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
127
+ "model.language_model.layers.17.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
128
+ "model.language_model.layers.18.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
129
+ "model.language_model.layers.19.self_attn.q_proj.weight": "model.safetensors-00003-of-00004.safetensors",
130
+ "model.language_model.layers.2.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
131
+ "model.language_model.layers.24.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
132
+ "model.language_model.layers.25.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
133
+ "model.language_model.layers.5.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
134
+ "model.language_model.layers.6.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
135
+ "model.language_model.layers.20.linear_attn.in_proj_qkv.weight": "model.safetensors-00003-of-00004.safetensors",
136
+ "model.language_model.layers.21.linear_attn.in_proj_qkv.weight": "model.safetensors-00004-of-00004.safetensors",
137
+ "model.language_model.layers.28.linear_attn.in_proj_qkv.weight": "model.safetensors-00004-of-00004.safetensors",
138
+ "model.language_model.layers.29.linear_attn.in_proj_qkv.weight": "model.safetensors-00004-of-00004.safetensors",
139
+ "model.language_model.layers.12.linear_attn.in_proj_qkv.weight": "model.safetensors-00004-of-00004.safetensors",
140
+ "model.language_model.layers.13.linear_attn.in_proj_qkv.weight": "model.safetensors-00004-of-00004.safetensors",
141
+ "model.visual.merger.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
142
+ "model.visual.merger.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
143
+ "model.language_model.layers.14.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
144
+ "model.language_model.layers.14.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
145
+ "model.language_model.layers.15.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
146
+ "model.language_model.layers.26.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
147
+ "model.language_model.layers.26.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
148
+ "model.language_model.layers.27.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
149
+ "model.language_model.layers.3.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
150
+ "model.language_model.layers.30.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
151
+ "model.language_model.layers.30.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
152
+ "model.language_model.layers.9.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
153
+ "model.language_model.layers.9.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
154
+ "mtp.layers.0.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
155
+ "model.language_model.layers.10.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
156
+ "model.language_model.layers.10.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
157
+ "model.language_model.layers.11.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
158
+ "model.language_model.layers.0.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
159
+ "model.language_model.layers.0.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
160
+ "model.language_model.layers.1.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
161
+ "model.language_model.layers.1.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
162
+ "model.language_model.layers.21.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
163
+ "model.language_model.layers.22.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
164
+ "model.language_model.layers.22.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
165
+ "model.language_model.layers.23.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
166
+ "model.language_model.layers.7.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
167
+ "model.language_model.layers.8.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
168
+ "model.language_model.layers.8.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
169
+ "model.language_model.layers.31.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
170
+ "model.language_model.layers.4.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
171
+ "model.language_model.layers.4.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
172
+ "model.language_model.layers.16.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
173
+ "model.language_model.layers.16.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
174
+ "model.language_model.layers.17.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
175
+ "model.language_model.layers.17.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
176
+ "model.language_model.layers.18.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
177
+ "model.language_model.layers.18.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
178
+ "model.language_model.layers.19.self_attn.o_proj.weight": "model.safetensors-00004-of-00004.safetensors",
179
+ "model.language_model.layers.2.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
180
+ "model.language_model.layers.24.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
181
+ "model.language_model.layers.24.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
182
+ "model.language_model.layers.25.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
183
+ "model.language_model.layers.25.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
184
+ "model.language_model.layers.5.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
185
+ "model.language_model.layers.5.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
186
+ "model.language_model.layers.6.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
187
+ "model.language_model.layers.6.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
188
+ "model.language_model.layers.2.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
189
+ "model.language_model.layers.20.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
190
+ "model.language_model.layers.20.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
191
+ "model.language_model.layers.21.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
192
+ "model.language_model.layers.28.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
193
+ "model.language_model.layers.28.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
194
+ "model.language_model.layers.29.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
195
+ "model.language_model.layers.29.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
196
+ "model.language_model.layers.12.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
197
+ "model.language_model.layers.12.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
198
+ "model.language_model.layers.13.linear_attn.in_proj_z.weight": "model.safetensors-00004-of-00004.safetensors",
199
+ "model.language_model.layers.13.linear_attn.out_proj.weight": "model.safetensors-00004-of-00004.safetensors",
200
+ "model.visual.blocks.0.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
201
+ "model.visual.blocks.0.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
202
+ "model.visual.blocks.1.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
203
+ "model.visual.blocks.1.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
204
+ "model.visual.blocks.10.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
205
+ "model.visual.blocks.10.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
206
+ "model.visual.blocks.11.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
207
+ "model.visual.blocks.11.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
208
+ "model.visual.blocks.12.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
209
+ "model.visual.blocks.12.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
210
+ "model.visual.blocks.13.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
211
+ "model.visual.blocks.13.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
212
+ "model.visual.blocks.14.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
213
+ "model.visual.blocks.14.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
214
+ "model.visual.blocks.15.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
215
+ "model.visual.blocks.15.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
216
+ "model.visual.blocks.16.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
217
+ "model.visual.blocks.16.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
218
+ "model.visual.blocks.17.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
219
+ "model.visual.blocks.17.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
220
+ "model.visual.blocks.18.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
221
+ "model.visual.blocks.18.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
222
+ "model.visual.blocks.19.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
223
+ "model.visual.blocks.19.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
224
+ "model.visual.blocks.2.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
225
+ "model.visual.blocks.2.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
226
+ "model.visual.blocks.20.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
227
+ "model.visual.blocks.20.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
228
+ "model.visual.blocks.21.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
229
+ "model.visual.blocks.21.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
230
+ "model.visual.blocks.22.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
231
+ "model.visual.blocks.22.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
232
+ "model.visual.blocks.23.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
233
+ "model.visual.blocks.23.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
234
+ "model.visual.blocks.24.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
235
+ "model.visual.blocks.24.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
236
+ "model.visual.blocks.25.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
237
+ "model.visual.blocks.25.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
238
+ "model.visual.blocks.26.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
239
+ "model.visual.blocks.26.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
240
+ "model.visual.blocks.3.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
241
+ "model.visual.blocks.3.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
242
+ "model.visual.blocks.4.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
243
+ "model.visual.blocks.4.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
244
+ "model.visual.blocks.5.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
245
+ "model.visual.blocks.5.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
246
+ "model.visual.blocks.6.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
247
+ "model.visual.blocks.6.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
248
+ "model.visual.blocks.7.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
249
+ "model.visual.blocks.7.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
250
+ "model.visual.blocks.8.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
251
+ "model.visual.blocks.8.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
252
+ "model.visual.blocks.9.mlp.linear_fc1.weight": "model.safetensors-00004-of-00004.safetensors",
253
+ "model.visual.blocks.9.mlp.linear_fc2.weight": "model.safetensors-00004-of-00004.safetensors",
254
+ "model.language_model.layers.15.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
255
+ "model.language_model.layers.15.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
256
+ "model.language_model.layers.27.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
257
+ "model.language_model.layers.27.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
258
+ "model.language_model.layers.3.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
259
+ "model.language_model.layers.3.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
260
+ "mtp.layers.0.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
261
+ "mtp.layers.0.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
262
+ "model.language_model.layers.11.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
263
+ "model.language_model.layers.11.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
264
+ "model.language_model.layers.23.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
265
+ "model.language_model.layers.23.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
266
+ "model.language_model.layers.7.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
267
+ "model.language_model.layers.7.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
268
+ "model.language_model.layers.31.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
269
+ "model.language_model.layers.31.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
270
+ "model.language_model.layers.19.self_attn.k_proj.weight": "model.safetensors-00004-of-00004.safetensors",
271
+ "model.language_model.layers.19.self_attn.v_proj.weight": "model.safetensors-00004-of-00004.safetensors",
272
+ "model.visual.blocks.0.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
273
+ "model.visual.blocks.1.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
274
+ "model.visual.blocks.10.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
275
+ "model.visual.blocks.11.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
276
+ "model.visual.blocks.12.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
277
+ "model.visual.blocks.13.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
278
+ "model.visual.blocks.14.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
279
+ "model.visual.blocks.15.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
280
+ "model.visual.blocks.16.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
281
+ "model.visual.blocks.17.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
282
+ "model.visual.blocks.18.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
283
+ "model.visual.blocks.19.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
284
+ "model.visual.blocks.2.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
285
+ "model.visual.blocks.20.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
286
+ "model.visual.blocks.21.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
287
+ "model.visual.blocks.22.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
288
+ "model.visual.blocks.23.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
289
+ "model.visual.blocks.24.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
290
+ "model.visual.blocks.25.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
291
+ "model.visual.blocks.26.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
292
+ "model.visual.blocks.3.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
293
+ "model.visual.blocks.4.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
294
+ "model.visual.blocks.5.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
295
+ "model.visual.blocks.6.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
296
+ "model.visual.blocks.7.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
297
+ "model.visual.blocks.8.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
298
+ "model.visual.blocks.9.attn.qkv.weight": "model.safetensors-00004-of-00004.safetensors",
299
+ "model.visual.pos_embed.weight": "model.safetensors-00004-of-00004.safetensors",
300
+ "model.visual.patch_embed.proj.weight": "model.safetensors-00004-of-00004.safetensors",
301
+ "model.visual.blocks.0.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
302
+ "model.visual.blocks.1.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
303
+ "model.visual.blocks.10.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
304
+ "model.visual.blocks.11.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
305
+ "model.visual.blocks.12.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
306
+ "model.visual.blocks.13.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
307
+ "model.visual.blocks.14.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
308
+ "model.visual.blocks.15.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
309
+ "model.visual.blocks.16.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
310
+ "model.visual.blocks.17.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
311
+ "model.visual.blocks.18.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
312
+ "model.visual.blocks.19.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
313
+ "model.visual.blocks.2.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
314
+ "model.visual.blocks.20.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
315
+ "model.visual.blocks.21.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
316
+ "model.visual.blocks.22.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
317
+ "model.visual.blocks.23.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
318
+ "model.visual.blocks.24.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
319
+ "model.visual.blocks.25.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
320
+ "model.visual.blocks.26.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
321
+ "model.visual.blocks.3.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
322
+ "model.visual.blocks.4.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
323
+ "model.visual.blocks.5.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
324
+ "model.visual.blocks.6.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
325
+ "model.visual.blocks.7.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
326
+ "model.visual.blocks.8.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
327
+ "model.visual.blocks.9.attn.proj.weight": "model.safetensors-00004-of-00004.safetensors",
328
+ "model.language_model.layers.14.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
329
+ "model.language_model.layers.14.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
330
+ "model.language_model.layers.26.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
331
+ "model.language_model.layers.26.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
332
+ "model.language_model.layers.30.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
333
+ "model.language_model.layers.30.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
334
+ "model.language_model.layers.10.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
335
+ "model.language_model.layers.10.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
336
+ "model.language_model.layers.0.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
337
+ "model.language_model.layers.0.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
338
+ "model.language_model.layers.1.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
339
+ "model.language_model.layers.1.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
340
+ "model.language_model.layers.22.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
341
+ "model.language_model.layers.22.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
342
+ "model.language_model.layers.8.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
343
+ "model.language_model.layers.8.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
344
+ "model.language_model.layers.9.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
345
+ "model.language_model.layers.9.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
346
+ "model.language_model.layers.4.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
347
+ "model.language_model.layers.4.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
348
+ "model.language_model.layers.16.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
349
+ "model.language_model.layers.16.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
350
+ "model.language_model.layers.17.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
351
+ "model.language_model.layers.17.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
352
+ "model.language_model.layers.18.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
353
+ "model.language_model.layers.18.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
354
+ "model.language_model.layers.2.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
355
+ "model.language_model.layers.2.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
356
+ "model.language_model.layers.24.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
357
+ "model.language_model.layers.24.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
358
+ "model.language_model.layers.25.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
359
+ "model.language_model.layers.25.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
360
+ "model.language_model.layers.5.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
361
+ "model.language_model.layers.5.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
362
+ "model.language_model.layers.6.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
363
+ "model.language_model.layers.6.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
364
+ "model.language_model.layers.20.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
365
+ "model.language_model.layers.20.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
366
+ "model.language_model.layers.21.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
367
+ "model.language_model.layers.21.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
368
+ "model.language_model.layers.28.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
369
+ "model.language_model.layers.28.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
370
+ "model.language_model.layers.29.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
371
+ "model.language_model.layers.29.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
372
+ "model.language_model.layers.12.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
373
+ "model.language_model.layers.12.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
374
+ "model.language_model.layers.13.linear_attn.in_proj_b.weight": "model.safetensors-00004-of-00004.safetensors",
375
+ "model.language_model.layers.13.linear_attn.in_proj_a.weight": "model.safetensors-00004-of-00004.safetensors",
376
+ "model.language_model.layers.14.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
377
+ "model.language_model.layers.16.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
378
+ "model.language_model.layers.26.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
379
+ "model.language_model.layers.30.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
380
+ "model.language_model.layers.10.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
381
+ "model.language_model.layers.0.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
382
+ "model.language_model.layers.1.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
383
+ "model.language_model.layers.22.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
384
+ "model.language_model.layers.8.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
385
+ "model.language_model.layers.9.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
386
+ "model.language_model.layers.4.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
387
+ "model.language_model.layers.5.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
388
+ "model.language_model.layers.17.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
389
+ "model.language_model.layers.18.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
390
+ "model.language_model.layers.2.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
391
+ "model.language_model.layers.24.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
392
+ "model.language_model.layers.25.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
393
+ "model.language_model.layers.6.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
394
+ "model.language_model.layers.20.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
395
+ "model.language_model.layers.21.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
396
+ "model.language_model.layers.28.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
397
+ "model.language_model.layers.29.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
398
+ "model.language_model.layers.12.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
399
+ "model.language_model.layers.13.linear_attn.conv1d.weight": "model.safetensors-00004-of-00004.safetensors",
400
+ "model.visual.merger.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
401
+ "model.visual.blocks.0.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
402
+ "model.visual.blocks.1.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
403
+ "model.visual.blocks.10.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
404
+ "model.visual.blocks.11.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
405
+ "model.visual.blocks.12.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
406
+ "model.visual.blocks.13.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
407
+ "model.visual.blocks.14.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
408
+ "model.visual.blocks.15.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
409
+ "model.visual.blocks.16.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
410
+ "model.visual.blocks.17.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
411
+ "model.visual.blocks.18.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
412
+ "model.visual.blocks.19.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
413
+ "model.visual.blocks.2.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
414
+ "model.visual.blocks.20.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
415
+ "model.visual.blocks.21.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
416
+ "model.visual.blocks.22.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
417
+ "model.visual.blocks.23.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
418
+ "model.visual.blocks.24.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
419
+ "model.visual.blocks.25.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
420
+ "model.visual.blocks.26.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
421
+ "model.visual.blocks.3.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
422
+ "model.visual.blocks.4.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
423
+ "model.visual.blocks.5.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
424
+ "model.visual.blocks.6.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
425
+ "model.visual.blocks.7.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
426
+ "model.visual.blocks.8.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
427
+ "model.visual.blocks.9.mlp.linear_fc1.bias": "model.safetensors-00004-of-00004.safetensors",
428
+ "model.language_model.layers.14.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
429
+ "model.language_model.layers.14.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
430
+ "model.language_model.layers.15.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
431
+ "model.language_model.layers.15.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
432
+ "model.language_model.layers.16.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
433
+ "model.language_model.layers.26.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
434
+ "model.language_model.layers.26.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
435
+ "model.language_model.layers.27.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
436
+ "model.language_model.layers.27.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
437
+ "model.language_model.layers.3.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
438
+ "model.language_model.layers.3.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
439
+ "model.language_model.layers.30.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
440
+ "model.language_model.layers.30.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
441
+ "model.language_model.layers.31.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
442
+ "model.language_model.layers.9.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
443
+ "mtp.layers.0.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
444
+ "mtp.layers.0.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
445
+ "mtp.norm.weight": "model.safetensors-00004-of-00004.safetensors",
446
+ "mtp.pre_fc_norm_embedding.weight": "model.safetensors-00004-of-00004.safetensors",
447
+ "mtp.pre_fc_norm_hidden.weight": "model.safetensors-00004-of-00004.safetensors",
448
+ "model.language_model.layers.10.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
449
+ "model.language_model.layers.10.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
450
+ "model.language_model.layers.11.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
451
+ "model.language_model.layers.11.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
452
+ "model.language_model.layers.0.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
453
+ "model.language_model.layers.0.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
454
+ "model.language_model.layers.1.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
455
+ "model.language_model.layers.1.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
456
+ "model.language_model.norm.weight": "model.safetensors-00004-of-00004.safetensors",
457
+ "model.visual.merger.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
458
+ "model.language_model.layers.21.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
459
+ "model.language_model.layers.22.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
460
+ "model.language_model.layers.22.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
461
+ "model.language_model.layers.23.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
462
+ "model.language_model.layers.23.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
463
+ "model.language_model.layers.7.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
464
+ "model.language_model.layers.8.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
465
+ "model.language_model.layers.8.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
466
+ "model.language_model.layers.9.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
467
+ "model.language_model.layers.31.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
468
+ "model.language_model.layers.4.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
469
+ "model.language_model.layers.4.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
470
+ "model.language_model.layers.5.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
471
+ "model.language_model.layers.16.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
472
+ "model.language_model.layers.17.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
473
+ "model.language_model.layers.17.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
474
+ "model.language_model.layers.18.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
475
+ "model.language_model.layers.18.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
476
+ "model.language_model.layers.19.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
477
+ "model.language_model.layers.19.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
478
+ "model.language_model.layers.2.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
479
+ "model.language_model.layers.24.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
480
+ "model.language_model.layers.24.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
481
+ "model.language_model.layers.25.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
482
+ "model.language_model.layers.25.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
483
+ "model.language_model.layers.5.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
484
+ "model.language_model.layers.6.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
485
+ "model.language_model.layers.6.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
486
+ "model.language_model.layers.7.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
487
+ "model.language_model.layers.2.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
488
+ "model.language_model.layers.20.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
489
+ "model.language_model.layers.20.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
490
+ "model.language_model.layers.21.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
491
+ "model.language_model.layers.28.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
492
+ "model.language_model.layers.28.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
493
+ "model.language_model.layers.29.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
494
+ "model.language_model.layers.29.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
495
+ "model.language_model.layers.12.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
496
+ "model.language_model.layers.12.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
497
+ "model.language_model.layers.13.input_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
498
+ "model.language_model.layers.13.post_attention_layernorm.weight": "model.safetensors-00004-of-00004.safetensors",
499
+ "model.visual.blocks.0.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
500
+ "model.visual.blocks.1.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
501
+ "model.visual.blocks.10.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
502
+ "model.visual.blocks.11.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
503
+ "model.visual.blocks.12.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
504
+ "model.visual.blocks.13.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
505
+ "model.visual.blocks.14.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
506
+ "model.visual.blocks.15.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
507
+ "model.visual.blocks.16.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
508
+ "model.visual.blocks.17.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
509
+ "model.visual.blocks.18.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
510
+ "model.visual.blocks.19.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
511
+ "model.visual.blocks.2.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
512
+ "model.visual.blocks.20.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
513
+ "model.visual.blocks.21.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
514
+ "model.visual.blocks.22.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
515
+ "model.visual.blocks.23.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
516
+ "model.visual.blocks.24.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
517
+ "model.visual.blocks.25.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
518
+ "model.visual.blocks.26.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
519
+ "model.visual.blocks.3.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
520
+ "model.visual.blocks.4.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
521
+ "model.visual.blocks.5.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
522
+ "model.visual.blocks.6.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
523
+ "model.visual.blocks.7.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
524
+ "model.visual.blocks.8.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
525
+ "model.visual.blocks.9.attn.qkv.bias": "model.safetensors-00004-of-00004.safetensors",
526
+ "model.visual.blocks.0.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
527
+ "model.visual.blocks.0.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
528
+ "model.visual.blocks.0.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
529
+ "model.visual.blocks.0.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
530
+ "model.visual.blocks.0.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
531
+ "model.visual.blocks.0.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
532
+ "model.visual.blocks.1.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
533
+ "model.visual.blocks.1.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
534
+ "model.visual.blocks.1.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
535
+ "model.visual.blocks.1.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
536
+ "model.visual.blocks.1.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
537
+ "model.visual.blocks.1.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
538
+ "model.visual.blocks.10.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
539
+ "model.visual.blocks.10.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
540
+ "model.visual.blocks.10.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
541
+ "model.visual.blocks.10.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
542
+ "model.visual.blocks.10.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
543
+ "model.visual.blocks.10.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
544
+ "model.visual.blocks.11.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
545
+ "model.visual.blocks.11.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
546
+ "model.visual.blocks.11.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
547
+ "model.visual.blocks.11.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
548
+ "model.visual.blocks.11.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
549
+ "model.visual.blocks.11.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
550
+ "model.visual.blocks.12.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
551
+ "model.visual.blocks.12.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
552
+ "model.visual.blocks.12.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
553
+ "model.visual.blocks.12.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
554
+ "model.visual.blocks.12.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
555
+ "model.visual.blocks.12.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
556
+ "model.visual.blocks.13.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
557
+ "model.visual.blocks.13.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
558
+ "model.visual.blocks.13.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
559
+ "model.visual.blocks.13.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
560
+ "model.visual.blocks.13.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
561
+ "model.visual.blocks.13.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
562
+ "model.visual.blocks.14.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
563
+ "model.visual.blocks.14.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
564
+ "model.visual.blocks.14.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
565
+ "model.visual.blocks.14.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
566
+ "model.visual.blocks.14.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
567
+ "model.visual.blocks.14.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
568
+ "model.visual.blocks.15.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
569
+ "model.visual.blocks.15.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
570
+ "model.visual.blocks.15.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
571
+ "model.visual.blocks.15.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
572
+ "model.visual.blocks.15.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
573
+ "model.visual.blocks.15.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
574
+ "model.visual.blocks.16.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
575
+ "model.visual.blocks.16.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
576
+ "model.visual.blocks.16.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
577
+ "model.visual.blocks.16.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
578
+ "model.visual.blocks.16.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
579
+ "model.visual.blocks.16.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
580
+ "model.visual.blocks.17.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
581
+ "model.visual.blocks.17.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
582
+ "model.visual.blocks.17.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
583
+ "model.visual.blocks.17.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
584
+ "model.visual.blocks.17.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
585
+ "model.visual.blocks.17.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
586
+ "model.visual.blocks.18.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
587
+ "model.visual.blocks.18.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
588
+ "model.visual.blocks.18.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
589
+ "model.visual.blocks.18.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
590
+ "model.visual.blocks.18.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
591
+ "model.visual.blocks.18.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
592
+ "model.visual.blocks.19.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
593
+ "model.visual.blocks.19.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
594
+ "model.visual.blocks.19.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
595
+ "model.visual.blocks.19.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
596
+ "model.visual.blocks.19.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
597
+ "model.visual.blocks.19.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
598
+ "model.visual.blocks.2.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
599
+ "model.visual.blocks.2.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
600
+ "model.visual.blocks.2.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
601
+ "model.visual.blocks.2.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
602
+ "model.visual.blocks.2.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
603
+ "model.visual.blocks.2.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
604
+ "model.visual.blocks.20.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
605
+ "model.visual.blocks.20.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
606
+ "model.visual.blocks.20.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
607
+ "model.visual.blocks.20.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
608
+ "model.visual.blocks.20.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
609
+ "model.visual.blocks.20.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
610
+ "model.visual.blocks.21.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
611
+ "model.visual.blocks.21.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
612
+ "model.visual.blocks.21.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
613
+ "model.visual.blocks.21.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
614
+ "model.visual.blocks.21.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
615
+ "model.visual.blocks.21.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
616
+ "model.visual.blocks.22.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
617
+ "model.visual.blocks.22.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
618
+ "model.visual.blocks.22.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
619
+ "model.visual.blocks.22.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
620
+ "model.visual.blocks.22.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
621
+ "model.visual.blocks.22.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
622
+ "model.visual.blocks.23.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
623
+ "model.visual.blocks.23.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
624
+ "model.visual.blocks.23.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
625
+ "model.visual.blocks.23.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
626
+ "model.visual.blocks.23.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
627
+ "model.visual.blocks.23.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
628
+ "model.visual.blocks.24.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
629
+ "model.visual.blocks.24.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
630
+ "model.visual.blocks.24.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
631
+ "model.visual.blocks.24.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
632
+ "model.visual.blocks.24.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
633
+ "model.visual.blocks.24.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
634
+ "model.visual.blocks.25.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
635
+ "model.visual.blocks.25.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
636
+ "model.visual.blocks.25.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
637
+ "model.visual.blocks.25.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
638
+ "model.visual.blocks.25.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
639
+ "model.visual.blocks.25.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
640
+ "model.visual.blocks.26.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
641
+ "model.visual.blocks.26.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
642
+ "model.visual.blocks.26.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
643
+ "model.visual.blocks.26.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
644
+ "model.visual.blocks.26.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
645
+ "model.visual.blocks.26.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
646
+ "model.visual.blocks.3.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
647
+ "model.visual.blocks.3.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
648
+ "model.visual.blocks.3.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
649
+ "model.visual.blocks.3.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
650
+ "model.visual.blocks.3.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
651
+ "model.visual.blocks.3.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
652
+ "model.visual.blocks.4.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
653
+ "model.visual.blocks.4.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
654
+ "model.visual.blocks.4.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
655
+ "model.visual.blocks.4.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
656
+ "model.visual.blocks.4.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
657
+ "model.visual.blocks.4.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
658
+ "model.visual.blocks.5.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
659
+ "model.visual.blocks.5.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
660
+ "model.visual.blocks.5.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
661
+ "model.visual.blocks.5.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
662
+ "model.visual.blocks.5.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
663
+ "model.visual.blocks.5.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
664
+ "model.visual.blocks.6.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
665
+ "model.visual.blocks.6.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
666
+ "model.visual.blocks.6.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
667
+ "model.visual.blocks.6.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
668
+ "model.visual.blocks.6.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
669
+ "model.visual.blocks.6.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
670
+ "model.visual.blocks.7.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
671
+ "model.visual.blocks.7.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
672
+ "model.visual.blocks.7.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
673
+ "model.visual.blocks.7.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
674
+ "model.visual.blocks.7.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
675
+ "model.visual.blocks.7.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
676
+ "model.visual.blocks.8.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
677
+ "model.visual.blocks.8.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
678
+ "model.visual.blocks.8.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
679
+ "model.visual.blocks.8.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
680
+ "model.visual.blocks.8.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
681
+ "model.visual.blocks.8.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
682
+ "model.visual.blocks.9.attn.proj.bias": "model.safetensors-00004-of-00004.safetensors",
683
+ "model.visual.blocks.9.mlp.linear_fc2.bias": "model.safetensors-00004-of-00004.safetensors",
684
+ "model.visual.blocks.9.norm1.bias": "model.safetensors-00004-of-00004.safetensors",
685
+ "model.visual.blocks.9.norm1.weight": "model.safetensors-00004-of-00004.safetensors",
686
+ "model.visual.blocks.9.norm2.bias": "model.safetensors-00004-of-00004.safetensors",
687
+ "model.visual.blocks.9.norm2.weight": "model.safetensors-00004-of-00004.safetensors",
688
+ "model.visual.merger.norm.bias": "model.safetensors-00004-of-00004.safetensors",
689
+ "model.visual.merger.norm.weight": "model.safetensors-00004-of-00004.safetensors",
690
+ "model.visual.patch_embed.proj.bias": "model.safetensors-00004-of-00004.safetensors",
691
+ "model.language_model.layers.14.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
692
+ "model.language_model.layers.15.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
693
+ "model.language_model.layers.15.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
694
+ "model.language_model.layers.26.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
695
+ "model.language_model.layers.27.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
696
+ "model.language_model.layers.27.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
697
+ "model.language_model.layers.3.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
698
+ "model.language_model.layers.3.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
699
+ "model.language_model.layers.30.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
700
+ "model.language_model.layers.9.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
701
+ "mtp.layers.0.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
702
+ "mtp.layers.0.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
703
+ "model.language_model.layers.10.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
704
+ "model.language_model.layers.11.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
705
+ "model.language_model.layers.11.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
706
+ "model.language_model.layers.0.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
707
+ "model.language_model.layers.1.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
708
+ "model.language_model.layers.22.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
709
+ "model.language_model.layers.23.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
710
+ "model.language_model.layers.7.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
711
+ "model.language_model.layers.7.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
712
+ "model.language_model.layers.8.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
713
+ "model.language_model.layers.31.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
714
+ "model.language_model.layers.31.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
715
+ "model.language_model.layers.4.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
716
+ "model.language_model.layers.16.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
717
+ "model.language_model.layers.17.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
718
+ "model.language_model.layers.18.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
719
+ "model.language_model.layers.19.self_attn.k_norm.weight": "model.safetensors-00004-of-00004.safetensors",
720
+ "model.language_model.layers.19.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
721
+ "model.language_model.layers.2.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
722
+ "model.language_model.layers.23.self_attn.q_norm.weight": "model.safetensors-00004-of-00004.safetensors",
723
+ "model.language_model.layers.24.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
724
+ "model.language_model.layers.25.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
725
+ "model.language_model.layers.5.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
726
+ "model.language_model.layers.6.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
727
+ "model.language_model.layers.20.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
728
+ "model.language_model.layers.21.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
729
+ "model.language_model.layers.28.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
730
+ "model.language_model.layers.29.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
731
+ "model.language_model.layers.12.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
732
+ "model.language_model.layers.13.linear_attn.norm.weight": "model.safetensors-00004-of-00004.safetensors",
733
+ "model.language_model.layers.16.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
734
+ "model.language_model.layers.26.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
735
+ "model.language_model.layers.28.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
736
+ "model.language_model.layers.30.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
737
+ "model.language_model.layers.10.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
738
+ "model.language_model.layers.12.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
739
+ "model.language_model.layers.0.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
740
+ "model.language_model.layers.1.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
741
+ "model.language_model.layers.22.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
742
+ "model.language_model.layers.8.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
743
+ "model.language_model.layers.9.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
744
+ "model.language_model.layers.4.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
745
+ "model.language_model.layers.5.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
746
+ "model.language_model.layers.17.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
747
+ "model.language_model.layers.18.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
748
+ "model.language_model.layers.2.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
749
+ "model.language_model.layers.24.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
750
+ "model.language_model.layers.25.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
751
+ "model.language_model.layers.6.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
752
+ "model.language_model.layers.20.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
753
+ "model.language_model.layers.21.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
754
+ "model.language_model.layers.29.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
755
+ "model.language_model.layers.13.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
756
+ "model.language_model.layers.14.linear_attn.A_log": "model.safetensors-00004-of-00004.safetensors",
757
+ "model.language_model.layers.14.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
758
+ "model.language_model.layers.16.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
759
+ "model.language_model.layers.26.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
760
+ "model.language_model.layers.30.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
761
+ "model.language_model.layers.10.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
762
+ "model.language_model.layers.0.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
763
+ "model.language_model.layers.1.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
764
+ "model.language_model.layers.22.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
765
+ "model.language_model.layers.8.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
766
+ "model.language_model.layers.9.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
767
+ "model.language_model.layers.4.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
768
+ "model.language_model.layers.5.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
769
+ "model.language_model.layers.17.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
770
+ "model.language_model.layers.18.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
771
+ "model.language_model.layers.2.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
772
+ "model.language_model.layers.24.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
773
+ "model.language_model.layers.25.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
774
+ "model.language_model.layers.6.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
775
+ "model.language_model.layers.20.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
776
+ "model.language_model.layers.21.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
777
+ "model.language_model.layers.28.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
778
+ "model.language_model.layers.29.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
779
+ "model.language_model.layers.12.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors",
780
+ "model.language_model.layers.13.linear_attn.dt_bias": "model.safetensors-00004-of-00004.safetensors"
781
+ }
782
+ }
checkpoint/provenance/overrides.json ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "families": {
3
+ "attention": "bfp8",
4
+ "gdn": "bfp8",
5
+ "gdn_output": "bfp8",
6
+ "lm_head": "bfp8"
7
+ },
8
+ "layers": {
9
+ "31": {
10
+ "mlp_down": "bfp8",
11
+ "mlp_gate_up": "bfp8"
12
+ },
13
+ "18": {
14
+ "mlp_gate_up": "bfp8",
15
+ "mlp_down": "bfp8"
16
+ },
17
+ "17": {
18
+ "mlp_gate_up": "bfp8"
19
+ },
20
+ "19": {
21
+ "mlp_gate_up": "bfp8",
22
+ "mlp_down": "bfp8"
23
+ },
24
+ "22": {
25
+ "mlp_gate_up": "bfp8",
26
+ "mlp_down": "bfp8"
27
+ },
28
+ "16": {
29
+ "mlp_gate_up": "bfp8",
30
+ "mlp_down": "bfp8"
31
+ },
32
+ "6": {
33
+ "mlp_down": "bfp8"
34
+ },
35
+ "20": {
36
+ "mlp_gate_up": "bfp8"
37
+ },
38
+ "15": {
39
+ "mlp_gate_up": "bfp8"
40
+ },
41
+ "21": {
42
+ "mlp_gate_up": "bfp8"
43
+ },
44
+ "14": {
45
+ "mlp_gate_up": "bfp8"
46
+ },
47
+ "30": {
48
+ "mlp_gate_up": "bfp8",
49
+ "mlp_down": "bfp8"
50
+ },
51
+ "13": {
52
+ "mlp_gate_up": "bfp8"
53
+ },
54
+ "12": {
55
+ "mlp_gate_up": "bfp8"
56
+ },
57
+ "29": {
58
+ "mlp_gate_up": "bfp8"
59
+ },
60
+ "23": {
61
+ "mlp_gate_up": "bfp8"
62
+ },
63
+ "28": {
64
+ "mlp_gate_up": "bfp8"
65
+ },
66
+ "27": {
67
+ "mlp_gate_up": "bfp8"
68
+ },
69
+ "1": {
70
+ "mlp_down": "bfp8"
71
+ }
72
+ }
73
+ }
checkpoint/provenance/precision-plan.json ADDED
@@ -0,0 +1,233 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "status": "implemented_not_device_validated",
4
+ "scope": "Qwen3.5-9B text-only, one Blackhole P150, no MTP, no vision, no upload",
5
+ "upstream_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
6
+ "weights_host": "/var/tmp/qwen9b-hf-publish/clean-cache/weights/Qwen3.5-9B",
7
+ "serving_container": "qwen35-tt-bfp4-hf",
8
+ "serving_image": "qwen35-tt-bfp4:hf-downloaded",
9
+ "tt_metal_commit": "de59f8a658b1ceafd230c8266026b1a72bb198d7",
10
+ "vllm_commit": "03fa3af",
11
+ "loader": {
12
+ "input": "Original sharded BF16 safetensors + model.safetensors.index.json + composite config.json",
13
+ "keys": "model.language_model.* and lm_head.weight only; vision/MTP excluded",
14
+ "remap": "runtime/qwen36/tt/weight_mapping.py::remap_qwen36_state_dict",
15
+ "model_args": "Qwen36ModelArgs(mesh_device, max_batch_size=1, max_seq_len=128-rounded longest record)",
16
+ "construction": "Qwen36Model(mesh_device, args, remapped_state_dict, tensor_cache_path=args.weight_cache_path())",
17
+ "memory": "Evaluator memory-maps text weights through safetensors; avoids constructing a second full HF model. TT loaders still transpose/copy individual matrices and derive GDN mega/AB copies. BF16 weights plus derived device copies may approach P150 DRAM limits; requires device smoke, not assumed fit.",
18
+ "cache": "TT_CACHE_PATH=<workspace>/candidate-cache/<sha256-of-precision-runtime-config-source>; ModelArgs appends P150, then weight_cache_path appends dtype suffix. Never writes beneath original weights. Each runtime/precision map uses an independent content-addressed cache."
19
+ },
20
+ "architecture": {
21
+ "layers": 32,
22
+ "hidden_size": 4096,
23
+ "vocab_size": 248320,
24
+ "mlp_intermediate_size": 12288,
25
+ "full_attention_layers": [
26
+ 3,
27
+ 7,
28
+ 11,
29
+ 15,
30
+ 19,
31
+ 23,
32
+ 27,
33
+ 31
34
+ ],
35
+ "gdn_layers": [
36
+ 0,
37
+ 1,
38
+ 2,
39
+ 4,
40
+ 5,
41
+ 6,
42
+ 8,
43
+ 9,
44
+ 10,
45
+ 12,
46
+ 13,
47
+ 14,
48
+ 16,
49
+ 17,
50
+ 18,
51
+ 20,
52
+ 21,
53
+ 22,
54
+ 24,
55
+ 25,
56
+ 26,
57
+ 28,
58
+ 29,
59
+ 30
60
+ ]
61
+ },
62
+ "precision_inventory": {
63
+ "attention": {
64
+ "weights": [
65
+ "q_proj",
66
+ "k_proj",
67
+ "v_proj",
68
+ "o_proj"
69
+ ],
70
+ "existing_default": "bfp8",
71
+ "current": "bfp4",
72
+ "generic_options": [
73
+ "bf16",
74
+ "bfp8",
75
+ "bfp4"
76
+ ],
77
+ "granularity": "family per full-attention layer"
78
+ },
79
+ "gdn": {
80
+ "weights": [
81
+ "qkv_proj",
82
+ "in_proj_a",
83
+ "in_proj_b",
84
+ "in_proj_z",
85
+ "out_proj"
86
+ ],
87
+ "existing_default": "bfp8",
88
+ "current": "bfp4",
89
+ "generic_options": [
90
+ "bf16",
91
+ "bfp8",
92
+ "bfp4"
93
+ ],
94
+ "granularity": "family per GDN layer",
95
+ "derived": "AB and mega QKVABZ are concatenated from already TT-rounded component tensors then converted to the same TT dtype. This is the existing runtime loader behavior, not an approximation introduced by the evaluator."
96
+ },
97
+ "mlp_gate_up": {
98
+ "weights": [
99
+ "gate_proj",
100
+ "up_proj"
101
+ ],
102
+ "existing_default": "hardcoded bfp4",
103
+ "current": "bfp4",
104
+ "generic_options": [
105
+ "bf16",
106
+ "bfp8",
107
+ "bfp4"
108
+ ],
109
+ "granularity": "paired family per layer",
110
+ "change": "Isolated loader makes generic gate/up precision selectable; packed path remains BFP4-only"
111
+ },
112
+ "mlp_down": {
113
+ "weights": [
114
+ "down_proj"
115
+ ],
116
+ "existing_default": "bfp8",
117
+ "current": "bfp4",
118
+ "generic_options": [
119
+ "bf16",
120
+ "bfp8",
121
+ "bfp4"
122
+ ],
123
+ "granularity": "family per layer"
124
+ },
125
+ "lm_head": {
126
+ "weights": [
127
+ "output.weight"
128
+ ],
129
+ "existing_default": "bfp8",
130
+ "current": "bfp4",
131
+ "generic_options": [
132
+ "bf16",
133
+ "bfp8",
134
+ "bfp4"
135
+ ],
136
+ "granularity": "global"
137
+ },
138
+ "fixed_bf16": [
139
+ "token_embeddings",
140
+ "decoder RMSNorm weights",
141
+ "final RMSNorm",
142
+ "attention q_norm/k_norm",
143
+ "GDN conv taps/bias",
144
+ "GDN A_log/dt_bias/output norm",
145
+ "rotary tables",
146
+ "activations",
147
+ "KV caches",
148
+ "GDN recurrent and convolution state"
149
+ ]
150
+ },
151
+ "profiles": {
152
+ "baseline-bf16": "BF16 for every linear family, including LM head and gate/up. Generic/unpacked TT operators and tiled BF16 recurrent state; conservative weight baseline, NOT full-precision HF arithmetic.",
153
+ "baseline-bfp8": "BFP8 for every linear family; generic runtime matched to baseline-bf16.",
154
+ "current-bfp4": "BFP4 for every linear family; generic runtime matched to other generic profiles. Not the packed serving numerical baseline.",
155
+ "serving-bfp4": "BFP4 weights and exact model-spec serving fusion/packed flags except MTP disabled and BF16 KV fixed. Uses the same _forward_decode core eagerly, no sampling/trace. This controls serving runtime numerics separately from generic BFP4; not a claimed end-to-end traced-serving parity result. Overrides rejected."
156
+ },
157
+ "override_schema": {
158
+ "families": {
159
+ "gdn": "bfp8",
160
+ "lm_head": "bf16"
161
+ },
162
+ "layers": {
163
+ "0": {
164
+ "gdn": "bf16",
165
+ "mlp_down": "bfp8"
166
+ },
167
+ "31": {
168
+ "attention": "bfp8",
169
+ "mlp_gate_up": "bfp8"
170
+ }
171
+ }
172
+ },
173
+ "override_precedence": "profile defaults < families < layers; layer indices must use canonical decimal strings; irrelevant layer-family combinations rejected",
174
+ "screening": "Use --input corpus.jsonl --split calibration --max-records N for calibration sweeps. Use --split heldout only after candidate selection. --max-records never truncates token IDs; all positions within every selected record are evaluated. Per-token wall time is printed and saved, including first-token compilation cost.",
175
+ "constraints": [
176
+ "No TT device run, compilation, build, test, formatter or linter was performed by this worker. Precision options are supported TT tensor dtypes on generic operators, but this exact model/profile still requires Main's device smoke and numerical validation.",
177
+ "Do not launch with device access while qwen35-tt-bfp4-hf or any other process owns the P150. This assignment does not authorize stopping/modifying it. --device-ownership-confirmed is an operator acknowledgement, not device arbitration.",
178
+ "Serving packed readers for LM head, MLP gate/up/down, GDN mega are BFP4-specific. Never feed BF16/BFP8 into those packed kernels.",
179
+ "BFP8 is quantized. BF16 weights do not remove BF16 state/activations, LoFi matmul configurations, softmax/norm approximation, or fused runtime effects. Score HF vs BF16 TT to establish runtime error; score generic BF16 TT vs matched generic quant candidates to isolate weight precision effects.",
180
+ "Do not compare serving-bfp4 vs generic mixed precision and attribute all KL difference to weights: native recurrence, frontend/output fusion, final residual norm, weight layout, and matmul dispatch differ.",
181
+ "Full vocabulary logits are read back before sampling; no top-k/top-p, no argmax substitute, no token skipping, no extra BOS/padding/EOS insertion.",
182
+ "Only original input token IDs are consumed; row p predicts token p+1. Final input token has no target and no emitted logit row. Calibration and heldout must remain distinct; never select precision using heldout.",
183
+ "Original HF files are read-only mmap inputs. Do not mutate original tensors in-place or write existing serving tensor caches.",
184
+ "No multimodal placeholders are expanded; this is a text-only evaluation contract."
185
+ ],
186
+ "teacher_forcing": {
187
+ "path": "Allocate paged KV once, then Qwen36Model._forward_decode(tokens_tt, cos, sin, current_pos_tt, page_table) for every position 0..N-2; read output [*,248320] row zero as float32",
188
+ "first_position": "Position zero writes KV slot zero and consumes zero recurrent/convolution history; no prefill padding or history is needed by the inspected causal decode kernels. Runtime smoke required.",
189
+ "serving_reset": "_init_dn_zero_buffers once; _reset_dn_state_inplace per record clears recurrent tensors and shared backing convolution pool. Preserve native row-major BF16 L1 tensor addresses and views. Reset paged KV arrays too.",
190
+ "generic_reset": "Detach native state bindings, set use_inplace_state=False, initialize fresh tiled BF16 recurrent state in DRAM, clear all separate/fused/split conv histories. model.reset_state(batch_size=1) is not appropriate for this serving fork's native pool state.",
191
+ "artifacts": "metadata.json plus records.jsonl and per-record float32 NumPy .npy logits [N-1,248320]; include positions, token_ids, split, NLL, hashes, timings and exact precision/runtime metadata"
192
+ },
193
+ "serving_environment": {
194
+ "MESH_DEVICE": "P150",
195
+ "ARCH_NAME": "blackhole",
196
+ "TT_QWEN35_TEXT_VER": "qwen36_blackhole",
197
+ "QWEN36_MAX_TOKENS_ALL_USERS": "8192",
198
+ "QWEN36_BFP4_WEIGHTS": "1",
199
+ "QWEN36_BFP4_LM_HEAD": "1",
200
+ "QWEN36_LM_HEAD_PACKED": "1",
201
+ "QWEN36_LM_HEAD_REQUIRE_PACKED": "1",
202
+ "QWEN36_LM_HEAD_CB_SLOTS": "2",
203
+ "QWEN36_LM_HEAD_OUTSTANDING": "1",
204
+ "QWEN36_BFP4_MLP_DOWN": "1",
205
+ "QWEN36_MLP_DOWN_PACKED": "1",
206
+ "QWEN36_MLP_DOWN_REQUIRE_PACKED": "1",
207
+ "QWEN36_MLP_DOWN_CB_SLOTS": "2",
208
+ "QWEN36_MLP_DOWN_OUTSTANDING": "1",
209
+ "QWEN36_SINGLE_1D_DECODE": "1",
210
+ "QWEN36_FUSED_QKV": "1",
211
+ "QWEN36_SHARDED_FINAL_NORM": "1",
212
+ "QWEN36_FUSED_FINAL_RESIDUAL_NORM": "1",
213
+ "QWEN36_FUSED_GATE_UP": "1",
214
+ "QWEN36_FUSED_GATE_UP_PACKED": "1",
215
+ "QWEN36_GATEUP_REQUIRE_PACKED": "1",
216
+ "QWEN36_GATEUP_CB_SLOTS": "2",
217
+ "QWEN36_GATEUP_OUTSTANDING": "1",
218
+ "QWEN36_FUSED_GATE_UP_CORES": "110",
219
+ "QWEN_GDN_MEGA_CORES": "110",
220
+ "QWEN_GDN_MEGA_PACKED": "1",
221
+ "QWEN_GDN_MEGA_REQUIRE_PACKED": "1",
222
+ "QWEN_GDN_MEGA_CB_SLOTS": "2",
223
+ "QWEN_GDN_MEGA_OUTSTANDING": "1",
224
+ "QWEN_GDN_RECURRENT_FUSED": "1",
225
+ "QWEN_GDN_FRONTEND_FUSED": "1",
226
+ "QWEN_GDN_OUTPUT_FUSED": "1",
227
+ "QWEN36_MTP": "0",
228
+ "QWEN_SDPA_BF8": "0"
229
+ },
230
+ "safe_describe_command": "python3 /var/tmp/qwen9b-solid-quant/tt_eval.py --input /var/tmp/qwen9b-solid-quant/smoke.jsonl --weights /var/tmp/qwen9b-hf-publish/clean-cache/weights/Qwen3.5-9B --output /var/tmp/qwen9b-solid-quant/results/tt-bf16-smoke --profile baseline-bf16 --describe",
231
+ "device_launch_prerequisite": "Future exclusive P150 ownership explicitly established by Main/operator. Do NOT run this command now beside the live container.",
232
+ "device_launch_command": "docker run --rm --name qwen9b-tt-eval --network none --user 0:0 --device /dev/tenstorrent:/dev/tenstorrent --mount type=bind,src=/dev/hugepages,dst=/dev/hugepages --mount type=bind,src=/dev/hugepages-1G,dst=/dev/hugepages-1G --mount type=bind,src=/var/tmp/qwen9b-solid-quant,dst=/work --mount type=bind,src=/var/tmp/qwen9b-hf-publish/clean-cache/weights/Qwen3.5-9B,dst=/weights/Qwen3.5-9B,readonly --mount type=bind,src=/var/tmp/qwen9b-solid-quant/runtime/qwen36,dst=/home/container_app_user/tt-metal/models/demos/blackhole/qwen36,readonly -e PYTHONDONTWRITEBYTECODE=1 -e ARCH_NAME=blackhole -e MESH_DEVICE=P150 -e HOME=/work/eval-home -e XDG_CACHE_HOME=/work/eval-home/.cache -e TT_METAL_CACHE=/work/kernel-cache -e TT_METAL_LOGS_PATH=/work/eval-logs --entrypoint /home/container_app_user/tt-metal/python_env/bin/python qwen35-tt-bfp4:hf-downloaded /work/tt_eval.py --input /work/smoke.jsonl --weights /weights/Qwen3.5-9B --runtime /home/container_app_user/tt-metal/models/demos/blackhole/qwen36 --output /work/results/tt-bf16-smoke --profile baseline-bf16 --device-ownership-confirmed"
233
+ }
checkpoint/provenance/tt_eval.py ADDED
@@ -0,0 +1,440 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Teacher-forced, full-vocabulary TT evaluation; never run beside a live TT server.
3
+
4
+ --describe validates inputs/precision and prints a launch description without
5
+ importing torch/ttnn or opening hardware. Device runs require explicit ownership.
6
+ Each N-token record produces N-1 rows: row p predicts token_ids[p+1].
7
+ """
8
+ import argparse
9
+ import datetime
10
+ import gc
11
+ import hashlib
12
+ import json
13
+ import os
14
+ from pathlib import Path
15
+ import sys
16
+ import time
17
+
18
+ ROOT = Path(__file__).resolve().parent
19
+ REVISION = "c202236235762e1c871ad0ccb60c8ee5ba337b9a"
20
+ FAMILIES = {"attention", "gdn", "gdn_output", "mlp_gate_up", "mlp_down", "lm_head"}
21
+ DTYPES = {"bf16", "bfp8", "bfp4"}
22
+ PROFILES = {"baseline-bf16": "bf16", "baseline-bfp8": "bfp8", "current-bfp4": "bfp4", "serving-bfp4": "bfp4", "mixed-packed": "bfp4"}
23
+
24
+
25
+ def digest(path):
26
+ h = hashlib.sha256()
27
+ with Path(path).open("rb") as stream:
28
+ for block in iter(lambda: stream.read(1024 * 1024), b""):
29
+ h.update(block)
30
+ return h.hexdigest()
31
+
32
+
33
+ def canonical(value):
34
+ return json.dumps(value, sort_keys=True, separators=(",", ":"))
35
+
36
+
37
+ def save_json(path, value):
38
+ temporary = path.with_suffix(path.suffix + ".partial")
39
+ temporary.write_text(json.dumps(value, indent=2, sort_keys=True) + "\n")
40
+ temporary.replace(path)
41
+
42
+
43
+ def precision_map(profile, overrides, layer_types):
44
+ default = PROFILES[profile]
45
+ result = {"lm_head": default, "layers": {}}
46
+ for index, kind in enumerate(layer_types):
47
+ attention = "attention" if kind == "full_attention" else "gdn"
48
+ result["layers"][str(index)] = {attention: default, "mlp_gate_up": default, "mlp_down": default}
49
+ if overrides is None:
50
+ return result
51
+ if profile == "serving-bfp4":
52
+ raise ValueError("serving-bfp4 fixes the packed runtime and does not permit precision overrides")
53
+ if not isinstance(overrides, dict) or set(overrides) - {"families", "layers"}:
54
+ raise ValueError("Overrides must contain only families and/or layers objects")
55
+ families = overrides.get("families", {})
56
+ if not isinstance(families, dict):
57
+ raise ValueError("families must be an object")
58
+ for family, dtype in families.items():
59
+ if family not in FAMILIES or dtype not in DTYPES:
60
+ raise ValueError(f"Unsupported family/dtype: {family}={dtype}")
61
+ if family == "lm_head":
62
+ result[family] = dtype
63
+ else:
64
+ for values in result["layers"].values():
65
+ if family in values or (family == "gdn_output" and "gdn" in values):
66
+ values[family] = dtype
67
+ layers = overrides.get("layers", {})
68
+ if not isinstance(layers, dict):
69
+ raise ValueError("layers must be an object keyed by canonical layer numbers")
70
+ for index, values in layers.items():
71
+ if index not in result["layers"] or not isinstance(values, dict):
72
+ raise ValueError(f"Unknown layer or non-object precision override: {index}")
73
+ for family, dtype in values.items():
74
+ if (family not in result["layers"][index] and not (family == "gdn_output" and "gdn" in result["layers"][index])) or dtype not in DTYPES:
75
+ raise ValueError(f"Unsupported layer family/dtype: {index}.{family}={dtype}")
76
+ result["layers"][index][family] = dtype
77
+ return result
78
+
79
+
80
+ def load_records(path, vocab_size, context_limit):
81
+ records, seen, split_tokens = [], set(), {}
82
+ with path.open() as stream:
83
+ for number, line in enumerate(stream, 1):
84
+ if not line.strip():
85
+ continue
86
+ row = json.loads(line)
87
+ if not isinstance(row, dict) or not {"id", "split", "token_ids"} <= row.keys():
88
+ raise ValueError(f"Record {number}: expected id, split, token_ids")
89
+ key, split, tokens = row["id"], row["split"], row["token_ids"]
90
+ if isinstance(key, bool) or not isinstance(key, (str, int)) or canonical(key) in seen:
91
+ raise ValueError(f"Record {number}: id must be a unique string/integer")
92
+ if split not in {"calibration", "validation", "heldout"}:
93
+ raise ValueError(f"Record {number}: split must be calibration, validation or heldout")
94
+ if not isinstance(tokens, list) or not 2 <= len(tokens) <= context_limit:
95
+ raise ValueError(f"Record {number}: token_ids length must be in [2,{context_limit}]")
96
+ if any(type(token) is not int or not 0 <= token < vocab_size for token in tokens):
97
+ raise ValueError(f"Record {number}: token ID outside vocabulary")
98
+ token_hash = hashlib.sha256(canonical(tokens).encode()).hexdigest()
99
+ if token_hash in split_tokens and split_tokens[token_hash] != split:
100
+ raise ValueError("Identical token sequence appears in different splits")
101
+ split_tokens[token_hash] = split
102
+ seen.add(canonical(key))
103
+ records.append({"id": key, "split": split, "token_ids": tokens})
104
+ if not records:
105
+ raise ValueError("Input dataset is empty")
106
+ return records
107
+
108
+
109
+ def runtime_environment(profile, inventory, mtp):
110
+ if profile in ("serving-bfp4", "mixed-packed"):
111
+ values = dict(inventory["serving_environment"])
112
+ else:
113
+ values = {
114
+ "MESH_DEVICE": "P150", "ARCH_NAME": "blackhole",
115
+ "QWEN36_SINGLE_1D_DECODE": "1",
116
+ "QWEN_GDN_RECURRENT_FUSED": "1",
117
+ "QWEN_GDN_FRONTEND_FUSED": "1",
118
+ }
119
+ values.update({"QWEN36_MTP": "1" if mtp else "0", "QWEN_SDPA_BF8": "0"})
120
+ return values
121
+
122
+
123
+ def load_text_weights(weights, torch, mtp):
124
+ """Memory-map original text weights and optional lossless MTP; no HF allocation."""
125
+ from safetensors import safe_open
126
+ from models.demos.blackhole.qwen36.tt.weight_mapping import remap_qwen36_state_dict
127
+
128
+ if (weights / "native_manifest.json").is_file():
129
+ from native_checkpoint import load_native_checkpoint
130
+ return load_native_checkpoint(weights, allow_unverified=True)
131
+ index = json.loads((weights / "model.safetensors.index.json").read_text())["weight_map"]
132
+ by_file = {}
133
+ for name, filename in index.items():
134
+ if name.startswith("model.language_model.") or name == "lm_head.weight":
135
+ by_file.setdefault(filename, []).append(name)
136
+ if not by_file:
137
+ raise ValueError("Expected original Qwen3.5 multimodal checkpoint text-weight names")
138
+ raw = {}
139
+ for filename, names in sorted(by_file.items()):
140
+ shard = (weights / filename).resolve()
141
+ if not shard.is_relative_to(weights):
142
+ raise ValueError("Checkpoint index shard escapes read-only weights directory")
143
+ with safe_open(str(shard), framework="pt", device="cpu") as source:
144
+ for name in names:
145
+ tensor = source.get_tensor(name)
146
+ expected = torch.float32 if name.endswith((".linear_attn.A_log", ".linear_attn.norm.weight")) else torch.bfloat16
147
+ if tensor.dtype != expected:
148
+ raise ValueError(f"Expected original {expected} weight, got {name}: {tensor.dtype}")
149
+ raw[name] = tensor
150
+ remapped = remap_qwen36_state_dict(raw)
151
+ if not {"tok_embeddings.weight", "output.weight", "norm.weight"} <= remapped.keys():
152
+ raise ValueError("Text checkpoint is missing embedding/head/norm weights")
153
+ if mtp:
154
+ from models.demos.blackhole.qwen36.tt.weight_mapping import load_qwen36_mtp_state_dict
155
+
156
+ remapped.update(load_qwen36_mtp_state_dict(weights))
157
+ return remapped
158
+
159
+
160
+ def reset_sequence(model, kv_caches, kv_zero, native, ttnn):
161
+ """Reset all causal history, preserving native GDN pool views when applicable."""
162
+ model.rope.rope_delta = 0
163
+ model._req_image_grid_thw = None
164
+ model._req_video_grid_thw = None
165
+ if model._last_hidden is not None:
166
+ ttnn.deallocate(model._last_hidden)
167
+ model._last_hidden = None
168
+ if model.mtp is not None:
169
+ model.mtp.reset_cache()
170
+ for caches in kv_caches:
171
+ for cache in caches:
172
+ ttnn.copy(kv_zero, cache)
173
+ if native:
174
+ # This zeros the backing conv pool ONCE, not per-layer alias views.
175
+ model._reset_dn_state_inplace()
176
+ return
177
+ for layer in model.layers:
178
+ if layer.is_full_attention:
179
+ layer.attention.reset_cache()
180
+ continue
181
+ dn = layer.attention
182
+ # Generic TT recurrence consumes tiled state, not the native row-major
183
+ # L1 pools allocated by this serving fork. Do not use model.reset_state:
184
+ # it leaves use_inplace_state=True and drops external convolution views.
185
+ dn.use_inplace_state = False
186
+ dn._chunk_inplace_state = False
187
+ dn.recurrent_state = ttnn.zeros(
188
+ [1, dn.num_v_heads, dn.head_k_dim, dn.head_v_dim],
189
+ dtype=ttnn.bfloat16, layout=ttnn.TILE_LAYOUT,
190
+ device=model.device, memory_config=ttnn.DRAM_MEMORY_CONFIG,
191
+ )
192
+ dn.conv_state_q = dn.conv_state_k = dn.conv_state_v = None
193
+ dn.fused_conv_state = None
194
+ dn.split_conv_state = None
195
+ gc.collect()
196
+
197
+
198
+ def evaluate(args, records, metadata, cache, environment):
199
+ # Scrub inherited serving flags BEFORE importing model/experimental modules.
200
+ for name in list(os.environ):
201
+ if name.startswith(("QWEN", "TT_QWEN")):
202
+ del os.environ[name]
203
+ os.environ.update(environment)
204
+ os.environ.update({
205
+ "HF_MODEL": str(args.weights), "MODEL_WEIGHTS_DIR": str(args.weights),
206
+ "TT_CACHE_PATH": str(cache), "HF_HUB_OFFLINE": "1", "TRANSFORMERS_OFFLINE": "1",
207
+ "QWEN36_EVAL_PRECISION": canonical(metadata["precision"]),
208
+ "TT_METAL_CACHE": str(cache / "kernel-cache"),
209
+ })
210
+ import torch
211
+ import numpy as np
212
+ import ttnn
213
+ from models.demos.blackhole.qwen36.tt.model import Qwen36Model
214
+ from models.demos.blackhole.qwen36.tt.model_config import Qwen36ModelArgs
215
+
216
+ imported_source = Path(sys.modules[Qwen36Model.__module__].__file__).resolve()
217
+ expected_source = args.runtime.resolve() / "tt" / "model.py"
218
+ if imported_source != expected_source:
219
+ raise RuntimeError(f"Refusing non-isolated runtime: imported {imported_source}; expected {expected_source}")
220
+ torch.set_num_threads(args.cpu_threads)
221
+ mesh = ttnn.open_mesh_device(
222
+ mesh_shape=ttnn.MeshShape(1, 1), l1_small_size=24576,
223
+ num_command_queues=2, trace_region_size=0,
224
+ )
225
+ try:
226
+ if mesh.get_num_devices() != 1:
227
+ raise RuntimeError("Evaluator supports one P150 only")
228
+ model_args = Qwen36ModelArgs(mesh_device=mesh, max_batch_size=1, max_seq_len=metadata["max_seq_len"])
229
+ resolved_cache = model_args.weight_cache_path().resolve()
230
+ if not resolved_cache.is_relative_to(cache):
231
+ raise RuntimeError(f"Unsafe tensor cache path: {resolved_cache}")
232
+ resolved_cache.mkdir(parents=True, exist_ok=True)
233
+ state_dict = load_text_weights(args.weights, torch, args.mtp)
234
+ model = Qwen36Model(mesh, model_args, state_dict, tensor_cache_path=resolved_cache)
235
+ del state_dict
236
+ gc.collect()
237
+ if (model.mtp is not None) != args.mtp or model.vocab_size != metadata["vocab_size"]:
238
+ raise RuntimeError("MTP/vocabulary contract violation")
239
+ model._ondev_argmax = False
240
+ native = environment.get("QWEN_GDN_RECURRENT_FUSED") == "1"
241
+ blocks = metadata["max_seq_len"] // 64
242
+ kv_shape = [blocks, model_args.n_kv_heads, 64, model_args.head_dim]
243
+ kv_caches = model.allocate_kv_caches(kv_shape, ttnn.bfloat16, batch_size=1)
244
+ kv_zero = ttnn.zeros(kv_shape, dtype=ttnn.bfloat16, layout=ttnn.TILE_LAYOUT, device=mesh)
245
+ page_table = ttnn.from_torch(torch.arange(blocks, dtype=torch.int32).reshape(1, -1),
246
+ dtype=ttnn.int32, layout=ttnn.ROW_MAJOR_LAYOUT, device=mesh)
247
+ if native:
248
+ model._init_dn_zero_buffers()
249
+ metadata.update({"torch_version": torch.__version__, "ttnn_version": getattr(ttnn, "__version__", None),
250
+ "tensor_cache_path": str(resolved_cache), "imported_model_source": str(imported_source),
251
+ "device_grid": str(mesh.compute_with_storage_grid_size())})
252
+ save_json(args.output / "metadata.json", metadata)
253
+ generations = []
254
+ tokenizer = None
255
+ if args.generate_tokens:
256
+ from transformers import AutoTokenizer
257
+ tokenizer = AutoTokenizer.from_pretrained(args.weights, local_files_only=True)
258
+ with torch.inference_mode(), (args.output / "records.jsonl").open("x") as manifest:
259
+ for record_index, record in enumerate(records):
260
+ started = time.monotonic()
261
+ reset_sequence(model, kv_caches, kv_zero, native, ttnn)
262
+ prompt_token_ids = list(record["token_ids"])
263
+ token_ids = list(prompt_token_ids)
264
+ count = len(token_ids) - 1 + args.generate_tokens
265
+ filename = f"logits-{record_index:06d}.npy"
266
+ target_path = args.output / filename
267
+ temporary_path = args.output / (filename + ".partial")
268
+ logits_array = np.lib.format.open_memmap(temporary_path, mode="w+", dtype=np.float32,
269
+ shape=(count, model.vocab_size))
270
+ nll_sum = 0.0
271
+ token_seconds = []
272
+ for position in range(count):
273
+ token = token_ids[position]
274
+ token_started = time.monotonic()
275
+ tokens_tt = ttnn.from_torch(torch.tensor([[token]], dtype=torch.int32),
276
+ dtype=ttnn.uint32, layout=ttnn.ROW_MAJOR_LAYOUT, device=mesh)
277
+ position_tt = ttnn.from_torch(torch.tensor([position], dtype=torch.int32),
278
+ dtype=ttnn.int32, layout=ttnn.ROW_MAJOR_LAYOUT, device=mesh)
279
+ cos, sin = model.rope.get_rot_mats(torch.tensor([[position]], dtype=torch.long))
280
+ output = model._forward_decode(tokens_tt, cos, sin, position_tt, page_table)
281
+ host = ttnn.to_torch(output).float()
282
+ if host.shape[-1] != model.vocab_size or host.numel() < model.vocab_size:
283
+ raise RuntimeError(f"Invalid full-vocabulary logits shape: {tuple(host.shape)}")
284
+ row = host.reshape(-1, model.vocab_size)[0]
285
+ if not torch.isfinite(row).all().item():
286
+ raise RuntimeError(f"Non-finite logits at record {record['id']}, position {position}")
287
+ logits_array[position] = row.numpy()
288
+ stop_generation = False
289
+ if args.generate_tokens and position >= len(prompt_token_ids) - 1:
290
+ sampled = int(row.argmax())
291
+ token_ids.append(sampled)
292
+ stop_generation = sampled == tokenizer.eos_token_id
293
+ nll_sum += float(torch.logsumexp(row, dim=-1) - row[token_ids[position + 1]])
294
+ # RoPE slices can alias persistent tables: let references
295
+ # release normally instead of force-deallocating their owner.
296
+ for tensor in (output, tokens_tt, position_tt):
297
+ ttnn.deallocate(tensor)
298
+ token_seconds.append(time.monotonic() - token_started)
299
+ print(canonical({"record": record["id"], "position": position,
300
+ "token_elapsed_seconds": token_seconds[-1]}), flush=True)
301
+ if stop_generation:
302
+ count = position + 1
303
+ break
304
+ logits_array.flush()
305
+ if count < logits_array.shape[0]:
306
+ trimmed = temporary_path.with_suffix(".trimmed")
307
+ with trimmed.open("wb") as stream:
308
+ np.save(stream, logits_array[:count])
309
+ trimmed.replace(temporary_path)
310
+ del logits_array
311
+ temporary_path.replace(target_path)
312
+ item = {**record, "token_ids": token_ids, "positions": list(range(count)), "logits_file": filename,
313
+ "logits_shape": [count, model.vocab_size], "logits_dtype": "float32",
314
+ "nll_sum": nll_sum, "nll_mean": nll_sum / count, "nll_tokens": count,
315
+ "token_elapsed_seconds": token_seconds,
316
+ "decode_seconds_per_token": sum(token_seconds) / count,
317
+ "elapsed_seconds": time.monotonic() - started, "logits_sha256": digest(target_path)}
318
+ manifest.write(canonical(item) + "\n")
319
+ manifest.flush()
320
+ if args.generate_tokens:
321
+ generated = token_ids[len(prompt_token_ids):]
322
+ generations.append({"id": record["id"], "prompt_token_ids": prompt_token_ids,
323
+ "generated_token_ids": generated,
324
+ "text": tokenizer.decode(generated, skip_special_tokens=False),
325
+ "seconds": time.monotonic() - started})
326
+ print(canonical({"record": record["id"], "split": record["split"], "nll_mean": item["nll_mean"]}), flush=True)
327
+ if args.generate_tokens:
328
+ (args.output / "generations.jsonl").write_text("".join(canonical(row) + "\n" for row in generations))
329
+ metadata["status"] = "complete"
330
+ metadata["completed_records"] = len(records)
331
+ finally:
332
+ ttnn.close_mesh_device(mesh)
333
+
334
+
335
+ def main():
336
+ parser = argparse.ArgumentParser(description=__doc__)
337
+ parser.add_argument("--input", type=Path, required=True)
338
+ parser.add_argument("--weights", type=Path, required=True)
339
+ parser.add_argument("--output", type=Path, required=True)
340
+ parser.add_argument("--cache-root", type=Path, default=ROOT / "candidate-cache")
341
+ parser.add_argument("--runtime", type=Path, default=ROOT / "runtime" / "qwen36")
342
+ parser.add_argument("--profile", choices=sorted(PROFILES), default="baseline-bf16")
343
+ parser.add_argument("--overrides", type=Path)
344
+ parser.add_argument("--context-limit", type=int, default=8192)
345
+ parser.add_argument("--cpu-threads", type=int, default=8)
346
+ parser.add_argument("--mtp", action="store_true",
347
+ help="Load the MTP head while evaluating full target logits; does not run speculative generation")
348
+ parser.add_argument("--generate-tokens", type=int, default=0,
349
+ help="Free greedy generation diagnostics instead of fixed-input teacher forcing")
350
+ parser.add_argument("--split", choices=("calibration", "validation", "heldout"),
351
+ help="Select one split; screen candidates on calibration only")
352
+ parser.add_argument("--max-records", type=int,
353
+ help="Evaluate only the first N records after split filtering; never truncates tokens")
354
+ parser.add_argument("--describe", action="store_true")
355
+ parser.add_argument("--device-ownership-confirmed", action="store_true",
356
+ help="Required for device execution; operator must first ensure no other process owns the P150")
357
+ args = parser.parse_args()
358
+ for name in ("weights", "input", "output", "cache_root", "runtime"):
359
+ setattr(args, name, getattr(args, name).resolve())
360
+ if not 2 <= args.context_limit <= 8192 or args.cpu_threads < 1:
361
+ raise ValueError("context-limit must be 2..8192 and cpu-threads positive")
362
+ if not 0 <= args.generate_tokens <= 256:
363
+ raise ValueError("generate-tokens must be in [0,256]")
364
+ # Restrict every persistent artifact/cache write to this isolated workspace.
365
+ for path in (args.output, args.cache_root):
366
+ if not path.is_relative_to(ROOT) or path == ROOT or path.is_relative_to(args.weights):
367
+ raise ValueError(f"Write path must be isolated under {ROOT}, never under weights: {path}")
368
+ config_path = args.weights / "config.json"
369
+ config = json.loads(config_path.read_text())["text_config"]
370
+ if config["num_hidden_layers"] != 32 or config["hidden_size"] != 4096 or config["vocab_size"] != 248320:
371
+ raise ValueError("This evaluator is scoped to the original Qwen3.5-9B architecture")
372
+ records = load_records(args.input, config["vocab_size"], args.context_limit)
373
+ if args.split:
374
+ records = [record for record in records if record["split"] == args.split]
375
+ if args.max_records is not None:
376
+ if args.max_records < 1:
377
+ raise ValueError("max-records must be positive")
378
+ records = records[:args.max_records]
379
+ if not records:
380
+ raise ValueError("No records remain after split/record selection")
381
+ if max(len(record["token_ids"]) for record in records) + args.generate_tokens > args.context_limit:
382
+ raise ValueError("Prompt plus generation exceeds the declared context limit")
383
+ inventory = json.loads((ROOT / "precision-plan.json").read_text())
384
+ overrides = json.loads(args.overrides.read_text()) if args.overrides else None
385
+ precision = precision_map(args.profile, overrides, config["layer_types"])
386
+ environment = runtime_environment(args.profile, inventory, args.mtp)
387
+ source_hashes = {str(path.relative_to(args.runtime)): digest(path) for path in sorted(args.runtime.rglob("*"))
388
+ if path.is_file() and path.suffix in {".py", ".cpp", ".hpp", ".h"}}
389
+ identity = {"precision": precision, "environment": environment, "sources": source_hashes,
390
+ "config_sha256": digest(config_path), "declared_upstream_revision": REVISION}
391
+ native_manifest_path = args.weights / "native_manifest.json"
392
+ if native_manifest_path.is_file():
393
+ native_manifest = json.loads(native_manifest_path.read_text())
394
+ if native_manifest["precision"] != precision:
395
+ raise ValueError("Requested precision differs from the native checkpoint")
396
+ identity["native_manifest_sha256"] = digest(native_manifest_path)
397
+ else:
398
+ identity["index_sha256"] = digest(args.weights / "model.safetensors.index.json")
399
+ candidate_hash = hashlib.sha256(canonical(identity).encode()).hexdigest()
400
+ cache = args.cache_root / candidate_hash
401
+ metadata = {"schema_version": 1, "backend": "ttnn-native", "status": "not_started",
402
+ "profile": args.profile, "precision": precision, "candidate_sha256": candidate_hash,
403
+ "input_sha256": digest(args.input), "vocab_size": config["vocab_size"],
404
+ "selection": {"split": args.split, "max_records": args.max_records,
405
+ "record_ids": [record["id"] for record in records]},
406
+ "max_seq_len": max(128, ((max(len(r["token_ids"]) for r in records) + args.generate_tokens + 127) // 128) * 128),
407
+ "source_identity": identity, "cache_path": str(cache), "runtime_environment": environment,
408
+ "alignment": "row p consumes token_ids[:p+1], predicts token_ids[p+1]; positions 0..N-2",
409
+ "full_vocabulary": True, "mtp": args.mtp, "vision": False, "trace": False,
410
+ "speculative_generation": False,
411
+ "generation_max_new_tokens": args.generate_tokens,
412
+ "likelihood_scope": "prompt targets plus self-selected greedy targets; not heldout NLL" if args.generate_tokens else "fixed teacher-forced input targets",
413
+ "state_dtype": "bf16", "activation_dtype": "bf16", "kv_dtype": "bf16",
414
+ "weight_loader": "native quantized checkpoint, evaluation-only unverified load" if native_manifest_path.is_file() else "read-only original text safetensors, preserving FP32 exceptions and optional lossless MTP",
415
+ "evaluator_sha256": digest(Path(__file__)),
416
+ "runtime_comparison_caveat": "BF16 weights retain BF16 arithmetic and native GDN recurrence/frontend. Generic controls share nonpacked matmul settings; packed/output/norm fusions are a separate runtime comparison.",
417
+ "created_at": datetime.datetime.now(datetime.timezone.utc).isoformat()}
418
+ if args.describe:
419
+ print(json.dumps(metadata, indent=2, sort_keys=True))
420
+ return
421
+ if not args.device_ownership_confirmed:
422
+ raise RuntimeError("Refusing device access: use --describe now. Execution requires exclusive P150 ownership, not merely a second container.")
423
+ if args.output.exists() and any(args.output.iterdir()):
424
+ raise ValueError("Output directory must be new/empty; refusing to overwrite prior evaluation")
425
+ args.output.mkdir(parents=True, exist_ok=True)
426
+ cache.mkdir(parents=True, exist_ok=True)
427
+ metadata["status"] = "running"
428
+ save_json(args.output / "metadata.json", metadata)
429
+ try:
430
+ evaluate(args, records, metadata, cache, environment)
431
+ except BaseException as error:
432
+ metadata["status"] = "failed"
433
+ metadata["error"] = f"{type(error).__name__}: {error}"
434
+ raise
435
+ finally:
436
+ save_json(args.output / "metadata.json", metadata)
437
+
438
+
439
+ if __name__ == "__main__":
440
+ main()
checkpoint/provenance/weight_mapping.py ADDED
@@ -0,0 +1,220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SPDX-FileCopyrightText: © 2026 Tenstorrent USA, Inc.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """Remap HuggingFace Qwen3.5-9B state dict to internal format.
5
+
6
+ Handles:
7
+ - Stripping 'model.language_model.' prefix
8
+ - Filtering out vision encoder and MTP weights
9
+ - Renaming combined in_proj_qkv → qkv_proj (DeltaNet layers; the op uses the fused weight)
10
+ - Splitting combined conv1d.weight into separate Q, K, V conv weights (DeltaNet layers)
11
+ - Renaming lm_head.weight → output.weight
12
+ - Renaming embed_tokens → tok_embeddings
13
+ """
14
+ import json
15
+ from pathlib import Path
16
+ from typing import Dict
17
+
18
+ import torch
19
+
20
+ # Layer indices that use full (softmax) attention
21
+ FULL_ATTENTION_LAYERS = {3, 7, 11, 15, 19, 23, 27, 31}
22
+
23
+ # DeltaNet QKV split dimensions (used to split the combined conv1d.weight into
24
+ # per-stream Q/K/V conv weights — the QKV projection itself stays combined).
25
+ # Q: num_key_heads(16) × key_head_dim(128) = 2048
26
+ # K: num_key_heads(16) × key_head_dim(128) = 2048
27
+ # (V = num_value_heads(32) × value_head_dim(128) = 4096 is the remaining slice)
28
+ LINEAR_Q_DIM = 2048
29
+ LINEAR_K_DIM = 2048
30
+
31
+
32
+ def remap_qwen36_state_dict(state_dict: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]:
33
+ """Remap HF Qwen3.5-9B state dict to internal format.
34
+
35
+ Args:
36
+ state_dict: Raw HuggingFace state dict loaded from safetensors.
37
+
38
+ Returns:
39
+ Remapped state dict with internal naming convention.
40
+ """
41
+ remapped = {}
42
+
43
+ for key, tensor in state_dict.items():
44
+ # Filter out vision encoder weights (check original key — no prefix stripping yet)
45
+ if "visual" in key or key.startswith("model.visual"):
46
+ continue
47
+ # Filter out MTP (multi-token prediction) weights (original key)
48
+ if key.startswith("mtp"):
49
+ continue
50
+
51
+ # Strip the language-model prefix. Two checkpoint sources produce different
52
+ # prefixes for the same internal weights:
53
+ # - raw sharded safetensors: model.language_model.X
54
+ # - AutoModelForCausalLM.from_pretrained (text-only Qwen3_5ForCausalLM): model.X
55
+ # Strip whichever matches, longest first, so BOTH sources yield identical
56
+ # internal keys. Top-level weights like lm_head.weight have no prefix and are
57
+ # matched against the original `key` below.
58
+ new_key = key
59
+ for prefix in ("model.language_model.", "model."):
60
+ if new_key.startswith(prefix):
61
+ new_key = new_key[len(prefix) :]
62
+ break
63
+
64
+ # Rename top-level weights
65
+ if new_key == "embed_tokens.weight":
66
+ remapped["tok_embeddings.weight"] = tensor
67
+ continue
68
+ if key == "lm_head.weight":
69
+ remapped["output.weight"] = tensor
70
+ continue
71
+ # Final norm (model.language_model.norm.weight)
72
+ if new_key == "norm.weight":
73
+ remapped["norm.weight"] = tensor
74
+ continue
75
+
76
+ # Handle per-layer weights
77
+ if new_key.startswith("layers."):
78
+ parts = new_key.split(".")
79
+ layer_idx = int(parts[1])
80
+ layer_prefix = f"layers.{layer_idx}"
81
+ sub_key = ".".join(parts[2:])
82
+
83
+ # DeltaNet layers: keep ONLY the combined QKV weight. The split q/k/v_proj
84
+ # were dead — the op runs the fused QKV projection from the combined weight
85
+ # (it only read the splits in a fallback reached when qkv_proj_weight is None,
86
+ # which never happens for the 9B).
87
+ if sub_key == "linear_attn.in_proj_qkv.weight":
88
+ remapped[f"{layer_prefix}.linear_attn.qkv_proj.weight"] = tensor # [8192, 4096]
89
+ continue
90
+
91
+ if sub_key == "linear_attn.conv1d.weight":
92
+ conv = tensor # [8192, 1, 4]
93
+ q_conv = conv[:LINEAR_Q_DIM, :, :]
94
+ k_conv = conv[LINEAR_Q_DIM : LINEAR_Q_DIM + LINEAR_K_DIM, :, :]
95
+ v_conv = conv[LINEAR_Q_DIM + LINEAR_K_DIM :, :, :]
96
+ remapped[f"{layer_prefix}.linear_attn.q_conv.weight"] = q_conv
97
+ remapped[f"{layer_prefix}.linear_attn.k_conv.weight"] = k_conv
98
+ remapped[f"{layer_prefix}.linear_attn.v_conv.weight"] = v_conv
99
+ continue
100
+
101
+ # All other keys pass through unchanged
102
+ remapped[new_key] = tensor
103
+ continue
104
+
105
+ # Any remaining keys pass through
106
+ remapped[new_key] = tensor
107
+
108
+ return remapped
109
+
110
+
111
+ def load_qwen36_mtp_state_dict(model_path) -> Dict[str, torch.Tensor]:
112
+ """Load only the checkpoint's small MTP subtree from sharded safetensors."""
113
+ from safetensors import safe_open
114
+
115
+ model_path = Path(model_path)
116
+ with open(model_path / "model.safetensors.index.json") as f:
117
+ weight_map = json.load(f)["weight_map"]
118
+
119
+ file_to_keys: Dict[str, list[str]] = {}
120
+ for key, filename in weight_map.items():
121
+ if key.startswith("mtp."):
122
+ file_to_keys.setdefault(filename, []).append(key)
123
+
124
+ mtp: Dict[str, torch.Tensor] = {}
125
+ for filename, keys in file_to_keys.items():
126
+ with safe_open(str(model_path / filename), framework="pt") as sf:
127
+ for key in keys:
128
+ mtp[key] = sf.get_tensor(key)
129
+ if not mtp:
130
+ raise ValueError(f"Qwen3.5 checkpoint at {model_path} has no mtp.* weights")
131
+ return mtp
132
+
133
+
134
+ def is_fp8_checkpoint(model_path) -> bool:
135
+ """True when the checkpoint dir holds block-wise FP8 safetensors.
136
+
137
+ Detected by a ``*.weight_scale_inv`` entry in the safetensors index (the
138
+ per-block dequant scales that accompany float8_e4m3fn weights). Such a
139
+ checkpoint cannot be loaded via AutoModelForCausalLM here; use
140
+ ``load_qwen36_state_dict_fp8`` instead.
141
+ """
142
+ index_path = Path(model_path) / "model.safetensors.index.json"
143
+ if not index_path.is_file():
144
+ return False
145
+ try:
146
+ with open(index_path) as f:
147
+ weight_map = json.load(f)["weight_map"]
148
+ except (KeyError, ValueError, OSError):
149
+ return False
150
+ return any(k.endswith(".weight_scale_inv") for k in weight_map)
151
+
152
+
153
+ def load_qwen36_state_dict_fp8(model_path) -> Dict[str, torch.Tensor]:
154
+ """Load Qwen3.5 FP8 weights: block-wise dequant + minimal key remap.
155
+
156
+ Produces the SAME internal key scheme as ``remap_qwen36_state_dict`` for the
157
+ shared/simple weights (``layers.N.mlp.*``, ``layers.N.self_attn.*``,
158
+ ``input_layernorm`` / ``post_attention_layernorm``, ``tok_embeddings``,
159
+ ``norm``, ``output``) so ``layer.py``'s substate extraction is unchanged.
160
+
161
+ The one deliberate difference vs the single-device remap: GDN ``linear_attn.*``
162
+ projections are kept RAW (fused ``in_proj_qkv``, fused ``conv1d``, plus
163
+ ``in_proj_z`` / ``in_proj_a`` / ``in_proj_b`` / ``out_proj`` / ``A_log`` /
164
+ ``dt_bias`` / ``norm.weight``) — NOT split or renamed — so the tensor-parallel
165
+ GDN weight-prep helpers (prepare_gdn_qkv / prepare_conv_taps) can reorder and
166
+ shard them per device. The TP module loaders branch on this raw layout.
167
+ """
168
+ from safetensors import safe_open
169
+
170
+ from models.demos.blackhole.qwen36.tt.tp_common import dequant_fp8_block
171
+
172
+ model_path = Path(model_path)
173
+ index_path = model_path / "model.safetensors.index.json"
174
+ with open(index_path) as f:
175
+ weight_map = json.load(f)["weight_map"]
176
+
177
+ file_to_keys: Dict[str, list] = {}
178
+ for key, filename in weight_map.items():
179
+ file_to_keys.setdefault(filename, []).append(key)
180
+
181
+ raw: Dict[str, torch.Tensor] = {}
182
+ for filename, keys in file_to_keys.items():
183
+ with safe_open(str(model_path / filename), framework="pt") as sf:
184
+ present = set(sf.keys())
185
+ for key in keys:
186
+ if key in present:
187
+ raw[key] = sf.get_tensor(key)
188
+
189
+ # Dequantize FP8 (skip the scale tensors themselves)
190
+ dequantized: Dict[str, torch.Tensor] = {}
191
+ for key, tensor in raw.items():
192
+ if key.endswith(".weight_scale_inv"):
193
+ continue
194
+ if tensor.dtype == torch.float8_e4m3fn:
195
+ scale_key = key + "_scale_inv"
196
+ dequantized[key] = (
197
+ dequant_fp8_block(tensor, raw[scale_key]) if scale_key in raw else tensor.to(torch.bfloat16)
198
+ )
199
+ else:
200
+ dequantized[key] = tensor
201
+
202
+ state_dict: Dict[str, torch.Tensor] = {}
203
+ for key, tensor in dequantized.items():
204
+ if "visual" in key or key.startswith("mtp"):
205
+ continue
206
+ short = key
207
+ for prefix in ("model.language_model.", "model."):
208
+ if short.startswith(prefix):
209
+ short = short[len(prefix) :]
210
+ break
211
+ if "embed_tokens" in short:
212
+ state_dict["tok_embeddings.weight"] = tensor
213
+ elif key == "lm_head.weight" or short == "lm_head.weight":
214
+ state_dict["output.weight"] = tensor
215
+ else:
216
+ # Everything else (layers.N.mlp.*, self_attn.*, linear_attn.* RAW,
217
+ # input_layernorm/post_attention_layernorm, norm) passes through.
218
+ state_dict[short] = tensor
219
+
220
+ return state_dict
checkpoint/quantization-error.json ADDED
The diff for this file is too large to render. See raw diff
 
checkpoint/tensors/00000.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d4f553fe416591e5d9dfdf45150f82b4d88b4fea590983b65fe126bf602ee5a
3
+ size 1080689000
checkpoint/tensors/00001.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38bb1a27e20c64787cd377c3f18bf2117aa4ed8251d247aedb146bb4833b0573
3
+ size 2034237544
checkpoint/tensors/00002.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b55492af5a288f52ebe592e39e2e75f6949706869b679621b41597619f9a7512
3
+ size 28311912
checkpoint/tensors/00003.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:817739482fde7bf45eab7b3d68831fb27490390928c60966d48084fae7127b13
3
+ size 53477736
checkpoint/tensors/00004.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d0552d5ca5f484aa8fce00132cef93c03ebfdb2c0cf2bb79c0e48ca2d787f971
3
+ size 53477736
checkpoint/tensors/00005.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5a8cbeb04c20ae79baf8ccd161ec5a05403ee15c6974e657a883f98769b0888
3
+ size 28311912
checkpoint/tensors/00006.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2663e15be67b452fcb6836f53efb57b1ebf7bc078889ef94c3d10973164647b6
3
+ size 53477736
checkpoint/tensors/00007.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d1d32db0f18d850c2af69f9972a86dc53b789f604cbb38e934078ba4e98e833
3
+ size 53477736
checkpoint/tensors/00008.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dbceb9cee219c05d5331cca9d3fe128834dba6ac763db5216ea0cfc58d4c3e11
3
+ size 28311912
checkpoint/tensors/00009.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1adcc930caac883061d6b927717fbc139896ee40754bc7970616a4dfc85666cc
3
+ size 28311912
checkpoint/tensors/00010.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1f0b6775ab6d1429b849a7547fa1e83d30d26a179fea984875d9845838208052
3
+ size 28311912
checkpoint/tensors/00011.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:752d18b915e7e3042dccce83624c75fa99879d390689a91b5fcdb72ff51ba8b3
3
+ size 28311912
checkpoint/tensors/00012.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5a07da9f758a7bd30153ee609e82be88ec4f6ec82c5693c72a66dd216315269
3
+ size 28311912
checkpoint/tensors/00013.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e019672df4f09a8f8cbaa8851a9c0e6405dc243f8fd76f9ae64599bc0f6cf6ce
3
+ size 53477736
checkpoint/tensors/00014.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:470eff8f523155457cdeb861853b0ef8c0909399f3922f70424dd60f35d39cf0
3
+ size 28311912
checkpoint/tensors/00015.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0078928a85361a6b3b372725b25e9edb2332effce2dae748ad394819d624caac
3
+ size 28311912
checkpoint/tensors/00016.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:88c0a18c5c2ea0c5bbaa99d9d3dd782b28cc184a3b4528adcbf66a0f27d82709
3
+ size 28311912
checkpoint/tensors/00017.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:161db47ca7a7747ec28c78a82b0b57ce46478ec7cfe2cd9f1f179fd0e44041b1
3
+ size 53477736
checkpoint/tensors/00018.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c2de1c8bc2518ffaceb0b3ed5c0a1ff1de0ffb3cd8b3d684635d01cafd96fd3
3
+ size 28311912
checkpoint/tensors/00019.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6710c4b861036d61791c017dd22e7ec747abe741412e7f31d56b56014dfc2746
3
+ size 28311912
checkpoint/tensors/00020.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37726ca2810b3114267b599c1fff6dd17c18b534be98349851a74a0031511fd9
3
+ size 28311912
checkpoint/tensors/00021.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:620b7f5bf138cef6f091b94e7bb4260e4e9693abcfc9257e6a7788af062a7ae0
3
+ size 28311912
checkpoint/tensors/00022.tensorbin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:70cd2c36ae9b0c518ec4ed9ccba038448c8b07a77fc40a61dba1b4e47ed403b6
3
+ size 28311912