gopalanj commited on
Commit
9c6ad09
·
verified ·
1 Parent(s): aae07b1

Shield sweep upload

Browse files
README.md ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: pytorch
3
+ tags:
4
+ - quantum-error-correction
5
+ - surface-code
6
+ - cuda-q
7
+ - circuit-family-specialized
8
+ license: other
9
+ license_name: nvidia-open-model-license-derivative
10
+ base_model: nvidia/Ising-Decoder-SurfaceCode-1-Fast
11
+ ---
12
+
13
+ # QFabric Shield — MPS family decoder
14
+
15
+ Circuit-family-specialized neural QEC decoder, fine-tuned from
16
+ [`nvidia/Ising-Decoder-SurfaceCode-1-Fast`](https://huggingface.co/nvidia/Ising-Decoder-SurfaceCode-1-Fast)
17
+ on Stim-generated surface-code syndromes specific to the **mps** circuit family
18
+ used by [QFabric](https://quantabull.com).
19
+
20
+ ## Distance variants
21
+
22
+ This repo contains **one decoder per code distance**, each trained on the full
23
+ sweep of physical error rates `p in { 0.001, 0.003, 0.005 }`:
24
+
25
+ - `d7/` — code distance D=7
26
+ - `d9/` — code distance D=9
27
+ - `d11/` — code distance D=11
28
+
29
+ Loading a specific variant:
30
+
31
+ ```python
32
+ import torch
33
+ ckpt = torch.load(hf_hub_download("QuantaBull/qfabric-shield-mps", "d9/best.pt", token=HF_TOKEN))
34
+ ```
35
+
36
+ ## Architecture
37
+
38
+ - **Backbone** — 4-layer 3D CNN matching the Ising-Fast topology
39
+ (channels 4 → 128 → 128 → 128 → 4, kernel 3×3×3, GELU, ~913K params).
40
+ - **Family adapter** — small residual 3D CNN with family-biased kernel shape
41
+ `(5,3,3)` (the temporal bias for MPS prep's layered depth structure).
42
+ - **Total params** — ~913K backbone + ~5K adapter.
43
+
44
+ ## Training
45
+
46
+ - Base: `nvidia/Ising-Decoder-SurfaceCode-1-Fast` weights loaded by shape-match.
47
+ - Data: ~500K Stim shots per (distance, p_error) cell, family-specific noise.
48
+ - Optimizer: AdamW, lr=1e-4, cosine schedule, 20 epochs.
49
+ - Hardware: single RTX 4090 (Community Cloud spot), ~2 hours per (family, distance).
50
+
51
+ ## Performance — threshold curve
52
+
53
+ See [`QuantaBull/qfabric-shield-bench`](https://huggingface.co/datasets/QuantaBull/qfabric-shield-bench)
54
+ for the LER vs p threshold curve across all distances and decoders. The
55
+ canonical figure of merit: as code distance increases, Shield's specialist
56
+ drives LER below threshold faster than PyMatching does on the same family.
57
+
58
+ ## Runtime
59
+
60
+ - ONNX exports under `d{N}/model.onnx`, opset 18, FP32 storage.
61
+ - Designed for CUDA-Q QEC's `trt_decoder` for sub-µs real-time decoding.
62
+ - CPU inference latency under 10 ms / shot via onnxruntime — used by the
63
+ public demo Space.
64
+
65
+ ## License & rights
66
+
67
+ Derivative of NVIDIA's Ising-Decoder-SurfaceCode-1-Fast under the NVIDIA Open
68
+ Model License. Family-adapter architecture and fine-tuned weights are
69
+ proprietary to QuantaBull and covered by US Provisional Patent Application
70
+ "Circuit-Family-Specialized Neural Decoder for Financial Quantum Computing"
71
+ (Q3 2026 filing, Jay Gopalan inventor).
config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "family": "mps",
3
+ "base_model": "nvidia/Ising-Decoder-SurfaceCode-1-Fast",
4
+ "distances": [
5
+ 7,
6
+ 9,
7
+ 11
8
+ ],
9
+ "p_errors": [
10
+ 0.001,
11
+ 0.003,
12
+ 0.005
13
+ ]
14
+ }
d11/best.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c0accfca79d24f0f23becd2f4334c46b3007a7eba03fc87ca348253309844999
3
+ size 3678914
d11/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb811f3cff7f54797b8caa53a3316cab0f01b7e3dd730e85e1dc28d250ace333
3
+ size 3680471
d11/training_summary.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "family": "mps",
3
+ "distance": 11,
4
+ "p_errors": [
5
+ 0.001,
6
+ 0.003,
7
+ 0.005
8
+ ],
9
+ "epochs": 10,
10
+ "best_val_loss": 0.5914782265027364,
11
+ "history": [
12
+ {
13
+ "epoch": 1,
14
+ "train_loss": 0.6484808355990628,
15
+ "val_loss": 0.6087731907844544,
16
+ "val_acc": 0.64852
17
+ },
18
+ {
19
+ "epoch": 2,
20
+ "train_loss": 0.6031991806144045,
21
+ "val_loss": 0.6040539802296956,
22
+ "val_acc": 0.6555333333333333
23
+ },
24
+ {
25
+ "epoch": 3,
26
+ "train_loss": 0.5991920113218876,
27
+ "val_loss": 0.6001383352724711,
28
+ "val_acc": 0.6533333333333333
29
+ },
30
+ {
31
+ "epoch": 4,
32
+ "train_loss": 0.595755222846918,
33
+ "val_loss": 0.597707236328125,
34
+ "val_acc": 0.6544533333333333
35
+ },
36
+ {
37
+ "epoch": 5,
38
+ "train_loss": 0.5927219207773711,
39
+ "val_loss": 0.5949280035654704,
40
+ "val_acc": 0.65108
41
+ },
42
+ {
43
+ "epoch": 6,
44
+ "train_loss": 0.5904195594278971,
45
+ "val_loss": 0.5931575341796875,
46
+ "val_acc": 0.6528133333333334
47
+ },
48
+ {
49
+ "epoch": 7,
50
+ "train_loss": 0.5887521731048718,
51
+ "val_loss": 0.5921786656888326,
52
+ "val_acc": 0.6525066666666667
53
+ },
54
+ {
55
+ "epoch": 8,
56
+ "train_loss": 0.58778055483199,
57
+ "val_loss": 0.591686326789856,
58
+ "val_acc": 0.65304
59
+ },
60
+ {
61
+ "epoch": 9,
62
+ "train_loss": 0.5872493131316335,
63
+ "val_loss": 0.5915090257453919,
64
+ "val_acc": 0.6531066666666666
65
+ },
66
+ {
67
+ "epoch": 10,
68
+ "train_loss": 0.587051412791202,
69
+ "val_loss": 0.5914782265027364,
70
+ "val_acc": 0.6535066666666667
71
+ }
72
+ ],
73
+ "elapsed_s": 2171.176953315735
74
+ }
d7/best.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e9801ebfcf98d42cbd161dfa11af2b0adb2ae582606b0dd88eca4f6866b4e6db
3
+ size 3678914
d7/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:50a5d3ab75fdf60038e122e288db455f266f44fd423eb4dbe633fb2699089fff
3
+ size 3680471
d7/training_summary.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "family": "mps",
3
+ "distance": 7,
4
+ "p_errors": [
5
+ 0.001,
6
+ 0.003,
7
+ 0.005
8
+ ],
9
+ "epochs": 10,
10
+ "best_val_loss": 0.4831204416529338,
11
+ "history": [
12
+ {
13
+ "epoch": 1,
14
+ "train_loss": 0.5607715682975033,
15
+ "val_loss": 0.5172046812121074,
16
+ "val_acc": 0.72836
17
+ },
18
+ {
19
+ "epoch": 2,
20
+ "train_loss": 0.5119922722542076,
21
+ "val_loss": 0.5059984067726135,
22
+ "val_acc": 0.7311333333333333
23
+ },
24
+ {
25
+ "epoch": 3,
26
+ "train_loss": 0.5024265777868974,
27
+ "val_loss": 0.5000054170099895,
28
+ "val_acc": 0.73356
29
+ },
30
+ {
31
+ "epoch": 4,
32
+ "train_loss": 0.49566674374162106,
33
+ "val_loss": 0.4932661373837789,
34
+ "val_acc": 0.73652
35
+ },
36
+ {
37
+ "epoch": 5,
38
+ "train_loss": 0.4903293320657496,
39
+ "val_loss": 0.48893825971285504,
40
+ "val_acc": 0.7387333333333334
41
+ },
42
+ {
43
+ "epoch": 6,
44
+ "train_loss": 0.4865752147396824,
45
+ "val_loss": 0.4870646811612447,
46
+ "val_acc": 0.7389866666666667
47
+ },
48
+ {
49
+ "epoch": 7,
50
+ "train_loss": 0.48379588486286634,
51
+ "val_loss": 0.4845165158335368,
52
+ "val_acc": 0.7413733333333333
53
+ },
54
+ {
55
+ "epoch": 8,
56
+ "train_loss": 0.4821662684557731,
57
+ "val_loss": 0.4835508217271169,
58
+ "val_acc": 0.74152
59
+ },
60
+ {
61
+ "epoch": 9,
62
+ "train_loss": 0.48123680889230025,
63
+ "val_loss": 0.48317052680651346,
64
+ "val_acc": 0.74204
65
+ },
66
+ {
67
+ "epoch": 10,
68
+ "train_loss": 0.48091617532596254,
69
+ "val_loss": 0.4831204416529338,
70
+ "val_acc": 0.7419466666666666
71
+ }
72
+ ],
73
+ "elapsed_s": 898.6921174526215
74
+ }
d9/best.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e9a8cf11b31b70eb770d00fd7dd83f8f361f56f717f1a0d532c987e8d703929
3
+ size 3678914
d9/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fe511b78ff35b013022be3f7aff1bc3b5308866934bf9528379eac97c4ec8e3d
3
+ size 3680471
d9/training_summary.json ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "family": "mps",
3
+ "distance": 9,
4
+ "p_errors": [
5
+ 0.001,
6
+ 0.003,
7
+ 0.005
8
+ ],
9
+ "epochs": 10,
10
+ "best_val_loss": 0.5482157255172729,
11
+ "history": [
12
+ {
13
+ "epoch": 1,
14
+ "train_loss": 0.6155825373612789,
15
+ "val_loss": 0.5750814655431111,
16
+ "val_acc": 0.68864
17
+ },
18
+ {
19
+ "epoch": 2,
20
+ "train_loss": 0.5688975947440298,
21
+ "val_loss": 0.5643576537450155,
22
+ "val_acc": 0.6886266666666667
23
+ },
24
+ {
25
+ "epoch": 3,
26
+ "train_loss": 0.5614777644311336,
27
+ "val_loss": 0.5588828429603576,
28
+ "val_acc": 0.6888666666666666
29
+ },
30
+ {
31
+ "epoch": 4,
32
+ "train_loss": 0.5560373221681829,
33
+ "val_loss": 0.5546226082547505,
34
+ "val_acc": 0.68824
35
+ },
36
+ {
37
+ "epoch": 5,
38
+ "train_loss": 0.552139919251559,
39
+ "val_loss": 0.5518873160171509,
40
+ "val_acc": 0.6889466666666667
41
+ },
42
+ {
43
+ "epoch": 6,
44
+ "train_loss": 0.5495574191679035,
45
+ "val_loss": 0.5500225927098592,
46
+ "val_acc": 0.6896666666666667
47
+ },
48
+ {
49
+ "epoch": 7,
50
+ "train_loss": 0.5475853756727252,
51
+ "val_loss": 0.5492112227694194,
52
+ "val_acc": 0.6893333333333334
53
+ },
54
+ {
55
+ "epoch": 8,
56
+ "train_loss": 0.5464580642117952,
57
+ "val_loss": 0.5484689228375753,
58
+ "val_acc": 0.69088
59
+ },
60
+ {
61
+ "epoch": 9,
62
+ "train_loss": 0.5458091868042527,
63
+ "val_loss": 0.5482660090955098,
64
+ "val_acc": 0.69076
65
+ },
66
+ {
67
+ "epoch": 10,
68
+ "train_loss": 0.5455730257134689,
69
+ "val_loss": 0.5482157255172729,
70
+ "val_acc": 0.6909333333333333
71
+ }
72
+ ],
73
+ "elapsed_s": 1465.5698182582855
74
+ }