gump2049 commited on
Commit
68e5880
·
verified ·
1 Parent(s): b4d6a99

Publish complete APUS-OpenJev-v1 models and Technical Report v1.1

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +4 -0
  2. 4B-5949/LICENSE +202 -0
  3. 4B-5949/README.md +33 -0
  4. 4B-5949/RUNTIME.md +55 -0
  5. 4B-5949/chat_template.jinja +154 -0
  6. 4B-5949/config.json +109 -0
  7. 4B-5949/decision-release.json +35 -0
  8. 4B-5949/depth_config.json +10 -0
  9. 4B-5949/evaluation/runtime-smoke.json +187 -0
  10. 4B-5949/evaluation/weight-arithmetic.json +908 -0
  11. 4B-5949/examples.py +61 -0
  12. 4B-5949/generation_config.json +6 -0
  13. 4B-5949/merge-provenance.json +17 -0
  14. 4B-5949/merged-evaluation.json +83 -0
  15. 4B-5949/model-00001-of-00003.safetensors +3 -0
  16. 4B-5949/model-00002-of-00003.safetensors +3 -0
  17. 4B-5949/model-00003-of-00003.safetensors +3 -0
  18. 4B-5949/model.safetensors.index.json +731 -0
  19. 4B-5949/openjet_runtime/__init__.py +3 -0
  20. 4B-5949/openjet_runtime/candidate_projection.py +108 -0
  21. 4B-5949/openjet_runtime/contracts.py +102 -0
  22. 4B-5949/openjet_runtime/early_exit.py +209 -0
  23. 4B-5949/openjet_runtime/runtime.py +176 -0
  24. 4B-5949/processor_config.json +61 -0
  25. 4B-5949/provenance/BASE-LICENSE.txt +202 -0
  26. 4B-5949/provenance/SOURCE-PROJECT-LICENSE.txt +201 -0
  27. 4B-5949/provenance/code-license-provenance.json +7 -0
  28. 4B-5949/provenance/identity.json +17 -0
  29. 4B-5949/release-manifest.json +193 -0
  30. 4B-5949/requirements.txt +5 -0
  31. 4B-5949/runtime-validation.json +10 -0
  32. 4B-5949/source-provenance.json +17 -0
  33. 4B-5949/tokenizer.json +3 -0
  34. 4B-5949/tokenizer_config.json +33 -0
  35. 4B-5949/training.md +24 -0
  36. 9B-3000/LICENSE +202 -0
  37. 9B-3000/README.md +33 -0
  38. 9B-3000/RUNTIME.md +55 -0
  39. 9B-3000/chat_template.jinja +154 -0
  40. 9B-3000/config.json +109 -0
  41. 9B-3000/decision-release.json +35 -0
  42. 9B-3000/depth_config.json +10 -0
  43. 9B-3000/evaluation/runtime-smoke.json +187 -0
  44. 9B-3000/evaluation/weight-arithmetic.json +908 -0
  45. 9B-3000/examples.py +61 -0
  46. 9B-3000/generation_config.json +6 -0
  47. 9B-3000/merge-provenance.json +17 -0
  48. 9B-3000/merged-evaluation.json +83 -0
  49. 9B-3000/model-00001-of-00006.safetensors +3 -0
  50. 9B-3000/model-00002-of-00006.safetensors +3 -0
