pub struct FallbackTelemetry {
pub n_rows: usize,
pub n_atoms: usize,
pub amortized_certified: usize,
pub newton_rescued: usize,
pub multistart_fallback: usize,
}Expand description
The honest cost breakdown of the encode tax (reviewer condition #3). Every (row, atom) encode lands in exactly one of three tiers, in ascending cost:
- amortized-certified — the one-mat-vec distilled predictor’s start
already satisfies the Kantorovich
h ≤ ½certificate. Cheapest. - Newton-rescued — the amortized start is uncertified, but the certified IFT-warm-start Newton encode lands a certified root. Middling.
- multi-start fallback — neither certifies, so the row rides the exact
multi-start solve. This is the true cost MULTIPLIER at scale, and its
fraction GROWS with atom similarity / co-activation interference (the
per-row joint
(t, a)landscape multiplies basins that no per-atom certificate covers). Reporting it is what keeps the encode-tax story honest — an SAE’s one-matmul encode has no analogue of this tail.
The tiers partition the (row, atom) grid: amortized_certified + newton_rescued + multistart_fallback == n_rows · n_atoms.
Fields§
§n_rows: usize§n_atoms: usize§amortized_certified: usize(row, atom) encodes certified by the cheap amortized predictor.
newton_rescued: usize(row, atom) encodes the amortized predictor missed but the certified Newton warm-start rescued.
multistart_fallback: usize(row, atom) encodes neither tier certified — routed to the exact multi-start solve.
Implementations§
Source§impl FallbackTelemetry
impl FallbackTelemetry
Sourcepub fn amortized_fraction(&self) -> f64
pub fn amortized_fraction(&self) -> f64
Fraction of encodes the cheap amortized predictor certified outright.
Sourcepub fn newton_fraction(&self) -> f64
pub fn newton_fraction(&self) -> f64
Fraction of encodes rescued by the certified Newton warm-start.
Sourcepub fn multistart_fraction(&self) -> f64
pub fn multistart_fraction(&self) -> f64
Fraction of encodes that fell through to the exact multi-start solve — the encode-tax cost multiplier.
Sourcepub fn accumulate(&mut self, other: &FallbackTelemetry)
pub fn accumulate(&mut self, other: &FallbackTelemetry)
Fold another atom’s tallies into this one (n_rows is shared across atoms;
n_atoms and the tier counts accumulate). Lets a caller aggregate the
per-atom telemetry of EncodeAtlas::encode_atom_with_fallback_telemetry
into one dictionary-wide breakdown.
Trait Implementations§
Source§impl Clone for FallbackTelemetry
impl Clone for FallbackTelemetry
Source§fn clone(&self) -> FallbackTelemetry
fn clone(&self) -> FallbackTelemetry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FallbackTelemetry
impl Debug for FallbackTelemetry
Source§impl Default for FallbackTelemetry
impl Default for FallbackTelemetry
Source§fn default() -> FallbackTelemetry
fn default() -> FallbackTelemetry
Auto Trait Implementations§
impl Freeze for FallbackTelemetry
impl RefUnwindSafe for FallbackTelemetry
impl Send for FallbackTelemetry
impl Sync for FallbackTelemetry
impl Unpin for FallbackTelemetry
impl UnsafeUnpin for FallbackTelemetry
impl UnwindSafe for FallbackTelemetry
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.