=== ARCHITECTURE ===
{
  "_sliding_window_pattern": 6,
  "architectures": [
    "Gemma3ForCausalLM"
  ],
  "attention_bias": false,
  "attention_dropout": 0.0,
  "attn_logit_softcapping": null,
  "bos_token_id": 2,
  "dtype": "float32",
  "eos_token_id": 1,
  "final_logit_softcapping": null,
  "head_dim": 256,
  "hidden_activation": "gelu_pytorch_tanh",
  "hidden_size": 640,
  "initializer_range": 0.02,
  "intermediate_size": 2048,
  "layer_types": [
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "full_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "full_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "sliding_attention",
    "full_attention"
  ],
  "max_position_embeddings": 32768,
  "model_type": "gemma3_text",
  "num_attention_heads": 4,
  "num_hidden_layers": 18,
  "num_key_value_heads": 1,
  "pad_token_id": 0,
  "query_pre_attn_scalar": 256,
  "rms_norm_eps": 1e-06,
  "rope_parameters": {
    "full_attention": {
      "rope_theta": 1000000.0,
      "rope_type": "default"
    },
    "sliding_attention": {
      "rope_theta": 10000.0,
      "rope_type": "default"
    }
  },
  "sliding_window": 512,
  "tie_word_embeddings": true,
  "transformers_version": "5.20.2",
  "use_bidirectional_attention": false,
  "use_cache": true,
  "vocab_size": 262144
}
Configs identical: True
Keys only in A: []
Keys only in B: []
Layer indices: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

=== NON-LAYER TENSORS AND ONE LAYER'S INVENTORY ===
lm_head.weight (262144, 640) BF16
model.embed_tokens.weight (262144, 640) BF16
model.layers.0.input_layernorm.weight (640,) BF16
model.layers.0.mlp.down_proj.weight (640, 2048) BF16
model.layers.0.mlp.gate_proj.weight (2048, 640) BF16
model.layers.0.mlp.up_proj.weight (2048, 640) BF16
model.layers.0.post_attention_layernorm.weight (640,) BF16
model.layers.0.post_feedforward_layernorm.weight (640,) BF16
model.layers.0.pre_feedforward_layernorm.weight (640,) BF16
model.layers.0.self_attn.k_norm.weight (256,) BF16
model.layers.0.self_attn.k_proj.weight (256, 640) BF16
model.layers.0.self_attn.o_proj.weight (640, 1024) BF16
model.layers.0.self_attn.q_norm.weight (256,) BF16
model.layers.0.self_attn.q_proj.weight (1024, 640) BF16
model.layers.0.self_attn.v_proj.weight (256, 640) BF16
model.norm.weight (640,) BF16

=== TOKENIZER CHECKS ===
tokenizer.json byte-identical: True
tokenizer_config.json byte-identical: True
tokenizer_class: "GemmaTokenizer"
bos_token: "<bos>"
eos_token: "<eos>"
unk_token: "<unk>"
pad_token: "<pad>"
Vocabulary entries: 262145
Special tokens: {0: '<pad>', 1: '<eos>', 2: '<bos>', 3: '<unk>', 4: '<mask>', 105: '<start_of_turn>', 106: '<end_of_turn>', 255999: '<start_of_image>', 256000: '<end_of_image>', 262144: '<image_soft_token>'}

=== NON-LAYER EQUALITY ===
lm_head.weight exactly identical: True
model.embed_tokens.weight exactly identical: True
model.norm.weight exactly identical: True