.gitattributes CHANGED
@@ -33,3 +33,7 @@ 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
+ 4B-5949/tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ 9B-3000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
38
+ 9B-5949/tokenizer.json filter=lfs diff=lfs merge=lfs -text
39
+ TECHNICAL_REPORT.pdf filter=lfs diff=lfs merge=lfs -text
4B-5949/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.
4B-5949/README.md ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # APUS-OpenJev-v1 · 4B
2
+
3
+ A decision model for browser agents and business workflows. This directory contains standalone BF16 weights and a runtime with selectable `effort="low"` and `effort="high"` compute budgets.
4
+
5
+ [Model family](../README.md) · [Architecture](../ARCHITECTURE.md) · [Runtime guide](RUNTIME.md)
6
+
7
+ ## Quick start
8
+
9
+ Use a CUDA-capable PyTorch environment.
10
+
11
+ ```bash
12
+ python -m pip install huggingface_hub
13
+ hf auth login
14
+ hf download apus-ailab/APUS-OpenJev-v1 \
15
+ --include "4B-5949/*" --local-dir ./APUS-OpenJev-v1
16
+ cd ./APUS-OpenJev-v1/4B-5949
17
+ python -m pip install -r requirements.txt
18
+ python examples.py . --device cuda:0 --effort high
19
+ ```
20
+
21
+ The included runtime provides compute-budget selection. Use `high` for text generation.
22
+
23
+ ## Evaluation
24
+
25
+ With the full compute budget, this merged model scores **66/80 (82.50%)** on the [Frozen80 development panel](https://huggingface.co/datasets/gump2049/xDAN-openJet-Eval-Frozen80-20260921): browser action selection, principle-based judgment, evidence-based questions, natural language inference, and attribute decisions.
26
+
27
+ This reused development panel is an engineering reference, not an independent benchmark. BF16 merging changes some candidate probabilities; decision thresholds require revalidation. See [evaluation results](merged-evaluation.json) and [runtime checks](evaluation/runtime-smoke.json) for details.
28
+
29
+ ## Provenance
30
+
31
+ We thank the Qwen team for the [Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B) base model. Training details and source records are in [training.md](training.md); artifact hashes are in [release-manifest.json](release-manifest.json). Consult [LICENSE](LICENSE) and the [base-model](provenance/BASE-LICENSE.txt) and [source-project](provenance/SOURCE-PROJECT-LICENSE.txt) notices.
32
+
33
+ **Authors:** gumpcheng ([https://huggingface.co/xDAN2099](https://huggingface.co/xDAN2099)), zhangxu, [APUS AI-LAB](https://github.com/APUS-AI-Lab)
4B-5949/RUNTIME.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # xDAN-openJet merged reference runtime
2
+
3
+ 本目录是可随 HF merged 仓库发布的完整 Python 源码闭包,不需要安装 ms-swift、PEFT 或原项目。发布选择为 **4B checkpoint-5949**、**9B checkpoint-3000** 与 **9B checkpoint-5949**;各目录必须保留自己的 `depth_config.json`、完整 Qwen config、tokenizer、chat template、generation config 和 merged safetensors。不得将不同 checkpoint 的权重或 shallow/full 结果拼在一起。
4
+
5
+ ## 运行
6
+
7
+ 使用 CUDA 对应 PyTorch 2.8.0 构建,安装 `requirements.txt`。运行依赖 Transformer 私有模型层接口,所以严格要求 `transformers==5.16.1`;版本升级需重做层级及数值验证。这是原生 PyTorch 单卡单请求参考实现,不是 vLLM 服务。
8
+
9
+ 先把发布仓库的**固定 commit**完整下载到本机目录。仓库根目录有本目录中的 `openjet_runtime/` 与 `examples.py` 时:
10
+
11
+ ```bash
12
+ python -m pip install -r requirements.txt
13
+ python examples.py ./model-snapshot --device cuda:0 --effort both
14
+ python examples.py ./model-snapshot --device cuda:0 --effort high --text
15
+ ```
16
+
17
+ 若代码与权重同在下载快照根目录,进入快照后把 `./model-snapshot` 改为 `.`。
18
+
19
+ ```python
20
+ from openjet_runtime import OpenJet
21
+ from examples import decision_examples
22
+
23
+ model = OpenJet.from_pretrained("./model-snapshot")
24
+ two_candidates, sixteen_candidates = decision_examples()
25
+ print(model.decide(two_candidates, effort="low"))
26
+ print(model.decide(sixteen_candidates, effort="high"))
27
+ print(model.generate_text("Return only the text: red shoes", effort="high", max_new_tokens=32))
28
+ ```
29
+
30
+ `examples.py` 中两候选工作流、16 候选浏览器和 TYPE 是接口演示,不是声称模型已通过的 benchmark。需要针对业务设计 prompt 和验证答案。
31
+
32
+ ## 接口和执行语义
33
+
34
+ - `decide(request, effort)` 输入字段与原 `jev.dynamic.prompt.v2` 相同:`id/group_id/state/instructions/primitive/criteria`;每个候选有非空 `id` 和 `description`,2–16 个,ID 不重复。标签为 A–P,编译器验证每个标签在真实回答边界恰为一个 token。没有 gold 输入需求。
35
+ - `primitive="choice"` 返回 `choice` 与按输入顺序映射的 `probabilities`;`noul/score_level` 使用 `contracts.py` 中固定 Yes/No 候选,返回 `yes_probability`。`score_level` 是单个命题的判断,不能当作完整序数 Score API。
36
+ - `effort="low"` 执行 `depth_config.exit_depth`(这两项发布预期16),共享原 LM final norm 与候选行投影;`high` 执行 `full_depth`(预期32),保持原评测中的标准模型前向+完整 LM head 路径。读取 config,不凭参数规模推测层数。
37
+ - 所有输入采用 tokenizer 自带 chat template、`enable_thinking=False`,超过8192 token直接报错。不会默默截断 state、instructions 或候选。
38
+ - `probabilities` 是在当前候选集上的相对 softmax,**未经概率校准**;合并不自动带来可信置信度或校准保证。
39
+ - `generate_text` 为 TYPE 文本保留的贪心参考路径;每个 token 重新计算前缀,方便与原评测逐 token 核对,但不适合宣传 tokens/s。达到上限明确返回 `finish_reason="length"`。
40
+ - `both` 示例分别调用两个 effort;没有自动路由、不承诺共享两次调用的前缀缓存。本次便携发布不包含 KV 广播引擎、vLLM 插件、TypeSafe HTTP server 或多模态输入能力。
41
+
42
+ ## 合并验收(GPU,不能用静态测试代替)
43
+
44
+ 1. 固定同一 base revision、adapter SHA、tokenizer、chat template、dtype、attention backend 和 Transformers 版本,记录 merge 前后权重身份。保留 adapter 原文件。
45
+ 2. 同进程/新进程分别加载 base+adapter 和 merged;比较固定2候选、16候选、长输入、80题面板两 effort 的 token IDs、候选排序、logits、probabilities 和最终ID。保存逐题差异与最大绝对差,不能只比 aggregate accuracy。
46
+ 3. BF16 merge 会舍入:不能预先声明 bitwise一致或把漂移简单解释为无害;应报告数值误差和所有预测翻转。若超过事先制定的容忍值,停止发布数值等价结论,考虑 FP32 merge/存储再独立评测。
47
+ 4. fresh reload 验证 `depth_config` 与实际层数、模块边界一致。用层 forward hooks 检查 low只执行浅层、high执行全层;hooks会触发候选头保守fallback,不拿该测量做性能报告。
48
+ 5. TYPE短样本比较 token序列和EOS;分别测试空输入、非法候选/重复ID、超长输入明确失败。
49
+ 6. 在干净环境固定 HF revision 下载,运行本目录例子和同一小面板。记录显存、依赖、GPU型号以及权重checksum。成功加载只是第一关,不能当作质量或吞吐验收。
50
+
51
+ 原始数值等价门结果:`False`,保留原结果;决策完全一致门:`True`,一致 `160/160`。独立运行时 GPU 验收状态:`passed`。若数值门失败,此 BF16 包作为独立重评版本,禁止直接迁移概率/拒答/路由阈值;见 `merged-evaluation.json`。
52
+
53
+ ## 源码来历
54
+
55
+ `contracts.py`、`candidate_projection.py` 与 `early_exit.py` 从已有本地实现原样提取(最后一项仅调整相对 import);`source-provenance.json` 记录源路径与两端 SHA256。`runtime.py` 是最小加载及接口层;high 与 TYPE 分别对应原 `HFDecisionEngine._forward_batch` 和 `package_eval.prefix_next_token` 的执行语义。采用现有模型类:`qwen3_5` → `Qwen3_5ForConditionalGeneration`;`qwen3_5_text` → `AutoModelForCausalLM`。没有新增学习参数。
4B-5949/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 %}
4B-5949/config.json ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "dtype": "bfloat16",
6
+ "image_token_id": 248056,
7
+ "model_type": "qwen3_5",
8
+ "text_config": {
9
+ "attention_bias": false,
10
+ "attention_dropout": 0.0,
11
+ "attn_output_gate": true,
12
+ "bos_token_id": null,
13
+ "dtype": "bfloat16",
14
+ "eos_token_id": 248044,
15
+ "full_attention_interval": 4,
16
+ "head_dim": 256,
17
+ "hidden_act": "silu",
18
+ "hidden_size": 2560,
19
+ "initializer_range": 0.02,
20
+ "intermediate_size": 9216,
21
+ "layer_types": [
22
+ "linear_attention",
23
+ "linear_attention",
24
+ "linear_attention",
25
+ "full_attention",
26
+ "linear_attention",
27
+ "linear_attention",
28
+ "linear_attention",
29
+ "full_attention",
30
+ "linear_attention",
31
+ "linear_attention",
32
+ "linear_attention",
33
+ "full_attention",
34
+ "linear_attention",
35
+ "linear_attention",
36
+ "linear_attention",
37
+ "full_attention",
38
+ "linear_attention",
39
+ "linear_attention",
40
+ "linear_attention",
41
+ "full_attention",
42
+ "linear_attention",
43
+ "linear_attention",
44
+ "linear_attention",
45
+ "full_attention",
46
+ "linear_attention",
47
+ "linear_attention",
48
+ "linear_attention",
49
+ "full_attention",
50
+ "linear_attention",
51
+ "linear_attention",
52
+ "linear_attention",
53
+ "full_attention"
54
+ ],
55
+ "linear_conv_kernel_dim": 4,
56
+ "linear_key_head_dim": 128,
57
+ "linear_num_key_heads": 16,
58
+ "linear_num_value_heads": 32,
59
+ "linear_value_head_dim": 128,
60
+ "mamba_ssm_dtype": "float32",
61
+ "max_position_embeddings": 262144,
62
+ "mlp_only_layers": [],
63
+ "model_type": "qwen3_5_text",
64
+ "mtp_num_hidden_layers": 1,
65
+ "mtp_use_dedicated_embeddings": false,
66
+ "num_attention_heads": 16,
67
+ "num_hidden_layers": 32,
68
+ "num_key_value_heads": 4,
69
+ "pad_token_id": null,
70
+ "partial_rotary_factor": 0.25,
71
+ "rms_norm_eps": 1e-06,
72
+ "rope_parameters": {
73
+ "mrope_interleaved": true,
74
+ "mrope_section": [
75
+ 11,
76
+ 11,
77
+ 10
78
+ ],
79
+ "partial_rotary_factor": 0.25,
80
+ "rope_theta": 10000000,
81
+ "rope_type": "default"
82
+ },
83
+ "tie_word_embeddings": true,
84
+ "use_cache": true,
85
+ "vocab_size": 248320
86
+ },
87
+ "tie_word_embeddings": true,
88
+ "transformers_version": "5.16.1",
89
+ "video_token_id": 248057,
90
+ "vision_config": {
91
+ "deepstack_visual_indexes": [],
92
+ "depth": 24,
93
+ "dtype": "bfloat16",
94
+ "hidden_act": "gelu_pytorch_tanh",
95
+ "hidden_size": 1024,
96
+ "in_channels": 3,
97
+ "initializer_range": 0.02,
98
+ "intermediate_size": 4096,
99
+ "model_type": "qwen3_5_vision",
100
+ "num_heads": 16,
101
+ "num_position_embeddings": 2304,
102
+ "out_hidden_size": 2560,
103
+ "patch_size": 16,
104
+ "spatial_merge_size": 2,
105
+ "temporal_patch_size": 2
106
+ },
107
+ "vision_end_token_id": 248054,
108
+ "vision_start_token_id": 248053
109
+ }
4B-5949/decision-release.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "passed": true,
3
+ "scope": "Independent BF16 merged variant, frozen80 decision parity; NOT a probability-equivalent replacement",
4
+ "post_observation_scope_amendment": true,
5
+ "original_numerical_gate_passed": false,
6
+ "original_gate": "identical160_argmax_and_max_probability_delta_le_0.05",
7
+ "original_comparison_sha256": "97cc94ddebb4f321d3d4ed29c89a0d8b1b3d6570e48bff427c635ba82f67862e",
8
+ "decision_agreement": 160,
9
+ "total_decisions": 160,
10
+ "independent_questions": 80,
11
+ "probability_calibration_transfer_validated": false,
12
+ "automatic_routing_validated": false,
13
+ "required_followup": "Recalibrate all probability, rejection and routing thresholds; independently evaluate new tasks",
14
+ "depths": {
15
+ "16": {
16
+ "before_correct": 61,
17
+ "after_correct": 61,
18
+ "changed_decisions": [],
19
+ "max_probability_abs_difference": 0.09226870536804199,
20
+ "mean_probability_abs_difference": 0.001908167676742778,
21
+ "max_logit_abs_difference": 0.5078125,
22
+ "mean_logit_abs_difference": 0.026137218475341797
23
+ },
24
+ "32": {
25
+ "before_correct": 66,
26
+ "after_correct": 66,
27
+ "changed_decisions": [],
28
+ "max_probability_abs_difference": 0.06145721673965454,
29
+ "mean_probability_abs_difference": 0.0017077110185891797,
30
+ "max_logit_abs_difference": 0.875,
31
+ "mean_logit_abs_difference": 0.03171875
32
+ }
33
+ },
34
+ "publication_requires": "Further portable-runtime160, weight arithmetic, full file hashes and fresh HF reload gates"
35
+ }
4B-5949/depth_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "prompt_version": "jev.dynamic.prompt.v2",
3
+ "exit_depth": 16,
4
+ "full_depth": 32,
5
+ "model_series": "xDAN-openJet",
6
+ "checkpoint_step": 5949,
7
+ "source_depth_config_sha256": "6856cf257aa6eeb24dda20702ace04696b5d3db19d647705dedd00cca6f756e6",
8
+ "training_mode": "two_exit",
9
+ "automatic_routing_validated": false
10
+ }
4B-5949/evaluation/runtime-smoke.json ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "passed",
3
+ "runtime_sha256": {
4
+ "openjet_runtime/__init__.py": "df6eb864cf6d0c2f512fb00f17eeaa11fd790afca33a0f7b2f609aeb1f2b3944",
5
+ "openjet_runtime/runtime.py": "6e7b0b131cb14ab0d25cc8fd6c7fc41738b799cfe6de1ccdbae2d09d7c64313c",
6
+ "openjet_runtime/early_exit.py": "89b7751a927a6d1348a454fb8ee986395423ad5686d855fb3ccab255c95d2566",
7
+ "openjet_runtime/contracts.py": "d8e8e5270ecd6dab917d886dda2d684c24696b811faa968bb3c399ceef5e356a",
8
+ "openjet_runtime/candidate_projection.py": "84dc4746b5fb06ac6a9024dde3ba8414d901acf2a62d010b0d66f26acfaf74a6"
9
+ },
10
+ "decisions": 160,
11
+ "max_probability_delta": 0.0,
12
+ "no_jev_import": true,
13
+ "long_input_rejected": true,
14
+ "invalid_effort_rejected": true,
15
+ "synthetic_examples": [
16
+ {
17
+ "id": "example-binary",
18
+ "type": "choice",
19
+ "probabilities": {
20
+ "close": 0.9961305856704712,
21
+ "refund": 0.0038693908136337996
22
+ },
23
+ "choice": "close",
24
+ "effort": "low",
25
+ "executed_layers": 16,
26
+ "prompt_tokens": 103,
27
+ "logits": [
28
+ 5.09375,
29
+ -0.45703125
30
+ ],
31
+ "projection": "candidate_rows",
32
+ "calibrated": false
33
+ },
34
+ {
35
+ "id": "example-binary",
36
+ "type": "choice",
37
+ "probabilities": {
38
+ "close": 0.9996199607849121,
39
+ "refund": 0.0003799845289904624
40
+ },
41
+ "choice": "close",
42
+ "effort": "high",
43
+ "executed_layers": 32,
44
+ "prompt_tokens": 103,
45
+ "logits": [
46
+ 20.375,
47
+ 12.5
48
+ ],
49
+ "projection": "full_head",
50
+ "calibrated": false
51
+ },
52
+ {
53
+ "id": "example-browser",
54
+ "type": "choice",
55
+ "probabilities": {
56
+ "click-1": 0.06669197976589203,
57
+ "click-2": 0.016471756622195244,
58
+ "click-3": 0.03487071022391319,
59
+ "click-4": 0.06072373315691948,
60
+ "click-5": 0.025511953979730606,
61
+ "click-6": 0.03125790134072304,
62
+ "click-7": 0.0377042256295681,
63
+ "click-8": 0.05234713479876518,
64
+ "click-9": 0.07498379796743393,
65
+ "click-10": 0.027584997937083244,
66
+ "click-11": 0.04879289120435715,
67
+ "click-12": 0.042062100023031235,
68
+ "click-13": 0.14767390489578247,
69
+ "click-14": 0.10910079628229141,
70
+ "click-15": 0.08630583435297012,
71
+ "click-16": 0.13791632652282715
72
+ },
73
+ "choice": "click-13",
74
+ "effort": "low",
75
+ "executed_layers": 16,
76
+ "prompt_tokens": 383,
77
+ "logits": [
78
+ -1.1796875,
79
+ -2.578125,
80
+ -1.828125,
81
+ -1.2734375,
82
+ -2.140625,
83
+ -1.9375,
84
+ -1.75,
85
+ -1.421875,
86
+ -1.0625,
87
+ -2.0625,
88
+ -1.4921875,
89
+ -1.640625,
90
+ -0.384765625,
91
+ -0.6875,
92
+ -0.921875,
93
+ -0.453125
94
+ ],
95
+ "projection": "candidate_rows",
96
+ "calibrated": false
97
+ },
98
+ {
99
+ "id": "example-browser",
100
+ "type": "choice",
101
+ "probabilities": {
102
+ "click-1": 0.00045352030429057777,
103
+ "click-2": 0.00040023025940172374,
104
+ "click-3": 0.00017760110495146364,
105
+ "click-4": 0.0002142278099199757,
106
+ "click-5": 0.0002584080502856523,
107
+ "click-6": 0.00024275195028167218,
108
+ "click-7": 0.0003532019618432969,
109
+ "click-8": 0.0004827698867302388,
110
+ "click-9": 0.0013123045209795237,
111
+ "click-10": 0.0004827698867302388,
112
+ "click-11": 0.0035672136582434177,
113
+ "click-12": 0.9890894293785095,
114
+ "click-13": 0.0012327961158007383,
115
+ "click-14": 0.0007959529175423086,
116
+ "click-15": 0.0001890553830889985,
117
+ "click-16": 0.0007477285689674318
118
+ },
119
+ "choice": "click-12",
120
+ "effort": "high",
121
+ "executed_layers": 32,
122
+ "prompt_tokens": 383,
123
+ "logits": [
124
+ 12.5625,
125
+ 12.4375,
126
+ 11.625,
127
+ 11.8125,
128
+ 12.0,
129
+ 11.9375,
130
+ 12.3125,
131
+ 12.625,
132
+ 13.625,
133
+ 12.625,
134
+ 14.625,
135
+ 20.25,
136
+ 13.5625,
137
+ 13.125,
138
+ 11.6875,
139
+ 13.0625
140
+ ],
141
+ "projection": "full_head",
142
+ "calibrated": false
143
+ }
144
+ ],
145
+ "text_smoke": {
146
+ "low": {
147
+ "text": "\u4f60\u597d / / / / ...etc\u4e4e--SsN [sS",
148
+ "token_ids": [
149
+ 109266,
150
+ 593,
151
+ 593,
152
+ 593,
153
+ 593,
154
+ 2423,
155
+ 11763,
156
+ 97091,
157
+ 12,
158
+ 12,
159
+ 50,
160
+ 82,
161
+ 45,
162
+ 498,
163
+ 82,
164
+ 50
165
+ ],
166
+ "effort": "low",
167
+ "executed_layers_per_token": 16,
168
+ "finish_reason": "length",
169
+ "prompt_tokens": 28
170
+ },
171
+ "high": {
172
+ "text": "red shoes\n",
173
+ "token_ids": [
174
+ 1114,
175
+ 14850,
176
+ 248046,
177
+ 198,
178
+ 248044
179
+ ],
180
+ "effort": "high",
181
+ "executed_layers_per_token": 32,
182
+ "finish_reason": "eos",
183
+ "prompt_tokens": 28
184
+ }
185
+ },
186
+ "text_scope": "Execution smoke only; not TYPE accuracy or speed validation"
187
+ }
4B-5949/evaluation/weight-arithmetic.json ADDED
@@ -0,0 +1,908 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "passed",
3
+ "base_mtp_keys_not_loaded_by_transformers": [
4
+ "mtp.fc.weight",
5
+ "mtp.layers.0.input_layernorm.weight",
6
+ "mtp.layers.0.mlp.down_proj.weight",
7
+ "mtp.layers.0.mlp.gate_proj.weight",
8
+ "mtp.layers.0.mlp.up_proj.weight",
9
+ "mtp.layers.0.post_attention_layernorm.weight",
10
+ "mtp.layers.0.self_attn.k_norm.weight",
11
+ "mtp.layers.0.self_attn.k_proj.weight",
12
+ "mtp.layers.0.self_attn.o_proj.weight",
13
+ "mtp.layers.0.self_attn.q_norm.weight",
14
+ "mtp.layers.0.self_attn.q_proj.weight",
15
+ "mtp.layers.0.self_attn.v_proj.weight",
16
+ "mtp.norm.weight",
17
+ "mtp.pre_fc_norm_embedding.weight",
18
+ "mtp.pre_fc_norm_hidden.weight"
19
+ ],
20
+ "size": "4B",
21
+ "targeted_weight_matrices": 176,
22
+ "adapter_tensors": 352,
23
+ "all_targeted_weights_exact": true,
24
+ "scope": "FP32 LoRA arithmetic followed by BF16 rounding; not forward/probability equivalence",
25
+ "adapter_sha256": "71154f60ec72c55d2c6c6147b9cdda9cc9a52d46297f3074dded7cdc9f5bc344",
26
+ "checks": [
27
+ {
28
+ "weight": "model.language_model.layers.0.linear_attn.in_proj_qkv.weight",
29
+ "equal": true,
30
+ "max_abs_difference": 0.0
31
+ },
32
+ {
33
+ "weight": "model.language_model.layers.0.linear_attn.out_proj.weight",
34
+ "equal": true,
35
+ "max_abs_difference": 0.0
36
+ },
37
+ {
38
+ "weight": "model.language_model.layers.0.mlp.down_proj.weight",
39
+ "equal": true,
40
+ "max_abs_difference": 0.0
41
+ },
42
+ {
43
+ "weight": "model.language_model.layers.0.mlp.gate_proj.weight",
44
+ "equal": true,
45
+ "max_abs_difference": 0.0
46
+ },
47
+ {
48
+ "weight": "model.language_model.layers.0.mlp.up_proj.weight",
49
+ "equal": true,
50
+ "max_abs_difference": 0.0
51
+ },
52
+ {
53
+ "weight": "model.language_model.layers.1.linear_attn.in_proj_qkv.weight",
54
+ "equal": true,
55
+ "max_abs_difference": 0.0
56
+ },
57
+ {
58
+ "weight": "model.language_model.layers.1.linear_attn.out_proj.weight",
59
+ "equal": true,
60
+ "max_abs_difference": 0.0
61
+ },
62
+ {
63
+ "weight": "model.language_model.layers.1.mlp.down_proj.weight",
64
+ "equal": true,
65
+ "max_abs_difference": 0.0
66
+ },
67
+ {
68
+ "weight": "model.language_model.layers.1.mlp.gate_proj.weight",
69
+ "equal": true,
70
+ "max_abs_difference": 0.0
71
+ },
72
+ {
73
+ "weight": "model.language_model.layers.1.mlp.up_proj.weight",
74
+ "equal": true,
75
+ "max_abs_difference": 0.0
76
+ },
77
+ {
78
+ "weight": "model.language_model.layers.10.linear_attn.in_proj_qkv.weight",
79
+ "equal": true,
80
+ "max_abs_difference": 0.0
81
+ },
82
+ {
83
+ "weight": "model.language_model.layers.10.linear_attn.out_proj.weight",
84
+ "equal": true,
85
+ "max_abs_difference": 0.0
86
+ },
87
+ {
88
+ "weight": "model.language_model.layers.10.mlp.down_proj.weight",
89
+ "equal": true,
90
+ "max_abs_difference": 0.0
91
+ },
92
+ {
93
+ "weight": "model.language_model.layers.10.mlp.gate_proj.weight",
94
+ "equal": true,
95
+ "max_abs_difference": 0.0
96
+ },
97
+ {
98
+ "weight": "model.language_model.layers.10.mlp.up_proj.weight",
99
+ "equal": true,
100
+ "max_abs_difference": 0.0
101
+ },
102
+ {
103
+ "weight": "model.language_model.layers.11.mlp.down_proj.weight",
104
+ "equal": true,
105
+ "max_abs_difference": 0.0
106
+ },
107
+ {
108
+ "weight": "model.language_model.layers.11.mlp.gate_proj.weight",
109
+ "equal": true,
110
+ "max_abs_difference": 0.0
111
+ },
112
+ {
113
+ "weight": "model.language_model.layers.11.mlp.up_proj.weight",
114
+ "equal": true,
115
+ "max_abs_difference": 0.0
116
+ },
117
+ {
118
+ "weight": "model.language_model.layers.11.self_attn.k_proj.weight",
119
+ "equal": true,
120
+ "max_abs_difference": 0.0
121
+ },
122
+ {
123
+ "weight": "model.language_model.layers.11.self_attn.o_proj.weight",
124
+ "equal": true,
125
+ "max_abs_difference": 0.0
126
+ },
127
+ {
128
+ "weight": "model.language_model.layers.11.self_attn.q_proj.weight",
129
+ "equal": true,
130
+ "max_abs_difference": 0.0
131
+ },
132
+ {
133
+ "weight": "model.language_model.layers.11.self_attn.v_proj.weight",
134
+ "equal": true,
135
+ "max_abs_difference": 0.0
136
+ },
137
+ {
138
+ "weight": "model.language_model.layers.12.linear_attn.in_proj_qkv.weight",
139
+ "equal": true,
140
+ "max_abs_difference": 0.0
141
+ },
142
+ {
143
+ "weight": "model.language_model.layers.12.linear_attn.out_proj.weight",
144
+ "equal": true,
145
+ "max_abs_difference": 0.0
146
+ },
147
+ {
148
+ "weight": "model.language_model.layers.12.mlp.down_proj.weight",
149
+ "equal": true,
150
+ "max_abs_difference": 0.0
151
+ },
152
+ {
153
+ "weight": "model.language_model.layers.12.mlp.gate_proj.weight",
154
+ "equal": true,
155
+ "max_abs_difference": 0.0
156
+ },
157
+ {
158
+ "weight": "model.language_model.layers.12.mlp.up_proj.weight",
159
+ "equal": true,
160
+ "max_abs_difference": 0.0
161
+ },
162
+ {
163
+ "weight": "model.language_model.layers.13.linear_attn.in_proj_qkv.weight",
164
+ "equal": true,
165
+ "max_abs_difference": 0.0
166
+ },
167
+ {
168
+ "weight": "model.language_model.layers.13.linear_attn.out_proj.weight",
169
+ "equal": true,
170
+ "max_abs_difference": 0.0
171
+ },
172
+ {
173
+ "weight": "model.language_model.layers.13.mlp.down_proj.weight",
174
+ "equal": true,
175
+ "max_abs_difference": 0.0
176
+ },
177
+ {
178
+ "weight": "model.language_model.layers.13.mlp.gate_proj.weight",
179
+ "equal": true,
180
+ "max_abs_difference": 0.0
181
+ },
182
+ {
183
+ "weight": "model.language_model.layers.13.mlp.up_proj.weight",
184
+ "equal": true,
185
+ "max_abs_difference": 0.0
186
+ },
187
+ {
188
+ "weight": "model.language_model.layers.14.linear_attn.in_proj_qkv.weight",
189
+ "equal": true,
190
+ "max_abs_difference": 0.0
191
+ },
192
+ {
193
+ "weight": "model.language_model.layers.14.linear_attn.out_proj.weight",
194
+ "equal": true,
195
+ "max_abs_difference": 0.0
196
+ },
197
+ {
198
+ "weight": "model.language_model.layers.14.mlp.down_proj.weight",
199
+ "equal": true,
200
+ "max_abs_difference": 0.0
201
+ },
202
+ {
203
+ "weight": "model.language_model.layers.14.mlp.gate_proj.weight",
204
+ "equal": true,
205
+ "max_abs_difference": 0.0
206
+ },
207
+ {
208
+ "weight": "model.language_model.layers.14.mlp.up_proj.weight",
209
+ "equal": true,
210
+ "max_abs_difference": 0.0
211
+ },
212
+ {
213
+ "weight": "model.language_model.layers.15.mlp.down_proj.weight",
214
+ "equal": true,
215
+ "max_abs_difference": 0.0
216
+ },
217
+ {
218
+ "weight": "model.language_model.layers.15.mlp.gate_proj.weight",
219
+ "equal": true,
220
+ "max_abs_difference": 0.0
221
+ },
222
+ {
223
+ "weight": "model.language_model.layers.15.mlp.up_proj.weight",
224
+ "equal": true,
225
+ "max_abs_difference": 0.0
226
+ },
227
+ {
228
+ "weight": "model.language_model.layers.15.self_attn.k_proj.weight",
229
+ "equal": true,
230
+ "max_abs_difference": 0.0
231
+ },
232
+ {
233
+ "weight": "model.language_model.layers.15.self_attn.o_proj.weight",
234
+ "equal": true,
235
+ "max_abs_difference": 0.0
236
+ },
237
+ {
238
+ "weight": "model.language_model.layers.15.self_attn.q_proj.weight",
239
+ "equal": true,
240
+ "max_abs_difference": 0.0
241
+ },
242
+ {
243
+ "weight": "model.language_model.layers.15.self_attn.v_proj.weight",
244
+ "equal": true,
245
+ "max_abs_difference": 0.0
246
+ },
247
+ {
248
+ "weight": "model.language_model.layers.16.linear_attn.in_proj_qkv.weight",
249
+ "equal": true,
250
+ "max_abs_difference": 0.0
251
+ },
252
+ {
253
+ "weight": "model.language_model.layers.16.linear_attn.out_proj.weight",
254
+ "equal": true,
255
+ "max_abs_difference": 0.0
256
+ },
257
+ {
258
+ "weight": "model.language_model.layers.16.mlp.down_proj.weight",
259
+ "equal": true,
260
+ "max_abs_difference": 0.0
261
+ },
262
+ {
263
+ "weight": "model.language_model.layers.16.mlp.gate_proj.weight",
264
+ "equal": true,
265
+ "max_abs_difference": 0.0
266
+ },
267
+ {
268
+ "weight": "model.language_model.layers.16.mlp.up_proj.weight",
269
+ "equal": true,
270
+ "max_abs_difference": 0.0
271
+ },
272
+ {
273
+ "weight": "model.language_model.layers.17.linear_attn.in_proj_qkv.weight",
274
+ "equal": true,
275
+ "max_abs_difference": 0.0
276
+ },
277
+ {
278
+ "weight": "model.language_model.layers.17.linear_attn.out_proj.weight",
279
+ "equal": true,
280
+ "max_abs_difference": 0.0
281
+ },
282
+ {
283
+ "weight": "model.language_model.layers.17.mlp.down_proj.weight",
284
+ "equal": true,
285
+ "max_abs_difference": 0.0
286
+ },
287
+ {
288
+ "weight": "model.language_model.layers.17.mlp.gate_proj.weight",
289
+ "equal": true,
290
+ "max_abs_difference": 0.0
291
+ },
292
+ {
293
+ "weight": "model.language_model.layers.17.mlp.up_proj.weight",
294
+ "equal": true,
295
+ "max_abs_difference": 0.0
296
+ },
297
+ {
298
+ "weight": "model.language_model.layers.18.linear_attn.in_proj_qkv.weight",
299
+ "equal": true,
300
+ "max_abs_difference": 0.0
301
+ },
302
+ {
303
+ "weight": "model.language_model.layers.18.linear_attn.out_proj.weight",
304
+ "equal": true,
305
+ "max_abs_difference": 0.0
306
+ },
307
+ {
308
+ "weight": "model.language_model.layers.18.mlp.down_proj.weight",
309
+ "equal": true,
310
+ "max_abs_difference": 0.0
311
+ },
312
+ {
313
+ "weight": "model.language_model.layers.18.mlp.gate_proj.weight",
314
+ "equal": true,
315
+ "max_abs_difference": 0.0
316
+ },
317
+ {
318
+ "weight": "model.language_model.layers.18.mlp.up_proj.weight",
319
+ "equal": true,
320
+ "max_abs_difference": 0.0
321
+ },
322
+ {
323
+ "weight": "model.language_model.layers.19.mlp.down_proj.weight",
324
+ "equal": true,
325
+ "max_abs_difference": 0.0
326
+ },
327
+ {
328
+ "weight": "model.language_model.layers.19.mlp.gate_proj.weight",
329
+ "equal": true,
330
+ "max_abs_difference": 0.0
331
+ },
332
+ {
333
+ "weight": "model.language_model.layers.19.mlp.up_proj.weight",
334
+ "equal": true,
335
+ "max_abs_difference": 0.0
336
+ },
337
+ {
338
+ "weight": "model.language_model.layers.19.self_attn.k_proj.weight",
339
+ "equal": true,
340
+ "max_abs_difference": 0.0
341
+ },
342
+ {
343
+ "weight": "model.language_model.layers.19.self_attn.o_proj.weight",
344
+ "equal": true,
345
+ "max_abs_difference": 0.0
346
+ },
347
+ {
348
+ "weight": "model.language_model.layers.19.self_attn.q_proj.weight",
349
+ "equal": true,
350
+ "max_abs_difference": 0.0
351
+ },
352
+ {
353
+ "weight": "model.language_model.layers.19.self_attn.v_proj.weight",
354
+ "equal": true,
355
+ "max_abs_difference": 0.0
356
+ },
357
+ {
358
+ "weight": "model.language_model.layers.2.linear_attn.in_proj_qkv.weight",
359
+ "equal": true,
360
+ "max_abs_difference": 0.0
361
+ },
362
+ {
363
+ "weight": "model.language_model.layers.2.linear_attn.out_proj.weight",
364
+ "equal": true,
365
+ "max_abs_difference": 0.0
366
+ },
367
+ {
368
+ "weight": "model.language_model.layers.2.mlp.down_proj.weight",
369
+ "equal": true,
370
+ "max_abs_difference": 0.0
371
+ },
372
+ {
373
+ "weight": "model.language_model.layers.2.mlp.gate_proj.weight",
374
+ "equal": true,
375
+ "max_abs_difference": 0.0
376
+ },
377
+ {
378
+ "weight": "model.language_model.layers.2.mlp.up_proj.weight",
379
+ "equal": true,
380
+ "max_abs_difference": 0.0
381
+ },
382
+ {
383
+ "weight": "model.language_model.layers.20.linear_attn.in_proj_qkv.weight",
384
+ "equal": true,
385
+ "max_abs_difference": 0.0
386
+ },
387
+ {
388
+ "weight": "model.language_model.layers.20.linear_attn.out_proj.weight",
389
+ "equal": true,
390
+ "max_abs_difference": 0.0
391
+ },
392
+ {
393
+ "weight": "model.language_model.layers.20.mlp.down_proj.weight",
394
+ "equal": true,
395
+ "max_abs_difference": 0.0
396
+ },
397
+ {
398
+ "weight": "model.language_model.layers.20.mlp.gate_proj.weight",
399
+ "equal": true,
400
+ "max_abs_difference": 0.0
401
+ },
402
+ {
403
+ "weight": "model.language_model.layers.20.mlp.up_proj.weight",
404
+ "equal": true,
405
+ "max_abs_difference": 0.0
406
+ },
407
+ {
408
+ "weight": "model.language_model.layers.21.linear_attn.in_proj_qkv.weight",
409
+ "equal": true,
410
+ "max_abs_difference": 0.0
411
+ },
412
+ {
413
+ "weight": "model.language_model.layers.21.linear_attn.out_proj.weight",
414
+ "equal": true,
415
+ "max_abs_difference": 0.0
416
+ },
417
+ {
418
+ "weight": "model.language_model.layers.21.mlp.down_proj.weight",
419
+ "equal": true,
420
+ "max_abs_difference": 0.0
421
+ },
422
+ {
423
+ "weight": "model.language_model.layers.21.mlp.gate_proj.weight",
424
+ "equal": true,
425
+ "max_abs_difference": 0.0
426
+ },
427
+ {
428
+ "weight": "model.language_model.layers.21.mlp.up_proj.weight",
429
+ "equal": true,
430
+ "max_abs_difference": 0.0
431
+ },
432
+ {
433
+ "weight": "model.language_model.layers.22.linear_attn.in_proj_qkv.weight",
434
+ "equal": true,
435
+ "max_abs_difference": 0.0
436
+ },
437
+ {
438
+ "weight": "model.language_model.layers.22.linear_attn.out_proj.weight",
439
+ "equal": true,
440
+ "max_abs_difference": 0.0
441
+ },
442
+ {
443
+ "weight": "model.language_model.layers.22.mlp.down_proj.weight",
444
+ "equal": true,
445
+ "max_abs_difference": 0.0
446
+ },
447
+ {
448
+ "weight": "model.language_model.layers.22.mlp.gate_proj.weight",
449
+ "equal": true,
450
+ "max_abs_difference": 0.0
451
+ },
452
+ {
453
+ "weight": "model.language_model.layers.22.mlp.up_proj.weight",
454
+ "equal": true,
455
+ "max_abs_difference": 0.0
456
+ },
457
+ {
458
+ "weight": "model.language_model.layers.23.mlp.down_proj.weight",
459
+ "equal": true,
460
+ "max_abs_difference": 0.0
461
+ },
462
+ {
463
+ "weight": "model.language_model.layers.23.mlp.gate_proj.weight",
464
+ "equal": true,
465
+ "max_abs_difference": 0.0
466
+ },
467
+ {
468
+ "weight": "model.language_model.layers.23.mlp.up_proj.weight",
469
+ "equal": true,
470
+ "max_abs_difference": 0.0
471
+ },
472
+ {
473
+ "weight": "model.language_model.layers.23.self_attn.k_proj.weight",
474
+ "equal": true,
475
+ "max_abs_difference": 0.0
476
+ },
477
+ {
478
+ "weight": "model.language_model.layers.23.self_attn.o_proj.weight",
479
+ "equal": true,
480
+ "max_abs_difference": 0.0
481
+ },
482
+ {
483
+ "weight": "model.language_model.layers.23.self_attn.q_proj.weight",
484
+ "equal": true,
485
+ "max_abs_difference": 0.0
486
+ },
487
+ {
488
+ "weight": "model.language_model.layers.23.self_attn.v_proj.weight",
489
+ "equal": true,
490
+ "max_abs_difference": 0.0
491
+ },
492
+ {
493
+ "weight": "model.language_model.layers.24.linear_attn.in_proj_qkv.weight",
494
+ "equal": true,
495
+ "max_abs_difference": 0.0
496
+ },
497
+ {
498
+ "weight": "model.language_model.layers.24.linear_attn.out_proj.weight",
499
+ "equal": true,
500
+ "max_abs_difference": 0.0
501
+ },
502
+ {
503
+ "weight": "model.language_model.layers.24.mlp.down_proj.weight",
504
+ "equal": true,
505
+ "max_abs_difference": 0.0
506
+ },
507
+ {
508
+ "weight": "model.language_model.layers.24.mlp.gate_proj.weight",
509
+ "equal": true,
510
+ "max_abs_difference": 0.0
511
+ },
512
+ {
513
+ "weight": "model.language_model.layers.24.mlp.up_proj.weight",
514
+ "equal": true,
515
+ "max_abs_difference": 0.0
516
+ },
517
+ {
518
+ "weight": "model.language_model.layers.25.linear_attn.in_proj_qkv.weight",
519
+ "equal": true,
520
+ "max_abs_difference": 0.0
521
+ },
522
+ {
523
+ "weight": "model.language_model.layers.25.linear_attn.out_proj.weight",
524
+ "equal": true,
525
+ "max_abs_difference": 0.0
526
+ },
527
+ {
528
+ "weight": "model.language_model.layers.25.mlp.down_proj.weight",
529
+ "equal": true,
530
+ "max_abs_difference": 0.0
531
+ },
532
+ {
533
+ "weight": "model.language_model.layers.25.mlp.gate_proj.weight",
534
+ "equal": true,
535
+ "max_abs_difference": 0.0
536
+ },
537
+ {
538
+ "weight": "model.language_model.layers.25.mlp.up_proj.weight",
539
+ "equal": true,
540
+ "max_abs_difference": 0.0
541
+ },
542
+ {
543
+ "weight": "model.language_model.layers.26.linear_attn.in_proj_qkv.weight",
544
+ "equal": true,
545
+ "max_abs_difference": 0.0
546
+ },
547
+ {
548
+ "weight": "model.language_model.layers.26.linear_attn.out_proj.weight",
549
+ "equal": true,
550
+ "max_abs_difference": 0.0
551
+ },
552
+ {
553
+ "weight": "model.language_model.layers.26.mlp.down_proj.weight",
554
+ "equal": true,
555
+ "max_abs_difference": 0.0
556
+ },
557
+ {
558
+ "weight": "model.language_model.layers.26.mlp.gate_proj.weight",
559
+ "equal": true,
560
+ "max_abs_difference": 0.0
561
+ },
562
+ {
563
+ "weight": "model.language_model.layers.26.mlp.up_proj.weight",
564
+ "equal": true,
565
+ "max_abs_difference": 0.0
566
+ },
567
+ {
568
+ "weight": "model.language_model.layers.27.mlp.down_proj.weight",
569
+ "equal": true,
570
+ "max_abs_difference": 0.0
571
+ },
572
+ {
573
+ "weight": "model.language_model.layers.27.mlp.gate_proj.weight",
574
+ "equal": true,
575
+ "max_abs_difference": 0.0
576
+ },
577
+ {
578
+ "weight": "model.language_model.layers.27.mlp.up_proj.weight",
579
+ "equal": true,
580
+ "max_abs_difference": 0.0
581
+ },
582
+ {
583
+ "weight": "model.language_model.layers.27.self_attn.k_proj.weight",
584
+ "equal": true,
585
+ "max_abs_difference": 0.0
586
+ },
587
+ {
588
+ "weight": "model.language_model.layers.27.self_attn.o_proj.weight",
589
+ "equal": true,
590
+ "max_abs_difference": 0.0
591
+ },
592
+ {
593
+ "weight": "model.language_model.layers.27.self_attn.q_proj.weight",
594
+ "equal": true,
595
+ "max_abs_difference": 0.0
596
+ },
597
+ {
598
+ "weight": "model.language_model.layers.27.self_attn.v_proj.weight",
599
+ "equal": true,
600
+ "max_abs_difference": 0.0
601
+ },
602
+ {
603
+ "weight": "model.language_model.layers.28.linear_attn.in_proj_qkv.weight",
604
+ "equal": true,
605
+ "max_abs_difference": 0.0
606
+ },
607
+ {
608
+ "weight": "model.language_model.layers.28.linear_attn.out_proj.weight",
609
+ "equal": true,
610
+ "max_abs_difference": 0.0
611
+ },
612
+ {
613
+ "weight": "model.language_model.layers.28.mlp.down_proj.weight",
614
+ "equal": true,
615
+ "max_abs_difference": 0.0
616
+ },
617
+ {
618
+ "weight": "model.language_model.layers.28.mlp.gate_proj.weight",
619
+ "equal": true,
620
+ "max_abs_difference": 0.0
621
+ },
622
+ {
623
+ "weight": "model.language_model.layers.28.mlp.up_proj.weight",
624
+ "equal": true,
625
+ "max_abs_difference": 0.0
626
+ },
627
+ {
628
+ "weight": "model.language_model.layers.29.linear_attn.in_proj_qkv.weight",
629
+ "equal": true,
630
+ "max_abs_difference": 0.0
631
+ },
632
+ {
633
+ "weight": "model.language_model.layers.29.linear_attn.out_proj.weight",
634
+ "equal": true,
635
+ "max_abs_difference": 0.0
636
+ },
637
+ {
638
+ "weight": "model.language_model.layers.29.mlp.down_proj.weight",
639
+ "equal": true,
640
+ "max_abs_difference": 0.0
641
+ },
642
+ {
643
+ "weight": "model.language_model.layers.29.mlp.gate_proj.weight",
644
+ "equal": true,
645
+ "max_abs_difference": 0.0
646
+ },
647
+ {
648
+ "weight": "model.language_model.layers.29.mlp.up_proj.weight",
649
+ "equal": true,
650
+ "max_abs_difference": 0.0
651
+ },
652
+ {
653
+ "weight": "model.language_model.layers.3.mlp.down_proj.weight",
654
+ "equal": true,
655
+ "max_abs_difference": 0.0
656
+ },
657
+ {
658
+ "weight": "model.language_model.layers.3.mlp.gate_proj.weight",
659
+ "equal": true,
660
+ "max_abs_difference": 0.0
661
+ },
662
+ {
663
+ "weight": "model.language_model.layers.3.mlp.up_proj.weight",
664
+ "equal": true,
665
+ "max_abs_difference": 0.0
666
+ },
667
+ {
668
+ "weight": "model.language_model.layers.3.self_attn.k_proj.weight",
669
+ "equal": true,
670
+ "max_abs_difference": 0.0
671
+ },
672
+ {
673
+ "weight": "model.language_model.layers.3.self_attn.o_proj.weight",
674
+ "equal": true,
675
+ "max_abs_difference": 0.0
676
+ },
677
+ {
678
+ "weight": "model.language_model.layers.3.self_attn.q_proj.weight",
679
+ "equal": true,
680
+ "max_abs_difference": 0.0
681
+ },
682
+ {
683
+ "weight": "model.language_model.layers.3.self_attn.v_proj.weight",
684
+ "equal": true,
685
+ "max_abs_difference": 0.0
686
+ },
687
+ {
688
+ "weight": "model.language_model.layers.30.linear_attn.in_proj_qkv.weight",
689
+ "equal": true,
690
+ "max_abs_difference": 0.0
691
+ },
692
+ {
693
+ "weight": "model.language_model.layers.30.linear_attn.out_proj.weight",
694
+ "equal": true,
695
+ "max_abs_difference": 0.0
696
+ },
697
+ {
698
+ "weight": "model.language_model.layers.30.mlp.down_proj.weight",
699
+ "equal": true,
700
+ "max_abs_difference": 0.0
701
+ },
702
+ {
703
+ "weight": "model.language_model.layers.30.mlp.gate_proj.weight",
704
+ "equal": true,
705
+ "max_abs_difference": 0.0
706
+ },
707
+ {
708
+ "weight": "model.language_model.layers.30.mlp.up_proj.weight",
709
+ "equal": true,
710
+ "max_abs_difference": 0.0
711
+ },
712
+ {
713
+ "weight": "model.language_model.layers.31.mlp.down_proj.weight",
714
+ "equal": true,
715
+ "max_abs_difference": 0.0
716
+ },
717
+ {
718
+ "weight": "model.language_model.layers.31.mlp.gate_proj.weight",
719
+ "equal": true,
720
+ "max_abs_difference": 0.0
721
+ },
722
+ {
723
+ "weight": "model.language_model.layers.31.mlp.up_proj.weight",
724
+ "equal": true,
725
+ "max_abs_difference": 0.0
726
+ },
727
+ {
728
+ "weight": "model.language_model.layers.31.self_attn.k_proj.weight",
729
+ "equal": true,
730
+ "max_abs_difference": 0.0
731
+ },
732
+ {
733
+ "weight": "model.language_model.layers.31.self_attn.o_proj.weight",
734
+ "equal": true,
735
+ "max_abs_difference": 0.0
736
+ },
737
+ {
738
+ "weight": "model.language_model.layers.31.self_attn.q_proj.weight",
739
+ "equal": true,
740
+ "max_abs_difference": 0.0
741
+ },
742
+ {
743
+ "weight": "model.language_model.layers.31.self_attn.v_proj.weight",
744
+ "equal": true,
745
+ "max_abs_difference": 0.0
746
+ },
747
+ {
748
+ "weight": "model.language_model.layers.4.linear_attn.in_proj_qkv.weight",
749
+ "equal": true,
750
+ "max_abs_difference": 0.0
751
+ },
752
+ {
753
+ "weight": "model.language_model.layers.4.linear_attn.out_proj.weight",
754
+ "equal": true,
755
+ "max_abs_difference": 0.0
756
+ },
757
+ {
758
+ "weight": "model.language_model.layers.4.mlp.down_proj.weight",
759
+ "equal": true,
760
+ "max_abs_difference": 0.0
761
+ },
762
+ {
763
+ "weight": "model.language_model.layers.4.mlp.gate_proj.weight",
764
+ "equal": true,
765
+ "max_abs_difference": 0.0
766
+ },
767
+ {
768
+ "weight": "model.language_model.layers.4.mlp.up_proj.weight",
769
+ "equal": true,
770
+ "max_abs_difference": 0.0
771
+ },
772
+ {
773
+ "weight": "model.language_model.layers.5.linear_attn.in_proj_qkv.weight",
774
+ "equal": true,
775
+ "max_abs_difference": 0.0
776
+ },
777
+ {
778
+ "weight": "model.language_model.layers.5.linear_attn.out_proj.weight",
779
+ "equal": true,
780
+ "max_abs_difference": 0.0
781
+ },
782
+ {
783
+ "weight": "model.language_model.layers.5.mlp.down_proj.weight",
784
+ "equal": true,
785
+ "max_abs_difference": 0.0
786
+ },
787
+ {
788
+ "weight": "model.language_model.layers.5.mlp.gate_proj.weight",
789
+ "equal": true,
790
+ "max_abs_difference": 0.0
791
+ },
792
+ {
793
+ "weight": "model.language_model.layers.5.mlp.up_proj.weight",
794
+ "equal": true,
795
+ "max_abs_difference": 0.0
796
+ },
797
+ {
798
+ "weight": "model.language_model.layers.6.linear_attn.in_proj_qkv.weight",
799
+ "equal": true,
800
+ "max_abs_difference": 0.0
801
+ },
802
+ {
803
+ "weight": "model.language_model.layers.6.linear_attn.out_proj.weight",
804
+ "equal": true,
805
+ "max_abs_difference": 0.0
806
+ },
807
+ {
808
+ "weight": "model.language_model.layers.6.mlp.down_proj.weight",
809
+ "equal": true,
810
+ "max_abs_difference": 0.0
811
+ },
812
+ {
813
+ "weight": "model.language_model.layers.6.mlp.gate_proj.weight",
814
+ "equal": true,
815
+ "max_abs_difference": 0.0
816
+ },
817
+ {
818
+ "weight": "model.language_model.layers.6.mlp.up_proj.weight",
819
+ "equal": true,
820
+ "max_abs_difference": 0.0
821
+ },
822
+ {
823
+ "weight": "model.language_model.layers.7.mlp.down_proj.weight",
824
+ "equal": true,
825
+ "max_abs_difference": 0.0
826
+ },
827
+ {
828
+ "weight": "model.language_model.layers.7.mlp.gate_proj.weight",
829
+ "equal": true,
830
+ "max_abs_difference": 0.0
831
+ },
832
+ {
833
+ "weight": "model.language_model.layers.7.mlp.up_proj.weight",
834
+ "equal": true,
835
+ "max_abs_difference": 0.0
836
+ },
837
+ {
838
+ "weight": "model.language_model.layers.7.self_attn.k_proj.weight",
839
+ "equal": true,
840
+ "max_abs_difference": 0.0
841
+ },
842
+ {
843
+ "weight": "model.language_model.layers.7.self_attn.o_proj.weight",
844
+ "equal": true,
845
+ "max_abs_difference": 0.0
846
+ },
847
+ {
848
+ "weight": "model.language_model.layers.7.self_attn.q_proj.weight",
849
+ "equal": true,
850
+ "max_abs_difference": 0.0
851
+ },
852
+ {
853
+ "weight": "model.language_model.layers.7.self_attn.v_proj.weight",
854
+ "equal": true,
855
+ "max_abs_difference": 0.0
856
+ },
857
+ {
858
+ "weight": "model.language_model.layers.8.linear_attn.in_proj_qkv.weight",
859
+ "equal": true,
860
+ "max_abs_difference": 0.0
861
+ },
862
+ {
863
+ "weight": "model.language_model.layers.8.linear_attn.out_proj.weight",
864
+ "equal": true,
865
+ "max_abs_difference": 0.0
866
+ },
867
+ {
868
+ "weight": "model.language_model.layers.8.mlp.down_proj.weight",
869
+ "equal": true,
870
+ "max_abs_difference": 0.0
871
+ },
872
+ {
873
+ "weight": "model.language_model.layers.8.mlp.gate_proj.weight",
874
+ "equal": true,
875
+ "max_abs_difference": 0.0
876
+ },
877
+ {
878
+ "weight": "model.language_model.layers.8.mlp.up_proj.weight",
879
+ "equal": true,
880
+ "max_abs_difference": 0.0
881
+ },
882
+ {
883
+ "weight": "model.language_model.layers.9.linear_attn.in_proj_qkv.weight",
884
+ "equal": true,
885
+ "max_abs_difference": 0.0
886
+ },
887
+ {
888
+ "weight": "model.language_model.layers.9.linear_attn.out_proj.weight",
889
+ "equal": true,
890
+ "max_abs_difference": 0.0
891
+ },
892
+ {
893
+ "weight": "model.language_model.layers.9.mlp.down_proj.weight",
894
+ "equal": true,
895
+ "max_abs_difference": 0.0
896
+ },
897
+ {
898
+ "weight": "model.language_model.layers.9.mlp.gate_proj.weight",
899
+ "equal": true,
900
+ "max_abs_difference": 0.0
901
+ },
902
+ {
903
+ "weight": "model.language_model.layers.9.mlp.up_proj.weight",
904
+ "equal": true,
905
+ "max_abs_difference": 0.0
906
+ }
907
+ ]
908
+ }
4B-5949/examples.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Run against a local merged HF snapshot; no project-local dependencies."""
2
+
3
+ import argparse
4
+ import json
5
+
6
+ from openjet_runtime import OpenJet
7
+
8
+
9
+ def decision_examples():
10
+ binary = {
11
+ "id": "example-binary",
12
+ "group_id": "example-binary",
13
+ "primitive": "choice",
14
+ "state": "Order 731 has been delivered. The customer's message says thank you.",
15
+ "instructions": "Select the appropriate next workflow action.",
16
+ "criteria": [
17
+ {"id": "close", "description": "Close the resolved support ticket."},
18
+ {"id": "refund", "description": "Refund an undelivered order."},
19
+ ],
20
+ }
21
+ browser = {
22
+ "id": "example-browser",
23
+ "group_id": "example-browser",
24
+ "primitive": "choice",
25
+ "state": "A settings page has 16 visible buttons labeled Page 1 through Page 16.",
26
+ "instructions": "Navigate to Page 12 by choosing its matching button.",
27
+ "criteria": [
28
+ {"id": f"click-{i}", "description": f"Click the Page {i} button."}
29
+ for i in range(1, 17)
30
+ ],
31
+ }
32
+ return binary, browser
33
+
34
+
35
+ def main():
36
+ parser = argparse.ArgumentParser()
37
+ parser.add_argument("model", help="Local merged snapshot directory")
38
+ parser.add_argument("--device", default="cuda:0")
39
+ parser.add_argument("--dtype", choices=["float32", "bfloat16"], default="bfloat16")
40
+ parser.add_argument("--effort", choices=["low", "high", "both"], default="both")
41
+ parser.add_argument(
42
+ "--text", action="store_true", help="Also run slow TYPE reference"
43
+ )
44
+ args = parser.parse_args()
45
+ runtime = OpenJet.from_pretrained(args.model, args.device, args.dtype)
46
+ efforts = ("low", "high") if args.effort == "both" else (args.effort,)
47
+ for effort in efforts:
48
+ for request in decision_examples():
49
+ result = runtime.decide(request, effort)
50
+ print(json.dumps({"example": request["id"], **result}, ensure_ascii=False))
51
+ if args.text:
52
+ result = runtime.generate_text(
53
+ "Return only the literal text to type into a search box for 'red shoes'.",
54
+ effort=effort,
55
+ max_new_tokens=32,
56
+ )
57
+ print(json.dumps({"example": "browser-type", **result}, ensure_ascii=False))
58
+
59
+
60
+ if __name__ == "__main__":
61
+ main()
4B-5949/generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "eos_token_id": 248044,
4
+ "transformers_version": "5.16.1",
5
+ "use_cache": true
6
+ }
4B-5949/merge-provenance.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "base_id": "Qwen/Qwen3.5-4B",
3
+ "base_revision": "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
4
+ "checkpoint_step": 5949,
5
+ "adapter_sha256": "71154f60ec72c55d2c6c6147b9cdda9cc9a52d46297f3074dded7cdc9f5bc344",
6
+ "adapter_config_sha256": "c6caee3818ca1f6c8539e47fac9b9fa818d28b61a4bbb05f6f8444c0dd639e45",
7
+ "official80_sha256": "b3374e82f0e605762d40ab6455449c9cb2d315804a175d1cda985cba9beded35",
8
+ "software": {
9
+ "torch": "2.8.0+cu128",
10
+ "transformers": "5.16.1",
11
+ "peft": "0.20.0"
12
+ },
13
+ "merge_arithmetic": "float32 CPU safe_merge then bfloat16 storage",
14
+ "inference_dtype": "bfloat16",
15
+ "attention": "sdpa",
16
+ "gpu": "NVIDIA RTX PRO 6000 Blackwell Server Edition"
17
+ }
4B-5949/merged-evaluation.json ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "scope": "80 fixed requests, both explicit efforts; merged-model comparison, not independent generalization evidence",
3
+ "checkpoint_step": 5949,
4
+ "base_id": "Qwen/Qwen3.5-4B",
5
+ "base_revision": "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
6
+ "comparison": {
7
+ "passed": false,
8
+ "gate": "identical160_argmax_and_max_probability_delta_le_0.05",
9
+ "depths": {
10
+ "16": {
11
+ "before_correct": 61,
12
+ "after_correct": 61,
13
+ "changed_decisions": [],
14
+ "max_probability_abs_difference": 0.09226870536804199,
15
+ "mean_probability_abs_difference": 0.001908167676742778,
16
+ "max_logit_abs_difference": 0.5078125,
17
+ "mean_logit_abs_difference": 0.026137218475341797
18
+ },
19
+ "32": {
20
+ "before_correct": 66,
21
+ "after_correct": 66,
22
+ "changed_decisions": [],
23
+ "max_probability_abs_difference": 0.06145721673965454,
24
+ "mean_probability_abs_difference": 0.0017077110185891797,
25
+ "max_logit_abs_difference": 0.875,
26
+ "mean_logit_abs_difference": 0.03171875
27
+ }
28
+ },
29
+ "before_sha256": "7be98e54b67be84ae97a4152adeddd47a351e224cbe9345bae8ca8f44c265964",
30
+ "after_sha256": "ac22ede19c6ade99388038292644df50e9891dff162acdb10029bb3bd343537e",
31
+ "verified_at_unix": 1789983995.6865954
32
+ },
33
+ "runtime_validation": {
34
+ "status": "passed",
35
+ "decisions": 160,
36
+ "max_probability_delta": 0.0,
37
+ "no_jev_import": true,
38
+ "long_input_rejected": true,
39
+ "invalid_effort_rejected": true,
40
+ "text_scope": "Execution smoke only; not TYPE accuracy or speed validation",
41
+ "source_sha256": "60a80902675971ff6a054377852b936eec90f49f466eb7b8b077eee7b979f230"
42
+ },
43
+ "decision_release": {
44
+ "passed": true,
45
+ "scope": "Independent BF16 merged variant, frozen80 decision parity; NOT a probability-equivalent replacement",
46
+ "post_observation_scope_amendment": true,
47
+ "original_numerical_gate_passed": false,
48
+ "original_gate": "identical160_argmax_and_max_probability_delta_le_0.05",
49
+ "original_comparison_sha256": "97cc94ddebb4f321d3d4ed29c89a0d8b1b3d6570e48bff427c635ba82f67862e",
50
+ "decision_agreement": 160,
51
+ "total_decisions": 160,
52
+ "independent_questions": 80,
53
+ "probability_calibration_transfer_validated": false,
54
+ "automatic_routing_validated": false,
55
+ "required_followup": "Recalibrate all probability, rejection and routing thresholds; independently evaluate new tasks",
56
+ "depths": {
57
+ "16": {
58
+ "before_correct": 61,
59
+ "after_correct": 61,
60
+ "changed_decisions": [],
61
+ "max_probability_abs_difference": 0.09226870536804199,
62
+ "mean_probability_abs_difference": 0.001908167676742778,
63
+ "max_logit_abs_difference": 0.5078125,
64
+ "mean_logit_abs_difference": 0.026137218475341797
65
+ },
66
+ "32": {
67
+ "before_correct": 66,
68
+ "after_correct": 66,
69
+ "changed_decisions": [],
70
+ "max_probability_abs_difference": 0.06145721673965454,
71
+ "mean_probability_abs_difference": 0.0017077110185891797,
72
+ "max_logit_abs_difference": 0.875,
73
+ "mean_logit_abs_difference": 0.03171875
74
+ }
75
+ },
76
+ "publication_requires": "Further portable-runtime160, weight arithmetic, full file hashes and fresh HF reload gates"
77
+ },
78
+ "reviewed_variant": {},
79
+ "decision_parity_passed": true,
80
+ "decision_agreement": 160,
81
+ "weight_arithmetic_status": "passed",
82
+ "raw_inputs_included": false
83
+ }
4B-5949/model-00001-of-00003.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c04bef62040612a3376c144014c194687cdc19b18c3a807ee1136b4a713cbb0a
3
+ size 3991298872
4B-5949/model-00002-of-00003.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7891d5b76b686893680e9cc074c2e17a788ff0cb03f64cc2ae4150bd804299a2
3
+ size 3979833152
4B-5949/model-00003-of-00003.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a88eecd668f83cad773bd67c9c7e6e466c1746d489c55d906b48398a6679db65
3
+ size 1107487880
4B-5949/model.safetensors.index.json ADDED
@@ -0,0 +1,731 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_parameters": 4539265536,
4
+ "total_size": 9078531072
5
+ },
6
+ "weight_map": {
7
+ "model.language_model.embed_tokens.weight": "model-00001-of-00003.safetensors",
8
+ "model.language_model.layers.0.input_layernorm.weight": "model-00001-of-00003.safetensors",
9
+ "model.language_model.layers.0.linear_attn.A_log": "model-00001-of-00003.safetensors",
10
+ "model.language_model.layers.0.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
11
+ "model.language_model.layers.0.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
12
+ "model.language_model.layers.0.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
13
+ "model.language_model.layers.0.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
14
+ "model.language_model.layers.0.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
15
+ "model.language_model.layers.0.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
16
+ "model.language_model.layers.0.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
17
+ "model.language_model.layers.0.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
18
+ "model.language_model.layers.0.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
19
+ "model.language_model.layers.0.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
20
+ "model.language_model.layers.0.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
21
+ "model.language_model.layers.0.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
22
+ "model.language_model.layers.1.input_layernorm.weight": "model-00001-of-00003.safetensors",
23
+ "model.language_model.layers.1.linear_attn.A_log": "model-00001-of-00003.safetensors",
24
+ "model.language_model.layers.1.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
25
+ "model.language_model.layers.1.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
26
+ "model.language_model.layers.1.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
27
+ "model.language_model.layers.1.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
28
+ "model.language_model.layers.1.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
29
+ "model.language_model.layers.1.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
30
+ "model.language_model.layers.1.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
31
+ "model.language_model.layers.1.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
32
+ "model.language_model.layers.1.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
33
+ "model.language_model.layers.1.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
34
+ "model.language_model.layers.1.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
35
+ "model.language_model.layers.1.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
36
+ "model.language_model.layers.10.input_layernorm.weight": "model-00001-of-00003.safetensors",
37
+ "model.language_model.layers.10.linear_attn.A_log": "model-00001-of-00003.safetensors",
38
+ "model.language_model.layers.10.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
39
+ "model.language_model.layers.10.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
40
+ "model.language_model.layers.10.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
41
+ "model.language_model.layers.10.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
42
+ "model.language_model.layers.10.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
43
+ "model.language_model.layers.10.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
44
+ "model.language_model.layers.10.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
45
+ "model.language_model.layers.10.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
46
+ "model.language_model.layers.10.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
47
+ "model.language_model.layers.10.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
48
+ "model.language_model.layers.10.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
49
+ "model.language_model.layers.10.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
50
+ "model.language_model.layers.11.input_layernorm.weight": "model-00001-of-00003.safetensors",
51
+ "model.language_model.layers.11.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
52
+ "model.language_model.layers.11.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
53
+ "model.language_model.layers.11.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
54
+ "model.language_model.layers.11.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
55
+ "model.language_model.layers.11.self_attn.k_norm.weight": "model-00001-of-00003.safetensors",
56
+ "model.language_model.layers.11.self_attn.k_proj.weight": "model-00001-of-00003.safetensors",
57
+ "model.language_model.layers.11.self_attn.o_proj.weight": "model-00001-of-00003.safetensors",
58
+ "model.language_model.layers.11.self_attn.q_norm.weight": "model-00001-of-00003.safetensors",
59
+ "model.language_model.layers.11.self_attn.q_proj.weight": "model-00001-of-00003.safetensors",
60
+ "model.language_model.layers.11.self_attn.v_proj.weight": "model-00001-of-00003.safetensors",
61
+ "model.language_model.layers.12.input_layernorm.weight": "model-00001-of-00003.safetensors",
62
+ "model.language_model.layers.12.linear_attn.A_log": "model-00001-of-00003.safetensors",
63
+ "model.language_model.layers.12.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
64
+ "model.language_model.layers.12.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
65
+ "model.language_model.layers.12.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
66
+ "model.language_model.layers.12.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
67
+ "model.language_model.layers.12.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
68
+ "model.language_model.layers.12.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
69
+ "model.language_model.layers.12.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
70
+ "model.language_model.layers.12.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
71
+ "model.language_model.layers.12.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
72
+ "model.language_model.layers.12.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
73
+ "model.language_model.layers.12.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
74
+ "model.language_model.layers.12.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
75
+ "model.language_model.layers.13.input_layernorm.weight": "model-00002-of-00003.safetensors",
76
+ "model.language_model.layers.13.linear_attn.A_log": "model-00002-of-00003.safetensors",
77
+ "model.language_model.layers.13.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
78
+ "model.language_model.layers.13.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
79
+ "model.language_model.layers.13.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
80
+ "model.language_model.layers.13.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
81
+ "model.language_model.layers.13.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
82
+ "model.language_model.layers.13.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
83
+ "model.language_model.layers.13.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
84
+ "model.language_model.layers.13.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
85
+ "model.language_model.layers.13.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
86
+ "model.language_model.layers.13.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
87
+ "model.language_model.layers.13.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
88
+ "model.language_model.layers.13.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
89
+ "model.language_model.layers.14.input_layernorm.weight": "model-00002-of-00003.safetensors",
90
+ "model.language_model.layers.14.linear_attn.A_log": "model-00002-of-00003.safetensors",
91
+ "model.language_model.layers.14.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
92
+ "model.language_model.layers.14.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
93
+ "model.language_model.layers.14.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
94
+ "model.language_model.layers.14.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
95
+ "model.language_model.layers.14.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
96
+ "model.language_model.layers.14.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
97
+ "model.language_model.layers.14.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
98
+ "model.language_model.layers.14.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
99
+ "model.language_model.layers.14.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
100
+ "model.language_model.layers.14.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
101
+ "model.language_model.layers.14.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
102
+ "model.language_model.layers.14.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
103
+ "model.language_model.layers.15.input_layernorm.weight": "model-00002-of-00003.safetensors",
104
+ "model.language_model.layers.15.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
105
+ "model.language_model.layers.15.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
106
+ "model.language_model.layers.15.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
107
+ "model.language_model.layers.15.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
108
+ "model.language_model.layers.15.self_attn.k_norm.weight": "model-00002-of-00003.safetensors",
109
+ "model.language_model.layers.15.self_attn.k_proj.weight": "model-00002-of-00003.safetensors",
110
+ "model.language_model.layers.15.self_attn.o_proj.weight": "model-00002-of-00003.safetensors",
111
+ "model.language_model.layers.15.self_attn.q_norm.weight": "model-00002-of-00003.safetensors",
112
+ "model.language_model.layers.15.self_attn.q_proj.weight": "model-00002-of-00003.safetensors",
113
+ "model.language_model.layers.15.self_attn.v_proj.weight": "model-00002-of-00003.safetensors",
114
+ "model.language_model.layers.16.input_layernorm.weight": "model-00002-of-00003.safetensors",
115
+ "model.language_model.layers.16.linear_attn.A_log": "model-00002-of-00003.safetensors",
116
+ "model.language_model.layers.16.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
117
+ "model.language_model.layers.16.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
118
+ "model.language_model.layers.16.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
119
+ "model.language_model.layers.16.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
120
+ "model.language_model.layers.16.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
121
+ "model.language_model.layers.16.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
122
+ "model.language_model.layers.16.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
123
+ "model.language_model.layers.16.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
124
+ "model.language_model.layers.16.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
125
+ "model.language_model.layers.16.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
126
+ "model.language_model.layers.16.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
127
+ "model.language_model.layers.16.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
128
+ "model.language_model.layers.17.input_layernorm.weight": "model-00002-of-00003.safetensors",
129
+ "model.language_model.layers.17.linear_attn.A_log": "model-00002-of-00003.safetensors",
130
+ "model.language_model.layers.17.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
131
+ "model.language_model.layers.17.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
132
+ "model.language_model.layers.17.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
133
+ "model.language_model.layers.17.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
134
+ "model.language_model.layers.17.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
135
+ "model.language_model.layers.17.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
136
+ "model.language_model.layers.17.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
137
+ "model.language_model.layers.17.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
138
+ "model.language_model.layers.17.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
139
+ "model.language_model.layers.17.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
140
+ "model.language_model.layers.17.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
141
+ "model.language_model.layers.17.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
142
+ "model.language_model.layers.18.input_layernorm.weight": "model-00002-of-00003.safetensors",
143
+ "model.language_model.layers.18.linear_attn.A_log": "model-00002-of-00003.safetensors",
144
+ "model.language_model.layers.18.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
145
+ "model.language_model.layers.18.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
146
+ "model.language_model.layers.18.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
147
+ "model.language_model.layers.18.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
148
+ "model.language_model.layers.18.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
149
+ "model.language_model.layers.18.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
150
+ "model.language_model.layers.18.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
151
+ "model.language_model.layers.18.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
152
+ "model.language_model.layers.18.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
153
+ "model.language_model.layers.18.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
154
+ "model.language_model.layers.18.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
155
+ "model.language_model.layers.18.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
156
+ "model.language_model.layers.19.input_layernorm.weight": "model-00002-of-00003.safetensors",
157
+ "model.language_model.layers.19.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
158
+ "model.language_model.layers.19.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
159
+ "model.language_model.layers.19.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
160
+ "model.language_model.layers.19.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
161
+ "model.language_model.layers.19.self_attn.k_norm.weight": "model-00002-of-00003.safetensors",
162
+ "model.language_model.layers.19.self_attn.k_proj.weight": "model-00002-of-00003.safetensors",
163
+ "model.language_model.layers.19.self_attn.o_proj.weight": "model-00002-of-00003.safetensors",
164
+ "model.language_model.layers.19.self_attn.q_norm.weight": "model-00002-of-00003.safetensors",
165
+ "model.language_model.layers.19.self_attn.q_proj.weight": "model-00002-of-00003.safetensors",
166
+ "model.language_model.layers.19.self_attn.v_proj.weight": "model-00002-of-00003.safetensors",
167
+ "model.language_model.layers.2.input_layernorm.weight": "model-00001-of-00003.safetensors",
168
+ "model.language_model.layers.2.linear_attn.A_log": "model-00001-of-00003.safetensors",
169
+ "model.language_model.layers.2.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
170
+ "model.language_model.layers.2.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
171
+ "model.language_model.layers.2.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
172
+ "model.language_model.layers.2.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
173
+ "model.language_model.layers.2.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
174
+ "model.language_model.layers.2.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
175
+ "model.language_model.layers.2.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
176
+ "model.language_model.layers.2.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
177
+ "model.language_model.layers.2.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
178
+ "model.language_model.layers.2.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
179
+ "model.language_model.layers.2.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
180
+ "model.language_model.layers.2.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
181
+ "model.language_model.layers.20.input_layernorm.weight": "model-00002-of-00003.safetensors",
182
+ "model.language_model.layers.20.linear_attn.A_log": "model-00002-of-00003.safetensors",
183
+ "model.language_model.layers.20.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
184
+ "model.language_model.layers.20.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
185
+ "model.language_model.layers.20.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
186
+ "model.language_model.layers.20.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
187
+ "model.language_model.layers.20.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
188
+ "model.language_model.layers.20.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
189
+ "model.language_model.layers.20.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
190
+ "model.language_model.layers.20.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
191
+ "model.language_model.layers.20.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
192
+ "model.language_model.layers.20.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
193
+ "model.language_model.layers.20.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
194
+ "model.language_model.layers.20.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
195
+ "model.language_model.layers.21.input_layernorm.weight": "model-00002-of-00003.safetensors",
196
+ "model.language_model.layers.21.linear_attn.A_log": "model-00002-of-00003.safetensors",
197
+ "model.language_model.layers.21.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
198
+ "model.language_model.layers.21.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
199
+ "model.language_model.layers.21.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
200
+ "model.language_model.layers.21.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
201
+ "model.language_model.layers.21.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
202
+ "model.language_model.layers.21.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
203
+ "model.language_model.layers.21.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
204
+ "model.language_model.layers.21.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
205
+ "model.language_model.layers.21.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
206
+ "model.language_model.layers.21.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
207
+ "model.language_model.layers.21.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
208
+ "model.language_model.layers.21.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
209
+ "model.language_model.layers.22.input_layernorm.weight": "model-00002-of-00003.safetensors",
210
+ "model.language_model.layers.22.linear_attn.A_log": "model-00002-of-00003.safetensors",
211
+ "model.language_model.layers.22.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
212
+ "model.language_model.layers.22.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
213
+ "model.language_model.layers.22.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
214
+ "model.language_model.layers.22.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
215
+ "model.language_model.layers.22.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
216
+ "model.language_model.layers.22.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
217
+ "model.language_model.layers.22.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
218
+ "model.language_model.layers.22.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
219
+ "model.language_model.layers.22.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
220
+ "model.language_model.layers.22.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
221
+ "model.language_model.layers.22.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
222
+ "model.language_model.layers.22.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
223
+ "model.language_model.layers.23.input_layernorm.weight": "model-00002-of-00003.safetensors",
224
+ "model.language_model.layers.23.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
225
+ "model.language_model.layers.23.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
226
+ "model.language_model.layers.23.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
227
+ "model.language_model.layers.23.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
228
+ "model.language_model.layers.23.self_attn.k_norm.weight": "model-00002-of-00003.safetensors",
229
+ "model.language_model.layers.23.self_attn.k_proj.weight": "model-00002-of-00003.safetensors",
230
+ "model.language_model.layers.23.self_attn.o_proj.weight": "model-00002-of-00003.safetensors",
231
+ "model.language_model.layers.23.self_attn.q_norm.weight": "model-00002-of-00003.safetensors",
232
+ "model.language_model.layers.23.self_attn.q_proj.weight": "model-00002-of-00003.safetensors",
233
+ "model.language_model.layers.23.self_attn.v_proj.weight": "model-00002-of-00003.safetensors",
234
+ "model.language_model.layers.24.input_layernorm.weight": "model-00002-of-00003.safetensors",
235
+ "model.language_model.layers.24.linear_attn.A_log": "model-00002-of-00003.safetensors",
236
+ "model.language_model.layers.24.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
237
+ "model.language_model.layers.24.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
238
+ "model.language_model.layers.24.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
239
+ "model.language_model.layers.24.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
240
+ "model.language_model.layers.24.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
241
+ "model.language_model.layers.24.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
242
+ "model.language_model.layers.24.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
243
+ "model.language_model.layers.24.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
244
+ "model.language_model.layers.24.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
245
+ "model.language_model.layers.24.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
246
+ "model.language_model.layers.24.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
247
+ "model.language_model.layers.24.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
248
+ "model.language_model.layers.25.input_layernorm.weight": "model-00002-of-00003.safetensors",
249
+ "model.language_model.layers.25.linear_attn.A_log": "model-00002-of-00003.safetensors",
250
+ "model.language_model.layers.25.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
251
+ "model.language_model.layers.25.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
252
+ "model.language_model.layers.25.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
253
+ "model.language_model.layers.25.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
254
+ "model.language_model.layers.25.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
255
+ "model.language_model.layers.25.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
256
+ "model.language_model.layers.25.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
257
+ "model.language_model.layers.25.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
258
+ "model.language_model.layers.25.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
259
+ "model.language_model.layers.25.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
260
+ "model.language_model.layers.25.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
261
+ "model.language_model.layers.25.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
262
+ "model.language_model.layers.26.input_layernorm.weight": "model-00002-of-00003.safetensors",
263
+ "model.language_model.layers.26.linear_attn.A_log": "model-00002-of-00003.safetensors",
264
+ "model.language_model.layers.26.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
265
+ "model.language_model.layers.26.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
266
+ "model.language_model.layers.26.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
267
+ "model.language_model.layers.26.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
268
+ "model.language_model.layers.26.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
269
+ "model.language_model.layers.26.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
270
+ "model.language_model.layers.26.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
271
+ "model.language_model.layers.26.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
272
+ "model.language_model.layers.26.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
273
+ "model.language_model.layers.26.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
274
+ "model.language_model.layers.26.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
275
+ "model.language_model.layers.26.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
276
+ "model.language_model.layers.27.input_layernorm.weight": "model-00002-of-00003.safetensors",
277
+ "model.language_model.layers.27.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
278
+ "model.language_model.layers.27.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
279
+ "model.language_model.layers.27.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
280
+ "model.language_model.layers.27.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
281
+ "model.language_model.layers.27.self_attn.k_norm.weight": "model-00002-of-00003.safetensors",
282
+ "model.language_model.layers.27.self_attn.k_proj.weight": "model-00002-of-00003.safetensors",
283
+ "model.language_model.layers.27.self_attn.o_proj.weight": "model-00002-of-00003.safetensors",
284
+ "model.language_model.layers.27.self_attn.q_norm.weight": "model-00002-of-00003.safetensors",
285
+ "model.language_model.layers.27.self_attn.q_proj.weight": "model-00002-of-00003.safetensors",
286
+ "model.language_model.layers.27.self_attn.v_proj.weight": "model-00002-of-00003.safetensors",
287
+ "model.language_model.layers.28.input_layernorm.weight": "model-00002-of-00003.safetensors",
288
+ "model.language_model.layers.28.linear_attn.A_log": "model-00002-of-00003.safetensors",
289
+ "model.language_model.layers.28.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
290
+ "model.language_model.layers.28.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
291
+ "model.language_model.layers.28.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
292
+ "model.language_model.layers.28.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
293
+ "model.language_model.layers.28.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
294
+ "model.language_model.layers.28.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
295
+ "model.language_model.layers.28.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
296
+ "model.language_model.layers.28.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
297
+ "model.language_model.layers.28.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
298
+ "model.language_model.layers.28.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
299
+ "model.language_model.layers.28.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
300
+ "model.language_model.layers.28.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
301
+ "model.language_model.layers.29.input_layernorm.weight": "model-00002-of-00003.safetensors",
302
+ "model.language_model.layers.29.linear_attn.A_log": "model-00002-of-00003.safetensors",
303
+ "model.language_model.layers.29.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
304
+ "model.language_model.layers.29.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
305
+ "model.language_model.layers.29.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
306
+ "model.language_model.layers.29.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
307
+ "model.language_model.layers.29.linear_attn.in_proj_qkv.weight": "model-00002-of-00003.safetensors",
308
+ "model.language_model.layers.29.linear_attn.in_proj_z.weight": "model-00002-of-00003.safetensors",
309
+ "model.language_model.layers.29.linear_attn.norm.weight": "model-00002-of-00003.safetensors",
310
+ "model.language_model.layers.29.linear_attn.out_proj.weight": "model-00002-of-00003.safetensors",
311
+ "model.language_model.layers.29.mlp.down_proj.weight": "model-00002-of-00003.safetensors",
312
+ "model.language_model.layers.29.mlp.gate_proj.weight": "model-00002-of-00003.safetensors",
313
+ "model.language_model.layers.29.mlp.up_proj.weight": "model-00002-of-00003.safetensors",
314
+ "model.language_model.layers.29.post_attention_layernorm.weight": "model-00002-of-00003.safetensors",
315
+ "model.language_model.layers.3.input_layernorm.weight": "model-00001-of-00003.safetensors",
316
+ "model.language_model.layers.3.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
317
+ "model.language_model.layers.3.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
318
+ "model.language_model.layers.3.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
319
+ "model.language_model.layers.3.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
320
+ "model.language_model.layers.3.self_attn.k_norm.weight": "model-00001-of-00003.safetensors",
321
+ "model.language_model.layers.3.self_attn.k_proj.weight": "model-00001-of-00003.safetensors",
322
+ "model.language_model.layers.3.self_attn.o_proj.weight": "model-00001-of-00003.safetensors",
323
+ "model.language_model.layers.3.self_attn.q_norm.weight": "model-00001-of-00003.safetensors",
324
+ "model.language_model.layers.3.self_attn.q_proj.weight": "model-00001-of-00003.safetensors",
325
+ "model.language_model.layers.3.self_attn.v_proj.weight": "model-00001-of-00003.safetensors",
326
+ "model.language_model.layers.30.input_layernorm.weight": "model-00002-of-00003.safetensors",
327
+ "model.language_model.layers.30.linear_attn.A_log": "model-00002-of-00003.safetensors",
328
+ "model.language_model.layers.30.linear_attn.conv1d.weight": "model-00002-of-00003.safetensors",
329
+ "model.language_model.layers.30.linear_attn.dt_bias": "model-00002-of-00003.safetensors",
330
+ "model.language_model.layers.30.linear_attn.in_proj_a.weight": "model-00002-of-00003.safetensors",
331
+ "model.language_model.layers.30.linear_attn.in_proj_b.weight": "model-00002-of-00003.safetensors",
332
+ "model.language_model.layers.30.linear_attn.in_proj_qkv.weight": "model-00003-of-00003.safetensors",
333
+ "model.language_model.layers.30.linear_attn.in_proj_z.weight": "model-00003-of-00003.safetensors",
334
+ "model.language_model.layers.30.linear_attn.norm.weight": "model-00003-of-00003.safetensors",
335
+ "model.language_model.layers.30.linear_attn.out_proj.weight": "model-00003-of-00003.safetensors",
336
+ "model.language_model.layers.30.mlp.down_proj.weight": "model-00003-of-00003.safetensors",
337
+ "model.language_model.layers.30.mlp.gate_proj.weight": "model-00003-of-00003.safetensors",
338
+ "model.language_model.layers.30.mlp.up_proj.weight": "model-00003-of-00003.safetensors",
339
+ "model.language_model.layers.30.post_attention_layernorm.weight": "model-00003-of-00003.safetensors",
340
+ "model.language_model.layers.31.input_layernorm.weight": "model-00003-of-00003.safetensors",
341
+ "model.language_model.layers.31.mlp.down_proj.weight": "model-00003-of-00003.safetensors",
342
+ "model.language_model.layers.31.mlp.gate_proj.weight": "model-00003-of-00003.safetensors",
343
+ "model.language_model.layers.31.mlp.up_proj.weight": "model-00003-of-00003.safetensors",
344
+ "model.language_model.layers.31.post_attention_layernorm.weight": "model-00003-of-00003.safetensors",
345
+ "model.language_model.layers.31.self_attn.k_norm.weight": "model-00003-of-00003.safetensors",
346
+ "model.language_model.layers.31.self_attn.k_proj.weight": "model-00003-of-00003.safetensors",
347
+ "model.language_model.layers.31.self_attn.o_proj.weight": "model-00003-of-00003.safetensors",
348
+ "model.language_model.layers.31.self_attn.q_norm.weight": "model-00003-of-00003.safetensors",
349
+ "model.language_model.layers.31.self_attn.q_proj.weight": "model-00003-of-00003.safetensors",
350
+ "model.language_model.layers.31.self_attn.v_proj.weight": "model-00003-of-00003.safetensors",
351
+ "model.language_model.layers.4.input_layernorm.weight": "model-00001-of-00003.safetensors",
352
+ "model.language_model.layers.4.linear_attn.A_log": "model-00001-of-00003.safetensors",
353
+ "model.language_model.layers.4.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
354
+ "model.language_model.layers.4.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
355
+ "model.language_model.layers.4.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
356
+ "model.language_model.layers.4.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
357
+ "model.language_model.layers.4.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
358
+ "model.language_model.layers.4.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
359
+ "model.language_model.layers.4.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
360
+ "model.language_model.layers.4.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
361
+ "model.language_model.layers.4.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
362
+ "model.language_model.layers.4.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
363
+ "model.language_model.layers.4.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
364
+ "model.language_model.layers.4.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
365
+ "model.language_model.layers.5.input_layernorm.weight": "model-00001-of-00003.safetensors",
366
+ "model.language_model.layers.5.linear_attn.A_log": "model-00001-of-00003.safetensors",
367
+ "model.language_model.layers.5.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
368
+ "model.language_model.layers.5.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
369
+ "model.language_model.layers.5.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
370
+ "model.language_model.layers.5.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
371
+ "model.language_model.layers.5.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
372
+ "model.language_model.layers.5.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
373
+ "model.language_model.layers.5.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
374
+ "model.language_model.layers.5.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
375
+ "model.language_model.layers.5.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
376
+ "model.language_model.layers.5.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
377
+ "model.language_model.layers.5.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
378
+ "model.language_model.layers.5.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
379
+ "model.language_model.layers.6.input_layernorm.weight": "model-00001-of-00003.safetensors",
380
+ "model.language_model.layers.6.linear_attn.A_log": "model-00001-of-00003.safetensors",
381
+ "model.language_model.layers.6.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
382
+ "model.language_model.layers.6.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
383
+ "model.language_model.layers.6.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
384
+ "model.language_model.layers.6.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
385
+ "model.language_model.layers.6.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
386
+ "model.language_model.layers.6.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
387
+ "model.language_model.layers.6.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
388
+ "model.language_model.layers.6.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
389
+ "model.language_model.layers.6.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
390
+ "model.language_model.layers.6.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
391
+ "model.language_model.layers.6.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
392
+ "model.language_model.layers.6.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
393
+ "model.language_model.layers.7.input_layernorm.weight": "model-00001-of-00003.safetensors",
394
+ "model.language_model.layers.7.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
395
+ "model.language_model.layers.7.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
396
+ "model.language_model.layers.7.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
397
+ "model.language_model.layers.7.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
398
+ "model.language_model.layers.7.self_attn.k_norm.weight": "model-00001-of-00003.safetensors",
399
+ "model.language_model.layers.7.self_attn.k_proj.weight": "model-00001-of-00003.safetensors",
400
+ "model.language_model.layers.7.self_attn.o_proj.weight": "model-00001-of-00003.safetensors",
401
+ "model.language_model.layers.7.self_attn.q_norm.weight": "model-00001-of-00003.safetensors",
402
+ "model.language_model.layers.7.self_attn.q_proj.weight": "model-00001-of-00003.safetensors",
403
+ "model.language_model.layers.7.self_attn.v_proj.weight": "model-00001-of-00003.safetensors",
404
+ "model.language_model.layers.8.input_layernorm.weight": "model-00001-of-00003.safetensors",
405
+ "model.language_model.layers.8.linear_attn.A_log": "model-00001-of-00003.safetensors",
406
+ "model.language_model.layers.8.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
407
+ "model.language_model.layers.8.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
408
+ "model.language_model.layers.8.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
409
+ "model.language_model.layers.8.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
410
+ "model.language_model.layers.8.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
411
+ "model.language_model.layers.8.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
412
+ "model.language_model.layers.8.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
413
+ "model.language_model.layers.8.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
414
+ "model.language_model.layers.8.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
415
+ "model.language_model.layers.8.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
416
+ "model.language_model.layers.8.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
417
+ "model.language_model.layers.8.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
418
+ "model.language_model.layers.9.input_layernorm.weight": "model-00001-of-00003.safetensors",
419
+ "model.language_model.layers.9.linear_attn.A_log": "model-00001-of-00003.safetensors",
420
+ "model.language_model.layers.9.linear_attn.conv1d.weight": "model-00001-of-00003.safetensors",
421
+ "model.language_model.layers.9.linear_attn.dt_bias": "model-00001-of-00003.safetensors",
422
+ "model.language_model.layers.9.linear_attn.in_proj_a.weight": "model-00001-of-00003.safetensors",
423
+ "model.language_model.layers.9.linear_attn.in_proj_b.weight": "model-00001-of-00003.safetensors",
424
+ "model.language_model.layers.9.linear_attn.in_proj_qkv.weight": "model-00001-of-00003.safetensors",
425
+ "model.language_model.layers.9.linear_attn.in_proj_z.weight": "model-00001-of-00003.safetensors",
426
+ "model.language_model.layers.9.linear_attn.norm.weight": "model-00001-of-00003.safetensors",
427
+ "model.language_model.layers.9.linear_attn.out_proj.weight": "model-00001-of-00003.safetensors",
428
+ "model.language_model.layers.9.mlp.down_proj.weight": "model-00001-of-00003.safetensors",
429
+ "model.language_model.layers.9.mlp.gate_proj.weight": "model-00001-of-00003.safetensors",
430
+ "model.language_model.layers.9.mlp.up_proj.weight": "model-00001-of-00003.safetensors",
431
+ "model.language_model.layers.9.post_attention_layernorm.weight": "model-00001-of-00003.safetensors",
432
+ "model.language_model.norm.weight": "model-00003-of-00003.safetensors",
433
+ "model.visual.blocks.0.attn.proj.bias": "model-00003-of-00003.safetensors",
434
+ "model.visual.blocks.0.attn.proj.weight": "model-00003-of-00003.safetensors",
435
+ "model.visual.blocks.0.attn.qkv.bias": "model-00003-of-00003.safetensors",
436
+ "model.visual.blocks.0.attn.qkv.weight": "model-00003-of-00003.safetensors",
437
+ "model.visual.blocks.0.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
438
+ "model.visual.blocks.0.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
439
+ "model.visual.blocks.0.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
440
+ "model.visual.blocks.0.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
441
+ "model.visual.blocks.0.norm1.bias": "model-00003-of-00003.safetensors",
442
+ "model.visual.blocks.0.norm1.weight": "model-00003-of-00003.safetensors",
443
+ "model.visual.blocks.0.norm2.bias": "model-00003-of-00003.safetensors",
444
+ "model.visual.blocks.0.norm2.weight": "model-00003-of-00003.safetensors",
445
+ "model.visual.blocks.1.attn.proj.bias": "model-00003-of-00003.safetensors",
446
+ "model.visual.blocks.1.attn.proj.weight": "model-00003-of-00003.safetensors",
447
+ "model.visual.blocks.1.attn.qkv.bias": "model-00003-of-00003.safetensors",
448
+ "model.visual.blocks.1.attn.qkv.weight": "model-00003-of-00003.safetensors",
449
+ "model.visual.blocks.1.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
450
+ "model.visual.blocks.1.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
451
+ "model.visual.blocks.1.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
452
+ "model.visual.blocks.1.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
453
+ "model.visual.blocks.1.norm1.bias": "model-00003-of-00003.safetensors",
454
+ "model.visual.blocks.1.norm1.weight": "model-00003-of-00003.safetensors",
455
+ "model.visual.blocks.1.norm2.bias": "model-00003-of-00003.safetensors",
456
+ "model.visual.blocks.1.norm2.weight": "model-00003-of-00003.safetensors",
457
+ "model.visual.blocks.10.attn.proj.bias": "model-00003-of-00003.safetensors",
458
+ "model.visual.blocks.10.attn.proj.weight": "model-00003-of-00003.safetensors",
459
+ "model.visual.blocks.10.attn.qkv.bias": "model-00003-of-00003.safetensors",
460
+ "model.visual.blocks.10.attn.qkv.weight": "model-00003-of-00003.safetensors",
461
+ "model.visual.blocks.10.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
462
+ "model.visual.blocks.10.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
463
+ "model.visual.blocks.10.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
464
+ "model.visual.blocks.10.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
465
+ "model.visual.blocks.10.norm1.bias": "model-00003-of-00003.safetensors",
466
+ "model.visual.blocks.10.norm1.weight": "model-00003-of-00003.safetensors",
467
+ "model.visual.blocks.10.norm2.bias": "model-00003-of-00003.safetensors",
468
+ "model.visual.blocks.10.norm2.weight": "model-00003-of-00003.safetensors",
469
+ "model.visual.blocks.11.attn.proj.bias": "model-00003-of-00003.safetensors",
470
+ "model.visual.blocks.11.attn.proj.weight": "model-00003-of-00003.safetensors",
471
+ "model.visual.blocks.11.attn.qkv.bias": "model-00003-of-00003.safetensors",
472
+ "model.visual.blocks.11.attn.qkv.weight": "model-00003-of-00003.safetensors",
473
+ "model.visual.blocks.11.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
474
+ "model.visual.blocks.11.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
475
+ "model.visual.blocks.11.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
476
+ "model.visual.blocks.11.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
477
+ "model.visual.blocks.11.norm1.bias": "model-00003-of-00003.safetensors",
478
+ "model.visual.blocks.11.norm1.weight": "model-00003-of-00003.safetensors",
479
+ "model.visual.blocks.11.norm2.bias": "model-00003-of-00003.safetensors",
480
+ "model.visual.blocks.11.norm2.weight": "model-00003-of-00003.safetensors",
481
+ "model.visual.blocks.12.attn.proj.bias": "model-00003-of-00003.safetensors",
482
+ "model.visual.blocks.12.attn.proj.weight": "model-00003-of-00003.safetensors",
483
+ "model.visual.blocks.12.attn.qkv.bias": "model-00003-of-00003.safetensors",
484
+ "model.visual.blocks.12.attn.qkv.weight": "model-00003-of-00003.safetensors",
485
+ "model.visual.blocks.12.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
486
+ "model.visual.blocks.12.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
487
+ "model.visual.blocks.12.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
488
+ "model.visual.blocks.12.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
489
+ "model.visual.blocks.12.norm1.bias": "model-00003-of-00003.safetensors",
490
+ "model.visual.blocks.12.norm1.weight": "model-00003-of-00003.safetensors",
491
+ "model.visual.blocks.12.norm2.bias": "model-00003-of-00003.safetensors",
492
+ "model.visual.blocks.12.norm2.weight": "model-00003-of-00003.safetensors",
493
+ "model.visual.blocks.13.attn.proj.bias": "model-00003-of-00003.safetensors",
494
+ "model.visual.blocks.13.attn.proj.weight": "model-00003-of-00003.safetensors",
495
+ "model.visual.blocks.13.attn.qkv.bias": "model-00003-of-00003.safetensors",
496
+ "model.visual.blocks.13.attn.qkv.weight": "model-00003-of-00003.safetensors",
497
+ "model.visual.blocks.13.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
498
+ "model.visual.blocks.13.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
499
+ "model.visual.blocks.13.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
500
+ "model.visual.blocks.13.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
501
+ "model.visual.blocks.13.norm1.bias": "model-00003-of-00003.safetensors",
502
+ "model.visual.blocks.13.norm1.weight": "model-00003-of-00003.safetensors",
503
+ "model.visual.blocks.13.norm2.bias": "model-00003-of-00003.safetensors",
504
+ "model.visual.blocks.13.norm2.weight": "model-00003-of-00003.safetensors",
505
+ "model.visual.blocks.14.attn.proj.bias": "model-00003-of-00003.safetensors",
506
+ "model.visual.blocks.14.attn.proj.weight": "model-00003-of-00003.safetensors",
507
+ "model.visual.blocks.14.attn.qkv.bias": "model-00003-of-00003.safetensors",
508
+ "model.visual.blocks.14.attn.qkv.weight": "model-00003-of-00003.safetensors",
509
+ "model.visual.blocks.14.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
510
+ "model.visual.blocks.14.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
511
+ "model.visual.blocks.14.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
512
+ "model.visual.blocks.14.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
513
+ "model.visual.blocks.14.norm1.bias": "model-00003-of-00003.safetensors",
514
+ "model.visual.blocks.14.norm1.weight": "model-00003-of-00003.safetensors",
515
+ "model.visual.blocks.14.norm2.bias": "model-00003-of-00003.safetensors",
516
+ "model.visual.blocks.14.norm2.weight": "model-00003-of-00003.safetensors",
517
+ "model.visual.blocks.15.attn.proj.bias": "model-00003-of-00003.safetensors",
518
+ "model.visual.blocks.15.attn.proj.weight": "model-00003-of-00003.safetensors",
519
+ "model.visual.blocks.15.attn.qkv.bias": "model-00003-of-00003.safetensors",
520
+ "model.visual.blocks.15.attn.qkv.weight": "model-00003-of-00003.safetensors",
521
+ "model.visual.blocks.15.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
522
+ "model.visual.blocks.15.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
523
+ "model.visual.blocks.15.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
524
+ "model.visual.blocks.15.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
525
+ "model.visual.blocks.15.norm1.bias": "model-00003-of-00003.safetensors",
526
+ "model.visual.blocks.15.norm1.weight": "model-00003-of-00003.safetensors",
527
+ "model.visual.blocks.15.norm2.bias": "model-00003-of-00003.safetensors",
528
+ "model.visual.blocks.15.norm2.weight": "model-00003-of-00003.safetensors",
529
+ "model.visual.blocks.16.attn.proj.bias": "model-00003-of-00003.safetensors",
530
+ "model.visual.blocks.16.attn.proj.weight": "model-00003-of-00003.safetensors",
531
+ "model.visual.blocks.16.attn.qkv.bias": "model-00003-of-00003.safetensors",
532
+ "model.visual.blocks.16.attn.qkv.weight": "model-00003-of-00003.safetensors",
533
+ "model.visual.blocks.16.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
534
+ "model.visual.blocks.16.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
535
+ "model.visual.blocks.16.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
536
+ "model.visual.blocks.16.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
537
+ "model.visual.blocks.16.norm1.bias": "model-00003-of-00003.safetensors",
538
+ "model.visual.blocks.16.norm1.weight": "model-00003-of-00003.safetensors",
539
+ "model.visual.blocks.16.norm2.bias": "model-00003-of-00003.safetensors",
540
+ "model.visual.blocks.16.norm2.weight": "model-00003-of-00003.safetensors",
541
+ "model.visual.blocks.17.attn.proj.bias": "model-00003-of-00003.safetensors",
542
+ "model.visual.blocks.17.attn.proj.weight": "model-00003-of-00003.safetensors",
543
+ "model.visual.blocks.17.attn.qkv.bias": "model-00003-of-00003.safetensors",
544
+ "model.visual.blocks.17.attn.qkv.weight": "model-00003-of-00003.safetensors",
545
+ "model.visual.blocks.17.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
546
+ "model.visual.blocks.17.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
547
+ "model.visual.blocks.17.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
548
+ "model.visual.blocks.17.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
549
+ "model.visual.blocks.17.norm1.bias": "model-00003-of-00003.safetensors",
550
+ "model.visual.blocks.17.norm1.weight": "model-00003-of-00003.safetensors",
551
+ "model.visual.blocks.17.norm2.bias": "model-00003-of-00003.safetensors",
552
+ "model.visual.blocks.17.norm2.weight": "model-00003-of-00003.safetensors",
553
+ "model.visual.blocks.18.attn.proj.bias": "model-00003-of-00003.safetensors",
554
+ "model.visual.blocks.18.attn.proj.weight": "model-00003-of-00003.safetensors",
555
+ "model.visual.blocks.18.attn.qkv.bias": "model-00003-of-00003.safetensors",
556
+ "model.visual.blocks.18.attn.qkv.weight": "model-00003-of-00003.safetensors",
557
+ "model.visual.blocks.18.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
558
+ "model.visual.blocks.18.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
559
+ "model.visual.blocks.18.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
560
+ "model.visual.blocks.18.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
561
+ "model.visual.blocks.18.norm1.bias": "model-00003-of-00003.safetensors",
562
+ "model.visual.blocks.18.norm1.weight": "model-00003-of-00003.safetensors",
563
+ "model.visual.blocks.18.norm2.bias": "model-00003-of-00003.safetensors",
564
+ "model.visual.blocks.18.norm2.weight": "model-00003-of-00003.safetensors",
565
+ "model.visual.blocks.19.attn.proj.bias": "model-00003-of-00003.safetensors",
566
+ "model.visual.blocks.19.attn.proj.weight": "model-00003-of-00003.safetensors",
567
+ "model.visual.blocks.19.attn.qkv.bias": "model-00003-of-00003.safetensors",
568
+ "model.visual.blocks.19.attn.qkv.weight": "model-00003-of-00003.safetensors",
569
+ "model.visual.blocks.19.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
570
+ "model.visual.blocks.19.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
571
+ "model.visual.blocks.19.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
572
+ "model.visual.blocks.19.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
573
+ "model.visual.blocks.19.norm1.bias": "model-00003-of-00003.safetensors",
574
+ "model.visual.blocks.19.norm1.weight": "model-00003-of-00003.safetensors",
575
+ "model.visual.blocks.19.norm2.bias": "model-00003-of-00003.safetensors",
576
+ "model.visual.blocks.19.norm2.weight": "model-00003-of-00003.safetensors",
577
+ "model.visual.blocks.2.attn.proj.bias": "model-00003-of-00003.safetensors",
578
+ "model.visual.blocks.2.attn.proj.weight": "model-00003-of-00003.safetensors",
579
+ "model.visual.blocks.2.attn.qkv.bias": "model-00003-of-00003.safetensors",
580
+ "model.visual.blocks.2.attn.qkv.weight": "model-00003-of-00003.safetensors",
581
+ "model.visual.blocks.2.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
582
+ "model.visual.blocks.2.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
583
+ "model.visual.blocks.2.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
584
+ "model.visual.blocks.2.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
585
+ "model.visual.blocks.2.norm1.bias": "model-00003-of-00003.safetensors",
586
+ "model.visual.blocks.2.norm1.weight": "model-00003-of-00003.safetensors",
587
+ "model.visual.blocks.2.norm2.bias": "model-00003-of-00003.safetensors",
588
+ "model.visual.blocks.2.norm2.weight": "model-00003-of-00003.safetensors",
589
+ "model.visual.blocks.20.attn.proj.bias": "model-00003-of-00003.safetensors",
590
+ "model.visual.blocks.20.attn.proj.weight": "model-00003-of-00003.safetensors",
591
+ "model.visual.blocks.20.attn.qkv.bias": "model-00003-of-00003.safetensors",
592
+ "model.visual.blocks.20.attn.qkv.weight": "model-00003-of-00003.safetensors",
593
+ "model.visual.blocks.20.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
594
+ "model.visual.blocks.20.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
595
+ "model.visual.blocks.20.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
596
+ "model.visual.blocks.20.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
597
+ "model.visual.blocks.20.norm1.bias": "model-00003-of-00003.safetensors",
598
+ "model.visual.blocks.20.norm1.weight": "model-00003-of-00003.safetensors",
599
+ "model.visual.blocks.20.norm2.bias": "model-00003-of-00003.safetensors",
600
+ "model.visual.blocks.20.norm2.weight": "model-00003-of-00003.safetensors",
601
+ "model.visual.blocks.21.attn.proj.bias": "model-00003-of-00003.safetensors",
602
+ "model.visual.blocks.21.attn.proj.weight": "model-00003-of-00003.safetensors",
603
+ "model.visual.blocks.21.attn.qkv.bias": "model-00003-of-00003.safetensors",
604
+ "model.visual.blocks.21.attn.qkv.weight": "model-00003-of-00003.safetensors",
605
+ "model.visual.blocks.21.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
606
+ "model.visual.blocks.21.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
607
+ "model.visual.blocks.21.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
608
+ "model.visual.blocks.21.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
609
+ "model.visual.blocks.21.norm1.bias": "model-00003-of-00003.safetensors",
610
+ "model.visual.blocks.21.norm1.weight": "model-00003-of-00003.safetensors",
611
+ "model.visual.blocks.21.norm2.bias": "model-00003-of-00003.safetensors",
612
+ "model.visual.blocks.21.norm2.weight": "model-00003-of-00003.safetensors",
613
+ "model.visual.blocks.22.attn.proj.bias": "model-00003-of-00003.safetensors",
614
+ "model.visual.blocks.22.attn.proj.weight": "model-00003-of-00003.safetensors",
615
+ "model.visual.blocks.22.attn.qkv.bias": "model-00003-of-00003.safetensors",
616
+ "model.visual.blocks.22.attn.qkv.weight": "model-00003-of-00003.safetensors",
617
+ "model.visual.blocks.22.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
618
+ "model.visual.blocks.22.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
619
+ "model.visual.blocks.22.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
620
+ "model.visual.blocks.22.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
621
+ "model.visual.blocks.22.norm1.bias": "model-00003-of-00003.safetensors",
622
+ "model.visual.blocks.22.norm1.weight": "model-00003-of-00003.safetensors",
623
+ "model.visual.blocks.22.norm2.bias": "model-00003-of-00003.safetensors",
624
+ "model.visual.blocks.22.norm2.weight": "model-00003-of-00003.safetensors",
625
+ "model.visual.blocks.23.attn.proj.bias": "model-00003-of-00003.safetensors",
626
+ "model.visual.blocks.23.attn.proj.weight": "model-00003-of-00003.safetensors",
627
+ "model.visual.blocks.23.attn.qkv.bias": "model-00003-of-00003.safetensors",
628
+ "model.visual.blocks.23.attn.qkv.weight": "model-00003-of-00003.safetensors",
629
+ "model.visual.blocks.23.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
630
+ "model.visual.blocks.23.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
631
+ "model.visual.blocks.23.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
632
+ "model.visual.blocks.23.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
633
+ "model.visual.blocks.23.norm1.bias": "model-00003-of-00003.safetensors",
634
+ "model.visual.blocks.23.norm1.weight": "model-00003-of-00003.safetensors",
635
+ "model.visual.blocks.23.norm2.bias": "model-00003-of-00003.safetensors",
636
+ "model.visual.blocks.23.norm2.weight": "model-00003-of-00003.safetensors",
637
+ "model.visual.blocks.3.attn.proj.bias": "model-00003-of-00003.safetensors",
638
+ "model.visual.blocks.3.attn.proj.weight": "model-00003-of-00003.safetensors",
639
+ "model.visual.blocks.3.attn.qkv.bias": "model-00003-of-00003.safetensors",
640
+ "model.visual.blocks.3.attn.qkv.weight": "model-00003-of-00003.safetensors",
641
+ "model.visual.blocks.3.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
642
+ "model.visual.blocks.3.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
643
+ "model.visual.blocks.3.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
644
+ "model.visual.blocks.3.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
645
+ "model.visual.blocks.3.norm1.bias": "model-00003-of-00003.safetensors",
646
+ "model.visual.blocks.3.norm1.weight": "model-00003-of-00003.safetensors",
647
+ "model.visual.blocks.3.norm2.bias": "model-00003-of-00003.safetensors",
648
+ "model.visual.blocks.3.norm2.weight": "model-00003-of-00003.safetensors",
649
+ "model.visual.blocks.4.attn.proj.bias": "model-00003-of-00003.safetensors",
650
+ "model.visual.blocks.4.attn.proj.weight": "model-00003-of-00003.safetensors",
651
+ "model.visual.blocks.4.attn.qkv.bias": "model-00003-of-00003.safetensors",
652
+ "model.visual.blocks.4.attn.qkv.weight": "model-00003-of-00003.safetensors",
653
+ "model.visual.blocks.4.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
654
+ "model.visual.blocks.4.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
655
+ "model.visual.blocks.4.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
656
+ "model.visual.blocks.4.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
657
+ "model.visual.blocks.4.norm1.bias": "model-00003-of-00003.safetensors",
658
+ "model.visual.blocks.4.norm1.weight": "model-00003-of-00003.safetensors",
659
+ "model.visual.blocks.4.norm2.bias": "model-00003-of-00003.safetensors",
660
+ "model.visual.blocks.4.norm2.weight": "model-00003-of-00003.safetensors",
661
+ "model.visual.blocks.5.attn.proj.bias": "model-00003-of-00003.safetensors",
662
+ "model.visual.blocks.5.attn.proj.weight": "model-00003-of-00003.safetensors",
663
+ "model.visual.blocks.5.attn.qkv.bias": "model-00003-of-00003.safetensors",
664
+ "model.visual.blocks.5.attn.qkv.weight": "model-00003-of-00003.safetensors",
665
+ "model.visual.blocks.5.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
666
+ "model.visual.blocks.5.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
667
+ "model.visual.blocks.5.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
668
+ "model.visual.blocks.5.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
669
+ "model.visual.blocks.5.norm1.bias": "model-00003-of-00003.safetensors",
670
+ "model.visual.blocks.5.norm1.weight": "model-00003-of-00003.safetensors",
671
+ "model.visual.blocks.5.norm2.bias": "model-00003-of-00003.safetensors",
672
+ "model.visual.blocks.5.norm2.weight": "model-00003-of-00003.safetensors",
673
+ "model.visual.blocks.6.attn.proj.bias": "model-00003-of-00003.safetensors",
674
+ "model.visual.blocks.6.attn.proj.weight": "model-00003-of-00003.safetensors",
675
+ "model.visual.blocks.6.attn.qkv.bias": "model-00003-of-00003.safetensors",
676
+ "model.visual.blocks.6.attn.qkv.weight": "model-00003-of-00003.safetensors",
677
+ "model.visual.blocks.6.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
678
+ "model.visual.blocks.6.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
679
+ "model.visual.blocks.6.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
680
+ "model.visual.blocks.6.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
681
+ "model.visual.blocks.6.norm1.bias": "model-00003-of-00003.safetensors",
682
+ "model.visual.blocks.6.norm1.weight": "model-00003-of-00003.safetensors",
683
+ "model.visual.blocks.6.norm2.bias": "model-00003-of-00003.safetensors",
684
+ "model.visual.blocks.6.norm2.weight": "model-00003-of-00003.safetensors",
685
+ "model.visual.blocks.7.attn.proj.bias": "model-00003-of-00003.safetensors",
686
+ "model.visual.blocks.7.attn.proj.weight": "model-00003-of-00003.safetensors",
687
+ "model.visual.blocks.7.attn.qkv.bias": "model-00003-of-00003.safetensors",
688
+ "model.visual.blocks.7.attn.qkv.weight": "model-00003-of-00003.safetensors",
689
+ "model.visual.blocks.7.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
690
+ "model.visual.blocks.7.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
691
+ "model.visual.blocks.7.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
692
+ "model.visual.blocks.7.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
693
+ "model.visual.blocks.7.norm1.bias": "model-00003-of-00003.safetensors",
694
+ "model.visual.blocks.7.norm1.weight": "model-00003-of-00003.safetensors",
695
+ "model.visual.blocks.7.norm2.bias": "model-00003-of-00003.safetensors",
696
+ "model.visual.blocks.7.norm2.weight": "model-00003-of-00003.safetensors",
697
+ "model.visual.blocks.8.attn.proj.bias": "model-00003-of-00003.safetensors",
698
+ "model.visual.blocks.8.attn.proj.weight": "model-00003-of-00003.safetensors",
699
+ "model.visual.blocks.8.attn.qkv.bias": "model-00003-of-00003.safetensors",
700
+ "model.visual.blocks.8.attn.qkv.weight": "model-00003-of-00003.safetensors",
701
+ "model.visual.blocks.8.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
702
+ "model.visual.blocks.8.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
703
+ "model.visual.blocks.8.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
704
+ "model.visual.blocks.8.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
705
+ "model.visual.blocks.8.norm1.bias": "model-00003-of-00003.safetensors",
706
+ "model.visual.blocks.8.norm1.weight": "model-00003-of-00003.safetensors",
707
+ "model.visual.blocks.8.norm2.bias": "model-00003-of-00003.safetensors",
708
+ "model.visual.blocks.8.norm2.weight": "model-00003-of-00003.safetensors",
709
+ "model.visual.blocks.9.attn.proj.bias": "model-00003-of-00003.safetensors",
710
+ "model.visual.blocks.9.attn.proj.weight": "model-00003-of-00003.safetensors",
711
+ "model.visual.blocks.9.attn.qkv.bias": "model-00003-of-00003.safetensors",
712
+ "model.visual.blocks.9.attn.qkv.weight": "model-00003-of-00003.safetensors",
713
+ "model.visual.blocks.9.mlp.linear_fc1.bias": "model-00003-of-00003.safetensors",
714
+ "model.visual.blocks.9.mlp.linear_fc1.weight": "model-00003-of-00003.safetensors",
715
+ "model.visual.blocks.9.mlp.linear_fc2.bias": "model-00003-of-00003.safetensors",
716
+ "model.visual.blocks.9.mlp.linear_fc2.weight": "model-00003-of-00003.safetensors",
717
+ "model.visual.blocks.9.norm1.bias": "model-00003-of-00003.safetensors",
718
+ "model.visual.blocks.9.norm1.weight": "model-00003-of-00003.safetensors",
719
+ "model.visual.blocks.9.norm2.bias": "model-00003-of-00003.safetensors",
720
+ "model.visual.blocks.9.norm2.weight": "model-00003-of-00003.safetensors",
721
+ "model.visual.merger.linear_fc1.bias": "model-00003-of-00003.safetensors",
722
+ "model.visual.merger.linear_fc1.weight": "model-00003-of-00003.safetensors",
723
+ "model.visual.merger.linear_fc2.bias": "model-00003-of-00003.safetensors",
724
+ "model.visual.merger.linear_fc2.weight": "model-00003-of-00003.safetensors",
725
+ "model.visual.merger.norm.bias": "model-00003-of-00003.safetensors",
726
+ "model.visual.merger.norm.weight": "model-00003-of-00003.safetensors",
727
+ "model.visual.patch_embed.proj.bias": "model-00003-of-00003.safetensors",
728
+ "model.visual.patch_embed.proj.weight": "model-00003-of-00003.safetensors",
729
+ "model.visual.pos_embed.weight": "model-00003-of-00003.safetensors"
730
+ }
731
+ }
4B-5949/openjet_runtime/__init__.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ from .runtime import OpenJet
2
+
3
+ __all__ = ["OpenJet"]
4B-5949/openjet_runtime/candidate_projection.py ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Project selected native dense LM-head rows before matmul, preserving autograd.
2
+
3
+ The caller must pass the actual output head, never an unwrapped adapter base_layer.
4
+ Unsupported heads raise; there is deliberately no automatic full-head fallback.
5
+ """
6
+
7
+ import torch
8
+ from torch import nn
9
+ from torch.nn import functional as F
10
+ from torch.nn.modules import module as module_hooks
11
+
12
+
13
+ class UnsupportedCandidateHead(ValueError):
14
+ """The head's semantics cannot be reproduced by plain selected-row linear."""
15
+
16
+
17
+ def _check_head(head):
18
+ if type(head) is not nn.Linear:
19
+ raise UnsupportedCandidateHead("only exact torch.nn.Linear is supported")
20
+ if (
21
+ head.forward.__func__ is not nn.Linear.forward
22
+ if hasattr(head.forward, "__func__")
23
+ else True
24
+ ):
25
+ raise UnsupportedCandidateHead("overridden forward is unsupported")
26
+ if head._modules or head._buffers or set(head._parameters) != {"weight", "bias"}:
27
+ raise UnsupportedCandidateHead(
28
+ "head contains extra modules, buffers or parameters"
29
+ )
30
+ for name in (
31
+ "_forward_hooks",
32
+ "_forward_pre_hooks",
33
+ "_backward_hooks",
34
+ "_backward_pre_hooks",
35
+ ):
36
+ if getattr(head, name, None) or getattr(module_hooks, "_global" + name, None):
37
+ raise UnsupportedCandidateHead("module hooks would be bypassed")
38
+ for value in (head.weight, head.bias):
39
+ if value is None:
40
+ continue
41
+ if (
42
+ type(value) is not nn.Parameter
43
+ or value.is_quantized
44
+ or value.layout != torch.strided
45
+ or not value.is_floating_point()
46
+ or value.device.type == "meta"
47
+ ):
48
+ raise UnsupportedCandidateHead(
49
+ "requires ordinary dense floating-point Parameters"
50
+ )
51
+ if head.weight is None or head.weight.shape != (
52
+ head.out_features,
53
+ head.in_features,
54
+ ):
55
+ raise UnsupportedCandidateHead("invalid dense weight shape")
56
+ if head.bias is not None and (
57
+ head.bias.shape != (head.out_features,)
58
+ or head.bias.dtype != head.weight.dtype
59
+ or head.bias.device != head.weight.device
60
+ ):
61
+ raise UnsupportedCandidateHead(
62
+ "bias shape, dtype or device does not match weight"
63
+ )
64
+
65
+
66
+ def candidate_logits(head, hidden_states, token_ids):
67
+ """Return [..., K] logits in supplied token order, including repeated IDs.
68
+
69
+ Dtype/autocast follow F.linear; no explicit precision conversion or detach.
70
+ Shape-dependent floating GEMM rounding may differ from full-vocabulary GEMM.
71
+ This validates indices, not tokenization, semantic labels, or probability mass.
72
+ """
73
+ _check_head(head)
74
+ if type(hidden_states) not in (torch.Tensor, nn.Parameter):
75
+ raise TypeError("hidden_states must be an ordinary Tensor")
76
+ if (
77
+ hidden_states.ndim < 1
78
+ or hidden_states.shape[-1] != head.in_features
79
+ or not hidden_states.is_floating_point()
80
+ or hidden_states.layout != torch.strided
81
+ or hidden_states.device != head.weight.device
82
+ ):
83
+ raise ValueError(
84
+ "hidden_states shape, floating layout or device does not match head"
85
+ )
86
+ if type(token_ids) is torch.Tensor:
87
+ if (
88
+ token_ids.ndim != 1
89
+ or token_ids.dtype != torch.long
90
+ or token_ids.device.type == "meta"
91
+ ):
92
+ raise ValueError("token_ids must be a one-dimensional int64 tensor")
93
+ indices = token_ids.to(device=head.weight.device)
94
+ elif isinstance(token_ids, (list, tuple)):
95
+ if any(type(value) is not int for value in token_ids):
96
+ raise TypeError("token IDs must be integers, not booleans or floats")
97
+ if any(value < 0 or value >= head.out_features for value in token_ids):
98
+ raise ValueError("token ID outside vocabulary")
99
+ indices = torch.tensor(token_ids, dtype=torch.long, device=head.weight.device)
100
+ else:
101
+ raise TypeError("token_ids must be a list, tuple or int64 tensor")
102
+ if not indices.numel():
103
+ raise ValueError("at least one candidate token is required")
104
+ if bool(((indices < 0) | (indices >= head.out_features)).any()):
105
+ raise ValueError("token ID outside vocabulary")
106
+ weight = head.weight.index_select(0, indices)
107
+ bias = None if head.bias is None else head.bias.index_select(0, indices)
108
+ return F.linear(hidden_states, weight, bias)
4B-5949/openjet_runtime/contracts.py ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Small shared contract. Prompts use a strict whitelist of input fields."""
2
+
3
+ import json
4
+ import math
5
+
6
+ PROMPT_VERSION = "jev.dynamic.prompt.v2"
7
+ LABELS = tuple("ABCDEFGHIJKLMNOP")
8
+ BINARY_CRITERIA = [
9
+ {"id": "yes", "description": "The stated proposition is true."},
10
+ {"id": "no", "description": "The stated proposition is false."},
11
+ ]
12
+
13
+
14
+ def validate_request(record):
15
+ for key in ("id", "group_id", "state", "instructions"):
16
+ if not isinstance(record.get(key), str) or not record[key].strip():
17
+ raise ValueError(f"{key} must be a nonempty string")
18
+ if record.get("primitive") not in ("choice", "noul", "score_level"):
19
+ raise ValueError("unsupported primitive")
20
+ criteria = record.get("criteria")
21
+ if not isinstance(criteria, list) or not 2 <= len(criteria) <= len(LABELS):
22
+ raise ValueError("criteria must contain 2..16 candidates")
23
+ ids = []
24
+ for candidate in criteria:
25
+ if not isinstance(candidate, dict):
26
+ raise TypeError("candidate must be an object")
27
+ for key in ("id", "description"):
28
+ if not isinstance(candidate.get(key), str) or not candidate[key].strip():
29
+ raise ValueError(f"candidate {key} must be nonempty")
30
+ ids.append(candidate["id"])
31
+ if len(set(ids)) != len(ids):
32
+ raise ValueError("duplicate candidate ids")
33
+ if record["primitive"] != "choice" and criteria != BINARY_CRITERIA:
34
+ raise ValueError("noul and score_level require canonical yes/no criteria")
35
+
36
+
37
+ def validate_record(record):
38
+ validate_request(record)
39
+ if record.get("gold") not in [c["id"] for c in record["criteria"]]:
40
+ raise ValueError("gold must be a candidate id")
41
+ if not isinstance(record.get("provenance"), dict):
42
+ raise TypeError("provenance must be an object")
43
+
44
+
45
+ def label_mapping(record):
46
+ validate_request(record)
47
+ return dict(zip(LABELS, (c["id"] for c in record["criteria"])))
48
+
49
+
50
+ def render_prompt_parts(record):
51
+ """Text prefix/suffix; callers MUST check tokenizer boundary equivalence."""
52
+ validate_request(record)
53
+ prefix = "Shared state:\n" + record["state"] + "\n\n"
54
+ task = {
55
+ "primitive": record["primitive"],
56
+ "instructions": record["instructions"],
57
+ "criteria": [
58
+ {"label": label, "description": candidate["description"]}
59
+ for label, candidate in zip(LABELS, record["criteria"])
60
+ ],
61
+ }
62
+ suffix = json.dumps(task, ensure_ascii=False, sort_keys=True)
63
+ suffix += (
64
+ "\nReturn only the selected letter: "
65
+ + ", ".join(LABELS[: len(record["criteria"])])
66
+ + ".\nAnswer:"
67
+ )
68
+ return prefix, suffix
69
+
70
+
71
+ def render_prompt(record):
72
+ return "".join(render_prompt_parts(record))
73
+
74
+
75
+ def to_messages(record):
76
+ validate_record(record)
77
+ inverse = {candidate: label for label, candidate in label_mapping(record).items()}
78
+ return {
79
+ "messages": [
80
+ {"role": "user", "content": render_prompt(record)},
81
+ {"role": "assistant", "content": inverse[record["gold"]]},
82
+ ]
83
+ }
84
+
85
+
86
+ def format_response(record, probabilities):
87
+ """Map ordered candidate probabilities; score_level is NOT aggregate Score."""
88
+ mapping = label_mapping(record)
89
+ values = list(probabilities)
90
+ if len(values) != len(mapping) or any(
91
+ not math.isfinite(p) or p < 0 or p > 1 for p in values
92
+ ):
93
+ raise ValueError("invalid probabilities")
94
+ if not math.isclose(sum(values), 1, abs_tol=1e-5):
95
+ raise ValueError("probabilities must sum to one")
96
+ distribution = dict(zip(mapping.values(), values))
97
+ result = {"type": record["primitive"], "probabilities": distribution}
98
+ if record["primitive"] == "choice":
99
+ result["choice"] = max(distribution, key=distribution.get)
100
+ else:
101
+ result["yes_probability"] = distribution["yes"]
102
+ return result
4B-5949/openjet_runtime/early_exit.py ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Actual Q1 no-cache layer-prefix execution for native Qwen3.5 decisions.
2
+
3
+ Mirrors the mask/position preparation of Transformers Qwen3_5TextModel (5.16.1).
4
+ This is a version-audited reference, not a generic model or cache implementation.
5
+ """
6
+
7
+ from dataclasses import dataclass, replace
8
+
9
+ import torch
10
+ from torch import Tensor, nn
11
+ from transformers.masking_utils import (
12
+ create_causal_mask,
13
+ create_recurrent_attention_mask,
14
+ )
15
+
16
+ from .candidate_projection import (
17
+ UnsupportedCandidateHead,
18
+ candidate_logits,
19
+ )
20
+
21
+
22
+ @dataclass(frozen=True)
23
+ class DepthContinuation:
24
+ hidden: Tensor # complete sequence residual, BEFORE final norm
25
+ position_ids: Tensor
26
+ position_embeddings: tuple[Tensor, Tensor]
27
+ masks: dict[str, Tensor | None]
28
+ depth: int
29
+ owner: object
30
+ model_signature: tuple
31
+
32
+
33
+ @dataclass
34
+ class DepthDecision:
35
+ depth: int
36
+ logits: Tensor # [1,C]
37
+ projection_mode: str
38
+
39
+
40
+ class QwenEarlyExit(nn.Module):
41
+ """Begin once, stop at a real depth, optionally continue without replay.
42
+
43
+ Q1 means one unpadded complete input sequence. No cache or token generation.
44
+ Continuations are ephemeral: do not mutate parameters/train-mode between
45
+ begin/advance/readout, or persist them across optimizer steps.
46
+ """
47
+
48
+ def __init__(self, model: nn.Module):
49
+ super().__init__()
50
+ self.model = model
51
+ if self.base.config.model_type not in {"qwen3_5", "qwen3_5_text"}:
52
+ raise ValueError("only Qwen3.5 text/conditional models are supported")
53
+ if len(self.backbone.layers) != self.backbone.config.num_hidden_layers:
54
+ raise ValueError("layer count/config mismatch")
55
+ if not set(self.backbone.config.layer_types) <= {
56
+ "linear_attention",
57
+ "full_attention",
58
+ }:
59
+ raise ValueError("unsupported hybrid layer type")
60
+ self._owner = object()
61
+
62
+ @property
63
+ def base(self):
64
+ return (
65
+ self.model.get_base_model()
66
+ if hasattr(self.model, "get_base_model")
67
+ else self.model
68
+ )
69
+
70
+ @property
71
+ def backbone(self):
72
+ return (
73
+ self.base.model.language_model
74
+ if self.base.config.model_type == "qwen3_5"
75
+ else self.base.model
76
+ )
77
+
78
+ @property
79
+ def full_depth(self):
80
+ return len(self.backbone.layers)
81
+
82
+ def _signature(self):
83
+ # Reference guard: optimizer updates and mode/device changes invalidate
84
+ # all outstanding continuations. No .data mutation is supported.
85
+ return (
86
+ tuple((id(module), module.training) for module in self.model.modules()),
87
+ tuple(
88
+ (id(parameter), parameter._version, parameter.device, parameter.dtype)
89
+ for parameter in self.model.parameters()
90
+ ),
91
+ )
92
+
93
+ def begin(self, input_ids: Tensor) -> DepthContinuation:
94
+ if (
95
+ input_ids.dtype != torch.long
96
+ or input_ids.ndim != 2
97
+ or input_ids.shape[0] != 1
98
+ or input_ids.shape[1] < 1
99
+ ):
100
+ raise ValueError("Q1 requires nonempty int64 input_ids [1,S], no padding")
101
+ for name in (
102
+ "image_token_id",
103
+ "video_token_id",
104
+ "vision_start_token_id",
105
+ "vision_end_token_id",
106
+ ):
107
+ token = getattr(self.base.config, name, None)
108
+ if token is not None and (input_ids == token).any():
109
+ raise ValueError("multimodal placeholders are unsupported")
110
+ embedding = self.base.get_input_embeddings()
111
+ if ((input_ids < 0) | (input_ids >= embedding.weight.shape[0])).any():
112
+ raise ValueError("input token outside vocabulary")
113
+ hidden = embedding(input_ids)
114
+ positions = (
115
+ torch.arange(input_ids.shape[1], device=hidden.device)
116
+ .view(1, 1, -1)
117
+ .expand(4, 1, -1)
118
+ )
119
+ text_positions = positions[0]
120
+ kwargs = {
121
+ "config": self.backbone.config,
122
+ "inputs_embeds": hidden,
123
+ "attention_mask": None,
124
+ "past_key_values": None,
125
+ "position_ids": text_positions,
126
+ }
127
+ masks = {
128
+ "full_attention": create_causal_mask(**kwargs),
129
+ "linear_attention": create_recurrent_attention_mask(**kwargs),
130
+ }
131
+ rotary = self.backbone.rotary_emb(hidden, positions[1:])
132
+ return DepthContinuation(
133
+ hidden, text_positions, rotary, masks, 0, self._owner, self._signature()
134
+ )
135
+
136
+ def _check_state(self, state):
137
+ if state.owner is not self._owner:
138
+ raise ValueError("continuation belongs to a different executor")
139
+ if state.model_signature != self._signature():
140
+ raise ValueError(
141
+ "stale continuation: model parameters or training mode changed"
142
+ )
143
+
144
+ def advance(self, state: DepthContinuation, target_depth: int) -> DepthContinuation:
145
+ self._check_state(state)
146
+ if (
147
+ type(target_depth) is not int
148
+ or not state.depth < target_depth <= self.full_depth
149
+ ):
150
+ raise ValueError("target depth must advance within the model")
151
+ hidden = state.hidden
152
+ for index in range(state.depth, target_depth):
153
+ hidden = self.backbone.layers[index](
154
+ hidden,
155
+ position_embeddings=state.position_embeddings,
156
+ attention_mask=state.masks[self.backbone.config.layer_types[index]],
157
+ position_ids=state.position_ids,
158
+ past_key_values=None,
159
+ use_cache=False,
160
+ )
161
+ return replace(state, hidden=hidden, depth=target_depth)
162
+
163
+ def readout(
164
+ self, state: DepthContinuation, candidate_token_ids: Tensor
165
+ ) -> DepthDecision:
166
+ self._check_state(state)
167
+ if state.depth < 1:
168
+ raise ValueError("readout requires at least one executed layer")
169
+ head = self.base.get_output_embeddings()
170
+ if (
171
+ candidate_token_ids.dtype != torch.long
172
+ or candidate_token_ids.ndim != 1
173
+ or candidate_token_ids.numel() < 2
174
+ ):
175
+ raise ValueError("require at least two int64 candidate tokens [C]")
176
+ if candidate_token_ids.device != state.hidden.device:
177
+ raise ValueError("candidate IDs must share hidden device")
178
+ if candidate_token_ids.unique().numel() != candidate_token_ids.numel():
179
+ raise ValueError("duplicate candidate token")
180
+ if (
181
+ (candidate_token_ids < 0) | (candidate_token_ids >= head.weight.shape[0])
182
+ ).any():
183
+ raise ValueError("candidate token outside vocabulary")
184
+ # Never replace the residual used by continuation with normalized hidden.
185
+ hidden = self.backbone.norm(state.hidden[:, -1])
186
+ try:
187
+ logits = candidate_logits(head, hidden, candidate_token_ids)
188
+ mode = "candidate_rows"
189
+ except UnsupportedCandidateHead:
190
+ # Preserve adapters/hooks/parametrizations by executing the real head.
191
+ logits = head(hidden).index_select(-1, candidate_token_ids)
192
+ mode = "full_head_fallback"
193
+ return DepthDecision(state.depth, logits, mode)
194
+
195
+ def forward(
196
+ self, input_ids: Tensor, candidate_token_ids: Tensor, *, depths: tuple[int, ...]
197
+ ):
198
+ if (
199
+ not depths
200
+ or any(type(d) is not int or not 1 <= d <= self.full_depth for d in depths)
201
+ or list(depths) != sorted(set(depths))
202
+ ):
203
+ raise ValueError("depths must be strictly increasing valid layer counts")
204
+ state = self.begin(input_ids)
205
+ decisions = []
206
+ for depth in depths:
207
+ state = self.advance(state, depth)
208
+ decisions.append(self.readout(state, candidate_token_ids))
209
+ return tuple(decisions)
4B-5949/openjet_runtime/runtime.py ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Portable, single-request merged Qwen3.5 decision reference runtime."""
2
+
3
+ import json
4
+ from pathlib import Path
5
+
6
+ import torch
7
+ import transformers
8
+
9
+ from .contracts import PROMPT_VERSION, format_response, label_mapping, render_prompt
10
+ from .early_exit import QwenEarlyExit
11
+
12
+
13
+ class OpenJet:
14
+ """Explicit low/high, not automatic routing. Text-only; never truncates."""
15
+
16
+ def __init__(self, model, tokenizer, depth_config, max_length=8192):
17
+ if transformers.__version__ != "5.16.1":
18
+ raise RuntimeError("Layer execution is audited for transformers==5.16.1")
19
+ self.model = model.eval()
20
+ self.tokenizer = tokenizer
21
+ self.wrapper = QwenEarlyExit(self.model)
22
+ self.device = self.model.get_input_embeddings().weight.device
23
+ self.max_length = max_length
24
+ if type(max_length) is not int or not 1 <= max_length <= 8192:
25
+ raise ValueError("max_length must be an integer in 1..8192")
26
+ if depth_config.get("prompt_version") != PROMPT_VERSION:
27
+ raise ValueError("checkpoint prompt version does not match runtime")
28
+ full = depth_config.get("full_depth")
29
+ low = depth_config.get("exit_depth")
30
+ if full != self.wrapper.full_depth:
31
+ raise ValueError("checkpoint depth and model depth disagree")
32
+ if type(low) is not int or not 0 < low < full:
33
+ raise ValueError("checkpoint does not declare a trained shallow exit")
34
+ if self.wrapper.backbone.config.layer_types[low - 1] != "full_attention":
35
+ raise ValueError("shallow exit must be a full-attention boundary")
36
+ self.depths = {"low": low, "high": full}
37
+
38
+ @classmethod
39
+ def from_pretrained(cls, directory, device="cuda:0", dtype="bfloat16"):
40
+ """Load a local HF snapshot (download explicitly with a pinned revision)."""
41
+ from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer
42
+
43
+ directory = Path(directory)
44
+ if (directory / "adapter_config.json").exists():
45
+ raise ValueError("Expected a merged snapshot, not an adapter directory")
46
+ if dtype not in ("float32", "bfloat16"):
47
+ raise ValueError("supported dtypes: float32, bfloat16")
48
+ config = AutoConfig.from_pretrained(directory, local_files_only=True)
49
+ loader = AutoModelForCausalLM
50
+ if config.model_type == "qwen3_5":
51
+ from transformers import Qwen3_5ForConditionalGeneration
52
+
53
+ loader = Qwen3_5ForConditionalGeneration
54
+ elif config.model_type != "qwen3_5_text":
55
+ raise ValueError("Expected Qwen3.5 text or conditional-generation model")
56
+ model = loader.from_pretrained(
57
+ directory,
58
+ local_files_only=True,
59
+ dtype=getattr(torch, dtype),
60
+ attn_implementation="sdpa",
61
+ ).to(device)
62
+ tokenizer = AutoTokenizer.from_pretrained(directory, local_files_only=True)
63
+ depth_config = json.loads((directory / "depth_config.json").read_text())
64
+ return cls(model, tokenizer, depth_config)
65
+
66
+ def _depth(self, effort):
67
+ if effort not in self.depths:
68
+ raise ValueError("effort must be low or high")
69
+ return self.depths[effort]
70
+
71
+ def compile(self, request):
72
+ """Exact chat/no-thinking contract used in original native evaluation."""
73
+ mapping = label_mapping(request)
74
+ prompt = self.tokenizer.apply_chat_template(
75
+ [{"role": "user", "content": render_prompt(request)}],
76
+ tokenize=False,
77
+ add_generation_prompt=True,
78
+ enable_thinking=False,
79
+ )
80
+ ids = self.tokenizer.encode(prompt, add_special_tokens=False)
81
+ if not ids or len(ids) > self.max_length:
82
+ raise ValueError("input exceeds runtime limit; no truncation permitted")
83
+ for name in (
84
+ "image_token_id",
85
+ "video_token_id",
86
+ "vision_start_token_id",
87
+ "vision_end_token_id",
88
+ ):
89
+ token = getattr(self.model.config, name, None)
90
+ if token is not None and token in ids:
91
+ raise ValueError("multimodal placeholders are unsupported")
92
+ tokens = []
93
+ for label in mapping:
94
+ token = self.tokenizer.encode(label, add_special_tokens=False)
95
+ joint = self.tokenizer.encode(prompt + label, add_special_tokens=False)
96
+ if len(token) != 1 or joint != ids + token:
97
+ raise ValueError(
98
+ "candidate label is not single-token at answer boundary"
99
+ )
100
+ if token[0] in self.tokenizer.all_special_ids:
101
+ raise ValueError("candidate label must not be special token")
102
+ tokens.append(token[0])
103
+ if len(set(tokens)) != len(tokens):
104
+ raise ValueError("candidate token IDs must be unique")
105
+ return ids, tokens
106
+
107
+ @torch.inference_mode()
108
+ def decide(self, request, effort="high"):
109
+ depth = self._depth(effort)
110
+ ids, candidates = self.compile(request)
111
+ input_ids = torch.tensor([ids], dtype=torch.long, device=self.device)
112
+ candidate_ids = torch.tensor(candidates, dtype=torch.long, device=self.device)
113
+ if effort == "high":
114
+ # Match the original reference high/full-vocabulary head path.
115
+ output = self.model(
116
+ input_ids=input_ids,
117
+ attention_mask=torch.ones_like(input_ids),
118
+ position_ids=torch.arange(len(ids), device=self.device).unsqueeze(0),
119
+ past_key_values=None,
120
+ use_cache=True,
121
+ return_dict=True,
122
+ logits_to_keep=1,
123
+ )
124
+ logits = output.logits[0, -1].index_select(0, candidate_ids).float()
125
+ projection = "full_head"
126
+ else:
127
+ (decision,) = self.wrapper(input_ids, candidate_ids, depths=(depth,))
128
+ logits = decision.logits[0].float()
129
+ projection = decision.projection_mode
130
+ response = format_response(request, logits.softmax(-1).tolist())
131
+ response.update(
132
+ effort=effort,
133
+ executed_layers=depth,
134
+ prompt_tokens=len(ids),
135
+ logits=logits.tolist(),
136
+ projection=projection,
137
+ calibrated=False,
138
+ )
139
+ return response
140
+
141
+ @torch.inference_mode()
142
+ def generate_text(self, user_text, effort="high", max_new_tokens=128):
143
+ """TYPE greedy reference; replays prefix each token, not optimized serving."""
144
+ depth = self._depth(effort)
145
+ if not isinstance(user_text, str) or not user_text.strip():
146
+ raise ValueError("user_text must be nonempty")
147
+ if type(max_new_tokens) is not int or max_new_tokens < 1:
148
+ raise ValueError("max_new_tokens must be positive integer")
149
+ ids = self.tokenizer.apply_chat_template(
150
+ [{"role": "user", "content": user_text}],
151
+ tokenize=True,
152
+ add_generation_prompt=True,
153
+ enable_thinking=False,
154
+ return_dict=False,
155
+ )
156
+ if not ids or len(ids) + max_new_tokens > self.max_length:
157
+ raise ValueError("prompt plus generation reservation exceeds limit")
158
+ eos = self.model.generation_config.eos_token_id
159
+ eos = [eos] if isinstance(eos, int) else list(eos or [])
160
+ generated = []
161
+ for _ in range(max_new_tokens):
162
+ tensor = torch.tensor([ids + generated], device=self.device)
163
+ state = self.wrapper.advance(self.wrapper.begin(tensor), depth)
164
+ hidden = self.wrapper.backbone.norm(state.hidden[:, -1])
165
+ token = self.model.get_output_embeddings()(hidden)[0].argmax().item()
166
+ generated.append(token)
167
+ if token in eos:
168
+ break
169
+ return {
170
+ "text": self.tokenizer.decode(generated, skip_special_tokens=True),
171
+ "token_ids": generated,
172
+ "effort": effort,
173
+ "executed_layers_per_token": depth,
174
+ "finish_reason": "eos" if generated[-1] in eos else "length",
175
+ "prompt_tokens": len(ids),
176
+ }
4B-5949/processor_config.json ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "image_processor": {
3
+ "do_convert_rgb": true,
4
+ "do_normalize": true,
5
+ "do_rescale": true,
6
+ "do_resize": true,
7
+ "image_mean": [
8
+ 0.5,
9
+ 0.5,
10
+ 0.5
11
+ ],
12
+ "image_processor_type": "Qwen2VLImageProcessor",
13
+ "image_std": [
14
+ 0.5,
15
+ 0.5,
16
+ 0.5
17
+ ],
18
+ "merge_size": 2,
19
+ "patch_size": 16,
20
+ "resample": 3,
21
+ "rescale_factor": 0.00392156862745098,
22
+ "size": {
23
+ "longest_edge": 16777216,
24
+ "shortest_edge": 65536
25
+ },
26
+ "temporal_patch_size": 2
27
+ },
28
+ "processor_class": "Qwen3VLProcessor",
29
+ "video_processor": {
30
+ "do_convert_rgb": true,
31
+ "do_normalize": true,
32
+ "do_rescale": true,
33
+ "do_resize": true,
34
+ "do_sample_frames": true,
35
+ "fps": 2,
36
+ "image_mean": [
37
+ 0.5,
38
+ 0.5,
39
+ 0.5
40
+ ],
41
+ "image_std": [
42
+ 0.5,
43
+ 0.5,
44
+ 0.5
45
+ ],
46
+ "max_frames": 768,
47
+ "max_video_tokens": 768,
48
+ "merge_size": 2,
49
+ "min_frames": 4,
50
+ "patch_size": 16,
51
+ "resample": 3,
52
+ "rescale_factor": 0.00392156862745098,
53
+ "return_metadata": false,
54
+ "size": {
55
+ "longest_edge": 25165824,
56
+ "shortest_edge": 4096
57
+ },
58
+ "temporal_patch_size": 2,
59
+ "video_processor_type": "Qwen3VLVideoProcessor"
60
+ }
61
+ }
4B-5949/provenance/BASE-LICENSE.txt 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.
4B-5949/provenance/SOURCE-PROJECT-LICENSE.txt ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
4B-5949/provenance/code-license-provenance.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "source_project": "xDAN-ms-swift-jev",
3
+ "source_paths_and_hashes": "source-provenance.json",
4
+ "scope": "Source provenance only; assembly does not choose or grant a new license for exported code, adapters or training data.",
5
+ "source_project_license_sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
6
+ "source_project_license_file": "SOURCE-PROJECT-LICENSE.txt"
7
+ }
4B-5949/provenance/identity.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "base_id": "Qwen/Qwen3.5-4B",
3
+ "base_revision": "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
4
+ "checkpoint_step": 5949,
5
+ "adapter_sha256": "71154f60ec72c55d2c6c6147b9cdda9cc9a52d46297f3074dded7cdc9f5bc344",
6
+ "adapter_config_sha256": "c6caee3818ca1f6c8539e47fac9b9fa818d28b61a4bbb05f6f8444c0dd639e45",
7
+ "official80_sha256": "b3374e82f0e605762d40ab6455449c9cb2d315804a175d1cda985cba9beded35",
8
+ "software": {
9
+ "torch": "2.8.0+cu128",
10
+ "transformers": "5.16.1",
11
+ "peft": "0.20.0"
12
+ },
13
+ "merge_arithmetic": "float32 CPU safe_merge then bfloat16 storage",
14
+ "inference_dtype": "bfloat16",
15
+ "attention": "sdpa",
16
+ "gpu": "NVIDIA RTX PRO 6000 Blackwell Server Edition"
17
+ }
4B-5949/release-manifest.json ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format": "openjet.merged-release.v1",
3
+ "size": "4B",
4
+ "checkpoint_step": 5949,
5
+ "base_id": "Qwen/Qwen3.5-4B",
6
+ "base_revision": "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
7
+ "numerical_comparison_passed": false,
8
+ "decision_parity_passed": true,
9
+ "decision_agreement": 160,
10
+ "artifact_reviewed_variant": false,
11
+ "assembly_stage": "final",
12
+ "weight_arithmetic_passed": true,
13
+ "runtime_validation_status": "passed",
14
+ "private_staging": true,
15
+ "fresh_hub_download_gpu_check": "not established by assembly; consult publication receipt",
16
+ "files": [
17
+ {
18
+ "path": "LICENSE",
19
+ "bytes": 11544,
20
+ "sha256": "bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a"
21
+ },
22
+ {
23
+ "path": "README.md",
24
+ "bytes": 1924,
25
+ "sha256": "4071763e7fbd1a16910c7bd8d7b6751e09b999f98bcdbe1d2f118f6b10f0c40f"
26
+ },
27
+ {
28
+ "path": "RUNTIME.md",
29
+ "bytes": 5556,
30
+ "sha256": "d9397e883c8b8709297f394c7c65eb0ee6b17c0994902b6f6d518d924fd2c854"
31
+ },
32
+ {
33
+ "path": "chat_template.jinja",
34
+ "bytes": 7756,
35
+ "sha256": "a4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715"
36
+ },
37
+ {
38
+ "path": "config.json",
39
+ "bytes": 2829,
40
+ "sha256": "4b53bdb886bb68d228841409c2db2f5d7eb670c28ae4376849f58d3bd014968d"
41
+ },
42
+ {
43
+ "path": "decision-release.json",
44
+ "bytes": 1486,
45
+ "sha256": "51f8cd280dae539bc8cf1055b6a6ae64b8dfb13064ec3d155cf40ebe9079c690"
46
+ },
47
+ {
48
+ "path": "depth_config.json",
49
+ "bytes": 320,
50
+ "sha256": "50a4f97bbb3589222d81285ff94b33efd0f048d159166f6b93f2700e633be3e0"
51
+ },
52
+ {
53
+ "path": "evaluation/runtime-smoke.json",
54
+ "bytes": 4858,
55
+ "sha256": "60a80902675971ff6a054377852b936eec90f49f466eb7b8b077eee7b979f230"
56
+ },
57
+ {
58
+ "path": "evaluation/weight-arithmetic.json",
59
+ "bytes": 25495,
60
+ "sha256": "567c5c0f85e9b1db314c58c896542eaf0753d0723fa94e61f134660e813ea18d"
61
+ },
62
+ {
63
+ "path": "examples.py",
64
+ "bytes": 2332,
65
+ "sha256": "982ced288cae6ccf70ba70174f3c485398a8e712597b5b85423ba9b84318bf39"
66
+ },
67
+ {
68
+ "path": "generation_config.json",
69
+ "bytes": 116,
70
+ "sha256": "e4b598e9544d7567b3ae288efd8417e5b1646c957609b614c639163139336d12"
71
+ },
72
+ {
73
+ "path": "merge-provenance.json",
74
+ "bytes": 682,
75
+ "sha256": "3dcce1f04722cfd98a30c060b96eb1fc6b8b1d321904486acf1c1b2693c66d3a"
76
+ },
77
+ {
78
+ "path": "merged-evaluation.json",
79
+ "bytes": 3399,
80
+ "sha256": "b653bb0672e530a01ac58ab1b4597f7a9c81ddc157db2b0fdc8cf64ae73d85ed"
81
+ },
82
+ {
83
+ "path": "model-00001-of-00003.safetensors",
84
+ "bytes": 3991298872,
85
+ "sha256": "c04bef62040612a3376c144014c194687cdc19b18c3a807ee1136b4a713cbb0a"
86
+ },
87
+ {
88
+ "path": "model-00002-of-00003.safetensors",
89
+ "bytes": 3979833152,
90
+ "sha256": "7891d5b76b686893680e9cc074c2e17a788ff0cb03f64cc2ae4150bd804299a2"
91
+ },
92
+ {
93
+ "path": "model-00003-of-00003.safetensors",
94
+ "bytes": 1107487880,
95
+ "sha256": "a88eecd668f83cad773bd67c9c7e6e466c1746d489c55d906b48398a6679db65"
96
+ },
97
+ {
98
+ "path": "model.safetensors.index.json",
99
+ "bytes": 66236,
100
+ "sha256": "cd67b86e2cd9d329167224ac0026be69b39e078ad3056fc59339ba0a19fe4845"
101
+ },
102
+ {
103
+ "path": "openjet_runtime/__init__.py",
104
+ "bytes": 52,
105
+ "sha256": "df6eb864cf6d0c2f512fb00f17eeaa11fd790afca33a0f7b2f609aeb1f2b3944"
106
+ },
107
+ {
108
+ "path": "openjet_runtime/candidate_projection.py",
109
+ "bytes": 4438,
110
+ "sha256": "84dc4746b5fb06ac6a9024dde3ba8414d901acf2a62d010b0d66f26acfaf74a6"
111
+ },
112
+ {
113
+ "path": "openjet_runtime/contracts.py",
114
+ "bytes": 3847,
115
+ "sha256": "d8e8e5270ecd6dab917d886dda2d684c24696b811faa968bb3c399ceef5e356a"
116
+ },
117
+ {
118
+ "path": "openjet_runtime/early_exit.py",
119
+ "bytes": 7862,
120
+ "sha256": "89b7751a927a6d1348a454fb8ee986395423ad5686d855fb3ccab255c95d2566"
121
+ },
122
+ {
123
+ "path": "openjet_runtime/runtime.py",
124
+ "bytes": 8081,
125
+ "sha256": "6e7b0b131cb14ab0d25cc8fd6c7fc41738b799cfe6de1ccdbae2d09d7c64313c"
126
+ },
127
+ {
128
+ "path": "processor_config.json",
129
+ "bytes": 1220,
130
+ "sha256": "bfbc24af59a3e73a9cd0653b8d4ae758dfaec4e3e6c15dfb1c6c8ee8d5683c85"
131
+ },
132
+ {
133
+ "path": "provenance/BASE-LICENSE.txt",
134
+ "bytes": 11544,
135
+ "sha256": "bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a"
136
+ },
137
+ {
138
+ "path": "provenance/SOURCE-PROJECT-LICENSE.txt",
139
+ "bytes": 11357,
140
+ "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
141
+ },
142
+ {
143
+ "path": "provenance/code-license-provenance.json",
144
+ "bytes": 397,
145
+ "sha256": "33a6e44402d44b5febe1451ec4978523858fd4e91f5f101e61ad9b39e9b21f2f"
146
+ },
147
+ {
148
+ "path": "provenance/identity.json",
149
+ "bytes": 682,
150
+ "sha256": "3dcce1f04722cfd98a30c060b96eb1fc6b8b1d321904486acf1c1b2693c66d3a"
151
+ },
152
+ {
153
+ "path": "requirements.txt",
154
+ "bytes": 139,
155
+ "sha256": "a5ceffcb009f4fe48882b20ef19d161ce53678abb5234175f45a8c82c3c868c6"
156
+ },
157
+ {
158
+ "path": "runtime-validation.json",
159
+ "bytes": 334,
160
+ "sha256": "96d38fd523772afe5cc96e645fa2bc14d20e58a1920da3822e6c42b6cfeaf3e4"
161
+ },
162
+ {
163
+ "path": "source-provenance.json",
164
+ "bytes": 773,
165
+ "sha256": "a623caf50f658bee5c1ad5a084e486a945e288fa93cdb798f89a58d0c5e050c4"
166
+ },
167
+ {
168
+ "path": "tokenizer.json",
169
+ "bytes": 19989325,
170
+ "sha256": "06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523"
171
+ },
172
+ {
173
+ "path": "tokenizer_config.json",
174
+ "bytes": 1165,
175
+ "sha256": "792fa3f0cb88b111e54ef3134c873531008c4df471d108da17903426e308aa7b"
176
+ },
177
+ {
178
+ "path": "training.md",
179
+ "bytes": 2692,
180
+ "sha256": "30544dc7ca3119ff10e88507651a3275b62f61b7e888f3332eb8fab632caae6b"
181
+ }
182
+ ],
183
+ "family_documentation_update": {
184
+ "source_manifest_sha256": "9dd56a1d3ee0526a6a9f2136393188edfe3a61eda79febc00093d65c6ed1b787",
185
+ "scope": "README only; source weights, runtime and evaluation evidence unchanged"
186
+ },
187
+ "organization_documentation_update": {
188
+ "source_repo": "gump2049/APUS-OpenJev-v1",
189
+ "source_revision": "e7e3cc0b9c82b91380ec6595120b7ce8abd32fd7",
190
+ "previous_manifest_sha256": "e7f96d2b30cc3296aa975efd7b3bf8721b97990937c523fe4d78d8c605199fce",
191
+ "scope": "README download links only; all model and runtime bytes unchanged"
192
+ }
193
+ }
4B-5949/requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ # Install torch with the CUDA build matching the deployment host first.
2
+ torch==2.8.0
3
+ transformers==5.16.1
4
+ safetensors>=0.6
5
+ huggingface_hub
4B-5949/runtime-validation.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "passed",
3
+ "decisions": 160,
4
+ "max_probability_delta": 0.0,
5
+ "no_jev_import": true,
6
+ "long_input_rejected": true,
7
+ "invalid_effort_rejected": true,
8
+ "text_scope": "Execution smoke only; not TYPE accuracy or speed validation",
9
+ "source_sha256": "60a80902675971ff6a054377852b936eec90f49f466eb7b8b077eee7b979f230"
10
+ }
4B-5949/source-provenance.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "contracts.py": {
3
+ "source": "jev/dynamic/contracts.py",
4
+ "source_sha256": "d8e8e5270ecd6dab917d886dda2d684c24696b811faa968bb3c399ceef5e356a",
5
+ "export_sha256": "d8e8e5270ecd6dab917d886dda2d684c24696b811faa968bb3c399ceef5e356a"
6
+ },
7
+ "candidate_projection.py": {
8
+ "source": "jev/dynamic/engine/candidate_projection.py",
9
+ "source_sha256": "84dc4746b5fb06ac6a9024dde3ba8414d901acf2a62d010b0d66f26acfaf74a6",
10
+ "export_sha256": "84dc4746b5fb06ac6a9024dde3ba8414d901acf2a62d010b0d66f26acfaf74a6"
11
+ },
12
+ "early_exit.py": {
13
+ "source": "jev/dynamic/native/early_exit.py",
14
+ "source_sha256": "e6ce9e983df0fdaaa9fb9bdf4a6e1f37e0610708007648b2f6b0b9d36e35d2e3",
15
+ "export_sha256": "89b7751a927a6d1348a454fb8ee986395423ad5686d855fb3ccab255c95d2566"
16
+ }
17
+ }
4B-5949/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
4B-5949/tokenizer_config.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "audio_bos_token": "<|audio_start|>",
4
+ "audio_eos_token": "<|audio_end|>",
5
+ "audio_token": "<|audio_pad|>",
6
+ "backend": "tokenizers",
7
+ "bos_token": null,
8
+ "clean_up_tokenization_spaces": false,
9
+ "eos_token": "<|im_end|>",
10
+ "errors": "replace",
11
+ "image_token": "<|image_pad|>",
12
+ "is_local": true,
13
+ "local_files_only": false,
14
+ "model_max_length": 262144,
15
+ "model_specific_special_tokens": {
16
+ "audio_bos_token": "<|audio_start|>",
17
+ "audio_eos_token": "<|audio_end|>",
18
+ "audio_token": "<|audio_pad|>",
19
+ "image_token": "<|image_pad|>",
20
+ "video_token": "<|video_pad|>",
21
+ "vision_bos_token": "<|vision_start|>",
22
+ "vision_eos_token": "<|vision_end|>"
23
+ },
24
+ "pad_token": "<|endoftext|>",
25
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
26
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
4B-5949/training.md ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This release: 4B, step 5949
2
+
3
+ This is the completed 5949-step SFT endpoint.
4
+
5
+ # Training provenance
6
+
7
+ Both families use the registered 5949-record SFT curriculum (3898 parent groups), with 5949 maximum steps and one epoch. Each checkpoint's recorded training step, epoch, and original trainer-state hash are preserved in the separate [LoRA archive manifest](https://huggingface.co/gump2049/xDAN-openJet-LoRA-Checkpoints/blob/1e5557f923746031f8187b7daf299b9bee41cb3c/manifest.json) at fixed revision `1e5557f923746031f8187b7daf299b9bee41cb3c` (repository access required). This merged package's `release-manifest.json` inventories inference artifacts and does not contain that per-checkpoint trainer-state record; intermediate checkpoints did not finish the whole schedule. Randomized loader order means the step number alone is not a verified count of unique examples seen at an intermediate checkpoint.
8
+
9
+ | Source | Scheduled records | Parent groups |
10
+ |---|---:|---:|
11
+ | Mind2Web browser Choice | 1798 | 671 |
12
+ | Mind2Web browser TYPE | 158 | 125 |
13
+ | HelpSteer3 principle | 1300 | 1300 |
14
+ | SGD | 513 | 10 |
15
+ | GoEmotions independent-attribute Score | 500 | 297 |
16
+ | BoolQ | 600 | 600 |
17
+ | MNLI | 1000 | 1000 |
18
+ | Local counterfactual | 80 | 20 |
19
+
20
+ Parent groups can overlap across browser Choice/TYPE. The 4B run initialized from a 427-record pilot adapter (weight SHA256 `0047e5f1f0c98f17da93def94032041997592e1a609ddcab58de41f4d30e3a38`), while the inspected 9B config records no origin adapter. Do not add pilot records to the registered schedule as if all were independent.
21
+
22
+ Decision objective: `0.5 CE(low) + 0.5 CE(high) + 0.1 KL(P_high.detach || P_low)`. TYPE examples use full-depth text cross-entropy. LoRA r=8, alpha=16, dropout=0; learning rate 1e-4; batch size 1; seed 20260920; training max length 6144. The recorded compiled schedule maximum is 5845 tokens. Training settings and data/schedule hashes are retained in the separate [LoRA checkpoint depth configuration](https://huggingface.co/gump2049/xDAN-openJet-LoRA-Checkpoints/blob/1e5557f923746031f8187b7daf299b9bee41cb3c/4b/checkpoint-5949/depth_config.json) at fixed archive revision `1e5557f923746031f8187b7daf299b9bee41cb3c`. The merged package's `depth_config.json` contains only portable inference and identity metadata; it is not the full training configuration.
23
+
24
+ This is SFT with a within-model distillation term; it does not prove RLCD, online reinforcement learning or teacher-model OPD occurred. The declared public sources contain multiple licensing regimes (including CC-BY, CC-BY-SA and mixed-source material); separate provenance and redistribution review remains necessary. Raw datasets are not part of this upload.
9B-3000/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.
9B-3000/README.md ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # APUS-OpenJev-v1 · 9B
2
+
3
+ A decision model for browser agents and business workflows. This directory contains standalone BF16 weights and a runtime with selectable `effort="low"` and `effort="high"` compute budgets.
4
+
5
+ [Model family](../README.md) · [Architecture](../ARCHITECTURE.md) · [Runtime guide](RUNTIME.md)
6
+
7
+ ## Quick start
8
+
9
+ Use a CUDA-capable PyTorch environment.
10
+
11
+ ```bash
12
+ python -m pip install huggingface_hub
13
+ hf auth login
14
+ hf download apus-ailab/APUS-OpenJev-v1 \
15
+ --include "9B-3000/*" --local-dir ./APUS-OpenJev-v1
16
+ cd ./APUS-OpenJev-v1/9B-3000
17
+ python -m pip install -r requirements.txt
18
+ python examples.py . --device cuda:0 --effort high
19
+ ```
20
+
21
+ The included runtime provides compute-budget selection. Use `high` for text generation.
22
+
23
+ ## Evaluation
24
+
25
+ With the full compute budget, this merged model scores **68/80 (85.00%)** on the [Frozen80 development panel](https://huggingface.co/datasets/gump2049/xDAN-openJet-Eval-Frozen80-20260921): browser action selection, principle-based judgment, evidence-based questions, natural language inference, and attribute decisions.
26
+
27
+ This reused development panel is an engineering reference, not an independent benchmark. BF16 merging changes some candidate probabilities; decision thresholds require revalidation. See [evaluation results](merged-evaluation.json) and [runtime checks](evaluation/runtime-smoke.json) for details.
28
+
29
+ ## Provenance
30
+
31
+ We thank the Qwen team for the [Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B) base model. Training details and source records are in [training.md](training.md); artifact hashes are in [release-manifest.json](release-manifest.json). Consult [LICENSE](LICENSE) and the [base-model](provenance/BASE-LICENSE.txt) and [source-project](provenance/SOURCE-PROJECT-LICENSE.txt) notices.
32
+
33
+ **Authors:** gumpcheng ([https://huggingface.co/xDAN2099](https://huggingface.co/xDAN2099)), zhangxu, [APUS AI-LAB](https://github.com/APUS-AI-Lab)
9B-3000/RUNTIME.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # xDAN-openJet merged reference runtime
2
+
3
+ 本目录是可随 HF merged 仓库发布的完整 Python 源码闭包,不需要安装 ms-swift、PEFT 或原项目。发布选择为 **4B checkpoint-5949**、**9B checkpoint-3000** 与 **9B checkpoint-5949**;各目录必须保留自己的 `depth_config.json`、完整 Qwen config、tokenizer、chat template、generation config 和 merged safetensors。不得将不同 checkpoint 的权重或 shallow/full 结果拼在一起。
4
+
5
+ ## 运行
6
+
7
+ 使用 CUDA 对应 PyTorch 2.8.0 构建,安装 `requirements.txt`。运行依赖 Transformer 私有模型层接口,所以严格要求 `transformers==5.16.1`;版本升级需重做层级及数值验证。这是原生 PyTorch 单卡单请求参考实现,不是 vLLM 服务。
8
+
9
+ 先把发布仓库的**固定 commit**完整下载到本机目录。仓库根目录有本目录中的 `openjet_runtime/` 与 `examples.py` 时:
10
+
11
+ ```bash
12
+ python -m pip install -r requirements.txt
13
+ python examples.py ./model-snapshot --device cuda:0 --effort both
14
+ python examples.py ./model-snapshot --device cuda:0 --effort high --text
15
+ ```
16
+
17
+ 若代码与权重同在下载快照根目录,进入快照后把 `./model-snapshot` 改为 `.`。
18
+
19
+ ```python
20
+ from openjet_runtime import OpenJet
21
+ from examples import decision_examples
22
+
23
+ model = OpenJet.from_pretrained("./model-snapshot")
24
+ two_candidates, sixteen_candidates = decision_examples()
25
+ print(model.decide(two_candidates, effort="low"))
26
+ print(model.decide(sixteen_candidates, effort="high"))
27
+ print(model.generate_text("Return only the text: red shoes", effort="high", max_new_tokens=32))
28
+ ```
29
+
30
+ `examples.py` 中两候选工作流、16 候选浏览器和 TYPE 是接口演示,不是声称模型已通过的 benchmark。需要针对业务设计 prompt 和验证答案。
31
+
32
+ ## 接口和执行语义
33
+
34
+ - `decide(request, effort)` 输入字段与原 `jev.dynamic.prompt.v2` 相同:`id/group_id/state/instructions/primitive/criteria`;每个候选有非空 `id` 和 `description`,2–16 个,ID 不重复。标签为 A–P,编译器验证每个标签在真实回答边界恰为一个 token。没有 gold 输入需求。
35
+ - `primitive="choice"` 返回 `choice` 与按输入顺序映射的 `probabilities`;`noul/score_level` 使用 `contracts.py` 中固定 Yes/No 候选,返回 `yes_probability`。`score_level` 是单个命题的判断,不能当作完整序数 Score API。
36
+ - `effort="low"` 执行 `depth_config.exit_depth`(这两项发布预期16),共享原 LM final norm 与候选行投影;`high` 执行 `full_depth`(预期32),保持原评测中的标准模型前向+完整 LM head 路径。读取 config,不凭参数规模推测层数。
37
+ - 所有输入采用 tokenizer 自带 chat template、`enable_thinking=False`,超过8192 token直接报错。不会默默截断 state、instructions 或候选。
38
+ - `probabilities` 是在当前候选集上的相对 softmax,**未经概率校准**;合并不自动带来可信置信度或校准保证。
39
+ - `generate_text` 为 TYPE 文本保留的贪心参考路径;每个 token 重新计算前缀,方便与原评测逐 token 核对,但不适合宣传 tokens/s。达到上限明确返回 `finish_reason="length"`。
40
+ - `both` 示例分别调用两个 effort;没有自动路由、不承诺共享两次调用的前缀缓存。本次便携发布不包含 KV 广播引擎、vLLM 插件、TypeSafe HTTP server 或多模态输入能力。
41
+
42
+ ## 合并验收(GPU,不能用静态测试代替)
43
+
44
+ 1. 固定同一 base revision、adapter SHA、tokenizer、chat template、dtype、attention backend 和 Transformers 版本,记录 merge 前后权重身份。保留 adapter 原文件。
45
+ 2. 同进程/新进程分别加载 base+adapter 和 merged;比较固定2候选、16候选、长输入、80题面板两 effort 的 token IDs、候选排序、logits、probabilities 和最终ID。保存逐题差异与最大绝对差,不能只比 aggregate accuracy。
46
+ 3. BF16 merge 会舍入:不能预先声明 bitwise一致或把漂移简单解释为无害;应报告数值误差和所有预测翻转。若超过事先制定的容忍值,停止发布数值等价结论,考虑 FP32 merge/存储再独立评测。
47
+ 4. fresh reload 验证 `depth_config` 与实际层数、模块边界一致。用层 forward hooks 检查 low只执行浅层、high执行全层;hooks会触发候选头保守fallback,不拿该测量做性能报告。
48
+ 5. TYPE短样本比较 token序列和EOS;分别测试空输入、非法候选/重复ID、超长输入明确失败。
49
+ 6. 在干净环境固定 HF revision 下载,运行本目录例子和同一小面板。记录显存、依赖、GPU型号以及权重checksum。成功加载只是第一关,不能当作质量或吞吐验收。
50
+
51
+ 原始数值等价门结果:`False`,保留原结果;决策完全一致门:`True`,一致 `160/160`。独立运行时 GPU 验收状态:`passed`。若数值门失败,此 BF16 包作为独立重评版本,禁止直接迁移概率/拒答/路由阈值;见 `merged-evaluation.json`。
52
+
53
+ ## 源码来历
54
+
55
+ `contracts.py`、`candidate_projection.py` 与 `early_exit.py` 从已有本地实现原样提取(最后一项仅调整相对 import);`source-provenance.json` 记录源路径与两端 SHA256。`runtime.py` 是最小加载及接口层;high 与 TYPE 分别对应原 `HFDecisionEngine._forward_batch` 和 `package_eval.prefix_next_token` 的执行语义。采用现有模型类:`qwen3_5` → `Qwen3_5ForConditionalGeneration`;`qwen3_5_text` → `AutoModelForCausalLM`。没有新增学习参数。
9B-3000/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 %}
9B-3000/config.json ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "dtype": "bfloat16",
6
+ "image_token_id": 248056,
7
+ "model_type": "qwen3_5",
8
+ "text_config": {
9
+ "attention_bias": false,
10
+ "attention_dropout": 0.0,
11
+ "attn_output_gate": true,
12
+ "bos_token_id": null,
13
+ "dtype": "bfloat16",
14
+ "eos_token_id": 248044,
15
+ "full_attention_interval": 4,
16
+ "head_dim": 256,
17
+ "hidden_act": "silu",
18
+ "hidden_size": 4096,
19
+ "initializer_range": 0.02,
20
+ "intermediate_size": 12288,
21
+ "layer_types": [
22
+ "linear_attention",
23
+ "linear_attention",
24
+ "linear_attention",
25
+ "full_attention",
26
+ "linear_attention",
27
+ "linear_attention",
28
+ "linear_attention",
29
+ "full_attention",
30
+ "linear_attention",
31
+ "linear_attention",
32
+ "linear_attention",
33
+ "full_attention",
34
+ "linear_attention",
35
+ "linear_attention",
36
+ "linear_attention",
37
+ "full_attention",
38
+ "linear_attention",
39
+ "linear_attention",
40
+ "linear_attention",
41
+ "full_attention",
42
+ "linear_attention",
43
+ "linear_attention",
44
+ "linear_attention",
45
+ "full_attention",
46
+ "linear_attention",
47
+ "linear_attention",
48
+ "linear_attention",
49
+ "full_attention",
50
+ "linear_attention",
51
+ "linear_attention",
52
+ "linear_attention",
53
+ "full_attention"
54
+ ],
55
+ "linear_conv_kernel_dim": 4,
56
+ "linear_key_head_dim": 128,
57
+ "linear_num_key_heads": 16,
58
+ "linear_num_value_heads": 32,
59
+ "linear_value_head_dim": 128,
60
+ "mamba_ssm_dtype": "float32",
61
+ "max_position_embeddings": 262144,
62
+ "mlp_only_layers": [],
63
+ "model_type": "qwen3_5_text",
64
+ "mtp_num_hidden_layers": 1,
65
+ "mtp_use_dedicated_embeddings": false,
66
+ "num_attention_heads": 16,
67
+ "num_hidden_layers": 32,
68
+ "num_key_value_heads": 4,
69
+ "pad_token_id": null,
70
+ "partial_rotary_factor": 0.25,
71
+ "rms_norm_eps": 1e-06,
72
+ "rope_parameters": {
73
+ "mrope_interleaved": true,
74
+ "mrope_section": [
75
+ 11,
76
+ 11,
77
+ 10
78
+ ],
79
+ "partial_rotary_factor": 0.25,
80
+ "rope_theta": 10000000,
81
+ "rope_type": "default"
82
+ },
83
+ "tie_word_embeddings": false,
84
+ "use_cache": true,
85
+ "vocab_size": 248320
86
+ },
87
+ "tie_word_embeddings": false,
88
+ "transformers_version": "5.16.1",
89
+ "video_token_id": 248057,
90
+ "vision_config": {
91
+ "deepstack_visual_indexes": [],
92
+ "depth": 27,
93
+ "dtype": "bfloat16",
94
+ "hidden_act": "gelu_pytorch_tanh",
95
+ "hidden_size": 1152,
96
+ "in_channels": 3,
97
+ "initializer_range": 0.02,
98
+ "intermediate_size": 4304,
99
+ "model_type": "qwen3_5_vision",
100
+ "num_heads": 16,
101
+ "num_position_embeddings": 2304,
102
+ "out_hidden_size": 4096,
103
+ "patch_size": 16,
104
+ "spatial_merge_size": 2,
105
+ "temporal_patch_size": 2
106
+ },
107
+ "vision_end_token_id": 248054,
108
+ "vision_start_token_id": 248053
109
+ }
9B-3000/decision-release.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "passed": true,
3
+ "scope": "Independent BF16 merged variant, frozen80 decision parity; NOT a probability-equivalent replacement",
4
+ "post_observation_scope_amendment": true,
5
+ "original_numerical_gate_passed": false,
6
+ "original_gate": "identical160_argmax_and_max_probability_delta_le_0.05",
7
+ "original_comparison_sha256": "d2ea8a7af10f09fdfde166384ffb18fb5a19ebf1a1281c58cb72806a45878c41",
8
+ "decision_agreement": 160,
9
+ "total_decisions": 160,
10
+ "independent_questions": 80,
11
+ "probability_calibration_transfer_validated": false,
12
+ "automatic_routing_validated": false,
13
+ "required_followup": "Recalibrate all probability, rejection and routing thresholds; independently evaluate new tasks",
14
+ "depths": {
15
+ "16": {
16
+ "before_correct": 63,
17
+ "after_correct": 63,
18
+ "changed_decisions": [],
19
+ "max_probability_abs_difference": 0.08810508251190186,
20
+ "mean_probability_abs_difference": 0.0019464968157012663,
21
+ "max_logit_abs_difference": 0.265625,
22
+ "mean_logit_abs_difference": 0.02963104248046875
23
+ },
24
+ "32": {
25
+ "before_correct": 68,
26
+ "after_correct": 68,
27
+ "changed_decisions": [],
28
+ "max_probability_abs_difference": 0.062176525592803955,
29
+ "mean_probability_abs_difference": 0.001304240933347387,
30
+ "max_logit_abs_difference": 0.25,
31
+ "mean_logit_abs_difference": 0.03828125
32
+ }
33
+ },
34
+ "publication_requires": "Further portable-runtime160, weight arithmetic, full file hashes and fresh HF reload gates"
35
+ }
9B-3000/depth_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "prompt_version": "jev.dynamic.prompt.v2",
3
+ "exit_depth": 16,
4
+ "full_depth": 32,
5
+ "model_series": "xDAN-openJet",
6
+ "checkpoint_step": 3000,
7
+ "source_depth_config_sha256": "b6cab8011c151a7a5a5fce574addd8a5eb3d20e14cb516a1fb80d69563b4b4c9",
8
+ "training_mode": "two_exit",
9
+ "automatic_routing_validated": false
10
+ }
9B-3000/evaluation/runtime-smoke.json ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "passed",
3
+ "runtime_sha256": {
4
+ "openjet_runtime/__init__.py": "df6eb864cf6d0c2f512fb00f17eeaa11fd790afca33a0f7b2f609aeb1f2b3944",
5
+ "openjet_runtime/runtime.py": "6e7b0b131cb14ab0d25cc8fd6c7fc41738b799cfe6de1ccdbae2d09d7c64313c",
6
+ "openjet_runtime/early_exit.py": "89b7751a927a6d1348a454fb8ee986395423ad5686d855fb3ccab255c95d2566",
7
+ "openjet_runtime/contracts.py": "d8e8e5270ecd6dab917d886dda2d684c24696b811faa968bb3c399ceef5e356a",
8
+ "openjet_runtime/candidate_projection.py": "84dc4746b5fb06ac6a9024dde3ba8414d901acf2a62d010b0d66f26acfaf74a6"
9
+ },
10
+ "decisions": 160,
11
+ "max_probability_delta": 0.0,
12
+ "no_jev_import": true,
13
+ "long_input_rejected": true,
14
+ "invalid_effort_rejected": true,
15
+ "synthetic_examples": [
16
+ {
17
+ "id": "example-binary",
18
+ "type": "choice",
19
+ "probabilities": {
20
+ "close": 0.9984512329101562,
21
+ "refund": 0.0015487611526623368
22
+ },
23
+ "choice": "close",
24
+ "effort": "low",
25
+ "executed_layers": 16,
26
+ "prompt_tokens": 103,
27
+ "logits": [
28
+ 7.8125,
29
+ 1.34375
30
+ ],
31
+ "projection": "candidate_rows",
32
+ "calibrated": false
33
+ },
34
+ {
35
+ "id": "example-binary",
36
+ "type": "choice",
37
+ "probabilities": {
38
+ "close": 0.999480664730072,
39
+ "refund": 0.0005193048273213208
40
+ },
41
+ "choice": "close",
42
+ "effort": "high",
43
+ "executed_layers": 32,
44
+ "prompt_tokens": 103,
45
+ "logits": [
46
+ 20.75,
47
+ 13.1875
48
+ ],
49
+ "projection": "full_head",
50
+ "calibrated": false
51
+ },
52
+ {
53
+ "id": "example-browser",
54
+ "type": "choice",
55
+ "probabilities": {
56
+ "click-1": 0.0071670678444206715,
57
+ "click-2": 0.0058954693377017975,
58
+ "click-3": 0.07841967791318893,
59
+ "click-4": 0.02626730129122734,
60
+ "click-5": 0.012456356547772884,
61
+ "click-6": 0.05142887309193611,
62
+ "click-7": 0.032435785979032516,
63
+ "click-8": 0.02796139568090439,
64
+ "click-9": 0.031437840312719345,
65
+ "click-10": 0.031437840312719345,
66
+ "click-11": 0.08090898394584656,
67
+ "click-12": 0.11409995704889297,
68
+ "click-13": 0.10887493193149567,
69
+ "click-14": 0.17128431797027588,
70
+ "click-15": 0.05648357421159744,
71
+ "click-16": 0.16344064474105835
72
+ },
73
+ "choice": "click-14",
74
+ "effort": "low",
75
+ "executed_layers": 16,
76
+ "prompt_tokens": 383,
77
+ "logits": [
78
+ -0.158203125,
79
+ -0.353515625,
80
+ 2.234375,
81
+ 1.140625,
82
+ 0.39453125,
83
+ 1.8125,
84
+ 1.3515625,
85
+ 1.203125,
86
+ 1.3203125,
87
+ 1.3203125,
88
+ 2.265625,
89
+ 2.609375,
90
+ 2.5625,
91
+ 3.015625,
92
+ 1.90625,
93
+ 2.96875
94
+ ],
95
+ "projection": "candidate_rows",
96
+ "calibrated": false
97
+ },
98
+ {
99
+ "id": "example-browser",
100
+ "type": "choice",
101
+ "probabilities": {
102
+ "click-1": 0.0001901919167721644,
103
+ "click-2": 0.00011535723751876503,
104
+ "click-3": 0.00012279713700991124,
105
+ "click-4": 0.0001901919167721644,
106
+ "click-5": 9.563451021676883e-05,
107
+ "click-6": 8.984030864667147e-05,
108
+ "click-7": 5.4490898037329316e-05,
109
+ "click-8": 0.0001391473924741149,
110
+ "click-9": 0.0005503385909833014,
111
+ "click-10": 0.0001391473924741149,
112
+ "click-11": 0.0024664464872330427,
113
+ "click-12": 0.9950355291366577,
114
+ "click-13": 0.00033379721571691334,
115
+ "click-14": 0.00017866877897176892,
116
+ "click-15": 0.00010836809815373272,
117
+ "click-16": 0.0001901919167721644
118
+ },
119
+ "choice": "click-12",
120
+ "effort": "high",
121
+ "executed_layers": 32,
122
+ "prompt_tokens": 383,
123
+ "logits": [
124
+ 12.4375,
125
+ 11.9375,
126
+ 12.0,
127
+ 12.4375,
128
+ 11.75,
129
+ 11.6875,
130
+ 11.1875,
131
+ 12.125,
132
+ 13.5,
133
+ 12.125,
134
+ 15.0,
135
+ 21.0,
136
+ 13.0,
137
+ 12.375,
138
+ 11.875,
139
+ 12.4375
140
+ ],
141
+ "projection": "full_head",
142
+ "calibrated": false
143
+ }
144
+ ],
145
+ "text_smoke": {
146
+ "low": {
147
+ "text": "<think>nesssss\u5730\u4e2d\u56fd\u5bb6\u5730...\u2026sX\u5d07\u5cf0\u5cf0...\u2026",
148
+ "token_ids": [
149
+ 248068,
150
+ 2022,
151
+ 82,
152
+ 753,
153
+ 95852,
154
+ 106947,
155
+ 95852,
156
+ 1076,
157
+ 1873,
158
+ 82,
159
+ 55,
160
+ 98390,
161
+ 97462,
162
+ 97462,
163
+ 1076,
164
+ 1873
165
+ ],
166
+ "effort": "low",
167
+ "executed_layers_per_token": 16,
168
+ "finish_reason": "length",
169
+ "prompt_tokens": 28
170
+ },
171
+ "high": {
172
+ "text": "red shoes\n",
173
+ "token_ids": [
174
+ 1114,
175
+ 14850,
176
+ 248046,
177
+ 198,
178
+ 248044
179
+ ],
180
+ "effort": "high",
181
+ "executed_layers_per_token": 32,
182
+ "finish_reason": "eos",
183
+ "prompt_tokens": 28
184
+ }
185
+ },
186
+ "text_scope": "Execution smoke only; not TYPE accuracy or speed validation"
187
+ }
9B-3000/evaluation/weight-arithmetic.json ADDED
@@ -0,0 +1,908 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "status": "passed",
3
+ "base_mtp_keys_not_loaded_by_transformers": [
4
+ "mtp.fc.weight",
5
+ "mtp.layers.0.input_layernorm.weight",
6
+ "mtp.layers.0.mlp.down_proj.weight",
7
+ "mtp.layers.0.mlp.gate_proj.weight",
8
+ "mtp.layers.0.mlp.up_proj.weight",
9
+ "mtp.layers.0.post_attention_layernorm.weight",
10
+ "mtp.layers.0.self_attn.k_norm.weight",
11
+ "mtp.layers.0.self_attn.k_proj.weight",
12
+ "mtp.layers.0.self_attn.o_proj.weight",
13
+ "mtp.layers.0.self_attn.q_norm.weight",
14
+ "mtp.layers.0.self_attn.q_proj.weight",
15
+ "mtp.layers.0.self_attn.v_proj.weight",
16
+ "mtp.norm.weight",
17
+ "mtp.pre_fc_norm_embedding.weight",
18
+ "mtp.pre_fc_norm_hidden.weight"
19
+ ],
20
+ "size": "9B",
21
+ "targeted_weight_matrices": 176,
22
+ "adapter_tensors": 352,
23
+ "all_targeted_weights_exact": true,
24
+ "scope": "FP32 LoRA arithmetic followed by BF16 rounding; not forward/probability equivalence",
25
+ "adapter_sha256": "14dd3cbaa26ced2ba5237dfff3aad93af4350dd9a43b869c7ce62cc9dd38d03b",
26
+ "checks": [
27
+ {
28
+ "weight": "model.language_model.layers.0.linear_attn.in_proj_qkv.weight",
29
+ "equal": true,
30
+ "max_abs_difference": 0.0
31
+ },
32
+ {
33
+ "weight": "model.language_model.layers.0.linear_attn.out_proj.weight",
34
+ "equal": true,
35
+ "max_abs_difference": 0.0
36
+ },
37
+ {
38
+ "weight": "model.language_model.layers.0.mlp.down_proj.weight",
39
+ "equal": true,
40
+ "max_abs_difference": 0.0
41
+ },
42
+ {
43
+ "weight": "model.language_model.layers.0.mlp.gate_proj.weight",
44
+ "equal": true,
45
+ "max_abs_difference": 0.0
46
+ },
47
+ {
48
+ "weight": "model.language_model.layers.0.mlp.up_proj.weight",
49
+ "equal": true,
50
+ "max_abs_difference": 0.0
51
+ },
52
+ {
53
+ "weight": "model.language_model.layers.1.linear_attn.in_proj_qkv.weight",
54
+ "equal": true,
55
+ "max_abs_difference": 0.0
56
+ },
57
+ {
58
+ "weight": "model.language_model.layers.1.linear_attn.out_proj.weight",
59
+ "equal": true,
60
+ "max_abs_difference": 0.0
61
+ },
62
+ {
63
+ "weight": "model.language_model.layers.1.mlp.down_proj.weight",
64
+ "equal": true,
65
+ "max_abs_difference": 0.0
66
+ },
67
+ {
68
+ "weight": "model.language_model.layers.1.mlp.gate_proj.weight",
69
+ "equal": true,
70
+ "max_abs_difference": 0.0
71
+ },
72
+ {
73
+ "weight": "model.language_model.layers.1.mlp.up_proj.weight",
74
+ "equal": true,
75
+ "max_abs_difference": 0.0
76
+ },
77
+ {
78
+ "weight": "model.language_model.layers.10.linear_attn.in_proj_qkv.weight",
79
+ "equal": true,
80
+ "max_abs_difference": 0.0
81
+ },
82
+ {
83
+ "weight": "model.language_model.layers.10.linear_attn.out_proj.weight",
84
+ "equal": true,
85
+ "max_abs_difference": 0.0
86
+ },
87
+ {
88
+ "weight": "model.language_model.layers.10.mlp.down_proj.weight",
89
+ "equal": true,
90
+ "max_abs_difference": 0.0
91
+ },
92
+ {
93
+ "weight": "model.language_model.layers.10.mlp.gate_proj.weight",
94
+ "equal": true,
95
+ "max_abs_difference": 0.0
96
+ },
97
+ {
98
+ "weight": "model.language_model.layers.10.mlp.up_proj.weight",
99
+ "equal": true,
100
+ "max_abs_difference": 0.0
101
+ },
102
+ {
103
+ "weight": "model.language_model.layers.11.mlp.down_proj.weight",
104
+ "equal": true,
105
+ "max_abs_difference": 0.0
106
+ },
107
+ {
108
+ "weight": "model.language_model.layers.11.mlp.gate_proj.weight",
109
+ "equal": true,
110
+ "max_abs_difference": 0.0
111
+ },
112
+ {
113
+ "weight": "model.language_model.layers.11.mlp.up_proj.weight",
114
+ "equal": true,
115
+ "max_abs_difference": 0.0
116
+ },
117
+ {
118
+ "weight": "model.language_model.layers.11.self_attn.k_proj.weight",
119
+ "equal": true,
120
+ "max_abs_difference": 0.0
121
+ },
122
+ {
123
+ "weight": "model.language_model.layers.11.self_attn.o_proj.weight",
124
+ "equal": true,
125
+ "max_abs_difference": 0.0
126
+ },
127
+ {
128
+ "weight": "model.language_model.layers.11.self_attn.q_proj.weight",
129
+ "equal": true,
130
+ "max_abs_difference": 0.0
131
+ },
132
+ {
133
+ "weight": "model.language_model.layers.11.self_attn.v_proj.weight",
134
+ "equal": true,
135
+ "max_abs_difference": 0.0
136
+ },
137
+ {
138
+ "weight": "model.language_model.layers.12.linear_attn.in_proj_qkv.weight",
139
+ "equal": true,
140
+ "max_abs_difference": 0.0
141
+ },
142
+ {
143
+ "weight": "model.language_model.layers.12.linear_attn.out_proj.weight",
144
+ "equal": true,
145
+ "max_abs_difference": 0.0
146
+ },
147
+ {
148
+ "weight": "model.language_model.layers.12.mlp.down_proj.weight",
149
+ "equal": true,
150
+ "max_abs_difference": 0.0
151
+ },
152
+ {
153
+ "weight": "model.language_model.layers.12.mlp.gate_proj.weight",
154
+ "equal": true,
155
+ "max_abs_difference": 0.0
156
+ },
157
+ {
158
+ "weight": "model.language_model.layers.12.mlp.up_proj.weight",
159
+ "equal": true,
160
+ "max_abs_difference": 0.0
161
+ },
162
+ {
163
+ "weight": "model.language_model.layers.13.linear_attn.in_proj_qkv.weight",
164
+ "equal": true,
165
+ "max_abs_difference": 0.0
166
+ },
167
+ {
168
+ "weight": "model.language_model.layers.13.linear_attn.out_proj.weight",
169
+ "equal": true,
170
+ "max_abs_difference": 0.0
171
+ },
172
+ {
173
+ "weight": "model.language_model.layers.13.mlp.down_proj.weight",
174
+ "equal": true,
175
+ "max_abs_difference": 0.0
176
+ },
177
+ {
178
+ "weight": "model.language_model.layers.13.mlp.gate_proj.weight",
179
+ "equal": true,
180
+ "max_abs_difference": 0.0
181
+ },
182
+ {
183
+ "weight": "model.language_model.layers.13.mlp.up_proj.weight",
184
+ "equal": true,
185
+ "max_abs_difference": 0.0
186
+ },
187
+ {
188
+ "weight": "model.language_model.layers.14.linear_attn.in_proj_qkv.weight",
189
+ "equal": true,
190
+ "max_abs_difference": 0.0
191
+ },
192
+ {
193
+ "weight": "model.language_model.layers.14.linear_attn.out_proj.weight",
194
+ "equal": true,
195
+ "max_abs_difference": 0.0
196
+ },
197
+ {
198
+ "weight": "model.language_model.layers.14.mlp.down_proj.weight",
199
+ "equal": true,
200
+ "max_abs_difference": 0.0
201
+ },
202
+ {
203
+ "weight": "model.language_model.layers.14.mlp.gate_proj.weight",
204
+ "equal": true,
205
+ "max_abs_difference": 0.0
206
+ },
207
+ {
208
+ "weight": "model.language_model.layers.14.mlp.up_proj.weight",
209
+ "equal": true,
210
+ "max_abs_difference": 0.0
211
+ },
212
+ {
213
+ "weight": "model.language_model.layers.15.mlp.down_proj.weight",
214
+ "equal": true,
215
+ "max_abs_difference": 0.0
216
+ },
217
+ {
218
+ "weight": "model.language_model.layers.15.mlp.gate_proj.weight",
219
+ "equal": true,
220
+ "max_abs_difference": 0.0
221
+ },
222
+ {
223
+ "weight": "model.language_model.layers.15.mlp.up_proj.weight",
224
+ "equal": true,
225
+ "max_abs_difference": 0.0
226
+ },
227
+ {
228
+ "weight": "model.language_model.layers.15.self_attn.k_proj.weight",
229
+ "equal": true,
230
+ "max_abs_difference": 0.0
231
+ },
232
+ {
233
+ "weight": "model.language_model.layers.15.self_attn.o_proj.weight",
234
+ "equal": true,
235
+ "max_abs_difference": 0.0
236
+ },
237
+ {
238
+ "weight": "model.language_model.layers.15.self_attn.q_proj.weight",
239
+ "equal": true,
240
+ "max_abs_difference": 0.0
241
+ },
242
+ {
243
+ "weight": "model.language_model.layers.15.self_attn.v_proj.weight",
244
+ "equal": true,
245
+ "max_abs_difference": 0.0
246
+ },
247
+ {
248
+ "weight": "model.language_model.layers.16.linear_attn.in_proj_qkv.weight",
249
+ "equal": true,
250
+ "max_abs_difference": 0.0
251
+ },
252
+ {
253
+ "weight": "model.language_model.layers.16.linear_attn.out_proj.weight",
254
+ "equal": true,
255
+ "max_abs_difference": 0.0
256
+ },
257
+ {
258
+ "weight": "model.language_model.layers.16.mlp.down_proj.weight",
259
+ "equal": true,
260
+ "max_abs_difference": 0.0
261
+ },
262
+ {
263
+ "weight": "model.language_model.layers.16.mlp.gate_proj.weight",
264
+ "equal": true,
265
+ "max_abs_difference": 0.0
266
+ },
267
+ {
268
+ "weight": "model.language_model.layers.16.mlp.up_proj.weight",
269
+ "equal": true,
270
+ "max_abs_difference": 0.0
271
+ },
272
+ {
273
+ "weight": "model.language_model.layers.17.linear_attn.in_proj_qkv.weight",
274
+ "equal": true,
275
+ "max_abs_difference": 0.0
276
+ },
277
+ {
278
+ "weight": "model.language_model.layers.17.linear_attn.out_proj.weight",
279
+ "equal": true,
280
+ "max_abs_difference": 0.0
281
+ },
282
+ {
283
+ "weight": "model.language_model.layers.17.mlp.down_proj.weight",
284
+ "equal": true,
285
+ "max_abs_difference": 0.0
286
+ },
287
+ {
288
+ "weight": "model.language_model.layers.17.mlp.gate_proj.weight",
289
+ "equal": true,
290
+ "max_abs_difference": 0.0
291
+ },
292
+ {
293
+ "weight": "model.language_model.layers.17.mlp.up_proj.weight",
294
+ "equal": true,
295
+ "max_abs_difference": 0.0
296
+ },
297
+ {
298
+ "weight": "model.language_model.layers.18.linear_attn.in_proj_qkv.weight",
299
+ "equal": true,
300
+ "max_abs_difference": 0.0
301
+ },
302
+ {
303
+ "weight": "model.language_model.layers.18.linear_attn.out_proj.weight",
304
+ "equal": true,
305
+ "max_abs_difference": 0.0
306
+ },
307
+ {
308
+ "weight": "model.language_model.layers.18.mlp.down_proj.weight",
309
+ "equal": true,
310
+ "max_abs_difference": 0.0
311
+ },
312
+ {
313
+ "weight": "model.language_model.layers.18.mlp.gate_proj.weight",
314
+ "equal": true,
315
+ "max_abs_difference": 0.0
316
+ },
317
+ {
318
+ "weight": "model.language_model.layers.18.mlp.up_proj.weight",
319
+ "equal": true,
320
+ "max_abs_difference": 0.0
321
+ },
322
+ {
323
+ "weight": "model.language_model.layers.19.mlp.down_proj.weight",
324
+ "equal": true,
325
+ "max_abs_difference": 0.0
326
+ },
327
+ {
328
+ "weight": "model.language_model.layers.19.mlp.gate_proj.weight",
329
+ "equal": true,
330
+ "max_abs_difference": 0.0
331
+ },
332
+ {
333
+ "weight": "model.language_model.layers.19.mlp.up_proj.weight",
334
+ "equal": true,
335
+ "max_abs_difference": 0.0
336
+ },
337
+ {
338
+ "weight": "model.language_model.layers.19.self_attn.k_proj.weight",
339
+ "equal": true,
340
+ "max_abs_difference": 0.0
341
+ },
342
+ {
343
+ "weight": "model.language_model.layers.19.self_attn.o_proj.weight",
344
+ "equal": true,
345
+ "max_abs_difference": 0.0
346
+ },
347
+ {
348
+ "weight": "model.language_model.layers.19.self_attn.q_proj.weight",
349
+ "equal": true,
350
+ "max_abs_difference": 0.0
351
+ },
352
+ {
353
+ "weight": "model.language_model.layers.19.self_attn.v_proj.weight",
354
+ "equal": true,
355
+ "max_abs_difference": 0.0
356
+ },
357
+ {
358
+ "weight": "model.language_model.layers.2.linear_attn.in_proj_qkv.weight",
359
+ "equal": true,
360
+ "max_abs_difference": 0.0
361
+ },
362
+ {
363
+ "weight": "model.language_model.layers.2.linear_attn.out_proj.weight",
364
+ "equal": true,
365
+ "max_abs_difference": 0.0
366
+ },
367
+ {
368
+ "weight": "model.language_model.layers.2.mlp.down_proj.weight",
369
+ "equal": true,
370
+ "max_abs_difference": 0.0
371
+ },
372
+ {
373
+ "weight": "model.language_model.layers.2.mlp.gate_proj.weight",
374
+ "equal": true,
375
+ "max_abs_difference": 0.0
376
+ },
377
+ {
378
+ "weight": "model.language_model.layers.2.mlp.up_proj.weight",
379
+ "equal": true,
380
+ "max_abs_difference": 0.0
381
+ },
382
+ {
383
+ "weight": "model.language_model.layers.20.linear_attn.in_proj_qkv.weight",
384
+ "equal": true,
385
+ "max_abs_difference": 0.0
386
+ },
387
+ {
388
+ "weight": "model.language_model.layers.20.linear_attn.out_proj.weight",
389
+ "equal": true,
390
+ "max_abs_difference": 0.0
391
+ },
392
+ {
393
+ "weight": "model.language_model.layers.20.mlp.down_proj.weight",
394
+ "equal": true,
395
+ "max_abs_difference": 0.0
396
+ },
397
+ {
398
+ "weight": "model.language_model.layers.20.mlp.gate_proj.weight",
399
+ "equal": true,
400
+ "max_abs_difference": 0.0
401
+ },
402
+ {
403
+ "weight": "model.language_model.layers.20.mlp.up_proj.weight",
404
+ "equal": true,
405
+ "max_abs_difference": 0.0
406
+ },
407
+ {
408
+ "weight": "model.language_model.layers.21.linear_attn.in_proj_qkv.weight",
409
+ "equal": true,
410
+ "max_abs_difference": 0.0
411
+ },
412
+ {
413
+ "weight": "model.language_model.layers.21.linear_attn.out_proj.weight",
414
+ "equal": true,
415
+ "max_abs_difference": 0.0
416
+ },
417
+ {
418
+ "weight": "model.language_model.layers.21.mlp.down_proj.weight",
419
+ "equal": true,
420
+ "max_abs_difference": 0.0
421
+ },
422
+ {
423
+ "weight": "model.language_model.layers.21.mlp.gate_proj.weight",
424
+ "equal": true,
425
+ "max_abs_difference": 0.0
426
+ },
427
+ {
428
+ "weight": "model.language_model.layers.21.mlp.up_proj.weight",
429
+ "equal": true,
430
+ "max_abs_difference": 0.0
431
+ },
432
+ {
433
+ "weight": "model.language_model.layers.22.linear_attn.in_proj_qkv.weight",
434
+ "equal": true,
435
+ "max_abs_difference": 0.0
436
+ },
437
+ {
438
+ "weight": "model.language_model.layers.22.linear_attn.out_proj.weight",
439
+ "equal": true,
440
+ "max_abs_difference": 0.0
441
+ },
442
+ {
443
+ "weight": "model.language_model.layers.22.mlp.down_proj.weight",
444
+ "equal": true,
445
+ "max_abs_difference": 0.0
446
+ },
447
+ {
448
+ "weight": "model.language_model.layers.22.mlp.gate_proj.weight",
449
+ "equal": true,
450
+ "max_abs_difference": 0.0
451
+ },
452
+ {
453
+ "weight": "model.language_model.layers.22.mlp.up_proj.weight",
454
+ "equal": true,
455
+ "max_abs_difference": 0.0
456
+ },
457
+ {
458
+ "weight": "model.language_model.layers.23.mlp.down_proj.weight",
459
+ "equal": true,
460
+ "max_abs_difference": 0.0
461
+ },
462
+ {
463
+ "weight": "model.language_model.layers.23.mlp.gate_proj.weight",
464
+ "equal": true,
465
+ "max_abs_difference": 0.0
466
+ },
467
+ {
468
+ "weight": "model.language_model.layers.23.mlp.up_proj.weight",
469
+ "equal": true,
470
+ "max_abs_difference": 0.0
471
+ },
472
+ {
473
+ "weight": "model.language_model.layers.23.self_attn.k_proj.weight",
474
+ "equal": true,
475
+ "max_abs_difference": 0.0
476
+ },
477
+ {
478
+ "weight": "model.language_model.layers.23.self_attn.o_proj.weight",
479
+ "equal": true,
480
+ "max_abs_difference": 0.0
481
+ },
482
+ {
483
+ "weight": "model.language_model.layers.23.self_attn.q_proj.weight",
484
+ "equal": true,
485
+ "max_abs_difference": 0.0
486
+ },
487
+ {
488
+ "weight": "model.language_model.layers.23.self_attn.v_proj.weight",
489
+ "equal": true,
490
+ "max_abs_difference": 0.0
491
+ },
492
+ {
493
+ "weight": "model.language_model.layers.24.linear_attn.in_proj_qkv.weight",
494
+ "equal": true,
495
+ "max_abs_difference": 0.0
496
+ },
497
+ {
498
+ "weight": "model.language_model.layers.24.linear_attn.out_proj.weight",
499
+ "equal": true,
500
+ "max_abs_difference": 0.0
501
+ },
502
+ {
503
+ "weight": "model.language_model.layers.24.mlp.down_proj.weight",
504
+ "equal": true,
505
+ "max_abs_difference": 0.0
506
+ },
507
+ {
508
+ "weight": "model.language_model.layers.24.mlp.gate_proj.weight",
509
+ "equal": true,
510
+ "max_abs_difference": 0.0
511
+ },
512
+ {
513
+ "weight": "model.language_model.layers.24.mlp.up_proj.weight",
514
+ "equal": true,
515
+ "max_abs_difference": 0.0
516
+ },
517
+ {
518
+ "weight": "model.language_model.layers.25.linear_attn.in_proj_qkv.weight",
519
+ "equal": true,
520
+ "max_abs_difference": 0.0
521
+ },
522
+ {
523
+ "weight": "model.language_model.layers.25.linear_attn.out_proj.weight",
524
+ "equal": true,
525
+ "max_abs_difference": 0.0
526
+ },
527
+ {
528
+ "weight": "model.language_model.layers.25.mlp.down_proj.weight",
529
+ "equal": true,
530
+ "max_abs_difference": 0.0
531
+ },
532
+ {
533
+ "weight": "model.language_model.layers.25.mlp.gate_proj.weight",
534
+ "equal": true,
535
+ "max_abs_difference": 0.0
536
+ },
537
+ {
538
+ "weight": "model.language_model.layers.25.mlp.up_proj.weight",
539
+ "equal": true,
540
+ "max_abs_difference": 0.0
541
+ },
542
+ {
543
+ "weight": "model.language_model.layers.26.linear_attn.in_proj_qkv.weight",
544
+ "equal": true,
545
+ "max_abs_difference": 0.0
546
+ },
547
+ {
548
+ "weight": "model.language_model.layers.26.linear_attn.out_proj.weight",
549
+ "equal": true,
550
+ "max_abs_difference": 0.0
551
+ },
552
+ {
553
+ "weight": "model.language_model.layers.26.mlp.down_proj.weight",
554
+ "equal": true,
555
+ "max_abs_difference": 0.0
556
+ },
557
+ {
558
+ "weight": "model.language_model.layers.26.mlp.gate_proj.weight",
559
+ "equal": true,
560
+ "max_abs_difference": 0.0
561
+ },
562
+ {
563
+ "weight": "model.language_model.layers.26.mlp.up_proj.weight",
564
+ "equal": true,
565
+ "max_abs_difference": 0.0
566
+ },
567
+ {
568
+ "weight": "model.language_model.layers.27.mlp.down_proj.weight",
569
+ "equal": true,
570
+ "max_abs_difference": 0.0
571
+ },
572
+ {
573
+ "weight": "model.language_model.layers.27.mlp.gate_proj.weight",
574
+ "equal": true,
575
+ "max_abs_difference": 0.0
576
+ },
577
+ {
578
+ "weight": "model.language_model.layers.27.mlp.up_proj.weight",
579
+ "equal": true,
580
+ "max_abs_difference": 0.0
581
+ },
582
+ {
583
+ "weight": "model.language_model.layers.27.self_attn.k_proj.weight",
584
+ "equal": true,
585
+ "max_abs_difference": 0.0
586
+ },
587
+ {
588
+ "weight": "model.language_model.layers.27.self_attn.o_proj.weight",
589
+ "equal": true,
590
+ "max_abs_difference": 0.0
591
+ },
592
+ {
593
+ "weight": "model.language_model.layers.27.self_attn.q_proj.weight",
594
+ "equal": true,
595
+ "max_abs_difference": 0.0
596
+ },
597
+ {
598
+ "weight": "model.language_model.layers.27.self_attn.v_proj.weight",
599
+ "equal": true,
600
+ "max_abs_difference": 0.0
601
+ },
602
+ {
603
+ "weight": "model.language_model.layers.28.linear_attn.in_proj_qkv.weight",
604
+ "equal": true,
605
+ "max_abs_difference": 0.0
606
+ },
607
+ {
608
+ "weight": "model.language_model.layers.28.linear_attn.out_proj.weight",
609
+ "equal": true,
610
+ "max_abs_difference": 0.0
611
+ },
612
+ {
613
+ "weight": "model.language_model.layers.28.mlp.down_proj.weight",
614
+ "equal": true,
615
+ "max_abs_difference": 0.0
616
+ },
617
+ {
618
+ "weight": "model.language_model.layers.28.mlp.gate_proj.weight",
619
+ "equal": true,
620
+ "max_abs_difference": 0.0
621
+ },
622
+ {
623
+ "weight": "model.language_model.layers.28.mlp.up_proj.weight",
624
+ "equal": true,
625
+ "max_abs_difference": 0.0
626
+ },
627
+ {
628
+ "weight": "model.language_model.layers.29.linear_attn.in_proj_qkv.weight",
629
+ "equal": true,
630
+ "max_abs_difference": 0.0
631
+ },
632
+ {
633
+ "weight": "model.language_model.layers.29.linear_attn.out_proj.weight",
634
+ "equal": true,
635
+ "max_abs_difference": 0.0
636
+ },
637
+ {
638
+ "weight": "model.language_model.layers.29.mlp.down_proj.weight",
639
+ "equal": true,
640
+ "max_abs_difference": 0.0
641
+ },
642
+ {
643
+ "weight": "model.language_model.layers.29.mlp.gate_proj.weight",
644
+ "equal": true,
645
+ "max_abs_difference": 0.0
646
+ },
647
+ {
648
+ "weight": "model.language_model.layers.29.mlp.up_proj.weight",
649
+ "equal": true,
650
+ "max_abs_difference": 0.0
651
+ },
652
+ {
653
+ "weight": "model.language_model.layers.3.mlp.down_proj.weight",
654
+ "equal": true,
655
+ "max_abs_difference": 0.0
656
+ },
657
+ {
658
+ "weight": "model.language_model.layers.3.mlp.gate_proj.weight",
659
+ "equal": true,
660
+ "max_abs_difference": 0.0
661
+ },
662
+ {
663
+ "weight": "model.language_model.layers.3.mlp.up_proj.weight",
664
+ "equal": true,
665
+ "max_abs_difference": 0.0
666
+ },
667
+ {
668
+ "weight": "model.language_model.layers.3.self_attn.k_proj.weight",
669
+ "equal": true,
670
+ "max_abs_difference": 0.0
671
+ },
672
+ {
673
+ "weight": "model.language_model.layers.3.self_attn.o_proj.weight",
674
+ "equal": true,
675
+ "max_abs_difference": 0.0
676
+ },
677
+ {
678
+ "weight": "model.language_model.layers.3.self_attn.q_proj.weight",
679
+ "equal": true,
680
+ "max_abs_difference": 0.0
681
+ },
682
+ {
683
+ "weight": "model.language_model.layers.3.self_attn.v_proj.weight",
684
+ "equal": true,
685
+ "max_abs_difference": 0.0
686
+ },
687
+ {
688
+ "weight": "model.language_model.layers.30.linear_attn.in_proj_qkv.weight",
689
+ "equal": true,
690
+ "max_abs_difference": 0.0
691
+ },
692
+ {
693
+ "weight": "model.language_model.layers.30.linear_attn.out_proj.weight",
694
+ "equal": true,
695
+ "max_abs_difference": 0.0
696
+ },
697
+ {
698
+ "weight": "model.language_model.layers.30.mlp.down_proj.weight",
699
+ "equal": true,
700
+ "max_abs_difference": 0.0
701
+ },
702
+ {
703
+ "weight": "model.language_model.layers.30.mlp.gate_proj.weight",
704
+ "equal": true,
705
+ "max_abs_difference": 0.0
706
+ },
707
+ {
708
+ "weight": "model.language_model.layers.30.mlp.up_proj.weight",
709
+ "equal": true,
710
+ "max_abs_difference": 0.0
711
+ },
712
+ {
713
+ "weight": "model.language_model.layers.31.mlp.down_proj.weight",
714
+ "equal": true,
715
+ "max_abs_difference": 0.0
716
+ },
717
+ {
718
+ "weight": "model.language_model.layers.31.mlp.gate_proj.weight",
719
+ "equal": true,
720
+ "max_abs_difference": 0.0
721
+ },
722
+ {
723
+ "weight": "model.language_model.layers.31.mlp.up_proj.weight",
724
+ "equal": true,
725
+ "max_abs_difference": 0.0
726
+ },
727
+ {
728
+ "weight": "model.language_model.layers.31.self_attn.k_proj.weight",
729
+ "equal": true,
730
+ "max_abs_difference": 0.0
731
+ },
732
+ {
733
+ "weight": "model.language_model.layers.31.self_attn.o_proj.weight",
734
+ "equal": true,
735
+ "max_abs_difference": 0.0
736
+ },
737
+ {
738
+ "weight": "model.language_model.layers.31.self_attn.q_proj.weight",
739
+ "equal": true,
740
+ "max_abs_difference": 0.0
741
+ },
742
+ {
743
+ "weight": "model.language_model.layers.31.self_attn.v_proj.weight",
744
+ "equal": true,
745
+ "max_abs_difference": 0.0
746
+ },
747
+ {
748
+ "weight": "model.language_model.layers.4.linear_attn.in_proj_qkv.weight",
749
+ "equal": true,
750
+ "max_abs_difference": 0.0
751
+ },
752
+ {
753
+ "weight": "model.language_model.layers.4.linear_attn.out_proj.weight",
754
+ "equal": true,
755
+ "max_abs_difference": 0.0
756
+ },
757
+ {
758
+ "weight": "model.language_model.layers.4.mlp.down_proj.weight",
759
+ "equal": true,
760
+ "max_abs_difference": 0.0
761
+ },
762
+ {
763
+ "weight": "model.language_model.layers.4.mlp.gate_proj.weight",
764
+ "equal": true,
765
+ "max_abs_difference": 0.0
766
+ },
767
+ {
768
+ "weight": "model.language_model.layers.4.mlp.up_proj.weight",
769
+ "equal": true,
770
+ "max_abs_difference": 0.0
771
+ },
772
+ {
773
+ "weight": "model.language_model.layers.5.linear_attn.in_proj_qkv.weight",
774
+ "equal": true,
775
+ "max_abs_difference": 0.0
776
+ },
777
+ {
778
+ "weight": "model.language_model.layers.5.linear_attn.out_proj.weight",
779
+ "equal": true,
780
+ "max_abs_difference": 0.0
781
+ },
782
+ {
783
+ "weight": "model.language_model.layers.5.mlp.down_proj.weight",
784
+ "equal": true,
785
+ "max_abs_difference": 0.0
786
+ },
787
+ {
788
+ "weight": "model.language_model.layers.5.mlp.gate_proj.weight",
789
+ "equal": true,
790
+ "max_abs_difference": 0.0
791
+ },
792
+ {
793
+ "weight": "model.language_model.layers.5.mlp.up_proj.weight",
794
+ "equal": true,
795
+ "max_abs_difference": 0.0
796
+ },
797
+ {
798
+ "weight": "model.language_model.layers.6.linear_attn.in_proj_qkv.weight",
799
+ "equal": true,
800
+ "max_abs_difference": 0.0
801
+ },
802
+ {
803
+ "weight": "model.language_model.layers.6.linear_attn.out_proj.weight",
804
+ "equal": true,
805
+ "max_abs_difference": 0.0
806
+ },
807
+ {
808
+ "weight": "model.language_model.layers.6.mlp.down_proj.weight",
809
+ "equal": true,
810
+ "max_abs_difference": 0.0
811
+ },
812
+ {
813
+ "weight": "model.language_model.layers.6.mlp.gate_proj.weight",
814
+ "equal": true,
815
+ "max_abs_difference": 0.0
816
+ },
817
+ {
818
+ "weight": "model.language_model.layers.6.mlp.up_proj.weight",
819
+ "equal": true,
820
+ "max_abs_difference": 0.0
821
+ },
822
+ {
823
+ "weight": "model.language_model.layers.7.mlp.down_proj.weight",
824
+ "equal": true,
825
+ "max_abs_difference": 0.0
826
+ },
827
+ {
828
+ "weight": "model.language_model.layers.7.mlp.gate_proj.weight",
829
+ "equal": true,
830
+ "max_abs_difference": 0.0
831
+ },
832
+ {
833
+ "weight": "model.language_model.layers.7.mlp.up_proj.weight",
834
+ "equal": true,
835
+ "max_abs_difference": 0.0
836
+ },
837
+ {
838
+ "weight": "model.language_model.layers.7.self_attn.k_proj.weight",
839
+ "equal": true,
840
+ "max_abs_difference": 0.0
841
+ },
842
+ {
843
+ "weight": "model.language_model.layers.7.self_attn.o_proj.weight",
844
+ "equal": true,
845
+ "max_abs_difference": 0.0
846
+ },
847
+ {
848
+ "weight": "model.language_model.layers.7.self_attn.q_proj.weight",
849
+ "equal": true,
850
+ "max_abs_difference": 0.0
851
+ },
852
+ {
853
+ "weight": "model.language_model.layers.7.self_attn.v_proj.weight",
854
+ "equal": true,
855
+ "max_abs_difference": 0.0
856
+ },
857
+ {
858
+ "weight": "model.language_model.layers.8.linear_attn.in_proj_qkv.weight",
859
+ "equal": true,
860
+ "max_abs_difference": 0.0
861
+ },
862
+ {
863
+ "weight": "model.language_model.layers.8.linear_attn.out_proj.weight",
864
+ "equal": true,
865
+ "max_abs_difference": 0.0
866
+ },
867
+ {
868
+ "weight": "model.language_model.layers.8.mlp.down_proj.weight",
869
+ "equal": true,
870
+ "max_abs_difference": 0.0
871
+ },
872
+ {
873
+ "weight": "model.language_model.layers.8.mlp.gate_proj.weight",
874
+ "equal": true,
875
+ "max_abs_difference": 0.0
876
+ },
877
+ {
878
+ "weight": "model.language_model.layers.8.mlp.up_proj.weight",
879
+ "equal": true,
880
+ "max_abs_difference": 0.0
881
+ },
882
+ {
883
+ "weight": "model.language_model.layers.9.linear_attn.in_proj_qkv.weight",
884
+ "equal": true,
885
+ "max_abs_difference": 0.0
886
+ },
887
+ {
888
+ "weight": "model.language_model.layers.9.linear_attn.out_proj.weight",
889
+ "equal": true,
890
+ "max_abs_difference": 0.0
891
+ },
892
+ {
893
+ "weight": "model.language_model.layers.9.mlp.down_proj.weight",
894
+ "equal": true,
895
+ "max_abs_difference": 0.0
896
+ },
897
+ {
898
+ "weight": "model.language_model.layers.9.mlp.gate_proj.weight",
899
+ "equal": true,
900
+ "max_abs_difference": 0.0
901
+ },
902
+ {
903
+ "weight": "model.language_model.layers.9.mlp.up_proj.weight",
904
+ "equal": true,
905
+ "max_abs_difference": 0.0
906
+ }
907
+ ]
908
+ }
9B-3000/examples.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Run against a local merged HF snapshot; no project-local dependencies."""
2
+
3
+ import argparse
4
+ import json
5
+
6
+ from openjet_runtime import OpenJet
7
+
8
+
9
+ def decision_examples():
10
+ binary = {
11
+ "id": "example-binary",
12
+ "group_id": "example-binary",
13
+ "primitive": "choice",
14
+ "state": "Order 731 has been delivered. The customer's message says thank you.",
15
+ "instructions": "Select the appropriate next workflow action.",
16
+ "criteria": [
17
+ {"id": "close", "description": "Close the resolved support ticket."},
18
+ {"id": "refund", "description": "Refund an undelivered order."},
19
+ ],
20
+ }
21
+ browser = {
22
+ "id": "example-browser",
23
+ "group_id": "example-browser",
24
+ "primitive": "choice",
25
+ "state": "A settings page has 16 visible buttons labeled Page 1 through Page 16.",
26
+ "instructions": "Navigate to Page 12 by choosing its matching button.",
27
+ "criteria": [
28
+ {"id": f"click-{i}", "description": f"Click the Page {i} button."}
29
+ for i in range(1, 17)
30
+ ],
31
+ }
32
+ return binary, browser
33
+
34
+
35
+ def main():
36
+ parser = argparse.ArgumentParser()
37
+ parser.add_argument("model", help="Local merged snapshot directory")
38
+ parser.add_argument("--device", default="cuda:0")
39
+ parser.add_argument("--dtype", choices=["float32", "bfloat16"], default="bfloat16")
40
+ parser.add_argument("--effort", choices=["low", "high", "both"], default="both")
41
+ parser.add_argument(
42
+ "--text", action="store_true", help="Also run slow TYPE reference"
43
+ )
44
+ args = parser.parse_args()
45
+ runtime = OpenJet.from_pretrained(args.model, args.device, args.dtype)
46
+ efforts = ("low", "high") if args.effort == "both" else (args.effort,)
47
+ for effort in efforts:
48
+ for request in decision_examples():
49
+ result = runtime.decide(request, effort)
50
+ print(json.dumps({"example": request["id"], **result}, ensure_ascii=False))
51
+ if args.text:
52
+ result = runtime.generate_text(
53
+ "Return only the literal text to type into a search box for 'red shoes'.",
54
+ effort=effort,
55
+ max_new_tokens=32,
56
+ )
57
+ print(json.dumps({"example": "browser-type", **result}, ensure_ascii=False))
58
+
59
+
60
+ if __name__ == "__main__":
61
+ main()
9B-3000/generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "eos_token_id": 248044,
4
+ "transformers_version": "5.16.1",
5
+ "use_cache": true
6
+ }
9B-3000/merge-provenance.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "base_id": "Qwen/Qwen3.5-9B",
3
+ "base_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
4
+ "checkpoint_step": 3000,
5
+ "adapter_sha256": "14dd3cbaa26ced2ba5237dfff3aad93af4350dd9a43b869c7ce62cc9dd38d03b",
6
+ "adapter_config_sha256": "a3d03e9dfd4a3895d3a163ae679f931d957633deda178370ece7ebc86a1515ab",
7
+ "official80_sha256": "b3374e82f0e605762d40ab6455449c9cb2d315804a175d1cda985cba9beded35",
8
+ "software": {
9
+ "torch": "2.8.0+cu128",
10
+ "transformers": "5.16.1",
11
+ "peft": "0.20.0"
12
+ },
13
+ "merge_arithmetic": "float32 CPU safe_merge then bfloat16 storage",
14
+ "inference_dtype": "bfloat16",
15
+ "attention": "sdpa",
16
+ "gpu": "NVIDIA RTX PRO 6000 Blackwell Server Edition"
17
+ }
9B-3000/merged-evaluation.json ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "scope": "80 fixed requests, both explicit efforts; merged-model comparison, not independent generalization evidence",
3
+ "checkpoint_step": 3000,
4
+ "base_id": "Qwen/Qwen3.5-9B",
5
+ "base_revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
6
+ "comparison": {
7
+ "passed": false,
8
+ "gate": "identical160_argmax_and_max_probability_delta_le_0.05",
9
+ "depths": {
10
+ "16": {
11
+ "before_correct": 63,
12
+ "after_correct": 63,
13
+ "changed_decisions": [],
14
+ "max_probability_abs_difference": 0.08810508251190186,
15
+ "mean_probability_abs_difference": 0.0019464968157012663,
16
+ "max_logit_abs_difference": 0.265625,
17
+ "mean_logit_abs_difference": 0.02963104248046875
18
+ },
19
+ "32": {
20
+ "before_correct": 68,
21
+ "after_correct": 68,
22
+ "changed_decisions": [],
23
+ "max_probability_abs_difference": 0.062176525592803955,
24
+ "mean_probability_abs_difference": 0.001304240933347387,
25
+ "max_logit_abs_difference": 0.25,
26
+ "mean_logit_abs_difference": 0.03828125
27
+ }
28
+ },
29
+ "before_sha256": "28412c70d8b456b35bb884a2fba4e85801b0135fc7957190927994a56d268a6f",
30
+ "after_sha256": "3f01a868d4fba91a8a1749df37a87f10f0874823eec5a978291c93231773c365",
31
+ "verified_at_unix": 1789984423.7235599
32
+ },
33
+ "runtime_validation": {
34
+ "status": "passed",
35
+ "decisions": 160,
36
+ "max_probability_delta": 0.0,
37
+ "no_jev_import": true,
38
+ "long_input_rejected": true,
39
+ "invalid_effort_rejected": true,
40
+ "text_scope": "Execution smoke only; not TYPE accuracy or speed validation",
41
+ "source_sha256": "70d686828090965063966dddac6d8454cf981c6614a406c1647617986e534c5d"
42
+ },
43
+ "decision_release": {
44
+ "passed": true,
45
+ "scope": "Independent BF16 merged variant, frozen80 decision parity; NOT a probability-equivalent replacement",
46
+ "post_observation_scope_amendment": true,
47
+ "original_numerical_gate_passed": false,
48
+ "original_gate": "identical160_argmax_and_max_probability_delta_le_0.05",
49
+ "original_comparison_sha256": "d2ea8a7af10f09fdfde166384ffb18fb5a19ebf1a1281c58cb72806a45878c41",
50
+ "decision_agreement": 160,
51
+ "total_decisions": 160,
52
+ "independent_questions": 80,
53
+ "probability_calibration_transfer_validated": false,
54
+ "automatic_routing_validated": false,
55
+ "required_followup": "Recalibrate all probability, rejection and routing thresholds; independently evaluate new tasks",
56
+ "depths": {
57
+ "16": {
58
+ "before_correct": 63,
59
+ "after_correct": 63,
60
+ "changed_decisions": [],
61
+ "max_probability_abs_difference": 0.08810508251190186,
62
+ "mean_probability_abs_difference": 0.0019464968157012663,
63
+ "max_logit_abs_difference": 0.265625,
64
+ "mean_logit_abs_difference": 0.02963104248046875
65
+ },
66
+ "32": {
67
+ "before_correct": 68,
68
+ "after_correct": 68,
69
+ "changed_decisions": [],
70
+ "max_probability_abs_difference": 0.062176525592803955,
71
+ "mean_probability_abs_difference": 0.001304240933347387,
72
+ "max_logit_abs_difference": 0.25,
73
+ "mean_logit_abs_difference": 0.03828125
74
+ }
75
+ },
76
+ "publication_requires": "Further portable-runtime160, weight arithmetic, full file hashes and fresh HF reload gates"
77
+ },
78
+ "reviewed_variant": {},
79
+ "decision_parity_passed": true,
80
+ "decision_agreement": 160,
81
+ "weight_arithmetic_status": "passed",
82
+ "raw_inputs_included": false
83
+ }
9B-3000/model-00001-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dd63614f1dc80dce2d83be3f3e69af1f8a0ebc8add9b8e0abf3910f563e44344
3
+ size 2034237568
9B-3000/model-00002-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3fe0ee3d29088f7f84ac7ba8c9d7562b91e6a31841c5b585c71779e618519e99
3
+ size 3999615808