gemma-4-E4B-it-qat-int4-ov / openvino_text_embeddings_per_layer_model.xml
HarmenWessels's picture
Initial release: first OpenVINO IR of Gemma 4 E4B QAT (int4 sym g32, q4_0-matched, probe-validated)
f3e82a2 verified
Raw
History Blame Contribute Delete
18.5 kB
<?xml version="1.0"?>
<net name="Model9" version="11">
<layers>
<layer id="0" name="input_ids" type="Parameter" version="opset1">
<data shape="?,?" element_type="i64" />
<output>
<port id="0" precision="I64" names="input_ids">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="1" name="self.language_model.embed_tokens_per_layer.weight" type="Const" version="opset1">
<data element_type="i8" shape="262144, 10752" offset="0" size="2818572288" />
<output>
<port id="0" precision="I8">
<dim>262144</dim>
<dim>10752</dim>
</port>
</output>
</layer>
<layer id="2" name="Convert_2646531" type="Convert" version="opset1">
<data destination_type="f16" />
<input>
<port id="0" precision="I8">
<dim>262144</dim>
<dim>10752</dim>
</port>
</input>
<output>
<port id="1" precision="FP16">
<dim>262144</dim>
<dim>10752</dim>
</port>
</output>
</layer>
<layer id="3" name="self.language_model.embed_tokens_per_layer.weight/scale" type="Const" version="opset1">
<data element_type="f16" shape="262144, 1" offset="2818572288" size="524288" />
<output>
<port id="0" precision="FP16">
<dim>262144</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="4" name="self.language_model.embed_tokens_per_layer.weight/fq_weights_0" type="Multiply" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="FP16">
<dim>262144</dim>
<dim>10752</dim>
</port>
<port id="1" precision="FP16">
<dim>262144</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="FP16">
<dim>262144</dim>
<dim>10752</dim>
</port>
</output>
</layer>
<layer id="5" name="self.language_model.embed_tokens_per_layer.weight/fq_weights_0/convert" type="Convert" version="opset1">
<data destination_type="f32" />
<input>
<port id="0" precision="FP16">
<dim>262144</dim>
<dim>10752</dim>
</port>
</input>
<output>
<port id="1" precision="FP32">
<dim>262144</dim>
<dim>10752</dim>
</port>
</output>
</layer>
<layer id="6" name="Constant_209302" type="Const" version="opset1">
<data element_type="i64" shape="1, 1" offset="2819096576" size="8" />
<output>
<port id="0" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="7" name="aten::eq/Equal" type="Equal" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="BOOL" names="7">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="8" name="8" type="Const" version="opset1">
<data element_type="i64" shape="" offset="2819096584" size="8" />
<output>
<port id="0" precision="I64" names="8" />
</output>
</layer>
<layer id="9" name="aten::full_like/ShapeOf" type="ShapeOf" version="opset3">
<data output_type="i32" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I32">
<dim>2</dim>
</port>
</output>
</layer>
<layer id="10" name="aten::full_like/Broadcast" type="Broadcast" version="opset3">
<data mode="numpy" />
<input>
<port id="0" precision="I64" />
<port id="1" precision="I32">
<dim>2</dim>
</port>
</input>
<output>
<port id="2" precision="I64" names="14,24,34">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="11" name="aten::where/Select" type="Select" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="2" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="3" precision="I64" names="15,per_layer_inputs_tokens.3">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="12" name="Constant_209303" type="Const" version="opset1">
<data element_type="i64" shape="1, 1" offset="2819096592" size="8" />
<output>
<port id="0" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="13" name="aten::eq/Equal_1" type="Equal" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="BOOL" names="17">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="14" name="aten::where/Select_1" type="Select" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="2" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="3" precision="I64" names="25,per_layer_inputs_tokens.5">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="15" name="Constant_209304" type="Const" version="opset1">
<data element_type="i64" shape="1, 1" offset="2819096600" size="8" />
<output>
<port id="0" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="16" name="aten::eq/Equal_2" type="Equal" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="BOOL" names="27">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="17" name="aten::where/Select_2" type="Select" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="2" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="3" precision="I64" names="35,per_layer_inputs_tokens">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="18" name="Constant_209305" type="Const" version="opset1">
<data element_type="i64" shape="1, 1" offset="2819096584" size="8" />
<output>
<port id="0" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="19" name="aten::ge/GreaterEqual" type="GreaterEqual" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="BOOL" names="37">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="20" name="Constant_209306" type="Const" version="opset1">
<data element_type="i64" shape="1, 1" offset="2819096608" size="8" />
<output>
<port id="0" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="21" name="aten::lt/Less" type="Less" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>1</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="BOOL" names="39">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="22" name="aten::logical_and/LogicalAnd" type="LogicalAnd" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="2" precision="BOOL" names="40,per_layer_inputs_mask">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="23" name="aten::zeros_like/Constant" type="Const" version="opset1">
<data element_type="f32" shape="" offset="2819096616" size="4" />
<output>
<port id="0" precision="FP32" />
</output>
</layer>
<layer id="24" name="aten::zeros_like/Broadcast" type="Broadcast" version="opset3">
<data mode="numpy" />
<input>
<port id="0" precision="FP32" />
<port id="1" precision="I32">
<dim>2</dim>
</port>
</input>
<output>
<port id="2" precision="FP32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="25" name="aten::zeros_like/ConvertLike" type="Convert" version="opset1">
<data destination_type="i64" />
<input>
<port id="0" precision="FP32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I64" names="46">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="26" name="aten::where/Select_3" type="Select" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="BOOL">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="1" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="2" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="3" precision="I64" names="47,input">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="27" name="__module.language_model.embed_tokens_per_layer/aten::embedding/Convert" type="Convert" version="opset1">
<data destination_type="i32" />
<input>
<port id="0" precision="I64">
<dim>-1</dim>
<dim>-1</dim>
</port>
</input>
<output>
<port id="1" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
</output>
</layer>
<layer id="28" name="__module.language_model.embed_tokens_per_layer/aten::embedding/Constant" type="Const" version="opset1">
<data element_type="i32" shape="" offset="2819096616" size="4" />
<output>
<port id="0" precision="I32" />
</output>
</layer>
<layer id="29" name="__module.language_model.embed_tokens_per_layer/aten::embedding/Gather" type="Gather" version="opset8">
<data batch_dims="0" />
<input>
<port id="0" precision="FP32">
<dim>262144</dim>
<dim>10752</dim>
</port>
<port id="1" precision="I32">
<dim>-1</dim>
<dim>-1</dim>
</port>
<port id="2" precision="I32" />
</input>
<output>
<port id="3" precision="FP32" names="68">
<dim>-1</dim>
<dim>-1</dim>
<dim>10752</dim>
</port>
</output>
</layer>
<layer id="30" name="Constant_209307" type="Const" version="opset1">
<data element_type="f32" shape="1, 1, 1" offset="2819096620" size="4" />
<output>
<port id="0" precision="FP32">
<dim>1</dim>
<dim>1</dim>
<dim>1</dim>
</port>
</output>
</layer>
<layer id="31" name="__module.language_model.embed_tokens_per_layer/aten::mul/Multiply" type="Multiply" version="opset1">
<data auto_broadcast="numpy" />
<input>
<port id="0" precision="FP32">
<dim>-1</dim>
<dim>-1</dim>
<dim>10752</dim>
</port>
<port id="1" precision="FP32">
<dim>1</dim>
<dim>1</dim>
<dim>1</dim>
</port>
</input>
<output>
<port id="2" precision="FP32" names="70">
<dim>-1</dim>
<dim>-1</dim>
<dim>10752</dim>
</port>
</output>
</layer>
<layer id="32" name="Constant_209339" type="Const" version="opset1">
<data element_type="i64" shape="4" offset="2819096624" size="32" />
<output>
<port id="0" precision="I64">
<dim>4</dim>
</port>
</output>
</layer>
<layer id="33" name="aten::reshape/Reshape" type="Reshape" version="opset1">
<data special_zero="true" />
<input>
<port id="0" precision="FP32">
<dim>-1</dim>
<dim>-1</dim>
<dim>10752</dim>
</port>
<port id="1" precision="I64">
<dim>4</dim>
</port>
</input>
<output>
<port id="2" precision="FP32" names="text_embeds_per_layer">
<dim>-1</dim>
<dim>-1</dim>
<dim>42</dim>
<dim>256</dim>
</port>
</output>
</layer>
<layer id="34" name="Result_207002" type="Result" version="opset1" output_names="text_embeds_per_layer">
<input>
<port id="0" precision="FP32">
<dim>-1</dim>
<dim>-1</dim>
<dim>42</dim>
<dim>256</dim>
</port>
</input>
</layer>
</layers>
<edges>
<edge from-layer="0" from-port="0" to-layer="7" to-port="0" />
<edge from-layer="0" from-port="0" to-layer="9" to-port="0" />
<edge from-layer="0" from-port="0" to-layer="11" to-port="2" />
<edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
<edge from-layer="2" from-port="1" to-layer="4" to-port="0" />
<edge from-layer="3" from-port="0" to-layer="4" to-port="1" />
<edge from-layer="4" from-port="2" to-layer="5" to-port="0" />
<edge from-layer="5" from-port="1" to-layer="29" to-port="0" />
<edge from-layer="6" from-port="0" to-layer="7" to-port="1" />
<edge from-layer="7" from-port="2" to-layer="11" to-port="0" />
<edge from-layer="8" from-port="0" to-layer="10" to-port="0" />
<edge from-layer="9" from-port="1" to-layer="10" to-port="1" />
<edge from-layer="9" from-port="1" to-layer="24" to-port="1" />
<edge from-layer="10" from-port="2" to-layer="11" to-port="1" />
<edge from-layer="10" from-port="2" to-layer="14" to-port="1" />
<edge from-layer="10" from-port="2" to-layer="17" to-port="1" />
<edge from-layer="11" from-port="3" to-layer="13" to-port="0" />
<edge from-layer="11" from-port="3" to-layer="14" to-port="2" />
<edge from-layer="12" from-port="0" to-layer="13" to-port="1" />
<edge from-layer="13" from-port="2" to-layer="14" to-port="0" />
<edge from-layer="14" from-port="3" to-layer="16" to-port="0" />
<edge from-layer="14" from-port="3" to-layer="17" to-port="2" />
<edge from-layer="15" from-port="0" to-layer="16" to-port="1" />
<edge from-layer="16" from-port="2" to-layer="17" to-port="0" />
<edge from-layer="17" from-port="3" to-layer="19" to-port="0" />
<edge from-layer="17" from-port="3" to-layer="21" to-port="0" />
<edge from-layer="17" from-port="3" to-layer="26" to-port="1" />
<edge from-layer="18" from-port="0" to-layer="19" to-port="1" />
<edge from-layer="19" from-port="2" to-layer="22" to-port="0" />
<edge from-layer="20" from-port="0" to-layer="21" to-port="1" />
<edge from-layer="21" from-port="2" to-layer="22" to-port="1" />
<edge from-layer="22" from-port="2" to-layer="26" to-port="0" />
<edge from-layer="23" from-port="0" to-layer="24" to-port="0" />
<edge from-layer="24" from-port="2" to-layer="25" to-port="0" />
<edge from-layer="25" from-port="1" to-layer="26" to-port="2" />
<edge from-layer="26" from-port="3" to-layer="27" to-port="0" />
<edge from-layer="27" from-port="1" to-layer="29" to-port="1" />
<edge from-layer="28" from-port="0" to-layer="29" to-port="2" />
<edge from-layer="29" from-port="3" to-layer="31" to-port="0" />
<edge from-layer="30" from-port="0" to-layer="31" to-port="1" />
<edge from-layer="31" from-port="2" to-layer="33" to-port="0" />
<edge from-layer="32" from-port="0" to-layer="33" to-port="1" />
<edge from-layer="33" from-port="2" to-layer="34" to-port="0" />
</edges>
<rt_info>
<info name="OpenVINO Runtime" value="2026.3.0-22098-367f60d8408" />
<Runtime_version value="2026.3.0-22098-367f60d8408" />
<conversion_parameters>
<framework value="pytorch" />
<is_python_object value="True" />
</conversion_parameters>
<nncf>
<friendly_names_were_updated value="True" />
<version value="3.2.0" />
<weight_compression>
<advanced_parameters value="{'statistics_path': None, 'lora_adapter_rank': 256, 'group_size_fallback_mode': 'error', 'min_adjusted_group_size': 32, 'awq_params': {'subset_size': 32, 'percent_to_apply': 0.002, 'alpha_min': 0.0, 'alpha_max': 1.0, 'steps': 100, 'prefer_data_aware_scaling': True}, 'scale_estimation_params': {'subset_size': 64, 'initial_steps': 5, 'scale_steps': 5, 'weight_penalty': -1.0}, 'gptq_params': {'damp_percent': 0.1, 'block_size': 128, 'subset_size': 128}, 'lora_correction_params': {'adapter_rank': 8, 'num_iterations': 3, 'apply_regularization': True, 'subset_size': 128, 'use_int8_adapters': True}, 'backend_params': {}, 'codebook': None, 'adaptive_codebook_params': {'value_type': 'f8e4m3', 'across_blocks': False, 'num_elements': 16}}" />
<all_layers value="False" />
<awq value="False" />
<backup_mode value="int8_asym" />
<compression_format value="dequantize" />
<gptq value="False" />
<group_size value="-1" />
<ignored_scope value="[]" />
<lora_correction value="False" />
<mode value="int8_sym" />
<ratio value="1.0" />
<scale_estimation value="False" />
<sensitivity_metric value="weight_quantization_error" />
</weight_compression>
</nncf>
<optimum>
<nncf_version value="3.2.0" />
<optimum_intel_version value="1.27.0.dev0+e6f612a" />
<optimum_version value="2.1.0.dev0" />
<pytorch_version value="2.12.0+cpu" />
<transformers_version value="5.5.0" />
</optimum>
</rt_info>
</net>