=== DIFFERENCES EXCLUDING EMBEDDING/OUTPUT TABLES ===
Each entry: ||B-A||_F, symmetric relative difference, fraction changed.
layer  0 | attention: 0.2893, 0.0051027, 0.749 | mlp: 0.46838, 0.0069013, 0.768 | norm_or_other: 0.0045254, 1.1036e-05, 0.038
layer  1 | attention: 0.29007, 0.0045523, 0.783 | mlp: 0.4771, 0.0072959, 0.788 | norm_or_other: 0.0033859, 3.1991e-06, 0.023
layer  2 | attention: 0.31022, 0.0052934, 0.770 | mlp: 0.47739, 0.0072352, 0.784 | norm_or_other: 0.0032846, 3.042e-06, 0.020
layer  3 | attention: 0.30423, 0.0063696, 0.802 | mlp: 0.46854, 0.0071807, 0.794 | norm_or_other: 0.0024661, 1.7151e-06, 0.013
layer  4 | attention: 0.30729, 0.0051298, 0.801 | mlp: 0.48121, 0.0074273, 0.807 | norm_or_other: 0.0026854, 1.7542e-06, 0.011
layer  5 | attention: 0.32017, 0.0042941, 0.804 | mlp: 0.48338, 0.0071107, 0.783 | norm_or_other: 0.0019274, 1.5383e-06, 0.009
layer  6 | attention: 0.32888, 0.0061221, 0.794 | mlp: 0.47911, 0.0073197, 0.796 | norm_or_other: 0.002288, 1.8473e-06, 0.010
layer  7 | attention: 0.31143, 0.005449, 0.781 | mlp: 0.47661, 0.0072155, 0.790 | norm_or_other: 0.0028445, 2.3762e-06, 0.007
layer  8 | attention: 0.3151, 0.0055828, 0.792 | mlp: 0.47854, 0.0073606, 0.802 | norm_or_other: 0.0023546, 1.7033e-06, 0.011
layer  9 | attention: 0.32338, 0.0055512, 0.785 | mlp: 0.48008, 0.0071931, 0.789 | norm_or_other: 0.0022962, 1.575e-06, 0.011
layer 10 | attention: 0.33928, 0.0047334, 0.780 | mlp: 0.481, 0.0073749, 0.803 | norm_or_other: 0.0015124, 6.1744e-07, 0.008
layer 11 | attention: 0.32509, 0.003852, 0.790 | mlp: 0.48121, 0.0072359, 0.791 | norm_or_other: 0.0020267, 3.392e-07, 0.008
layer 12 | attention: 0.33662, 0.005574, 0.803 | mlp: 0.4937, 0.0073467, 0.793 | norm_or_other: 0.002649, 3.6137e-07, 0.011
layer 13 | attention: 0.32046, 0.0058845, 0.801 | mlp: 0.50013, 0.0076652, 0.800 | norm_or_other: 0.0035743, 5.2023e-07, 0.027
layer 14 | attention: 0.31198, 0.0047359, 0.784 | mlp: 0.50954, 0.0078405, 0.806 | norm_or_other: 0.0043347, 5.513e-07, 0.039
layer 15 | attention: 0.33227, 0.0052633, 0.780 | mlp: 0.50933, 0.0077399, 0.800 | norm_or_other: 0.003179, 3.2794e-07, 0.013
layer 16 | attention: 0.31076, 0.0056186, 0.799 | mlp: 0.49128, 0.007422, 0.790 | norm_or_other: 0.0014952, 1.5617e-07, 0.007
layer 17 | attention: 0.29417, 0.0044515, 0.784 | mlp: 0.46799, 0.0071387, 0.789 | norm_or_other: 0.0022775, 2.2093e-07, 0.010

Largest tensor-relative differences (NOT behavioural importance):
model.layers.4.mlp.down_proj.weight                                  rel=0.0187882 delta_norm=0.261557 changed=0.918
model.layers.14.mlp.down_proj.weight                                 rel=0.0183266 delta_norm=0.282217 changed=0.904
model.layers.8.mlp.down_proj.weight                                  rel=0.017131 delta_norm=0.254188 changed=0.899
model.layers.1.mlp.down_proj.weight                                  rel=0.0169488 delta_norm=0.263844 changed=0.898
model.layers.10.mlp.down_proj.weight                                 rel=0.0167458 delta_norm=0.260869 changed=0.900
model.layers.13.mlp.down_proj.weight                                 rel=0.0165041 delta_norm=0.273572 changed=0.894
model.layers.3.mlp.down_proj.weight                                  rel=0.0162541 delta_norm=0.258182 changed=0.898
model.layers.15.mlp.down_proj.weight                                 rel=0.0153843 delta_norm=0.282315 changed=0.886
model.layers.6.mlp.down_proj.weight                                  rel=0.0149201 delta_norm=0.255254 changed=0.885
model.layers.2.mlp.down_proj.weight                                  rel=0.0140623 delta_norm=0.260828 changed=0.880
model.layers.16.mlp.down_proj.weight                                 rel=0.0136839 delta_norm=0.270168 changed=0.872
model.layers.17.mlp.down_proj.weight                                 rel=0.0136275 delta_norm=0.248897 changed=0.873
model.layers.7.mlp.down_proj.weight                                  rel=0.0134038 delta_norm=0.256499 changed=0.871
model.layers.11.mlp.down_proj.weight                                 rel=0.0123759 delta_norm=0.254171 changed=0.861
model.layers.9.mlp.down_proj.weight                                  rel=0.0122825 delta_norm=0.259523 changed=0.860
model.layers.12.mlp.down_proj.weight                                 rel=0.0118586 delta_norm=0.268524 changed=0.857
model.layers.3.self_attn.o_proj.weight                               rel=0.011091 delta_norm=0.17832 changed=0.851
model.layers.4.self_attn.o_proj.weight                               rel=0.0110194 delta_norm=0.189399 changed=0.864
model.layers.0.mlp.down_proj.weight                                  rel=0.0106866 delta_norm=0.263134 changed=0.843
model.layers.5.mlp.down_proj.weight                                  rel=0.0105284 delta_norm=0.26109 changed=0.840
model.layers.16.self_attn.o_proj.weight                              rel=0.0103002 delta_norm=0.17979 changed=0.836
model.layers.1.self_attn.o_proj.weight                               rel=0.00981112 delta_norm=0.181413 changed=0.836
model.layers.8.self_attn.o_proj.weight                               rel=0.00909051 delta_norm=0.190991 changed=0.848
model.layers.13.self_attn.o_proj.weight                              rel=0.00883384 delta_norm=0.192662 changed=0.822

