ViT-Tiny fold — each emitted param-SGD op denotes the certified SGD step at its cotangent #
The ViT peer of ConvNeXtFold/EfficientNetFold: for every param-SGD op the
vitTrainStepRenderV renderer emits, prove den(op) = θ − lr·(certified Jacobian · cotangent). The
vector-LN γ / β nodes (veclnGammaSgd_den, rowDenseBiasSgd_den_lnbeta and their tie clauses) are
in SgdNodes, under this namespace, because ConvNeXt's head uses them too. Each is a one-or-few-line delegation to the already-proven render certs in
ViTVecLN (vector-[D] LN γ/β) and TokenParamGrad (rowwise dense W/b, patch conv W/b, cls, pos); the
classifier head reuses Cifar8Tie.dense{W,B}_den. Together these cover EVERY parameter family
of the depth-12 ViT-Tiny train step (200 params), so the step tie (ViTStepTie) can thread them at
the real backward chain cotangents.
The op dens and the cert LHSs line up by construction (the core ops were built to denote exactly
these grads): veclnGammaSgd→layerNormVec_gamma_sgd_certified, rowDenseWeightSgd→
rowDense_weight_sgd_certified, rowDenseBiasSgd→rowDense_bias_sgd_certified (dense bias) and
layerNormVec_beta_sgd_certified (LN β — same op, different forward in the pdiv), patchEmbedWeightSgd
→patchEmbed_weight_sgd_certified, patchEmbedBiasSgd→patchEmbed_bias_sgd_certified, posEmbedSgd→
posEmbed_sgd_certified, cls (clsSliceF→denseBiasSgdB)→clsToken_sgd_certified.
Per-token dense weight op denotes the certified step. den(rowDenseWeightSgd) (flat (i,j)) =
W_ij − lr·(Σ_tokens x·dy), the certified ∂(rowwise dense)/∂W contraction. Covers Wq/Wk/Wv/Wo/
Wfc1/Wfc2 (all 6 per-block denses). Delegation to rowDense_weight_sgd_certified.
Per-token dense bias op denotes the certified step (dense-bias forward). den(rowDenseBiasSgd)
= b − lr·(Σ_tokens dy). Covers bq/bk/bv/bo/bfc1/bfc2. Delegation to rowDense_bias_sgd_certified.
Patch-embed conv weight op denotes the certified step. den(patchEmbedWeightSgd) (flat (d,c,kh,kw)) = W − lr·(certified patchify-conv weight grad). The ViT analogue of ConvNeXt's
stem 4×4/s4 weight — but here a VJP cert EXISTS, so it ties (vit has no even-kernel weight gap).
Delegation to patchEmbed_weight_sgd_certified.
Patch-embed conv bias op denotes the certified step. den(patchEmbedBiasSgd) = b − lr·(Σ_patches dy) (CLS row 0 excluded). Delegation to patchEmbed_bias_sgd_certified.
Positional-embed op denotes the certified step. den(posEmbedSgd) = pos − lr·dy (the pos
Jacobian is the identity — pos is added to every token). Delegation to posEmbed_sgd_certified.
A per-token dense weight SGD node, tied (rowDenseWeightSgd_den).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Each clause holds, every argument implicit (read off the goal by a step tie's constructor).