NagaYu/sludge-small
0115
1{2 "model": "checkpoints/sludge-small",3 "preset": "small",4 "parameters": 12011719,5 "platform": "macOS-27.0-arm64-arm-64bit-Mach-O",6 "processor": "arm64",7 "torch_threads": 1,8 "mean_nodes_per_screen": 13.175,9 "formats": {10 "pytorch": {11 "ms_mean": 10.71451664007327,12 "ms_p50": 10.695083000427985,13 "ms_p95": 11.57509119984752,14 "size_mb": 48.046876,15 "available": true16 },17 "onnx": {18 "ms_mean": 33.21225328021683,19 "ms_p50": 33.24016600072355,20 "ms_p95": 33.34932440011471,21 "size_mb": 48.260867,22 "available": true,23 "max_abs_diff_vs_pytorch": 1.239776611328125e-05,24 "max_prob_diff_vs_pytorch": 6.6356733441352844e-09,25 "node_decision_agreement_vs_pytorch": 1.0,26 "screen_decision_agreement_vs_pytorch": 1.0,27 "max_screen_prob_diff_vs_pytorch": 2.2402343025085258e-07,28 "decision_agreement_vs_pytorch": 1.0,29 "path": "sludge-small.onnx",30 "screen_decision_agreement_over_corpus": 1.0,31 "screens_with_any_flip": 0,32 "corpus_screens": 4033 },34 "onnx_int8": {35 "ms_mean": 13.350311599970155,36 "ms_p50": 13.336750000235043,37 "ms_p95": 13.508375000674278,38 "size_mb": 12.41416,39 "available": true,40 "max_abs_diff_vs_pytorch": 10.417057991027832,41 "max_prob_diff_vs_pytorch": 0.9890071749687195,42 "node_decision_agreement_vs_pytorch": 0.9997106481481481,43 "screen_decision_agreement_vs_pytorch": 0.9629629629629629,44 "max_screen_prob_diff_vs_pytorch": 0.6227820437142244,45 "decision_agreement_vs_pytorch": 0.9629629629629629,46 "path": "sludge-small.int8.onnx",47 "note": "int8 weight quantisation shifts logits; the meaningful check is decision agreement at the detector's threshold, reported above.",48 "screen_decision_agreement_over_corpus": 0.9898148148148148,49 "screens_with_any_flip": 11,50 "corpus_screens": 4051 },52 "coreml": {53 "ms_mean": 2.3157748799712863,54 "ms_p50": 2.360292000048503,55 "ms_p95": 2.4256751998109394,56 "size_mb": 24.183565,57 "available": true,58 "path": "sludge-small.mlpackage",59 "max_abs_diff_vs_pytorch": 1.2060108184814453,60 "max_prob_diff_vs_pytorch": 0.0005344669334590435,61 "node_decision_agreement_vs_pytorch": 1.0,62 "screen_decision_agreement_vs_pytorch": 1.0,63 "max_screen_prob_diff_vs_pytorch": 0.01530037641045523,64 "decision_agreement_vs_pytorch": 1.0,65 "precision": "float16"66 },67 "gguf": {68 "size_mb": 24.030848,69 "available": true,70 "path": "sludge-small.f16.gguf",71 "dtype": "f16",72 "max_abs_diff_vs_pytorch": 0.00128173828125,73 "max_prob_diff_vs_pytorch": 2.1227169781923294e-06,74 "node_decision_agreement_vs_pytorch": 1.0,75 "screen_decision_agreement_vs_pytorch": 1.0,76 "max_screen_prob_diff_vs_pytorch": 2.3298150106043636e-05,77 "decision_agreement_vs_pytorch": 1.0,78 "runnable_by_llama_cpp": false,79 "note": "Valid GGUF v3 container and round-trips through sludge.gguf. llama.cpp cannot execute it because this is not one of its LLM graph architectures; the graph lives in sludge.model."80 }81 },82 "note": "Per-screen figures are the model forward pass only, on this machine. The end-to-end number in the CLI's `sludge bench` additionally includes featurisation and decoding.",83 "graph_shape": "static: the node axis is fixed at max_nodes and the caller pads and masks. A dynamic node axis bakes the traced node count into the attention reshapes and only runs for that one screen size.",84 "end_to_end": {85 "ms_mean": 4.9734986666483865,86 "ms_p50": 4.9054374999286665,87 "ms_p95": 5.962366649646356,88 "ms_p99": 6.116143729759642,89 "n": 120,90 "rss_delta_mb": 0.147456,91 "rss_mb": 1305.837568,92 "params": 1201171993 }94}