baberu-ocr-webgpu / reports /decoder-gather-report.json
ameraino11's picture
Add optimized unified Gather WebGPU models
8020c75 verified
Raw
History Blame Contribute Delete
10.4 kB
{
"description": "Complete six-layer Baberu decoder using an INT32 token ID and a quantized embedding Gather instead of a full-vocabulary one-hot MatMul",
"fp32": {
"graph": {
"bytes": 133619451,
"sha256": "2742aceae936dd15a3b5e0aa632f91d7548442c7205f60e76cff948b39995fe2",
"opsets": {
"ai.onnx": 17
},
"operators": {
"Add": 57,
"Cast": 76,
"Concat": 74,
"Constant": 541,
"ConstantOfShape": 13,
"Div": 38,
"Equal": 13,
"Expand": 13,
"Gather": 78,
"LessOrEqual": 1,
"MatMul": 55,
"Mul": 149,
"Neg": 12,
"Range": 2,
"ReduceMean": 25,
"Reshape": 49,
"Shape": 88,
"Sigmoid": 6,
"Slice": 31,
"Softmax": 6,
"Sqrt": 25,
"Sub": 1,
"Tanh": 1,
"Transpose": 30,
"Unsqueeze": 195,
"Where": 14
},
"inputs": {
"vision_embeds": [
1,
"vision_len",
512
],
"token_ids": [
1,
1
],
"position_ids": [
1,
"input_len"
],
"past_k0": [
1,
2,
"past_len",
64
],
"past_k1": [
1,
2,
"past_len",
64
],
"past_k2": [
1,
2,
"past_len",
64
],
"past_k3": [
1,
2,
"past_len",
64
],
"past_k4": [
1,
2,
"past_len",
64
],
"past_k5": [
1,
2,
"past_len",
64
],
"past_v0": [
1,
2,
"past_len",
64
],
"past_v1": [
1,
2,
"past_len",
64
],
"past_v2": [
1,
2,
"past_len",
64
],
"past_v3": [
1,
2,
"past_len",
64
],
"past_v4": [
1,
2,
"past_len",
64
],
"past_v5": [
1,
2,
"past_len",
64
]
},
"outputs": {
"logits": [
"Mullogits_dim_0",
"Mullogits_dim_1",
14630
],
"present_k0": [
1,
2,
"total_len",
64
],
"present_k1": [
1,
2,
"total_len",
64
],
"present_k2": [
1,
2,
"total_len",
64
],
"present_k3": [
1,
2,
"total_len",
64
],
"present_k4": [
1,
2,
"total_len",
64
],
"present_k5": [
1,
2,
"total_len",
64
],
"present_v0": [
1,
2,
"total_len",
64
],
"present_v1": [
1,
2,
"total_len",
64
],
"present_v2": [
1,
2,
"total_len",
64
],
"present_v3": [
1,
2,
"total_len",
64
],
"present_v4": [
1,
2,
"total_len",
64
],
"present_v5": [
1,
2,
"total_len",
64
]
}
},
"parity": {
"prefill_zero_past": {
"max_abs_by_output": [
3.0517578125e-05,
2.384185791015625e-07,
4.76837158203125e-07,
9.5367431640625e-07,
9.5367431640625e-07,
1.1920928955078125e-06,
1.4007091522216797e-06,
1.043081283569336e-07,
8.940696716308594e-08,
2.086162567138672e-07,
1.9371509552001953e-07,
1.862645149230957e-07,
2.086162567138672e-07
],
"max_abs": 3.0517578125e-05,
"top_token": 2
},
"step_empty_vision": {
"max_abs_by_output": [
3.4809112548828125e-05,
1.3113021850585938e-06,
4.76837158203125e-07,
1.430511474609375e-06,
1.430511474609375e-06,
1.9073486328125e-06,
2.1457672119140625e-06,
2.980232238769531e-07,
1.341104507446289e-07,
2.039596438407898e-07,
3.5762786865234375e-07,
1.9371509552001953e-07,
2.551823854446411e-07
],
"max_abs": 3.4809112548828125e-05,
"top_token": 2
}
}
},
"qdq_int8": {
"graph": {
"bytes": 34647907,
"sha256": "3612d5787ffb1026ae09bfd4a16b3379ea75fe0dd803484f7bb41645be6b6239",
"opsets": {
"ai.onnx": 17
},
"operators": {
"Add": 57,
"Cast": 76,
"Concat": 74,
"Constant": 541,
"ConstantOfShape": 13,
"DequantizeLinear": 44,
"Div": 38,
"Equal": 13,
"Expand": 13,
"Gather": 78,
"LessOrEqual": 1,
"MatMul": 55,
"Mul": 149,
"Neg": 12,
"Range": 2,
"ReduceMean": 25,
"Reshape": 49,
"Shape": 88,
"Sigmoid": 6,
"Slice": 31,
"Softmax": 6,
"Sqrt": 25,
"Sub": 1,
"Tanh": 1,
"Transpose": 30,
"Unsqueeze": 195,
"Where": 14
},
"inputs": {
"vision_embeds": [
1,
"vision_len",
512
],
"token_ids": [
1,
1
],
"position_ids": [
1,
"input_len"
],
"past_k0": [
1,
2,
"past_len",
64
],
"past_k1": [
1,
2,
"past_len",
64
],
"past_k2": [
1,
2,
"past_len",
64
],
"past_k3": [
1,
2,
"past_len",
64
],
"past_k4": [
1,
2,
"past_len",
64
],
"past_k5": [
1,
2,
"past_len",
64
],
"past_v0": [
1,
2,
"past_len",
64
],
"past_v1": [
1,
2,
"past_len",
64
],
"past_v2": [
1,
2,
"past_len",
64
],
"past_v3": [
1,
2,
"past_len",
64
],
"past_v4": [
1,
2,
"past_len",
64
],
"past_v5": [
1,
2,
"past_len",
64
]
},
"outputs": {
"logits": [
"Mullogits_dim_0",
"Mullogits_dim_1",
14630
],
"present_k0": [
1,
2,
"total_len",
64
],
"present_k1": [
1,
2,
"total_len",
64
],
"present_k2": [
1,
2,
"total_len",
64
],
"present_k3": [
1,
2,
"total_len",
64
],
"present_k4": [
1,
2,
"total_len",
64
],
"present_k5": [
1,
2,
"total_len",
64
],
"present_v0": [
1,
2,
"total_len",
64
],
"present_v1": [
1,
2,
"total_len",
64
],
"present_v2": [
1,
2,
"total_len",
64
],
"present_v3": [
1,
2,
"total_len",
64
],
"present_v4": [
1,
2,
"total_len",
64
],
"present_v5": [
1,
2,
"total_len",
64
]
}
},
"quantization": {
"source": "decoder_unified_gather_fp32.onnx",
"bytes": 34647907,
"sha256": "3612d5787ffb1026ae09bfd4a16b3379ea75fe0dd803484f7bb41645be6b6239",
"quantized_matmuls": 43,
"quantized_gathers": 1,
"quantized_elements": 33069056,
"operators": {
"Add": 57,
"Cast": 76,
"Concat": 74,
"Constant": 541,
"ConstantOfShape": 13,
"DequantizeLinear": 44,
"Div": 38,
"Equal": 13,
"Expand": 13,
"Gather": 78,
"LessOrEqual": 1,
"MatMul": 55,
"Mul": 149,
"Neg": 12,
"Range": 2,
"ReduceMean": 25,
"Reshape": 49,
"Shape": 88,
"Sigmoid": 6,
"Slice": 31,
"Softmax": 6,
"Sqrt": 25,
"Sub": 1,
"Tanh": 1,
"Transpose": 30,
"Unsqueeze": 195,
"Where": 14
},
"forbidden_webgpu_operators": []
},
"parity": {
"prefill_zero_past": {
"max_abs_by_output": [
0.27939605712890625,
0.00832289457321167,
0.010223627090454102,
0.018473267555236816,
0.0254666805267334,
0.026123523712158203,
0.03216394782066345,
0.0031301602721214294,
0.0027603209018707275,
0.005134910345077515,
0.007790625095367432,
0.005478542298078537,
0.007550535723567009
],
"max_abs": 0.27939605712890625,
"top_token": 2
},
"step_empty_vision": {
"max_abs_by_output": [
0.38232338428497314,
0.004899706691503525,
0.007703900337219238,
0.02177775651216507,
0.027161240577697754,
0.014369070529937744,
0.026971250772476196,
0.001852184534072876,
0.0019404590129852295,
0.005673632025718689,
0.004118740558624268,
0.00417923741042614,
0.005888845771551132
],
"max_abs": 0.38232338428497314,
"top_token": 2
}
}
}
}