Irfanuruchi commited on
Commit
717f343
·
verified ·
1 Parent(s): 5e8f5fa

Publish OpenVINO INT4 model

Browse files

OpenVINO 2026.4 INT4 release of the Llama-3.2-1B Computer Engineering model. Includes CPU, Intel iGPU and Intel AI Boost NPU benchmarks collected on IULinux.

.gitattributes CHANGED
@@ -33,3 +33,4 @@ 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
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: openvino
3
+ pipeline_tag: text-generation
4
+ base_model:
5
+ - Irfanuruchi/Llama-3.2-1B-Computer-Engineering-LLM
6
+ base_model_relation: quantized
7
+ language:
8
+ - en
9
+ license: llama3.2
10
+ tags:
11
+ - openvino
12
+ - openvino-genai
13
+ - int4
14
+ - computer-engineering
15
+ - llama-3.2
16
+ - intel
17
+ - npu
18
+ - iulinux
19
+ ---
20
+
21
+ # Llama-3.2-1B Computer Engineering - OpenVINO INT4
22
+
23
+ OpenVINO INT4 conversion of `Irfanuruchi/Llama-3.2-1B-Computer-Engineering-LLM`, a 1B-parameter model specialized for Computer Engineering.
24
+
25
+ The model was converted and tested on **IULinux** with OpenVINO 2026.4 across three Intel execution backends:
26
+
27
+ - Intel Core Ultra 9 275HX CPU
28
+ - Intel Graphics integrated GPU
29
+ - Intel AI Boost NPU
30
+
31
+ The resulting OpenVINO model directory is approximately **758 MB**.
32
+
33
+ ## Prompt format
34
+
35
+ This model works best as a completion-style Q/A model rather than as a general-purpose chat assistant.
36
+
37
+ Recommended format:
38
+
39
+ ```text
40
+ Q: <computer engineering question>
41
+ A:
42
+ ```
43
+
44
+ Example:
45
+
46
+ ```text
47
+ Q: Explain the purpose of CPU cache memory.
48
+ A:
49
+ ```
50
+
51
+ Recommended generation settings:
52
+
53
+ ```python
54
+ max_new_tokens = 200
55
+ temperature = 0.7
56
+ top_p = 0.9
57
+ do_sample = True
58
+ repetition_penalty = 1.1
59
+ ```
60
+
61
+ Short, direct technical questions generally work better than role-based conversational prompts.
62
+
63
+ ## Usage
64
+
65
+ Install OpenVINO GenAI:
66
+
67
+ ```bash
68
+ python -m pip install "openvino==2026.4" "openvino-genai==2026.4"
69
+ ```
70
+
71
+ Example:
72
+
73
+ ```python
74
+ import openvino_genai as ov_genai
75
+
76
+ model_path = "./Llama-3.2-1B-Computer-Engineering-OpenVINO-INT4"
77
+
78
+ # CPU, GPU, or NPU depending on available OpenVINO devices.
79
+ device = "CPU"
80
+
81
+ pipe = ov_genai.LLMPipeline(
82
+ model_path,
83
+ device,
84
+ )
85
+
86
+ config = ov_genai.GenerationConfig()
87
+
88
+ config.max_new_tokens = 200
89
+ config.do_sample = True
90
+ config.temperature = 0.7
91
+ config.top_p = 0.9
92
+ config.repetition_penalty = 1.1
93
+ config.apply_chat_template = False
94
+
95
+ question = "Explain the purpose of CPU cache memory."
96
+
97
+ prompt = f"""Q: {question}
98
+ A:"""
99
+
100
+ result = pipe.generate(
101
+ prompt,
102
+ config,
103
+ )
104
+
105
+ print(result)
106
+ ```
107
+
108
+ Available devices can be checked with:
109
+
110
+ ```python
111
+ import openvino as ov
112
+
113
+ core = ov.Core()
114
+ print(core.available_devices)
115
+ ```
116
+
117
+ On the IULinux test system used for this release:
118
+
119
+ ```text
120
+ ['CPU', 'GPU', 'NPU']
121
+ ```
122
+
123
+ ## Conversion
124
+
125
+ The parent model is a genuine BitsAndBytes INT8 checkpoint rather than a floating-point checkpoint carrying only quantization metadata.
126
+
127
+ Inspection of the parent model showed INT8 linear weights, SCB scaling tensors, and 112 `Linear8bitLt` modules.
128
+
129
+ The conversion path was:
130
+
131
+ ```text
132
+ meta-llama/Llama-3.2-1B
133
+ ↓
134
+ Computer Engineering fine-tuning
135
+ ↓
136
+ BitsAndBytes INT8 parent checkpoint
137
+ ↓
138
+ Dequantized dense FP16 representation
139
+ ↓
140
+ OpenVINO INT4 weight compression
141
+ ```
142
+
143
+ After dequantization, the intermediate checkpoint contained:
144
+
145
+ ```text
146
+ 146 FP16 tensors
147
+ 0 BitsAndBytes linear modules
148
+ 0 INT8 weight tensors
149
+ 0 SCB tensors
150
+ ```
151
+
152
+ The OpenVINO conversion used:
153
+
154
+ ```bash
155
+ optimum-cli export openvino \
156
+ --model ./source-dequant-fp16 \
157
+ --task text-generation-with-past \
158
+ --weight-format int4 \
159
+ --sym \
160
+ --ratio 1.0 \
161
+ --group-size 128 \
162
+ ./Llama-3.2-1B-Computer-Engineering-OpenVINO-INT4
163
+ ```
164
+
165
+ NNCF reported that all **112 ratio-defining layers** were compressed using:
166
+
167
+ ```text
168
+ INT4 symmetric
169
+ group size 128
170
+ ratio 1.0
171
+ ```
172
+
173
+ A non-ratio-defining component used INT8 asymmetric backup precision.
174
+
175
+ Because the parent model was already quantized, this model should not be described as a direct conversion from the original pre-quantization FP16 weights. The conversion includes a lossy INT8 → dense FP16 reconstruction before INT4 compression.
176
+
177
+ ## Size
178
+
179
+ Observed local sizes during conversion:
180
+
181
+ | Variant | Approximate size |
182
+ |---|---:|
183
+ | Dense FP16 | 2.4 GB |
184
+ | OpenVINO FP16 | 2.4 GB |
185
+ | OpenVINO INT8 | 1.2 GB |
186
+ | OpenVINO INT4 | 758 MB |
187
+
188
+ ## Benchmarks
189
+
190
+ Benchmarks were run on IULinux using the same model, prompt, and generation workload on all three devices.
191
+
192
+ ### System
193
+
194
+ | Component | Configuration |
195
+ |---|---|
196
+ | OS | IULinux 0.1 Development |
197
+ | Kernel | 7.0.0-31-generic |
198
+ | CPU | Intel Core Ultra 9 275HX |
199
+ | GPU | Intel Graphics (iGPU) |
200
+ | NPU | Intel AI Boost |
201
+ | OpenVINO | 2026.4 |
202
+ | OpenVINO GenAI | 2026.4 |
203
+ | Power profile | Performance |
204
+ | Power source | AC |
205
+
206
+ OpenVINO exposed:
207
+
208
+ ```text
209
+ CPU: Intel(R) Core(TM) Ultra 9 275HX
210
+ GPU: Intel(R) Graphics (iGPU)
211
+ NPU: Intel(R) AI Boost
212
+ ```
213
+
214
+ ### Method
215
+
216
+ Each backend used:
217
+
218
+ ```text
219
+ Prompt tokens: 26
220
+ Generated tokens: 128
221
+ Warm-up runs: 2
222
+ Measured runs: 5
223
+ do_sample: false
224
+ ignore_eos: true
225
+ ```
226
+
227
+ Benchmark prompt:
228
+
229
+ ```text
230
+ Q: Explain how CPU cache memory improves processor performance, including its relationship with RAM, latency, and memory locality.
231
+ A:
232
+ ```
233
+
234
+ `ignore_eos=True` was used so every backend performed the same 128-token generation workload.
235
+
236
+ Greedy decoding was used only for deterministic performance measurement. The recommended sampling configuration above should be used for normal model interaction.
237
+
238
+ ### Results
239
+
240
+ | Device | Pipeline load | TTFT | TPOT | Throughput |
241
+ |---|---:|---:|---:|---:|
242
+ | Intel Core Ultra 9 275HX | 382.59 ms | 51.57 ± 9.91 ms | 15.90 ± 0.74 ms/token | **62.98 ± 2.79 tok/s** |
243
+ | Intel Graphics iGPU | 1218.85 ms | 54.24 ± 1.77 ms | 15.98 ± 0.29 ms/token | **62.59 ± 1.14 tok/s** |
244
+ | Intel AI Boost NPU | 986.20 ms | 1147.08 ± 4.16 ms | 29.51 ± 0.10 ms/token | **33.89 ± 0.11 tok/s** |
245
+
246
+ On this specific 1B INT4 workload, the CPU and integrated GPU produced very similar generation throughput.
247
+
248
+ The NPU produced lower throughput and substantially higher TTFT in this configuration, but its measured runs were highly consistent.
249
+
250
+ No device-level power measurements were collected, so these results compare latency and throughput only and should not be interpreted as a power-efficiency comparison.
251
+
252
+ Results will vary with hardware, firmware, runtime versions, thermal conditions, power configuration, prompt length, and generation settings.
253
+
254
+ ## IULinux
255
+
256
+ The complete conversion and validation workflow was performed on **IULinux**.
257
+
258
+ The same IULinux installation exposed all three Intel OpenVINO backends:
259
+
260
+ ```text
261
+ CPU
262
+ GPU
263
+ NPU
264
+ ```
265
+
266
+ The Intel AI Boost NPU used the `intel_vpu` kernel driver together with the Intel NPU Level Zero userspace stack.
267
+
268
+ The integrated GPU used the existing `i915` kernel driver together with the Intel OpenCL compute runtime.
269
+
270
+ No NVIDIA driver modifications were required for this OpenVINO deployment.
271
+
272
+ The benchmark files and environment capture included in this repository record the runtime configuration used for the published results.
273
+
274
+ ## Quality checks
275
+
276
+ The parent model was initially tested using generic greedy prompts and showed significant repetition.
277
+
278
+ Testing against the original parent checkpoint showed that the model behaves substantially better using its intended Q/A completion format:
279
+
280
+ ```text
281
+ Q: <question>
282
+ A:
283
+ ```
284
+
285
+ The same prompt format was then tested on the OpenVINO variants.
286
+
287
+ Observed average repeated 4-gram ratios:
288
+
289
+ | Variant | Average repeated 4-gram ratio |
290
+ |---|---:|
291
+ | OpenVINO FP16 | 0.002 |
292
+ | OpenVINO INT8 | 0.000 |
293
+ | OpenVINO INT4 | 0.003 |
294
+
295
+ These repetition measurements are diagnostic checks rather than formal model-quality scores.
296
+
297
+ ## Files
298
+
299
+ The repository contains the OpenVINO model, tokenizer and detokenizer IR files, configuration files, benchmark data, environment information, and SHA-256 checksums.
300
+
301
+ Benchmark files are stored under:
302
+
303
+ ```text
304
+ benchmarks/
305
+ ```
306
+
307
+ The final benchmark contains both raw console output and machine-readable JSON.
308
+
309
+ ## Limitations
310
+
311
+ This is a specialized Computer Engineering completion model and is not intended to behave like a general-purpose conversational assistant.
312
+
313
+ Technical answers can contain factual errors and should be independently verified for critical engineering work.
314
+
315
+ The model may continue generating additional Q/A pairs after completing an answer. Reducing `max_new_tokens` can help control output length.
316
+
317
+ The INT4 model was derived from a previously quantized BitsAndBytes INT8 checkpoint. Quantization and dequantization are lossy operations, and the original pre-quantization precision cannot be reconstructed exactly.
318
+
319
+ The benchmark results apply only to the tested hardware and software configuration.
320
+
321
+ ## License
322
+
323
+ This model is governed by the Llama 3.2 Community License.
324
+
325
+ Use, modification, and redistribution must comply with the Llama 3.2 Community License and its associated requirements.
326
+
327
+ Llama 3.2 is licensed under the Llama 3.2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.
328
+
329
+ ## Parent model
330
+
331
+ `Irfanuruchi/Llama-3.2-1B-Computer-Engineering-LLM`
332
+
333
+ ## Citation
334
+
335
+ ```bibtex
336
+ @misc{uruchi2026llama32ceopenvino,
337
+ title = {Llama-3.2-1B-Computer-Engineering-OpenVINO-INT4},
338
+ author = {Irfanuruchi},
339
+ year = {2026},
340
+ publisher = {Hugging Face}
341
+ }
342
+ ```
SHA256SUMS.txt ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 6d76894816f64065359464c6a0cf3e00d3c63b38847a41ee3ae97f9a0d765ed7 ./benchmarks/benchmark_release.py
2
+ 2605216c8a29165dac1bd7e97158e72ca3981fdf70d3f30067ed424cefa388f6 ./benchmarks/final-release-benchmark.json
3
+ dbde37a822cb6e3a630a85b7f2d23ece5913c62f90071369cfc7e27d53b5700c ./benchmarks/final-release-benchmark.txt
4
+ d22e3353ee9116a01b3826ea3acb7236b1a50c08323d5c4e276fcc7ebf7d1f08 ./benchmarks/release-environment.txt
5
+ 3df7cf4aa6d95dd16f408e3e98ae49d049b13c9f9f89c3fad82bcaafb195400e ./config.json
6
+ 47f788591879f0622d5ab7299abc2e0a98d2e6954ab16054c7c3010c0263be0f ./generation_config.json
7
+ 89c5c47561f08b757faca9fec6500fd19b465baa0fd6a0a0ad381fbc491688f5 ./openvino_config.json
8
+ 0643181dd67c7f88a9fc3b6309ce4fe96433348ae83709c72fa100f6afca5a53 ./openvino_detokenizer.bin
9
+ 713125bebf179dc4d823b2c11d5416a28d2b25f75077ac79e09f3312387a79dc ./openvino_detokenizer.xml
10
+ c9feb7d66e0b698c79519b54a6281a787e59c87f08d46f4eb9c9202a13bf7779 ./openvino_model.bin
11
+ 9aecc65bb8adcb1a8ed5faef656ad42465cbe26bf40a34acc842144f4413fbc7 ./openvino_model.xml
12
+ e85dcd84b4ad36ae6104c68e063edb024f2ec32c3b74536324b5536df1f55cc8 ./openvino_tokenizer.bin
13
+ b6d59f076e45a4b179b0242ce518d2ea218e31b9949216a88d525a542ab56098 ./openvino_tokenizer.xml
14
+ 69e6c0c19c6b113c0bf230e987db6b14fc73877c18e7234b735deeeb9b470ee2 ./README.md
15
+ fcb449400c8ede301786f3f653d88a59208c716d857b3f78e2ebbb0425d9b0ce ./tokenizer_config.json
16
+ 6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b ./tokenizer.json
benchmarks/benchmark_release.py ADDED
@@ -0,0 +1,376 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import argparse
2
+ import gc
3
+ import json
4
+ import platform
5
+ import statistics
6
+ import subprocess
7
+ import time
8
+ from datetime import datetime
9
+ from pathlib import Path
10
+
11
+ import openvino as ov
12
+ import openvino_genai as ov_genai
13
+
14
+
15
+ MODEL = Path(
16
+ "./Llama-3.2-1B-Computer-Engineering-OpenVINO-INT4"
17
+ )
18
+
19
+ PROMPT_TEXT = """Q: Explain how CPU cache memory improves processor performance, including its relationship with RAM, latency, and memory locality.
20
+ A:"""
21
+
22
+ # OpenVINO GenAI returns DecodedResults with perf_metrics
23
+ # when generation input is a list.
24
+ PROMPT_BATCH = [PROMPT_TEXT]
25
+
26
+
27
+ def command_output(command):
28
+ try:
29
+ return subprocess.check_output(
30
+ command,
31
+ text=True,
32
+ stderr=subprocess.DEVNULL,
33
+ ).strip()
34
+ except Exception:
35
+ return "unknown"
36
+
37
+
38
+ def benchmark_device(device, warmups, iterations, tokens):
39
+ core = ov.Core()
40
+
41
+ full_name = core.get_property(
42
+ device,
43
+ "FULL_DEVICE_NAME",
44
+ )
45
+
46
+ print()
47
+ print("=" * 78)
48
+ print(f" DEVICE: {device}")
49
+ print(f" NAME: {full_name}")
50
+ print("=" * 78)
51
+
52
+ started = time.perf_counter()
53
+
54
+ pipe = ov_genai.LLMPipeline(
55
+ str(MODEL),
56
+ device,
57
+ )
58
+
59
+ load_ms = (
60
+ time.perf_counter() - started
61
+ ) * 1000
62
+
63
+ config = ov_genai.GenerationConfig()
64
+ config.max_new_tokens = tokens
65
+
66
+ # Force identical work on every device.
67
+ config.ignore_eos = True
68
+
69
+ # Deterministic benchmark path.
70
+ config.do_sample = False
71
+ config.apply_chat_template = False
72
+
73
+ encoded = pipe.get_tokenizer().encode(PROMPT_BATCH)
74
+ prompt_tokens = encoded.input_ids.get_shape()[1]
75
+
76
+ print(f"Pipeline load: {load_ms:.2f} ms")
77
+ print(f"Prompt tokens: {prompt_tokens}")
78
+ print(f"Forced output tokens: {tokens}")
79
+
80
+ print()
81
+ print("=== WARMUP ===")
82
+
83
+ for i in range(warmups):
84
+ pipe.generate(
85
+ PROMPT_BATCH,
86
+ config,
87
+ )
88
+
89
+ print(
90
+ f"Warmup {i + 1}/{warmups}: complete"
91
+ )
92
+
93
+ print()
94
+ print("=== MEASURED RUNS ===")
95
+
96
+ runs = []
97
+
98
+ for i in range(iterations):
99
+ result = pipe.generate(
100
+ PROMPT_BATCH,
101
+ config,
102
+ )
103
+
104
+ metrics = result.perf_metrics
105
+
106
+ run = {
107
+ "ttft_ms":
108
+ float(metrics.get_ttft().mean),
109
+
110
+ "tpot_ms_per_token":
111
+ float(metrics.get_tpot().mean),
112
+
113
+ "throughput_tokens_per_second":
114
+ float(metrics.get_throughput().mean),
115
+
116
+ "generated_tokens":
117
+ int(metrics.get_num_generated_tokens()),
118
+
119
+ "input_tokens":
120
+ int(metrics.get_num_input_tokens()),
121
+ }
122
+
123
+ runs.append(run)
124
+
125
+ print(
126
+ f"Run {i + 1}: "
127
+ f"TTFT={run['ttft_ms']:.2f} ms | "
128
+ f"TPOT={run['tpot_ms_per_token']:.2f} ms/token | "
129
+ f"Throughput="
130
+ f"{run['throughput_tokens_per_second']:.2f} tok/s"
131
+ )
132
+
133
+ def stats(key):
134
+ values = [run[key] for run in runs]
135
+
136
+ mean = statistics.mean(values)
137
+
138
+ std = (
139
+ statistics.stdev(values)
140
+ if len(values) > 1
141
+ else 0.0
142
+ )
143
+
144
+ return {
145
+ "mean": mean,
146
+ "std": std,
147
+ "min": min(values),
148
+ "max": max(values),
149
+ }
150
+
151
+ summary = {
152
+ "device": device,
153
+ "full_device_name": full_name,
154
+ "pipeline_load_ms": load_ms,
155
+ "prompt_tokens": prompt_tokens,
156
+ "forced_output_tokens": tokens,
157
+ "warmups": warmups,
158
+ "iterations": iterations,
159
+ "ttft_ms": stats("ttft_ms"),
160
+ "tpot_ms_per_token": stats(
161
+ "tpot_ms_per_token"
162
+ ),
163
+ "throughput_tokens_per_second": stats(
164
+ "throughput_tokens_per_second"
165
+ ),
166
+ "runs": runs,
167
+ }
168
+
169
+ print()
170
+ print("=== FINAL ===")
171
+
172
+ print(
173
+ f"TTFT: "
174
+ f"{summary['ttft_ms']['mean']:.2f} ± "
175
+ f"{summary['ttft_ms']['std']:.2f} ms"
176
+ )
177
+
178
+ print(
179
+ f"TPOT: "
180
+ f"{summary['tpot_ms_per_token']['mean']:.2f} ± "
181
+ f"{summary['tpot_ms_per_token']['std']:.2f} ms/token"
182
+ )
183
+
184
+ print(
185
+ f"Throughput: "
186
+ f"{summary['throughput_tokens_per_second']['mean']:.2f} ± "
187
+ f"{summary['throughput_tokens_per_second']['std']:.2f} tok/s"
188
+ )
189
+
190
+ del pipe
191
+ gc.collect()
192
+
193
+ return summary
194
+
195
+
196
+ def main():
197
+ parser = argparse.ArgumentParser()
198
+
199
+ parser.add_argument(
200
+ "--device",
201
+ choices=["CPU", "GPU", "NPU", "ALL"],
202
+ default="ALL",
203
+ )
204
+
205
+ parser.add_argument(
206
+ "--warmup",
207
+ type=int,
208
+ default=2,
209
+ )
210
+
211
+ parser.add_argument(
212
+ "--iterations",
213
+ type=int,
214
+ default=5,
215
+ )
216
+
217
+ parser.add_argument(
218
+ "--tokens",
219
+ type=int,
220
+ default=128,
221
+ )
222
+
223
+ args = parser.parse_args()
224
+
225
+ core = ov.Core()
226
+ available = core.available_devices
227
+
228
+ requested = (
229
+ ["CPU", "NPU", "GPU"]
230
+ if args.device == "ALL"
231
+ else [args.device]
232
+ )
233
+
234
+ selected = [
235
+ device
236
+ for device in requested
237
+ if device in available
238
+ ]
239
+
240
+ print("=" * 78)
241
+ print(" OPENVINO INT4 RELEASE BENCHMARK")
242
+ print("=" * 78)
243
+
244
+ print("Date:", datetime.now().astimezone().isoformat())
245
+ print("Model:", MODEL)
246
+ print("OpenVINO:", ov.__version__)
247
+
248
+ print(
249
+ "OpenVINO GenAI:",
250
+ getattr(
251
+ ov_genai,
252
+ "__version__",
253
+ "unknown",
254
+ ),
255
+ )
256
+
257
+ print("Available devices:", available)
258
+ print("Benchmark devices:", selected)
259
+
260
+ print(
261
+ "Power profile:",
262
+ command_output(
263
+ ["powerprofilesctl", "get"]
264
+ ),
265
+ )
266
+
267
+ print("Kernel:", platform.release())
268
+
269
+ print()
270
+ print("NOTE:")
271
+ print(
272
+ "Q:/A: prompt format is used because this model "
273
+ "is a completion-style Computer Engineering model."
274
+ )
275
+
276
+ print(
277
+ "ignore_eos=True forces every backend to generate "
278
+ f"exactly {args.tokens} tokens."
279
+ )
280
+
281
+ results = []
282
+
283
+ for device in selected:
284
+ results.append(
285
+ benchmark_device(
286
+ device,
287
+ args.warmup,
288
+ args.iterations,
289
+ args.tokens,
290
+ )
291
+ )
292
+
293
+ report = {
294
+ "timestamp":
295
+ datetime.now().astimezone().isoformat(),
296
+
297
+ "model":
298
+ str(MODEL),
299
+
300
+ "openvino_version":
301
+ ov.__version__,
302
+
303
+ "openvino_genai_version":
304
+ getattr(
305
+ ov_genai,
306
+ "__version__",
307
+ "unknown",
308
+ ),
309
+
310
+ "power_profile":
311
+ command_output(
312
+ ["powerprofilesctl", "get"]
313
+ ),
314
+
315
+ "kernel":
316
+ platform.release(),
317
+
318
+ "prompt":
319
+ PROMPT_TEXT,
320
+
321
+ "benchmark_method": {
322
+ "warmups": args.warmup,
323
+ "iterations": args.iterations,
324
+ "max_new_tokens": args.tokens,
325
+ "ignore_eos": True,
326
+ "do_sample": False,
327
+ },
328
+
329
+ "devices": results,
330
+ }
331
+
332
+ Path("results").mkdir(
333
+ parents=True,
334
+ exist_ok=True,
335
+ )
336
+
337
+ Path(
338
+ "results/final-release-benchmark.json"
339
+ ).write_text(
340
+ json.dumps(
341
+ report,
342
+ indent=2,
343
+ ) + "\n",
344
+ encoding="utf-8",
345
+ )
346
+
347
+ print()
348
+ print("=" * 78)
349
+ print(" FINAL COMPARISON")
350
+ print("=" * 78)
351
+
352
+ print(
353
+ f"{'DEVICE':<8}"
354
+ f"{'TTFT ms':>14}"
355
+ f"{'TPOT ms/tok':>16}"
356
+ f"{'TOKENS/s':>14}"
357
+ )
358
+
359
+ print("-" * 52)
360
+
361
+ for item in results:
362
+ print(
363
+ f"{item['device']:<8}"
364
+ f"{item['ttft_ms']['mean']:>14.2f}"
365
+ f"{item['tpot_ms_per_token']['mean']:>16.2f}"
366
+ f"{item['throughput_tokens_per_second']['mean']:>14.2f}"
367
+ )
368
+
369
+ print()
370
+ print(
371
+ "Saved: results/final-release-benchmark.json"
372
+ )
373
+
374
+
375
+ if __name__ == "__main__":
376
+ main()
benchmarks/final-release-benchmark.json ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "timestamp": "2026-09-28T16:10:37.573753+02:00",
3
+ "model": "Llama-3.2-1B-Computer-Engineering-OpenVINO-INT4",
4
+ "openvino_version": "2026.4.0-22959-99c81491cc3-releases/2026/4",
5
+ "openvino_genai_version": "2026.4.0.0-3407-7ea2546852a",
6
+ "power_profile": "performance",
7
+ "kernel": "7.0.0-31-generic",
8
+ "prompt": "Q: Explain how CPU cache memory improves processor performance, including its relationship with RAM, latency, and memory locality.\nA:",
9
+ "benchmark_method": {
10
+ "warmups": 2,
11
+ "iterations": 5,
12
+ "max_new_tokens": 128,
13
+ "ignore_eos": true,
14
+ "do_sample": false
15
+ },
16
+ "devices": [
17
+ {
18
+ "device": "CPU",
19
+ "full_device_name": "Intel(R) Core(TM) Ultra 9 275HX",
20
+ "pipeline_load_ms": 382.5941410004816,
21
+ "prompt_tokens": 26,
22
+ "forced_output_tokens": 128,
23
+ "warmups": 2,
24
+ "iterations": 5,
25
+ "ttft_ms": {
26
+ "mean": 51.57345275878906,
27
+ "std": 9.913688884312469,
28
+ "min": 40.536006927490234,
29
+ "max": 62.45323181152344
30
+ },
31
+ "tpot_ms_per_token": {
32
+ "mean": 15.903347778320313,
33
+ "std": 0.7387210062345533,
34
+ "min": 15.300374984741211,
35
+ "max": 17.175537109375
36
+ },
37
+ "throughput_tokens_per_second": {
38
+ "mean": 62.983341979980466,
39
+ "std": 2.7861940137138532,
40
+ "min": 58.22234344482422,
41
+ "max": 65.35787200927734
42
+ },
43
+ "runs": [
44
+ {
45
+ "ttft_ms": 43.170963287353516,
46
+ "tpot_ms_per_token": 15.536717414855957,
47
+ "throughput_tokens_per_second": 64.36366271972656,
48
+ "generated_tokens": 128,
49
+ "input_tokens": 26
50
+ },
51
+ {
52
+ "ttft_ms": 51.07387924194336,
53
+ "tpot_ms_per_token": 15.300374984741211,
54
+ "throughput_tokens_per_second": 65.35787200927734,
55
+ "generated_tokens": 128,
56
+ "input_tokens": 26
57
+ },
58
+ {
59
+ "ttft_ms": 62.45323181152344,
60
+ "tpot_ms_per_token": 15.853533744812012,
61
+ "throughput_tokens_per_second": 63.07741928100586,
62
+ "generated_tokens": 128,
63
+ "input_tokens": 26
64
+ },
65
+ {
66
+ "ttft_ms": 40.536006927490234,
67
+ "tpot_ms_per_token": 17.175537109375,
68
+ "throughput_tokens_per_second": 58.22234344482422,
69
+ "generated_tokens": 128,
70
+ "input_tokens": 26
71
+ },
72
+ {
73
+ "ttft_ms": 60.633182525634766,
74
+ "tpot_ms_per_token": 15.650575637817383,
75
+ "throughput_tokens_per_second": 63.89541244506836,
76
+ "generated_tokens": 128,
77
+ "input_tokens": 26
78
+ }
79
+ ]
80
+ },
81
+ {
82
+ "device": "NPU",
83
+ "full_device_name": "Intel(R) AI Boost",
84
+ "pipeline_load_ms": 986.1992260002808,
85
+ "prompt_tokens": 26,
86
+ "forced_output_tokens": 128,
87
+ "warmups": 2,
88
+ "iterations": 5,
89
+ "ttft_ms": {
90
+ "mean": 1147.07705078125,
91
+ "std": 4.160363485341516,
92
+ "min": 1143.1307373046875,
93
+ "max": 1152.9591064453125
94
+ },
95
+ "tpot_ms_per_token": {
96
+ "mean": 29.50558738708496,
97
+ "std": 0.09963660070982523,
98
+ "min": 29.38804054260254,
99
+ "max": 29.640350341796875
100
+ },
101
+ "throughput_tokens_per_second": {
102
+ "mean": 33.89219512939453,
103
+ "std": 0.11440889767595792,
104
+ "min": 33.73779296875,
105
+ "max": 34.02744674682617
106
+ },
107
+ "runs": [
108
+ {
109
+ "ttft_ms": 1152.9591064453125,
110
+ "tpot_ms_per_token": 29.53006935119629,
111
+ "throughput_tokens_per_second": 33.86378860473633,
112
+ "generated_tokens": 128,
113
+ "input_tokens": 26
114
+ },
115
+ {
116
+ "ttft_ms": 1143.8863525390625,
117
+ "tpot_ms_per_token": 29.640350341796875,
118
+ "throughput_tokens_per_second": 33.73779296875,
119
+ "generated_tokens": 128,
120
+ "input_tokens": 26
121
+ },
122
+ {
123
+ "ttft_ms": 1145.6927490234375,
124
+ "tpot_ms_per_token": 29.54069709777832,
125
+ "throughput_tokens_per_second": 33.85160446166992,
126
+ "generated_tokens": 128,
127
+ "input_tokens": 26
128
+ },
129
+ {
130
+ "ttft_ms": 1149.71630859375,
131
+ "tpot_ms_per_token": 29.42877960205078,
132
+ "throughput_tokens_per_second": 33.980342864990234,
133
+ "generated_tokens": 128,
134
+ "input_tokens": 26
135
+ },
136
+ {
137
+ "ttft_ms": 1143.1307373046875,
138
+ "tpot_ms_per_token": 29.38804054260254,
139
+ "throughput_tokens_per_second": 34.02744674682617,
140
+ "generated_tokens": 128,
141
+ "input_tokens": 26
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "device": "GPU",
147
+ "full_device_name": "Intel(R) Graphics (iGPU)",
148
+ "pipeline_load_ms": 1218.8496329999907,
149
+ "prompt_tokens": 26,
150
+ "forced_output_tokens": 128,
151
+ "warmups": 2,
152
+ "iterations": 5,
153
+ "ttft_ms": {
154
+ "mean": 54.238851928710936,
155
+ "std": 1.7680915292515056,
156
+ "min": 52.691978454589844,
157
+ "max": 57.2708854675293
158
+ },
159
+ "tpot_ms_per_token": {
160
+ "mean": 15.981847381591797,
161
+ "std": 0.29188068731692896,
162
+ "min": 15.636512756347656,
163
+ "max": 16.417612075805664
164
+ },
165
+ "throughput_tokens_per_second": {
166
+ "mean": 62.58757781982422,
167
+ "std": 1.1355620861494284,
168
+ "min": 60.91019821166992,
169
+ "max": 63.952877044677734
170
+ },
171
+ "runs": [
172
+ {
173
+ "ttft_ms": 53.909603118896484,
174
+ "tpot_ms_per_token": 16.062355041503906,
175
+ "throughput_tokens_per_second": 62.25736999511719,
176
+ "generated_tokens": 128,
177
+ "input_tokens": 26
178
+ },
179
+ {
180
+ "ttft_ms": 53.927425384521484,
181
+ "tpot_ms_per_token": 15.96897029876709,
182
+ "throughput_tokens_per_second": 62.62144470214844,
183
+ "generated_tokens": 128,
184
+ "input_tokens": 26
185
+ },
186
+ {
187
+ "ttft_ms": 53.39436721801758,
188
+ "tpot_ms_per_token": 15.823786735534668,
189
+ "throughput_tokens_per_second": 63.19599914550781,
190
+ "generated_tokens": 128,
191
+ "input_tokens": 26
192
+ },
193
+ {
194
+ "ttft_ms": 52.691978454589844,
195
+ "tpot_ms_per_token": 16.417612075805664,
196
+ "throughput_tokens_per_second": 60.91019821166992,
197
+ "generated_tokens": 128,
198
+ "input_tokens": 26
199
+ },
200
+ {
201
+ "ttft_ms": 57.2708854675293,
202
+ "tpot_ms_per_token": 15.636512756347656,
203
+ "throughput_tokens_per_second": 63.952877044677734,
204
+ "generated_tokens": 128,
205
+ "input_tokens": 26
206
+ }
207
+ ]
208
+ }
209
+ ]
210
+ }
benchmarks/final-release-benchmark.txt ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ==============================================================================
2
+ OPENVINO INT4 RELEASE BENCHMARK
3
+ ==============================================================================
4
+ Date: 2026-09-28T16:09:30.299304+02:00
5
+ Model: Llama-3.2-1B-Computer-Engineering-OpenVINO-INT4
6
+ OpenVINO: 2026.4.0-22959-99c81491cc3-releases/2026/4
7
+ OpenVINO GenAI: 2026.4.0.0-3407-7ea2546852a
8
+ Available devices: ['CPU', 'GPU', 'NPU']
9
+ Benchmark devices: ['CPU', 'NPU', 'GPU']
10
+ Power profile: performance
11
+ Kernel: 7.0.0-31-generic
12
+
13
+ NOTE:
14
+ Q:/A: prompt format is used because this model is a completion-style Computer Engineering model.
15
+ ignore_eos=True forces every backend to generate exactly 128 tokens.
16
+
17
+ ==============================================================================
18
+ DEVICE: CPU
19
+ NAME: Intel(R) Core(TM) Ultra 9 275HX
20
+ ==============================================================================
21
+ Pipeline load: 382.59 ms
22
+ Prompt tokens: 26
23
+ Forced output tokens: 128
24
+
25
+ === WARMUP ===
26
+ Warmup 1/2: complete
27
+ Warmup 2/2: complete
28
+
29
+ === MEASURED RUNS ===
30
+ Run 1: TTFT=43.17 ms | TPOT=15.54 ms/token | Throughput=64.36 tok/s
31
+ Run 2: TTFT=51.07 ms | TPOT=15.30 ms/token | Throughput=65.36 tok/s
32
+ Run 3: TTFT=62.45 ms | TPOT=15.85 ms/token | Throughput=63.08 tok/s
33
+ Run 4: TTFT=40.54 ms | TPOT=17.18 ms/token | Throughput=58.22 tok/s
34
+ Run 5: TTFT=60.63 ms | TPOT=15.65 ms/token | Throughput=63.90 tok/s
35
+
36
+ === FINAL ===
37
+ TTFT: 51.57 ± 9.91 ms
38
+ TPOT: 15.90 ± 0.74 ms/token
39
+ Throughput: 62.98 ± 2.79 tok/s
40
+
41
+ ==============================================================================
42
+ DEVICE: NPU
43
+ NAME: Intel(R) AI Boost
44
+ ==============================================================================
45
+ Pipeline load: 986.20 ms
46
+ Prompt tokens: 26
47
+ Forced output tokens: 128
48
+
49
+ === WARMUP ===
50
+ Warmup 1/2: complete
51
+ Warmup 2/2: complete
52
+
53
+ === MEASURED RUNS ===
54
+ Run 1: TTFT=1152.96 ms | TPOT=29.53 ms/token | Throughput=33.86 tok/s
55
+ Run 2: TTFT=1143.89 ms | TPOT=29.64 ms/token | Throughput=33.74 tok/s
56
+ Run 3: TTFT=1145.69 ms | TPOT=29.54 ms/token | Throughput=33.85 tok/s
57
+ Run 4: TTFT=1149.72 ms | TPOT=29.43 ms/token | Throughput=33.98 tok/s
58
+ Run 5: TTFT=1143.13 ms | TPOT=29.39 ms/token | Throughput=34.03 tok/s
59
+
60
+ === FINAL ===
61
+ TTFT: 1147.08 ± 4.16 ms
62
+ TPOT: 29.51 ± 0.10 ms/token
63
+ Throughput: 33.89 ± 0.11 tok/s
64
+
65
+ ==============================================================================
66
+ DEVICE: GPU
67
+ NAME: Intel(R) Graphics (iGPU)
68
+ ==============================================================================
69
+ Pipeline load: 1218.85 ms
70
+ Prompt tokens: 26
71
+ Forced output tokens: 128
72
+
73
+ === WARMUP ===
74
+ Warmup 1/2: complete
75
+ Warmup 2/2: complete
76
+
77
+ === MEASURED RUNS ===
78
+ Run 1: TTFT=53.91 ms | TPOT=16.06 ms/token | Throughput=62.26 tok/s
79
+ Run 2: TTFT=53.93 ms | TPOT=15.97 ms/token | Throughput=62.62 tok/s
80
+ Run 3: TTFT=53.39 ms | TPOT=15.82 ms/token | Throughput=63.20 tok/s
81
+ Run 4: TTFT=52.69 ms | TPOT=16.42 ms/token | Throughput=60.91 tok/s
82
+ Run 5: TTFT=57.27 ms | TPOT=15.64 ms/token | Throughput=63.95 tok/s
83
+
84
+ === FINAL ===
85
+ TTFT: 54.24 ± 1.77 ms
86
+ TPOT: 15.98 ± 0.29 ms/token
87
+ Throughput: 62.59 ± 1.14 tok/s
88
+
89
+ ==============================================================================
90
+ FINAL COMPARISON
91
+ ==============================================================================
92
+ DEVICE TTFT ms TPOT ms/tok TOKENS/s
93
+ ----------------------------------------------------
94
+ CPU 51.57 15.90 62.98
95
+ NPU 1147.08 29.51 33.89
96
+ GPU 54.24 15.98 62.59
97
+
98
+ Saved: results/final-release-benchmark.json
benchmarks/release-environment.txt ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === DATE ===
2
+ 2026-09-28T16:11:02+02:00
3
+
4
+ === OS ===
5
+ NAME="IULinux"
6
+ VERSION="0.1 Development"
7
+
8
+ === KERNEL ===
9
+ 7.0.0-31-generic
10
+
11
+ === POWER PROFILE ===
12
+ performance
13
+
14
+ === OPENVINO DEVICES ===
15
+ OpenVINO: 2026.4.0-22959-99c81491cc3-releases/2026/4
16
+ OpenVINO: 2026.4.0-22959-99c81491cc3-releases/2026/4
17
+ Devices: ['CPU', 'GPU', 'NPU']
18
+
19
+ DEVICE: CPU
20
+ NAME: Intel(R) Core(TM) Ultra 9 275HX
21
+
22
+ DEVICE: GPU
23
+ NAME: Intel(R) Graphics (iGPU)
24
+
25
+ DEVICE: NPU
26
+ NAME: Intel(R) AI Boost
27
+ Devices: ['CPU', 'GPU', 'NPU']
28
+
29
+ DEVICE: CPU
30
+ NAME: Intel(R) Core(TM) Ultra 9 275HX
31
+
32
+ DEVICE: GPU
33
+ NAME: Intel(R) Graphics (iGPU)
34
+
35
+ DEVICE: NPU
36
+ NAME: Intel(R) AI Boost
37
+
38
+ === OPENCL ===
39
+ Platform #0: Intel(R) OpenCL Graphics
40
+ `-- Device #0: Intel(R) Graphics
41
+
42
+ === NPU STACK ===
43
+ ii intel-driver-compiler-npu 1.38.0.20260910-34487311128~ubuntu26.04 amd64 Intel(R) Driver Compiler for NPU hardware
44
+ ii intel-fw-npu 1.38.0.20260910-34487311128~ubuntu26.04 amd64 Intel(R) Firmware package for NPU hardware
45
+ ii intel-level-zero-npu 1.38.0.20260910-34487311128~ubuntu26.04 amd64 Intel(R) Level Zero Driver for NPU hardware
46
+ ii libze1:amd64 1.32.0-1~26.04~ppa1 amd64 oneAPI Level Zero -- share libraries
47
+
48
+ === GPU STACK ===
49
+ ii intel-opencl-icd 26.05.37020.3-1 amd64 Intel graphics compute runtime for OpenCL
50
+ ii intel-opencl-icd-legacy 24.35.30872.45-1 amd64 Intel graphics compute runtime for OpenCL -- legacy platforms
51
+ ii libigc1:amd64 1.0.17791.18+1-3 amd64 Intel graphics compiler for OpenCL -- core libs
52
+ ii libigc2:amd64 2.28.4-4 amd64 Intel graphics compiler for OpenCL -- core libs
53
+ ii libigdgmm12:amd64 22.9.0+ds1-1 amd64 Intel Graphics Memory Management Library -- shared library
config.json ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlamaForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 128000,
8
+ "dtype": "float16",
9
+ "eos_token_id": 128001,
10
+ "head_dim": 64,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 8192,
15
+ "max_position_embeddings": 131072,
16
+ "mlp_bias": false,
17
+ "model_type": "llama",
18
+ "num_attention_heads": 32,
19
+ "num_hidden_layers": 16,
20
+ "num_key_value_heads": 8,
21
+ "pad_token_id": null,
22
+ "pretraining_tp": 1,
23
+ "rms_norm_eps": 1e-05,
24
+ "rope_parameters": {
25
+ "factor": 32.0,
26
+ "high_freq_factor": 4.0,
27
+ "low_freq_factor": 1.0,
28
+ "original_max_position_embeddings": 8192,
29
+ "rope_theta": 500000.0,
30
+ "rope_type": "llama3"
31
+ },
32
+ "tie_word_embeddings": true,
33
+ "transformers_version": "5.5.4",
34
+ "use_cache": true,
35
+ "vocab_size": 128256
36
+ }
generation_config.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 128000,
4
+ "do_sample": true,
5
+ "eos_token_id": 128001,
6
+ "temperature": 0.6,
7
+ "top_p": 0.9,
8
+ "transformers_version": "5.5.4"
9
+ }
openvino_config.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dtype": "",
3
+ "input_info": null,
4
+ "optimum_version": "2.3.0",
5
+ "output_attentions": false,
6
+ "quantization_config": {
7
+ "_dataset_kwargs": {},
8
+ "dataset": null,
9
+ "default_config": {
10
+ "quant_method": "default"
11
+ },
12
+ "ignored_scope": null,
13
+ "num_samples": null,
14
+ "processor": null,
15
+ "quantization_configs": {},
16
+ "tokenizer": "./source-dequant-fp16"
17
+ },
18
+ "save_onnx_model": false,
19
+ "transformers_version": "5.5.4"
20
+ }
openvino_detokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0643181dd67c7f88a9fc3b6309ce4fe96433348ae83709c72fa100f6afca5a53
3
+ size 1865893
openvino_detokenizer.xml ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="detokenizer" version="11">
3
+ <layers>
4
+ <layer id="0" name="Parameter_58393" type="Parameter" version="opset1">
5
+ <data shape="?,?" element_type="i64" />
6
+ <output>
7
+ <port id="0" precision="I64" names="Parameter_58393">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ </port>
11
+ </output>
12
+ </layer>
13
+ <layer id="1" name="Convert_58433" type="Convert" version="opset1">
14
+ <data destination_type="i32" />
15
+ <input>
16
+ <port id="0" precision="I64">
17
+ <dim>-1</dim>
18
+ <dim>-1</dim>
19
+ </port>
20
+ </input>
21
+ <output>
22
+ <port id="1" precision="I32">
23
+ <dim>-1</dim>
24
+ <dim>-1</dim>
25
+ </port>
26
+ </output>
27
+ </layer>
28
+ <layer id="2" name="Constant_58395" type="Const" version="opset1">
29
+ <data element_type="i32" shape="128256" offset="0" size="513024" />
30
+ <output>
31
+ <port id="0" precision="I32">
32
+ <dim>128256</dim>
33
+ </port>
34
+ </output>
35
+ </layer>
36
+ <layer id="3" name="Constant_58397" type="Const" version="opset1">
37
+ <data element_type="i32" shape="128256" offset="513024" size="513024" />
38
+ <output>
39
+ <port id="0" precision="I32">
40
+ <dim>128256</dim>
41
+ </port>
42
+ </output>
43
+ </layer>
44
+ <layer id="4" name="Constant_58399" type="Const" version="opset1">
45
+ <data element_type="u8" shape="838768" offset="1026048" size="838768" />
46
+ <output>
47
+ <port id="0" precision="U8">
48
+ <dim>838768</dim>
49
+ </port>
50
+ </output>
51
+ </layer>
52
+ <layer id="5" name="Slice_58404" type="Const" version="opset1">
53
+ <data element_type="i32" shape="256" offset="1864816" size="1024" />
54
+ <output>
55
+ <port id="0" precision="I32">
56
+ <dim>256</dim>
57
+ </port>
58
+ </output>
59
+ </layer>
60
+ <layer id="6" name="VocabDecoder_58406" type="VocabDecoder" version="extension">
61
+ <data skip_tokens="" />
62
+ <input>
63
+ <port id="0" precision="I32">
64
+ <dim>-1</dim>
65
+ <dim>-1</dim>
66
+ </port>
67
+ <port id="1" precision="I32">
68
+ <dim>128256</dim>
69
+ </port>
70
+ <port id="2" precision="I32">
71
+ <dim>128256</dim>
72
+ </port>
73
+ <port id="3" precision="U8">
74
+ <dim>838768</dim>
75
+ </port>
76
+ <port id="4" precision="I32">
77
+ <dim>256</dim>
78
+ </port>
79
+ </input>
80
+ <output>
81
+ <port id="5" precision="I32">
82
+ <dim>-1</dim>
83
+ </port>
84
+ <port id="6" precision="I32">
85
+ <dim>-1</dim>
86
+ </port>
87
+ <port id="7" precision="I32">
88
+ <dim>-1</dim>
89
+ </port>
90
+ <port id="8" precision="I32">
91
+ <dim>-1</dim>
92
+ </port>
93
+ <port id="9" precision="U8">
94
+ <dim>-1</dim>
95
+ </port>
96
+ </output>
97
+ </layer>
98
+ <layer id="7" name="FuzeRagged_58407" type="FuzeRagged" version="extension">
99
+ <input>
100
+ <port id="0" precision="I32">
101
+ <dim>-1</dim>
102
+ </port>
103
+ <port id="1" precision="I32">
104
+ <dim>-1</dim>
105
+ </port>
106
+ <port id="2" precision="I32">
107
+ <dim>-1</dim>
108
+ </port>
109
+ <port id="3" precision="I32">
110
+ <dim>-1</dim>
111
+ </port>
112
+ </input>
113
+ <output>
114
+ <port id="4" precision="I32">
115
+ <dim>-1</dim>
116
+ </port>
117
+ <port id="5" precision="I32">
118
+ <dim>-1</dim>
119
+ </port>
120
+ </output>
121
+ </layer>
122
+ <layer id="8" name="UTF8Validate_58408" type="UTF8Validate" version="extension">
123
+ <data replace_mode="true" />
124
+ <input>
125
+ <port id="0" precision="I32">
126
+ <dim>-1</dim>
127
+ </port>
128
+ <port id="1" precision="I32">
129
+ <dim>-1</dim>
130
+ </port>
131
+ <port id="2" precision="U8">
132
+ <dim>-1</dim>
133
+ </port>
134
+ </input>
135
+ <output>
136
+ <port id="3" precision="I32">
137
+ <dim>-1</dim>
138
+ </port>
139
+ <port id="4" precision="I32">
140
+ <dim>-1</dim>
141
+ </port>
142
+ <port id="5" precision="U8">
143
+ <dim>-1</dim>
144
+ </port>
145
+ </output>
146
+ </layer>
147
+ <layer id="9" name="Constant_58410" type="Const" version="opset1">
148
+ <data element_type="u8" shape="51" offset="1865840" size="51" />
149
+ <output>
150
+ <port id="0" precision="U8">
151
+ <dim>51</dim>
152
+ </port>
153
+ </output>
154
+ </layer>
155
+ <layer id="10" name="Constant_58412" type="Const" version="opset1">
156
+ <data element_type="u8" shape="2" offset="1865891" size="2" />
157
+ <output>
158
+ <port id="0" precision="U8">
159
+ <dim>2</dim>
160
+ </port>
161
+ </output>
162
+ </layer>
163
+ <layer id="11" name="RegexNormalization_58413" type="RegexNormalization" version="extension">
164
+ <data global_replace="true" />
165
+ <input>
166
+ <port id="0" precision="I32">
167
+ <dim>-1</dim>
168
+ </port>
169
+ <port id="1" precision="I32">
170
+ <dim>-1</dim>
171
+ </port>
172
+ <port id="2" precision="U8">
173
+ <dim>-1</dim>
174
+ </port>
175
+ <port id="3" precision="U8">
176
+ <dim>51</dim>
177
+ </port>
178
+ <port id="4" precision="U8">
179
+ <dim>2</dim>
180
+ </port>
181
+ </input>
182
+ <output>
183
+ <port id="5" precision="I32">
184
+ <dim>-1</dim>
185
+ </port>
186
+ <port id="6" precision="I32">
187
+ <dim>-1</dim>
188
+ </port>
189
+ <port id="7" precision="U8">
190
+ <dim>-1</dim>
191
+ </port>
192
+ </output>
193
+ </layer>
194
+ <layer id="12" name="StringTensorPack_58414" type="StringTensorPack" version="opset15">
195
+ <input>
196
+ <port id="0" precision="I32">
197
+ <dim>-1</dim>
198
+ </port>
199
+ <port id="1" precision="I32">
200
+ <dim>-1</dim>
201
+ </port>
202
+ <port id="2" precision="U8">
203
+ <dim>-1</dim>
204
+ </port>
205
+ </input>
206
+ <output>
207
+ <port id="3" precision="STRING" names="Result_58415,string_output">
208
+ <dim>-1</dim>
209
+ </port>
210
+ </output>
211
+ </layer>
212
+ <layer id="13" name="Result_58415" type="Result" version="opset1" output_names="Result_58415,string_output">
213
+ <input>
214
+ <port id="0" precision="STRING">
215
+ <dim>-1</dim>
216
+ </port>
217
+ </input>
218
+ </layer>
219
+ </layers>
220
+ <edges>
221
+ <edge from-layer="0" from-port="0" to-layer="1" to-port="0" />
222
+ <edge from-layer="1" from-port="1" to-layer="6" to-port="0" />
223
+ <edge from-layer="2" from-port="0" to-layer="6" to-port="1" />
224
+ <edge from-layer="3" from-port="0" to-layer="6" to-port="2" />
225
+ <edge from-layer="4" from-port="0" to-layer="6" to-port="3" />
226
+ <edge from-layer="5" from-port="0" to-layer="6" to-port="4" />
227
+ <edge from-layer="6" from-port="5" to-layer="7" to-port="0" />
228
+ <edge from-layer="6" from-port="6" to-layer="7" to-port="1" />
229
+ <edge from-layer="6" from-port="7" to-layer="7" to-port="2" />
230
+ <edge from-layer="6" from-port="8" to-layer="7" to-port="3" />
231
+ <edge from-layer="6" from-port="9" to-layer="8" to-port="2" />
232
+ <edge from-layer="7" from-port="5" to-layer="8" to-port="1" />
233
+ <edge from-layer="7" from-port="4" to-layer="8" to-port="0" />
234
+ <edge from-layer="8" from-port="3" to-layer="11" to-port="0" />
235
+ <edge from-layer="8" from-port="4" to-layer="11" to-port="1" />
236
+ <edge from-layer="8" from-port="5" to-layer="11" to-port="2" />
237
+ <edge from-layer="9" from-port="0" to-layer="11" to-port="3" />
238
+ <edge from-layer="10" from-port="0" to-layer="11" to-port="4" />
239
+ <edge from-layer="11" from-port="5" to-layer="12" to-port="0" />
240
+ <edge from-layer="11" from-port="6" to-layer="12" to-port="1" />
241
+ <edge from-layer="11" from-port="7" to-layer="12" to-port="2" />
242
+ <edge from-layer="12" from-port="3" to-layer="13" to-port="0" />
243
+ </edges>
244
+ <rt_info>
245
+ <info name="OpenVINO Runtime" value="2026.4.0-22959-99c81491cc3-releases/2026/4" />
246
+ <add_attention_mask value="True" />
247
+ <add_prefix_space />
248
+ <add_special_tokens value="True" />
249
+ <bos_token_id value="128000" />
250
+ <clean_up_tokenization_spaces />
251
+ <detokenizer_input_type value="i64" />
252
+ <eos_token_id value="128001" />
253
+ <handle_special_tokens_with_re />
254
+ <max_length />
255
+ <number_of_inputs value="1" />
256
+ <openvino_tokenizers_version value="2026.4.0.0-736-a04accf6282" />
257
+ <openvino_version value="2026.4.0-22959-99c81491cc3-releases/2026/4" />
258
+ <original_post_processor_template value="{&quot;type&quot;: &quot;Sequence&quot;, &quot;processors&quot;: [{&quot;type&quot;: &quot;ByteLevel&quot;, &quot;add_prefix_space&quot;: true, &quot;trim_offsets&quot;: false, &quot;use_regex&quot;: true}, {&quot;type&quot;: &quot;TemplateProcessing&quot;, &quot;single&quot;: [{&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;type_id&quot;: 0}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;A&quot;, &quot;type_id&quot;: 0}}], &quot;pair&quot;: [{&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;type_id&quot;: 0}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;A&quot;, &quot;type_id&quot;: 0}}, {&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;type_id&quot;: 1}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;B&quot;, &quot;type_id&quot;: 1}}], &quot;special_tokens&quot;: {&quot;&lt;|begin_of_text|>&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;ids&quot;: [128000], &quot;tokens&quot;: [&quot;&lt;|begin_of_text|>&quot;]}}}]}" />
259
+ <original_tokenizer_class value="&lt;class 'transformers.tokenization_utils_tokenizers.TokenizersBackend'>" />
260
+ <pad_token_id value="128001" />
261
+ <processed_post_processor_template value="{&quot;single&quot;: {&quot;ids&quot;: [128000, -1], &quot;type_ids&quot;: [0, 0]}, &quot;pair&quot;: {&quot;ids&quot;: [128000, -1, 128000, -2], &quot;type_ids&quot;: [0, 0, 1, 1]}}" />
262
+ <skip_special_tokens value="True" />
263
+ <streaming_detokenizer value="False" />
264
+ <tokenizer_output_type value="i64" />
265
+ <tokenizers_version value="0.22.2" />
266
+ <transformers_version value="5.5.4" />
267
+ <truncation value="False" />
268
+ <use_max_padding value="False" />
269
+ <use_sentencepiece_backend value="False" />
270
+ <utf8_replace_mode value="replace" />
271
+ <with_detokenizer value="True" />
272
+ </rt_info>
273
+ </net>
openvino_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c9feb7d66e0b698c79519b54a6281a787e59c87f08d46f4eb9c9202a13bf7779
3
+ size 765067477
openvino_model.xml ADDED
The diff for this file is too large to render. See raw diff
 
openvino_tokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e85dcd84b4ad36ae6104c68e063edb024f2ec32c3b74536324b5536df1f55cc8
3
+ size 8396841
openvino_tokenizer.xml ADDED
@@ -0,0 +1,811 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="tokenizer" version="11">
3
+ <layers>
4
+ <layer id="0" name="Parameter_58258" type="Parameter" version="opset1">
5
+ <data shape="?" element_type="string" />
6
+ <output>
7
+ <port id="0" precision="STRING" names="Parameter_58258">
8
+ <dim>-1</dim>
9
+ </port>
10
+ </output>
11
+ </layer>
12
+ <layer id="1" name="Constant_58366" type="Const" version="opset1">
13
+ <data element_type="boolean" shape="" offset="0" size="1" />
14
+ <output>
15
+ <port id="0" precision="BOOL" />
16
+ </output>
17
+ </layer>
18
+ <layer id="2" name="ReadValue_58367" type="ReadValue" version="opset6">
19
+ <data variable_id="truncation" variable_type="dynamic" variable_shape="..." />
20
+ <input>
21
+ <port id="0" precision="BOOL" />
22
+ </input>
23
+ <output>
24
+ <port id="1" precision="BOOL" />
25
+ </output>
26
+ </layer>
27
+ <layer id="3" name="Constant_58377" type="Const" version="opset1">
28
+ <data element_type="i32" shape="" offset="1" size="4" />
29
+ <output>
30
+ <port id="0" precision="I32" />
31
+ </output>
32
+ </layer>
33
+ <layer id="4" name="Constant_58378" type="Const" version="opset1">
34
+ <data element_type="i32" shape="" offset="5" size="4" />
35
+ <output>
36
+ <port id="0" precision="I32" />
37
+ </output>
38
+ </layer>
39
+ <layer id="5" name="Constant_58379" type="Const" version="opset1">
40
+ <data element_type="i32" shape="1" offset="9" size="4" />
41
+ <output>
42
+ <port id="0" precision="I32">
43
+ <dim>1</dim>
44
+ </port>
45
+ </output>
46
+ </layer>
47
+ <layer id="6" name="Constant_58264" type="Const" version="opset1">
48
+ <data element_type="i64" shape="" offset="13" size="8" />
49
+ <output>
50
+ <port id="0" precision="I64" />
51
+ </output>
52
+ </layer>
53
+ <layer id="7" name="StringTensorUnpack_58259" type="StringTensorUnpack" version="opset15">
54
+ <input>
55
+ <port id="0" precision="STRING">
56
+ <dim>-1</dim>
57
+ </port>
58
+ </input>
59
+ <output>
60
+ <port id="1" precision="I32">
61
+ <dim>-1</dim>
62
+ </port>
63
+ <port id="2" precision="I32">
64
+ <dim>-1</dim>
65
+ </port>
66
+ <port id="3" precision="U8">
67
+ <dim>-1</dim>
68
+ </port>
69
+ </output>
70
+ </layer>
71
+ <layer id="8" name="ShapeOf_58260" type="ShapeOf" version="opset3">
72
+ <data output_type="i64" />
73
+ <input>
74
+ <port id="0" precision="I32">
75
+ <dim>-1</dim>
76
+ </port>
77
+ </input>
78
+ <output>
79
+ <port id="1" precision="I64">
80
+ <dim>1</dim>
81
+ </port>
82
+ </output>
83
+ </layer>
84
+ <layer id="9" name="Constant_58261" type="Const" version="opset1">
85
+ <data element_type="i64" shape="" offset="13" size="8" />
86
+ <output>
87
+ <port id="0" precision="I64" />
88
+ </output>
89
+ </layer>
90
+ <layer id="10" name="Constant_58262" type="Const" version="opset1">
91
+ <data element_type="i64" shape="" offset="13" size="8" />
92
+ <output>
93
+ <port id="0" precision="I64" />
94
+ </output>
95
+ </layer>
96
+ <layer id="11" name="Gather_58263" type="Gather" version="opset8">
97
+ <data batch_dims="0" />
98
+ <input>
99
+ <port id="0" precision="I64">
100
+ <dim>1</dim>
101
+ </port>
102
+ <port id="1" precision="I64" />
103
+ <port id="2" precision="I64" />
104
+ </input>
105
+ <output>
106
+ <port id="3" precision="I64" />
107
+ </output>
108
+ </layer>
109
+ <layer id="12" name="Constant_58265" type="Const" version="opset1">
110
+ <data element_type="i64" shape="" offset="21" size="8" />
111
+ <output>
112
+ <port id="0" precision="I64" />
113
+ </output>
114
+ </layer>
115
+ <layer id="13" name="Range_58266" type="Range" version="opset4">
116
+ <data output_type="i32" />
117
+ <input>
118
+ <port id="0" precision="I64" />
119
+ <port id="1" precision="I64" />
120
+ <port id="2" precision="I64" />
121
+ </input>
122
+ <output>
123
+ <port id="3" precision="I32">
124
+ <dim>-1</dim>
125
+ </port>
126
+ </output>
127
+ </layer>
128
+ <layer id="14" name="Constant_58267" type="Const" version="opset1">
129
+ <data element_type="i64" shape="" offset="21" size="8" />
130
+ <output>
131
+ <port id="0" precision="I64" />
132
+ </output>
133
+ </layer>
134
+ <layer id="15" name="Constant_58268" type="Const" version="opset1">
135
+ <data element_type="i64" shape="" offset="21" size="8" />
136
+ <output>
137
+ <port id="0" precision="I64" />
138
+ </output>
139
+ </layer>
140
+ <layer id="16" name="Add_58269" type="Add" version="opset1">
141
+ <data auto_broadcast="numpy" />
142
+ <input>
143
+ <port id="0" precision="I64" />
144
+ <port id="1" precision="I64" />
145
+ </input>
146
+ <output>
147
+ <port id="2" precision="I64" />
148
+ </output>
149
+ </layer>
150
+ <layer id="17" name="Constant_58270" type="Const" version="opset1">
151
+ <data element_type="i64" shape="" offset="21" size="8" />
152
+ <output>
153
+ <port id="0" precision="I64" />
154
+ </output>
155
+ </layer>
156
+ <layer id="18" name="Range_58271" type="Range" version="opset4">
157
+ <data output_type="i32" />
158
+ <input>
159
+ <port id="0" precision="I64" />
160
+ <port id="1" precision="I64" />
161
+ <port id="2" precision="I64" />
162
+ </input>
163
+ <output>
164
+ <port id="3" precision="I32">
165
+ <dim>-1</dim>
166
+ </port>
167
+ </output>
168
+ </layer>
169
+ <layer id="19" name="Constant_58335" type="Const" version="opset1">
170
+ <data element_type="u8" shape="8738" offset="29" size="8738" />
171
+ <output>
172
+ <port id="0" precision="U8">
173
+ <dim>8738</dim>
174
+ </port>
175
+ </output>
176
+ </layer>
177
+ <layer id="20" name="SpecialTokensSplit_58336" type="SpecialTokensSplit" version="extension">
178
+ <input>
179
+ <port id="0" precision="I32">
180
+ <dim>-1</dim>
181
+ </port>
182
+ <port id="1" precision="I32">
183
+ <dim>-1</dim>
184
+ </port>
185
+ <port id="2" precision="I32">
186
+ <dim>-1</dim>
187
+ </port>
188
+ <port id="3" precision="I32">
189
+ <dim>-1</dim>
190
+ </port>
191
+ <port id="4" precision="U8">
192
+ <dim>-1</dim>
193
+ </port>
194
+ <port id="5" precision="U8">
195
+ <dim>8738</dim>
196
+ </port>
197
+ </input>
198
+ <output>
199
+ <port id="6" precision="I32">
200
+ <dim>-1</dim>
201
+ </port>
202
+ <port id="7" precision="I32">
203
+ <dim>-1</dim>
204
+ </port>
205
+ <port id="8" precision="I32">
206
+ <dim>-1</dim>
207
+ </port>
208
+ <port id="9" precision="I32">
209
+ <dim>-1</dim>
210
+ </port>
211
+ <port id="10" precision="U8">
212
+ <dim>-1</dim>
213
+ </port>
214
+ <port id="11" precision="BOOL">
215
+ <dim>-1</dim>
216
+ </port>
217
+ </output>
218
+ </layer>
219
+ <layer id="21" name="Constant_58338" type="Const" version="opset1">
220
+ <data element_type="u8" shape="115" offset="8767" size="115" />
221
+ <output>
222
+ <port id="0" precision="U8">
223
+ <dim>115</dim>
224
+ </port>
225
+ </output>
226
+ </layer>
227
+ <layer id="22" name="RegexSplit_58339" type="RegexSplit" version="extension">
228
+ <data behaviour="isolate" invert="false" max_splits="-1" />
229
+ <input>
230
+ <port id="0" precision="I32">
231
+ <dim>-1</dim>
232
+ </port>
233
+ <port id="1" precision="I32">
234
+ <dim>-1</dim>
235
+ </port>
236
+ <port id="2" precision="I32">
237
+ <dim>-1</dim>
238
+ </port>
239
+ <port id="3" precision="I32">
240
+ <dim>-1</dim>
241
+ </port>
242
+ <port id="4" precision="U8">
243
+ <dim>-1</dim>
244
+ </port>
245
+ <port id="5" precision="BOOL">
246
+ <dim>-1</dim>
247
+ </port>
248
+ <port id="6" precision="U8">
249
+ <dim>115</dim>
250
+ </port>
251
+ </input>
252
+ <output>
253
+ <port id="7" precision="I32">
254
+ <dim>-1</dim>
255
+ </port>
256
+ <port id="8" precision="I32">
257
+ <dim>-1</dim>
258
+ </port>
259
+ <port id="9" precision="I32">
260
+ <dim>-1</dim>
261
+ </port>
262
+ <port id="10" precision="I32">
263
+ <dim>-1</dim>
264
+ </port>
265
+ <port id="11" precision="U8">
266
+ <dim>-1</dim>
267
+ </port>
268
+ <port id="12" precision="BOOL">
269
+ <dim>-1</dim>
270
+ </port>
271
+ </output>
272
+ </layer>
273
+ <layer id="23" name="Constant_58341" type="Const" version="opset1">
274
+ <data element_type="i32" shape="128256" offset="8882" size="513024" />
275
+ <output>
276
+ <port id="0" precision="I32">
277
+ <dim>128256</dim>
278
+ </port>
279
+ </output>
280
+ </layer>
281
+ <layer id="24" name="Constant_58343" type="Const" version="opset1">
282
+ <data element_type="i32" shape="128256" offset="521906" size="513024" />
283
+ <output>
284
+ <port id="0" precision="I32">
285
+ <dim>128256</dim>
286
+ </port>
287
+ </output>
288
+ </layer>
289
+ <layer id="25" name="Constant_58345" type="Const" version="opset1">
290
+ <data element_type="u8" shape="838768" offset="1034930" size="838768" />
291
+ <output>
292
+ <port id="0" precision="U8">
293
+ <dim>838768</dim>
294
+ </port>
295
+ </output>
296
+ </layer>
297
+ <layer id="26" name="Constant_58353" type="Const" version="opset1">
298
+ <data element_type="i32" shape="280147" offset="1873698" size="1120588" />
299
+ <output>
300
+ <port id="0" precision="I32">
301
+ <dim>280147</dim>
302
+ </port>
303
+ </output>
304
+ </layer>
305
+ <layer id="27" name="Constant_58355" type="Const" version="opset1">
306
+ <data element_type="i32" shape="280147" offset="2994286" size="1120588" />
307
+ <output>
308
+ <port id="0" precision="I32">
309
+ <dim>280147</dim>
310
+ </port>
311
+ </output>
312
+ </layer>
313
+ <layer id="28" name="Constant_58357" type="Const" version="opset1">
314
+ <data element_type="u8" shape="993515" offset="4114874" size="993515" />
315
+ <output>
316
+ <port id="0" precision="U8">
317
+ <dim>993515</dim>
318
+ </port>
319
+ </output>
320
+ </layer>
321
+ <layer id="29" name="Constant_58359" type="Const" version="opset1">
322
+ <data element_type="i32" shape="280147" offset="5108389" size="1120588" />
323
+ <output>
324
+ <port id="0" precision="I32">
325
+ <dim>280147</dim>
326
+ </port>
327
+ </output>
328
+ </layer>
329
+ <layer id="30" name="Constant_58361" type="Const" version="opset1">
330
+ <data element_type="i32" shape="280147" offset="6228977" size="1120588" />
331
+ <output>
332
+ <port id="0" precision="I32">
333
+ <dim>280147</dim>
334
+ </port>
335
+ </output>
336
+ </layer>
337
+ <layer id="31" name="Constant_58363" type="Const" version="opset1">
338
+ <data element_type="u8" shape="1036718" offset="7349565" size="1036718" />
339
+ <output>
340
+ <port id="0" precision="U8">
341
+ <dim>1036718</dim>
342
+ </port>
343
+ </output>
344
+ </layer>
345
+ <layer id="32" name="Constant_58347" type="Const" version="opset1">
346
+ <data element_type="i32" shape="256" offset="8386283" size="1024" />
347
+ <output>
348
+ <port id="0" precision="I32">
349
+ <dim>256</dim>
350
+ </port>
351
+ </output>
352
+ </layer>
353
+ <layer id="33" name="Constant_58349" type="Const" version="opset1">
354
+ <data element_type="i32" shape="256" offset="8387307" size="1024" />
355
+ <output>
356
+ <port id="0" precision="I32">
357
+ <dim>256</dim>
358
+ </port>
359
+ </output>
360
+ </layer>
361
+ <layer id="34" name="Constant_58351" type="Const" version="opset1">
362
+ <data element_type="u8" shape="7457" offset="8388331" size="7457" />
363
+ <output>
364
+ <port id="0" precision="U8">
365
+ <dim>7457</dim>
366
+ </port>
367
+ </output>
368
+ </layer>
369
+ <layer id="35" name="Constant_58364" type="Const" version="opset1">
370
+ <data element_type="i32" shape="256" offset="8395788" size="1024" />
371
+ <output>
372
+ <port id="0" precision="I32">
373
+ <dim>256</dim>
374
+ </port>
375
+ </output>
376
+ </layer>
377
+ <layer id="36" name="BPETokenizer_58365" type="BPETokenizer" version="extension">
378
+ <data unk_token="" fuse_unk="false" suffix_indicator="" end_suffix="" byte_fallback="false" cache_capacity="25600" />
379
+ <input>
380
+ <port id="0" precision="I32">
381
+ <dim>-1</dim>
382
+ </port>
383
+ <port id="1" precision="I32">
384
+ <dim>-1</dim>
385
+ </port>
386
+ <port id="2" precision="I32">
387
+ <dim>-1</dim>
388
+ </port>
389
+ <port id="3" precision="I32">
390
+ <dim>-1</dim>
391
+ </port>
392
+ <port id="4" precision="U8">
393
+ <dim>-1</dim>
394
+ </port>
395
+ <port id="5" precision="I32">
396
+ <dim>128256</dim>
397
+ </port>
398
+ <port id="6" precision="I32">
399
+ <dim>128256</dim>
400
+ </port>
401
+ <port id="7" precision="U8">
402
+ <dim>838768</dim>
403
+ </port>
404
+ <port id="8" precision="I32">
405
+ <dim>280147</dim>
406
+ </port>
407
+ <port id="9" precision="I32">
408
+ <dim>280147</dim>
409
+ </port>
410
+ <port id="10" precision="U8">
411
+ <dim>993515</dim>
412
+ </port>
413
+ <port id="11" precision="I32">
414
+ <dim>280147</dim>
415
+ </port>
416
+ <port id="12" precision="I32">
417
+ <dim>280147</dim>
418
+ </port>
419
+ <port id="13" precision="U8">
420
+ <dim>1036718</dim>
421
+ </port>
422
+ <port id="14" precision="I32">
423
+ <dim>256</dim>
424
+ </port>
425
+ <port id="15" precision="I32">
426
+ <dim>256</dim>
427
+ </port>
428
+ <port id="16" precision="U8">
429
+ <dim>7457</dim>
430
+ </port>
431
+ <port id="17" precision="I32">
432
+ <dim>256</dim>
433
+ </port>
434
+ </input>
435
+ <output>
436
+ <port id="18" precision="I32">
437
+ <dim>-1</dim>
438
+ </port>
439
+ <port id="19" precision="I32">
440
+ <dim>-1</dim>
441
+ </port>
442
+ <port id="20" precision="I32">
443
+ <dim>-1</dim>
444
+ </port>
445
+ </output>
446
+ </layer>
447
+ <layer id="37" name="Constant_58369" type="Const" version="opset1">
448
+ <data element_type="i32" shape="" offset="8396812" size="4" />
449
+ <output>
450
+ <port id="0" precision="I32" />
451
+ </output>
452
+ </layer>
453
+ <layer id="38" name="Constant_58370" type="Const" version="opset1">
454
+ <data element_type="i32" shape="" offset="8396816" size="4" />
455
+ <output>
456
+ <port id="0" precision="I32" />
457
+ </output>
458
+ </layer>
459
+ <layer id="39" name="Select_58371" type="Select" version="opset1">
460
+ <data auto_broadcast="numpy" />
461
+ <input>
462
+ <port id="0" precision="BOOL" />
463
+ <port id="1" precision="I32" />
464
+ <port id="2" precision="I32" />
465
+ </input>
466
+ <output>
467
+ <port id="3" precision="I32" />
468
+ </output>
469
+ </layer>
470
+ <layer id="40" name="Constant_58373" type="Const" version="opset1">
471
+ <data element_type="u8" shape="4" offset="8396820" size="4" />
472
+ <output>
473
+ <port id="0" precision="U8">
474
+ <dim>4</dim>
475
+ </port>
476
+ </output>
477
+ </layer>
478
+ <layer id="41" name="Constant_58375" type="Const" version="opset1">
479
+ <data element_type="u8" shape="13" offset="8396824" size="13" />
480
+ <output>
481
+ <port id="0" precision="U8">
482
+ <dim>13</dim>
483
+ </port>
484
+ </output>
485
+ </layer>
486
+ <layer id="42" name="Truncate_58376" type="Truncate" version="extension">
487
+ <data m_num_inputs="1" />
488
+ <input>
489
+ <port id="0" precision="I32">
490
+ <dim>-1</dim>
491
+ </port>
492
+ <port id="1" precision="I32">
493
+ <dim>-1</dim>
494
+ </port>
495
+ <port id="2" precision="I32">
496
+ <dim>-1</dim>
497
+ </port>
498
+ <port id="3" precision="I32" />
499
+ <port id="4" precision="U8">
500
+ <dim>4</dim>
501
+ </port>
502
+ <port id="5" precision="U8">
503
+ <dim>13</dim>
504
+ </port>
505
+ </input>
506
+ <output>
507
+ <port id="6" precision="I32">
508
+ <dim>-1</dim>
509
+ </port>
510
+ <port id="7" precision="I32">
511
+ <dim>-1</dim>
512
+ </port>
513
+ <port id="8" precision="I32">
514
+ <dim>-1</dim>
515
+ </port>
516
+ </output>
517
+ </layer>
518
+ <layer id="43" name="Constant_58380" type="Const" version="opset1">
519
+ <data element_type="i32" shape="2" offset="13" size="8" />
520
+ <output>
521
+ <port id="0" precision="I32">
522
+ <dim>2</dim>
523
+ </port>
524
+ </output>
525
+ </layer>
526
+ <layer id="44" name="CombineSegments_58381" type="CombineSegments" version="extension">
527
+ <input>
528
+ <port id="0" precision="I32" />
529
+ <port id="1" precision="I32" />
530
+ <port id="2" precision="I32">
531
+ <dim>1</dim>
532
+ </port>
533
+ <port id="3" precision="I32">
534
+ <dim>-1</dim>
535
+ </port>
536
+ <port id="4" precision="I32">
537
+ <dim>-1</dim>
538
+ </port>
539
+ <port id="5" precision="I32">
540
+ <dim>-1</dim>
541
+ </port>
542
+ <port id="6" precision="I32">
543
+ <dim>2</dim>
544
+ </port>
545
+ </input>
546
+ <output>
547
+ <port id="7" precision="I32">
548
+ <dim>-1</dim>
549
+ </port>
550
+ <port id="8" precision="I32">
551
+ <dim>-1</dim>
552
+ </port>
553
+ <port id="9" precision="I32">
554
+ <dim>-1</dim>
555
+ </port>
556
+ <port id="10" precision="I32">
557
+ <dim>-1</dim>
558
+ </port>
559
+ <port id="11" precision="I32">
560
+ <dim>-1</dim>
561
+ </port>
562
+ <port id="12" precision="I32">
563
+ <dim>-1</dim>
564
+ </port>
565
+ </output>
566
+ </layer>
567
+ <layer id="45" name="Subtract_58382" type="Subtract" version="opset1">
568
+ <data auto_broadcast="numpy" />
569
+ <input>
570
+ <port id="0" precision="I32">
571
+ <dim>-1</dim>
572
+ </port>
573
+ <port id="1" precision="I32">
574
+ <dim>-1</dim>
575
+ </port>
576
+ </input>
577
+ <output>
578
+ <port id="2" precision="I32">
579
+ <dim>-1</dim>
580
+ </port>
581
+ </output>
582
+ </layer>
583
+ <layer id="46" name="Constant_58383" type="Const" version="opset1">
584
+ <data element_type="i32" shape="" offset="1" size="4" />
585
+ <output>
586
+ <port id="0" precision="I32" />
587
+ </output>
588
+ </layer>
589
+ <layer id="47" name="ReduceMax_58384" type="ReduceMax" version="opset1">
590
+ <data keep_dims="false" />
591
+ <input>
592
+ <port id="0" precision="I32">
593
+ <dim>-1</dim>
594
+ </port>
595
+ <port id="1" precision="I32" />
596
+ </input>
597
+ <output>
598
+ <port id="2" precision="I32" />
599
+ </output>
600
+ </layer>
601
+ <layer id="48" name="Constant_58385" type="Const" version="opset1">
602
+ <data element_type="i32" shape="" offset="8396837" size="4" />
603
+ <output>
604
+ <port id="0" precision="I32" />
605
+ </output>
606
+ </layer>
607
+ <layer id="49" name="RaggedToDense_58386" type="RaggedToDense" version="extension">
608
+ <data pad_right="false" m_pad_max_length="false" />
609
+ <input>
610
+ <port id="0" precision="I32">
611
+ <dim>-1</dim>
612
+ </port>
613
+ <port id="1" precision="I32">
614
+ <dim>-1</dim>
615
+ </port>
616
+ <port id="2" precision="I32">
617
+ <dim>-1</dim>
618
+ </port>
619
+ <port id="3" precision="I32" />
620
+ <port id="4" precision="I32" />
621
+ </input>
622
+ <output>
623
+ <port id="5" precision="I32">
624
+ <dim>-1</dim>
625
+ <dim>-1</dim>
626
+ </port>
627
+ <port id="6" precision="BOOL">
628
+ <dim>-1</dim>
629
+ <dim>-1</dim>
630
+ </port>
631
+ </output>
632
+ </layer>
633
+ <layer id="50" name="Convert_58387" type="Convert" version="opset1">
634
+ <data destination_type="i32" />
635
+ <input>
636
+ <port id="0" precision="BOOL">
637
+ <dim>-1</dim>
638
+ <dim>-1</dim>
639
+ </port>
640
+ </input>
641
+ <output>
642
+ <port id="1" precision="I32">
643
+ <dim>-1</dim>
644
+ <dim>-1</dim>
645
+ </port>
646
+ </output>
647
+ </layer>
648
+ <layer id="51" name="Convert_58387.0" type="Convert" version="opset1">
649
+ <data destination_type="i64" />
650
+ <input>
651
+ <port id="0" precision="I32">
652
+ <dim>-1</dim>
653
+ <dim>-1</dim>
654
+ </port>
655
+ </input>
656
+ <output>
657
+ <port id="1" precision="I64" names="attention_mask">
658
+ <dim>-1</dim>
659
+ <dim>-1</dim>
660
+ </port>
661
+ </output>
662
+ </layer>
663
+ <layer id="52" name="RaggedToDense_58386.0" type="Convert" version="opset1">
664
+ <data destination_type="i64" />
665
+ <input>
666
+ <port id="0" precision="I32">
667
+ <dim>-1</dim>
668
+ <dim>-1</dim>
669
+ </port>
670
+ </input>
671
+ <output>
672
+ <port id="1" precision="I64" names="input_ids">
673
+ <dim>-1</dim>
674
+ <dim>-1</dim>
675
+ </port>
676
+ </output>
677
+ </layer>
678
+ <layer id="53" name="Assign_58368" type="Assign" version="opset6">
679
+ <data variable_id="truncation" />
680
+ <input>
681
+ <port id="0" precision="BOOL" />
682
+ </input>
683
+ <output>
684
+ <port id="1" precision="BOOL" />
685
+ </output>
686
+ </layer>
687
+ <layer id="54" name="Result_58390" type="Result" version="opset1" output_names="input_ids">
688
+ <input>
689
+ <port id="0" precision="I64">
690
+ <dim>-1</dim>
691
+ <dim>-1</dim>
692
+ </port>
693
+ </input>
694
+ </layer>
695
+ <layer id="55" name="Result_58392" type="Result" version="opset1" output_names="attention_mask">
696
+ <input>
697
+ <port id="0" precision="I64">
698
+ <dim>-1</dim>
699
+ <dim>-1</dim>
700
+ </port>
701
+ </input>
702
+ </layer>
703
+ </layers>
704
+ <edges>
705
+ <edge from-layer="0" from-port="0" to-layer="7" to-port="0" />
706
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
707
+ <edge from-layer="2" from-port="1" to-layer="39" to-port="0" />
708
+ <edge from-layer="2" from-port="1" to-layer="53" to-port="0" />
709
+ <edge from-layer="3" from-port="0" to-layer="44" to-port="0" />
710
+ <edge from-layer="4" from-port="0" to-layer="44" to-port="1" />
711
+ <edge from-layer="5" from-port="0" to-layer="44" to-port="2" />
712
+ <edge from-layer="6" from-port="0" to-layer="13" to-port="0" />
713
+ <edge from-layer="7" from-port="1" to-layer="8" to-port="0" />
714
+ <edge from-layer="7" from-port="3" to-layer="20" to-port="4" />
715
+ <edge from-layer="7" from-port="2" to-layer="20" to-port="3" />
716
+ <edge from-layer="7" from-port="1" to-layer="20" to-port="2" />
717
+ <edge from-layer="8" from-port="1" to-layer="11" to-port="0" />
718
+ <edge from-layer="9" from-port="0" to-layer="11" to-port="1" />
719
+ <edge from-layer="10" from-port="0" to-layer="11" to-port="2" />
720
+ <edge from-layer="11" from-port="3" to-layer="16" to-port="0" />
721
+ <edge from-layer="11" from-port="3" to-layer="13" to-port="1" />
722
+ <edge from-layer="12" from-port="0" to-layer="13" to-port="2" />
723
+ <edge from-layer="13" from-port="3" to-layer="20" to-port="0" />
724
+ <edge from-layer="14" from-port="0" to-layer="18" to-port="0" />
725
+ <edge from-layer="15" from-port="0" to-layer="16" to-port="1" />
726
+ <edge from-layer="16" from-port="2" to-layer="18" to-port="1" />
727
+ <edge from-layer="17" from-port="0" to-layer="18" to-port="2" />
728
+ <edge from-layer="18" from-port="3" to-layer="20" to-port="1" />
729
+ <edge from-layer="19" from-port="0" to-layer="20" to-port="5" />
730
+ <edge from-layer="20" from-port="10" to-layer="22" to-port="4" />
731
+ <edge from-layer="20" from-port="6" to-layer="22" to-port="0" />
732
+ <edge from-layer="20" from-port="7" to-layer="22" to-port="1" />
733
+ <edge from-layer="20" from-port="11" to-layer="22" to-port="5" />
734
+ <edge from-layer="20" from-port="9" to-layer="22" to-port="3" />
735
+ <edge from-layer="20" from-port="8" to-layer="22" to-port="2" />
736
+ <edge from-layer="21" from-port="0" to-layer="22" to-port="6" />
737
+ <edge from-layer="22" from-port="7" to-layer="36" to-port="0" />
738
+ <edge from-layer="22" from-port="8" to-layer="36" to-port="1" />
739
+ <edge from-layer="22" from-port="9" to-layer="36" to-port="2" />
740
+ <edge from-layer="22" from-port="10" to-layer="36" to-port="3" />
741
+ <edge from-layer="22" from-port="11" to-layer="36" to-port="4" />
742
+ <edge from-layer="23" from-port="0" to-layer="36" to-port="5" />
743
+ <edge from-layer="24" from-port="0" to-layer="36" to-port="6" />
744
+ <edge from-layer="25" from-port="0" to-layer="36" to-port="7" />
745
+ <edge from-layer="26" from-port="0" to-layer="36" to-port="8" />
746
+ <edge from-layer="27" from-port="0" to-layer="36" to-port="9" />
747
+ <edge from-layer="28" from-port="0" to-layer="36" to-port="10" />
748
+ <edge from-layer="29" from-port="0" to-layer="36" to-port="11" />
749
+ <edge from-layer="30" from-port="0" to-layer="36" to-port="12" />
750
+ <edge from-layer="31" from-port="0" to-layer="36" to-port="13" />
751
+ <edge from-layer="32" from-port="0" to-layer="36" to-port="14" />
752
+ <edge from-layer="33" from-port="0" to-layer="36" to-port="15" />
753
+ <edge from-layer="34" from-port="0" to-layer="36" to-port="16" />
754
+ <edge from-layer="35" from-port="0" to-layer="36" to-port="17" />
755
+ <edge from-layer="36" from-port="19" to-layer="42" to-port="1" />
756
+ <edge from-layer="36" from-port="20" to-layer="42" to-port="2" />
757
+ <edge from-layer="36" from-port="18" to-layer="42" to-port="0" />
758
+ <edge from-layer="37" from-port="0" to-layer="39" to-port="1" />
759
+ <edge from-layer="38" from-port="0" to-layer="39" to-port="2" />
760
+ <edge from-layer="39" from-port="3" to-layer="42" to-port="3" />
761
+ <edge from-layer="40" from-port="0" to-layer="42" to-port="4" />
762
+ <edge from-layer="41" from-port="0" to-layer="42" to-port="5" />
763
+ <edge from-layer="42" from-port="6" to-layer="44" to-port="3" />
764
+ <edge from-layer="42" from-port="7" to-layer="44" to-port="4" />
765
+ <edge from-layer="42" from-port="8" to-layer="44" to-port="5" />
766
+ <edge from-layer="43" from-port="0" to-layer="44" to-port="6" />
767
+ <edge from-layer="44" from-port="7" to-layer="45" to-port="1" />
768
+ <edge from-layer="44" from-port="7" to-layer="49" to-port="0" />
769
+ <edge from-layer="44" from-port="8" to-layer="49" to-port="1" />
770
+ <edge from-layer="44" from-port="9" to-layer="49" to-port="2" />
771
+ <edge from-layer="44" from-port="8" to-layer="45" to-port="0" />
772
+ <edge from-layer="45" from-port="2" to-layer="47" to-port="0" />
773
+ <edge from-layer="46" from-port="0" to-layer="47" to-port="1" />
774
+ <edge from-layer="47" from-port="2" to-layer="49" to-port="3" />
775
+ <edge from-layer="48" from-port="0" to-layer="49" to-port="4" />
776
+ <edge from-layer="49" from-port="6" to-layer="50" to-port="0" />
777
+ <edge from-layer="49" from-port="5" to-layer="52" to-port="0" />
778
+ <edge from-layer="50" from-port="1" to-layer="51" to-port="0" />
779
+ <edge from-layer="51" from-port="1" to-layer="55" to-port="0" />
780
+ <edge from-layer="52" from-port="1" to-layer="54" to-port="0" />
781
+ </edges>
782
+ <rt_info>
783
+ <info name="OpenVINO Runtime" value="2026.4.0-22959-99c81491cc3-releases/2026/4" />
784
+ <add_attention_mask value="True" />
785
+ <add_prefix_space />
786
+ <add_special_tokens value="True" />
787
+ <bos_token_id value="128000" />
788
+ <clean_up_tokenization_spaces />
789
+ <detokenizer_input_type value="i64" />
790
+ <eos_token_id value="128001" />
791
+ <handle_special_tokens_with_re />
792
+ <max_length />
793
+ <number_of_inputs value="1" />
794
+ <openvino_tokenizers_version value="2026.4.0.0-736-a04accf6282" />
795
+ <openvino_version value="2026.4.0-22959-99c81491cc3-releases/2026/4" />
796
+ <original_post_processor_template value="{&quot;type&quot;: &quot;Sequence&quot;, &quot;processors&quot;: [{&quot;type&quot;: &quot;ByteLevel&quot;, &quot;add_prefix_space&quot;: true, &quot;trim_offsets&quot;: false, &quot;use_regex&quot;: true}, {&quot;type&quot;: &quot;TemplateProcessing&quot;, &quot;single&quot;: [{&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;type_id&quot;: 0}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;A&quot;, &quot;type_id&quot;: 0}}], &quot;pair&quot;: [{&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;type_id&quot;: 0}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;A&quot;, &quot;type_id&quot;: 0}}, {&quot;SpecialToken&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;type_id&quot;: 1}}, {&quot;Sequence&quot;: {&quot;id&quot;: &quot;B&quot;, &quot;type_id&quot;: 1}}], &quot;special_tokens&quot;: {&quot;&lt;|begin_of_text|>&quot;: {&quot;id&quot;: &quot;&lt;|begin_of_text|>&quot;, &quot;ids&quot;: [128000], &quot;tokens&quot;: [&quot;&lt;|begin_of_text|>&quot;]}}}]}" />
797
+ <original_tokenizer_class value="&lt;class 'transformers.tokenization_utils_tokenizers.TokenizersBackend'>" />
798
+ <pad_token_id value="128001" />
799
+ <processed_post_processor_template value="{&quot;single&quot;: {&quot;ids&quot;: [128000, -1], &quot;type_ids&quot;: [0, 0]}, &quot;pair&quot;: {&quot;ids&quot;: [128000, -1, 128000, -2], &quot;type_ids&quot;: [0, 0, 1, 1]}}" />
800
+ <skip_special_tokens value="True" />
801
+ <streaming_detokenizer value="False" />
802
+ <tokenizer_output_type value="i64" />
803
+ <tokenizers_version value="0.22.2" />
804
+ <transformers_version value="5.5.4" />
805
+ <truncation value="False" />
806
+ <use_max_padding value="False" />
807
+ <use_sentencepiece_backend value="False" />
808
+ <utf8_replace_mode value="replace" />
809
+ <with_detokenizer value="True" />
810
+ </rt_info>
811
+ </net>
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b
3
+ size 17209920
tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|begin_of_text|>",
4
+ "clean_up_tokenization_spaces": true,
5
+ "eos_token": "<|end_of_text|>",
6
+ "is_local": true,
7
+ "model_input_names": [
8
+ "input_ids",
9
+ "attention_mask"
10
+ ],
11
+ "model_max_length": 131072,
12
+ "pad_token": "<|end_of_text|>",
13
+ "tokenizer_class": "TokenizersBackend"
14
+ }