Speed was measured on our evaluation server (AMD EPYC, 16 cores, AVX2, float32), the same machine our
clients use. Accuracy does not depend on the machine. All figures are indicative: the reference is always your own model on your own data.
Speed — one layer, exact vs PBC placement
Training step = forward + backward pass. Speed-up = exact time ÷ PBC time. Best of 5 runs, version 2, 23 October 2026.
| Layer (batch × in → out) | Train, exact | Train, PBC | Speed-up | Inference, exact | Inference, PBC | Speed-up |
| 256 × 256 → 256 | 0.26 ms | 0.54 ms | 0.5× | 0.08 ms | 0.11 ms | 0.7× |
| 1024 × 1024 → 1024 | 6.68 ms | 1.43 ms | 4.7× | 1.68 ms | 0.21 ms | 8× |
| 1024 × 2048 → 2048 | 20.1 ms | 2.45 ms | 8× | 6.30 ms | 0.33 ms | 19× |
| 2048 × 4096 → 4096 | 154 ms | 7.09 ms | 22× | 49.8 ms | 1.09 ms | 46× |
| 2048 × 4096 → 11008 | 394 ms | 16.1 ms | 24× | 128 ms | 2.63 ms | 49× |
Small layers (around 256 and below) are not faster: fixed costs dominate. The gain starts around width 1024.
Accuracy — exact layers vs PBC placement
Each test is run on 5 independent seeds (data, initial weights, batch order), identical for both methods.
The exact model gets its best chance: learning rate and output scale (the same lever PBC uses) are tuned
for it on a separate validation set. PBC placement uses its default version-2 settings. The test set is never used for any choice.
| Test (5 seeds, mean ± sd) | Best-tuned exact | PBC placement v2 | Difference | Result |
| Radio signals (raw I/Q), PBC as input layer | 36.4 % ± 0.7 | 54.5 % ± 1.1 | +18.2 pts | better, 5/5 seeds |
| Radio signals (raw I/Q), full model, 3 PBC layers | 36.6 % ± 0.4 | 45.2 % ± 2.5 | +8.6 pts | better, 5/5 seeds |
| Smooth regression (tanh teacher), width 256 | R² 0.878 ± 0.007 | R² 0.908 ± 0.007 | +0.029 | better, 5/5 seeds |
| Smooth regression (tanh teacher), width 2048 | R² 0.911 ± 0.003 | R² 0.945 ± 0.012 | +0.034 | better, 5/5 seeds |
| Smooth regression, width 256, long training (150 epochs) | R² 0.984 ± 0.002 | R² 0.956 ± 0.010 | −0.028 | exact better |
| Same long training, wider PBC layer (1024, “single wide layer” setting)* | R² 0.984 ± 0.002 | R² 0.987 ± 0.002 | +0.003 | better, 4/5 seeds |
Radio task: 8 modulations, random phase, frequency offset and noise (0–20 dB), dense network reading the raw samples; chance level 12.5 %.
Controls: adding dropout (0.2 or 0.4) to the exact model does not change its accuracy, so PBC's advantage is not a simple regularisation effect;
PBC predictions are identical whether samples are processed one at a time or in batches.
* The wider PBC layer still costs about 6× fewer operations per sample than the exact width-256 layer. “Single wide layer” setting: pbc_placement.reglages(gain=0.05, echelle=2), learning rate 10⁻³; with it, the width-2048 regression above also reaches R² 0.985.