soft-hash T3 bound: pre-review polish pass for external cryptographer
Four targeted edits before forwarding to dav1d:
1. Add §0 cover note — names the three things the reviewer should
confirm (decomposition, per-surface derivations, conservative-
constant choice) and what's explicitly out of scope (empirical
validation against a real adversarial-training run).
2. Tighten §2 decomposition. The previous text invoked DPI to
produce an additive split I(A;C) ≤ I(A;Θ) + I(Θ;C), which DPI
alone doesn't justify. Replace with a clean Markov-chain DPI
statement (A → Θ → C(M) is a Markov chain conditional on
(H_{≤t}, n_t); DPI gives I(A;C) ≤ I(A;Θ)) and frame the T1+T2
baseline as threat-model-additive (disjoint adversary surfaces),
not information-additive in the same MI sense.
3. Rename §3 'Apply Fano's inequality' → 'discrete-distinguishability
counting'. The derivation log₂(SNR+1) is the discrete channel-
capacity bound on K distinguishable outputs, not Fano's
inequality (which bounds error probability from MI). Add an
explanatory note that LR factors cancel per-step (LR's distinct
channel contribution is §4, not double-counted here). Update §10
item 1 cross-reference for the same naming consistency.
4. Resolve §5 conjecture. Move the random-shuffle conjecture out of
the headline derivation; commit C_B3 = 1 strictly under the
adversarial-order assumption stated in §5. The random-shuffle
tightening C_B3 → O(1/√N_b) stays referenced via §10 + #000043
as the formal tightening path operators can opt into via the
--c-b3 calculator flag.
No numeric examples changed; no calculator behavior changed; no
reference list changed. Pure pre-review polish to remove three
specific things a careful cryptographer would catch and ask
about, plus a cover note that frames the kind of review wanted.
This commit is contained in:
parent
2585d3c718
commit
8916bf3728
1 changed files with 98 additions and 21 deletions
|
|
@ -11,6 +11,48 @@ the closed-form bound.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## §0. What we're asking the reviewer to confirm
|
||||||
|
|
||||||
|
This document derives an upper bound on the per-window mutual
|
||||||
|
information a T3 (hyperparameter) adversary can steer into the
|
||||||
|
SHA-256 commitment `C(M_{t+1})`. The framework decomposes the
|
||||||
|
channel across T3's three control surfaces (gradient bias,
|
||||||
|
LR selection, batch order) and combines them into a closed-form
|
||||||
|
bound consumed by `bench/scripts/t3_bound_calculator.py`.
|
||||||
|
|
||||||
|
Three specific things to check:
|
||||||
|
|
||||||
|
1. **§2 decomposition.** Is the Markov-chain DPI step (`A →
|
||||||
|
Θ_{t+1} → C(M_{t+1})`) correctly applied, and is the
|
||||||
|
T1 + T2 baseline inherited from `soft-hash-channel-analysis.md`
|
||||||
|
§4 cleanly separated from the T3 capacity bound this doc
|
||||||
|
adds?
|
||||||
|
2. **§§ 3-5 derivations.** Is each per-surface bound (`C_B1`
|
||||||
|
gradient-bias, `C_B2` LR selection, `C_B3` batch order)
|
||||||
|
derived with a sound information-theoretic argument? §3 uses
|
||||||
|
discrete channel-capacity counting on the per-step
|
||||||
|
parameter-shift; §4 uses categorical-channel capacity on the
|
||||||
|
LR grid; §5 uses the Bottou-Bousquet adversarial-order
|
||||||
|
refinement.
|
||||||
|
3. **Conservative-constant choice.** Are `C_B1 = C_B2 = C_B3 = 1`
|
||||||
|
genuinely upper-bounding (never optimistic)? Where would you
|
||||||
|
tighten? Empirical tightening paths are catalogued in §10
|
||||||
|
and tracked under #000043.
|
||||||
|
|
||||||
|
What's *not* being asked: empirical validation against an actual
|
||||||
|
adversarial-training run (out of scope per §10 item 5; opens as a
|
||||||
|
future ticket once v7 plastic-training has a deployment target).
|
||||||
|
|
||||||
|
The headline numeric example in §7 + §11 yields
|
||||||
|
`I_window ≈ 626 bits/window` for a default deployment config —
|
||||||
|
exceeding SHA-256's 256-bit output, which is the calculator's
|
||||||
|
"reduce `W`" trigger condition. The framework's job is to make
|
||||||
|
that trigger derivable from operator-measurable inputs; the
|
||||||
|
constants' job is to be honest worst-case starting points
|
||||||
|
operators can refine per-deployment.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## §1. T3 model restatement
|
## §1. T3 model restatement
|
||||||
|
|
||||||
From `docs/soft-hash-channel-analysis.md` §6, threat model T3
|
From `docs/soft-hash-channel-analysis.md` §6, threat model T3
|
||||||
|
|
@ -66,24 +108,42 @@ where:
|
||||||
- `n_t` is the published per-checkpoint nonce (M2 mitigation).
|
- `n_t` is the published per-checkpoint nonce (M2 mitigation).
|
||||||
|
|
||||||
This is the standard mutual-information upper bound on
|
This is the standard mutual-information upper bound on
|
||||||
distinguishing-from-baseline channel capacity. The data
|
distinguishing-from-baseline channel capacity. Conditional on
|
||||||
processing inequality lets us decompose:
|
`(H_{≤t}, n_t)`, the random variables form a Markov chain:
|
||||||
|
|
||||||
```
|
```
|
||||||
I_window ≤ I( A ; Θ_{t+1} | H_{≤t}, n_t ) (parameter-space proxy)
|
A → Θ_{t+1} → C(M_{t+1})
|
||||||
+ I( Θ_{t+1} ; C(M_{t+1}) | H_{≤t}, n_t ) (φ-mapping)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The second term is bounded at the random-oracle baseline by
|
— T3's window inputs `A` affect the commitment only through the
|
||||||
the §4 reduction (when φ is φ_PRG per #000035, or φ_linear under
|
parameter state `Θ_{t+1}`. Markov-chain data-processing inequality
|
||||||
NO_ALIGNMENT verdict per #000034). So:
|
gives the single-source bound:
|
||||||
|
|
||||||
```
|
```
|
||||||
I_window ≤ I( A ; Θ_{t+1} | H_{≤t}, n_t ) + (random-baseline bits)
|
I( A ; C(M_{t+1}) | H_{≤t}, n_t ) ≤ I( A ; Θ_{t+1} | H_{≤t}, n_t )
|
||||||
```
|
```
|
||||||
|
|
||||||
The random-baseline term is constant-bounded; the per-window
|
The right-hand side — T3's per-window capacity to encode adversarial
|
||||||
**adversarial** capacity is the first term, which we now bound
|
bits into the parameter state — is what this document bounds in
|
||||||
|
§§ 3-5.
|
||||||
|
|
||||||
|
**Inherited T1 + T2 baseline.** Independent of T3, the φ-mapping
|
||||||
|
`Θ → C(M)` itself admits a constant random-oracle baseline channel
|
||||||
|
under the §4 reduction in `soft-hash-channel-analysis.md` (when φ
|
||||||
|
is φ_PRG per #000035, or φ_linear under the NO_ALIGNMENT verdict
|
||||||
|
per #000034). That baseline is bounded by SHA-256 partial-preimage
|
||||||
|
hardness and is independent of A. Threat-model-additive (T3 capacity
|
||||||
|
+ T1+T2 baseline = total per-window leak budget) but not
|
||||||
|
information-additive in the same MI sense — the two contributions
|
||||||
|
come from disjoint adversary surfaces:
|
||||||
|
|
||||||
|
```
|
||||||
|
total per-window bits ≤ I( A ; Θ_{t+1} | H_{≤t}, n_t ) ← T3, this doc
|
||||||
|
+ (T1 + T2 baseline) ← § 4, inherited
|
||||||
|
```
|
||||||
|
|
||||||
|
The baseline term is constant-bounded by §4 unchanged; the per-
|
||||||
|
window adversarial capacity is the first term, which we now bound
|
||||||
by decomposing across T3's three control surfaces.
|
by decomposing across T3's three control surfaces.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -96,8 +156,8 @@ adversarial signal `g_s` is bounded in norm by `g · ‖∇L_max‖`
|
||||||
where `‖∇L_max‖` is the per-step gradient-norm cap (gradient
|
where `‖∇L_max‖` is the per-step gradient-norm cap (gradient
|
||||||
clipping, in practice).
|
clipping, in practice).
|
||||||
|
|
||||||
**Information bound.** Apply Fano's inequality to the
|
**Information bound.** Per-step parameter-shift channel
|
||||||
per-step parameter-shift channel.
|
capacity by discrete-distinguishability counting.
|
||||||
|
|
||||||
For one SGD step with learning rate `lr_s`:
|
For one SGD step with learning rate `lr_s`:
|
||||||
|
|
||||||
|
|
@ -106,8 +166,13 @@ For one SGD step with learning rate `lr_s`:
|
||||||
```
|
```
|
||||||
|
|
||||||
The adversarial component `lr_s · g · ∇L_adv` is the parameter
|
The adversarial component `lr_s · g · ∇L_adv` is the parameter
|
||||||
shift in the adversary's chosen direction. By
|
shift in the adversary's chosen direction. The honest stochastic
|
||||||
data-processing-inequality argument:
|
gradient contributes noise of standard deviation `σ_grad`. At each
|
||||||
|
step the parameter shift falls in one of approximately
|
||||||
|
`SNR_grad + 1` distinguishable buckets — the noise-only level plus
|
||||||
|
`SNR_grad` adversarial-signal levels resolvable above the noise
|
||||||
|
floor. The single-symbol channel-capacity bound on a discrete
|
||||||
|
channel with `K` distinguishable outputs is `log₂ K`:
|
||||||
|
|
||||||
```
|
```
|
||||||
I( g_s ; Δ Θ_s ) ≤ log₂( ‖adversarial step‖ / ‖noise step‖ + 1 )
|
I( g_s ; Δ Θ_s ) ≤ log₂( ‖adversarial step‖ / ‖noise step‖ + 1 )
|
||||||
|
|
@ -115,9 +180,12 @@ I( g_s ; Δ Θ_s ) ≤ log₂( ‖adversarial step‖ / ‖noise step‖ + 1 )
|
||||||
= log₂( g · ‖∇L_max‖ / σ_grad + 1 )
|
= log₂( g · ‖∇L_max‖ / σ_grad + 1 )
|
||||||
```
|
```
|
||||||
|
|
||||||
where `σ_grad` is the standard deviation of the honest stochastic
|
The `+1` corresponds to the noise-only level (no signal injected);
|
||||||
gradient at this step. The `+1` keeps the log finite when the
|
it keeps the log finite when the adversarial step is below the
|
||||||
adversarial step is below the noise floor.
|
noise floor. (The `lr_s` factor cancels — LR scales signal and
|
||||||
|
noise identically per-step, so the bound is LR-independent at the
|
||||||
|
per-step level. LR's distinct channel contribution is the §4
|
||||||
|
LR-selection capacity, not double-counted here.)
|
||||||
|
|
||||||
Define:
|
Define:
|
||||||
|
|
||||||
|
|
@ -225,10 +293,18 @@ For `N_b = 1024`, `σ_grad/‖∇L_max‖ ≈ 0.1`: `0.5 · log₂(102.4) ≈
|
||||||
```
|
```
|
||||||
B3 contribution ≤ C_B3 · ⌈W / E⌉ · log₂( N_b · σ_grad / ‖∇L_max‖ ) / 2
|
B3 contribution ≤ C_B3 · ⌈W / E⌉ · log₂( N_b · σ_grad / ‖∇L_max‖ ) / 2
|
||||||
|
|
||||||
with C_B3 ≤ 1 (data processing inequality; conjecture is tighter
|
with C_B3 = 1 (data-processing inequality; tight under the
|
||||||
under the Bottou-Bousquet random-shuffle baseline; see §10).
|
adversarial-order assumption made in this section).
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Tightening to the random-shuffle baseline gives `C_B3 →
|
||||||
|
O(1/√N_b)` — substantially below 1 for typical `N_b`. That
|
||||||
|
tightening is **deferred to §10** + #000043; the headline bound
|
||||||
|
above stays at the adversarial-order ceiling so operators
|
||||||
|
choosing `W` get the upper-bound conservative number unless
|
||||||
|
they explicitly opt into the random-shuffle constant via
|
||||||
|
`--c-b3` on the calculator.
|
||||||
|
|
||||||
For `W = 10000`, `E = 1024`, the contribution is `1 · 9.77 · 3.34
|
For `W = 10000`, `E = 1024`, the contribution is `1 · 9.77 · 3.34
|
||||||
≈ 32.6 bits/window` — substantially less than the naive
|
≈ 32.6 bits/window` — substantially less than the naive
|
||||||
`log₂(N_b!)` bound of `~8000+ bits/epoch`.
|
`log₂(N_b!)` bound of `~8000+ bits/epoch`.
|
||||||
|
|
@ -357,8 +433,9 @@ is the explicit form. Reference: this doc §6.
|
||||||
The framework is conservative; tightening any of these refines
|
The framework is conservative; tightening any of these refines
|
||||||
the bound without invalidating it:
|
the bound without invalidating it:
|
||||||
|
|
||||||
1. **C_B1 below the data-processing limit.** The Fano bound
|
1. **C_B1 below the data-processing limit.** The discrete
|
||||||
`log₂(SNR_grad + 1)` is a per-step capacity ceiling; tighter
|
channel-capacity bound `log₂(SNR_grad + 1)` is a per-step
|
||||||
|
ceiling derived under uniform-prior signal levels; tighter
|
||||||
bounds are possible if the loss surface has reduced
|
bounds are possible if the loss surface has reduced
|
||||||
adversary-controllable directions (e.g. Hessian rank
|
adversary-controllable directions (e.g. Hessian rank
|
||||||
deficiency). Empirical measurement via #000034's probe
|
deficiency). Empirical measurement via #000034's probe
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue