pub struct DeepseekV4DecoderConfig {
pub rms_norm_eps: f32,
pub hc_sinkhorn_iters: u32,
pub hc_eps: f32,
pub n_heads: usize,
pub qk_head_dim: usize,
pub v_head_dim: usize,
pub qk_rope: usize,
pub compress_rope_theta: f32,
pub n_experts_active: usize,
pub moe_renormalize: bool,
pub compressor: LayerCompressor,
}Fields§
§rms_norm_eps: f32§hc_sinkhorn_iters: u32§hc_eps: f32§n_heads: usize§qk_head_dim: usize§v_head_dim: usize§qk_rope: usize§compress_rope_theta: f32§n_experts_active: usize§moe_renormalize: bool§compressor: LayerCompressorWhich compressor this layer runs.
A mechanism, not a scalar ratio, and that is the correction:
upstream ships a per-layer array (0, 0, 4, 128, 4, 128, 4, 0)
where 0 means no compressor at all, 4 means CSA – overlapping
blocks, a doubled projection width, and a Lightning Indexer –
and 128 means HCA, non-overlapping and dense with no indexer.
One uniform ratio across the stack builds an indexer on the HCA
layers or none on the CSA ones, and gives half of them the wrong
compressor width; all three failures run and produce numbers.
LayerCompressor derives every one of those parameters from
the mechanism, so they cannot be set inconsistently here.
Auto Trait Implementations§
impl Freeze for DeepseekV4DecoderConfig
impl RefUnwindSafe for DeepseekV4DecoderConfig
impl Send for DeepseekV4DecoderConfig
impl Sync for DeepseekV4DecoderConfig
impl Unpin for DeepseekV4DecoderConfig
impl UnsafeUnpin for DeepseekV4DecoderConfig
impl UnwindSafe for DeepseekV4DecoderConfig
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> 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