#[repr(u8)]pub enum LoopStabilityMode {
None = 0,
InterLoopNorm = 1,
}Expand description
Loop stability mode for weight-shared looped inference (Plan 428).
Parameter-free architectural fixes for T-pass loop stability, validated via the §3.6 defend-wrong PoC benchmark.
Only InterLoopNorm ships — the PoC proved it’s the sole fix that
controls residual norm growth. FLA-res (direct residual addition of
prev_h at every layer) caused catastrophic norm explosion (~2.2B× at
T=12), and Attention Injection was a no-op for single-position attention
(softmax of 1 element = 1.0, so Q doesn’t affect the output). Both were
dropped per the defend-wrong verdict.
Variants§
None = 0
No inter-loop stabilization (byte-identical to pre-Plan-428 behavior).
InterLoopNorm = 1
Inter-loop RMSNorm: normalize the hidden state between loop iterations (tau > 0), before the inner layer pass. PoC: norm ratio 3.34× vs baseline 11.19×, KL 0.0008, step-size trend converging (14.9 → 2.05).
Trait Implementations§
Source§impl Clone for LoopStabilityMode
impl Clone for LoopStabilityMode
Source§fn clone(&self) -> LoopStabilityMode
fn clone(&self) -> LoopStabilityMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for LoopStabilityMode
Source§impl Debug for LoopStabilityMode
impl Debug for LoopStabilityMode
Source§impl Default for LoopStabilityMode
impl Default for LoopStabilityMode
Source§fn default() -> LoopStabilityMode
fn default() -> LoopStabilityMode
impl Eq for LoopStabilityMode
Source§impl PartialEq for LoopStabilityMode
impl PartialEq for LoopStabilityMode
impl StructuralPartialEq for LoopStabilityMode
Auto Trait Implementations§
impl Freeze for LoopStabilityMode
impl RefUnwindSafe for LoopStabilityMode
impl Send for LoopStabilityMode
impl Sync for LoopStabilityMode
impl Unpin for LoopStabilityMode
impl UnsafeUnpin for LoopStabilityMode
impl UnwindSafe for LoopStabilityMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more