Norm-vector ranges; raw stored values, not applied normalisation:
model.layers.0.input_layernorm.weight                                A=[6.375,61.75] B=[6.375,61.75] rel=0
model.layers.0.post_attention_layernorm.weight                       A=[-1,51.75] B=[-1,51.75] rel=1.2386e-05
model.layers.0.post_feedforward_layernorm.weight                     A=[-0.98828,152] B=[-0.98828,152] rel=2.6458e-05
model.layers.0.pre_feedforward_layernorm.weight                      A=[-1,19.625] B=[-1,19.625] rel=0
model.layers.0.self_attn.k_norm.weight                               A=[-1.8281,5.8438] B=[-1.8281,5.8438] rel=3.1866e-05
model.layers.0.self_attn.q_norm.weight                               A=[-3.7812,3.5625] B=[-3.7812,3.5625] rel=2.747e-05
model.layers.1.input_layernorm.weight                                A=[-0.17188,47.5] B=[-0.17188,47.5] rel=0
model.layers.1.post_attention_layernorm.weight                       A=[-1.0078,103] B=[-1.0078,103] rel=8.24e-06
model.layers.1.post_feedforward_layernorm.weight                     A=[-1,195] B=[-1,195] rel=1.2217e-05
model.layers.1.pre_feedforward_layernorm.weight                      A=[-1,55.75] B=[-1,55.75] rel=0
model.layers.1.self_attn.k_norm.weight                               A=[-1.0234,7.875] B=[-1.0234,7.875] rel=0
model.layers.1.self_attn.q_norm.weight                               A=[-1.1172,14.438] B=[-1.1172,14.438] rel=0
model.layers.10.input_layernorm.weight                               A=[-0.26367,100.5] B=[-0.26367,100.5] rel=3.8899e-07
model.layers.10.post_attention_layernorm.weight                      A=[-71.5,482] B=[-71.5,482] rel=8.4849e-08
model.layers.10.post_feedforward_layernorm.weight                    A=[-1.2109,592] B=[-1.2109,592] rel=0
model.layers.10.pre_feedforward_layernorm.weight                     A=[-1.0312,38.25] B=[-1.0312,38.25] rel=8.7309e-06
model.layers.10.self_attn.k_norm.weight                              A=[-1,21.25] B=[-1,21.25] rel=1.8431e-05
model.layers.10.self_attn.q_norm.weight                              A=[-0.98828,3.3125] B=[-0.98828,3.3125] rel=0.00012617
model.layers.11.input_layernorm.weight                               A=[-0.84375,52.25] B=[-0.84375,52.25] rel=6.3948e-06
model.layers.11.post_attention_layernorm.weight                      A=[-0.95703,568] B=[-0.95703,568] rel=0
model.layers.11.post_feedforward_layernorm.weight                    A=[-0.98047,892] B=[-0.98047,892] rel=0
model.layers.11.pre_feedforward_layernorm.weight                     A=[-1.0547,53.75] B=[-1.0547,53.75] rel=6.0584e-06
model.layers.11.self_attn.k_norm.weight                              A=[-1,29.5] B=[-1,29.5] rel=8.3531e-06
model.layers.11.self_attn.q_norm.weight                              A=[-1.0469,6.0938] B=[-1.0469,6.0938] rel=6.0195e-05
model.layers.12.input_layernorm.weight                               A=[-0.62109,160] B=[-0.62109,160] rel=7.5923e-07
model.layers.12.post_attention_layernorm.weight                      A=[-0.59766,616] B=[-0.59766,616] rel=0
model.layers.12.post_feedforward_layernorm.weight                    A=[-1.8203,740] B=[-1.8203,740] rel=0
model.layers.12.pre_feedforward_layernorm.weight                     A=[-1.0391,30.875] B=[-1.0391,30.875] rel=1.8475e-05
model.layers.12.self_attn.k_norm.weight                              A=[-3.0312,6.6875] B=[-3.0312,6.6875] rel=1.5238e-05
model.layers.12.self_attn.q_norm.weight                              A=[-1.0547,3.9219] B=[-1.0547,3.9219] rel=6.0787e-05
model.layers.13.input_layernorm.weight                               A=[-0.2334,122] B=[-0.2334,122] rel=4.3996e-06
model.layers.13.post_attention_layernorm.weight                      A=[-2.0312,454] B=[-2.0312,454] rel=0
model.layers.13.post_feedforward_layernorm.weight                    A=[-0.91016,492] B=[-0.91016,492] rel=0
model.layers.13.pre_feedforward_layernorm.weight                     A=[-0.99219,29] B=[-0.99219,29] rel=2.0371e-05
model.layers.13.self_attn.k_norm.weight                              A=[-1,11.812] B=[-1,11.812] rel=4.9062e-05
model.layers.13.self_attn.q_norm.weight                              A=[-1,5.875] B=[-1,5.875] rel=7.6836e-05
model.layers.14.input_layernorm.weight                               A=[-0.30469,171] B=[-0.30469,171] rel=3.1177e-06
model.layers.14.post_attention_layernorm.weight                      A=[0.66406,482] B=[0.66406,482] rel=0
model.layers.14.post_feedforward_layernorm.weight                    A=[1.5156,788] B=[1.5156,788] rel=0
model.layers.14.pre_feedforward_layernorm.weight                     A=[-1.0312,28.25] B=[-1.0312,28.25] rel=2.9335e-05
model.layers.14.self_attn.k_norm.weight                              A=[-1.0391,10.312] B=[-1.0391,10.312] rel=4.9236e-06
model.layers.14.self_attn.q_norm.weight                              A=[-1.0391,4.4688] B=[-1.0391,4.4688] rel=6.3761e-05
model.layers.15.input_layernorm.weight                               A=[0.17578,225] B=[0.17578,225] rel=0
model.layers.15.post_attention_layernorm.weight                      A=[-10.438,712] B=[-10.438,712] rel=0
model.layers.15.post_feedforward_layernorm.weight                    A=[-6,1192] B=[-6,1192] rel=0
model.layers.15.pre_feedforward_layernorm.weight                     A=[-1.0469,20.875] B=[-1.0469,20.875] rel=3.5247e-05
model.layers.15.self_attn.k_norm.weight                              A=[-1.3359,13.438] B=[-1.3359,13.438] rel=3.5078e-05
model.layers.15.self_attn.q_norm.weight                              A=[-1.0078,12] B=[-1.0078,12] rel=6.4331e-05
model.layers.16.input_layernorm.weight                               A=[0.51953,233] B=[0.51953,233] rel=0
model.layers.16.post_attention_layernorm.weight                      A=[0.25977,372] B=[0.25977,372] rel=0
model.layers.16.post_feedforward_layernorm.weight                    A=[-10.438,1656] B=[-10.438,1656] rel=0
model.layers.16.pre_feedforward_layernorm.weight                     A=[-1.0547,23.25] B=[-1.0547,23.25] rel=1.6971e-05
model.layers.16.self_attn.k_norm.weight                              A=[-1,8.4375] B=[-1,8.4375] rel=2.0156e-05
model.layers.16.self_attn.q_norm.weight                              A=[-1.0156,10.25] B=[-1.0156,10.25] rel=5.7354e-05
model.layers.17.input_layernorm.weight                               A=[0.28516,121] B=[0.28516,121] rel=0
model.layers.17.post_attention_layernorm.weight                      A=[-1.5078,448] B=[-1.5078,448] rel=3.0866e-08
model.layers.17.post_feedforward_layernorm.weight                    A=[-1.1328,1648] B=[-1.1328,1648] rel=0
model.layers.17.pre_feedforward_layernorm.weight              
[output cut at 15,000 characters]