#[repr(u8)]pub enum ConvergenceSelector {
BestQ = 0,
MajorityVote = 1,
Top1Converged = 2,
BtRank = 3,
}Expand description
Selection strategy for width-scaled rollouts (EqR convergence-based selection).
Maps to WidthSelectionMode (in crate::speculative::dd_tree) at runtime.
This enum lives in katgpt-core so Config can reference it without depending on
the speculative decode module.
BestQ: Highest cumulative relevance (PTRM default, no behavior change)MajorityVote: Most common path across rollouts (mode@K)Top1Converged: Smallest final residual ∥p_{d+1} − p_d∥ (EqR proxy)BtRank: Pairwise Bradley-Terry ranking (requiresbt_rankfeature)
Precondition: Top1Converged is only reliable after landscape shaping
(RI + NI training). See Research 079 (EqR) for theoretical justification.
Variants§
BestQ = 0
Select rollout with highest cumulative relevance score (PTRM Q-head analog).
MajorityVote = 1
Select the most frequent path across all rollouts (mode@K, majority vote).
Top1Converged = 2
Select rollout with smallest marginal-change residual ∥p_{d+1} − p_d∥ (EqR proxy).
BtRank = 3
Pairwise Bradley-Terry ranking across rollouts (requires bt_rank feature).
Trait Implementations§
Source§impl Clone for ConvergenceSelector
impl Clone for ConvergenceSelector
Source§fn clone(&self) -> ConvergenceSelector
fn clone(&self) -> ConvergenceSelector
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ConvergenceSelector
Source§impl Debug for ConvergenceSelector
impl Debug for ConvergenceSelector
Source§impl Default for ConvergenceSelector
impl Default for ConvergenceSelector
Source§fn default() -> ConvergenceSelector
fn default() -> ConvergenceSelector
Returns the “default value” for a type. Read more
impl Eq for ConvergenceSelector
Source§impl PartialEq for ConvergenceSelector
impl PartialEq for ConvergenceSelector
impl StructuralPartialEq for ConvergenceSelector
Auto Trait Implementations§
impl Freeze for ConvergenceSelector
impl RefUnwindSafe for ConvergenceSelector
impl Send for ConvergenceSelector
impl Sync for ConvergenceSelector
impl Unpin for ConvergenceSelector
impl UnsafeUnpin for ConvergenceSelector
impl UnwindSafe for ConvergenceSelector
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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