pub enum KvPrecision {
F32,
Int8,
}Expand description
How the key/value cache stores its entries.
The container declares what the model was post-trained for in kv_bits.
Needle 3 declares 8, so KvPrecision::Int8 is the width upstream
intends; < 8 maps to a different scheme upstream (Cactus-Quants at group
64) and is not implemented here, because no shipped checkpoint asks for it.
Variants§
F32
Store as f32. Bit-identical to the verified forward pass, and the
default for that reason.
Int8
Per-head symmetric 8-bit, as upstream’s a8_fake_quant_kv defines it.
Roughly a quarter of the memory. It is not bit-identical to the f32 path — it is the numerics upstream’s native engine runs — so it is opt-in rather than default.
Trait Implementations§
Source§impl Clone for KvPrecision
impl Clone for KvPrecision
Source§fn clone(&self) -> KvPrecision
fn clone(&self) -> KvPrecision
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 KvPrecision
Source§impl Debug for KvPrecision
impl Debug for KvPrecision
impl Eq for KvPrecision
Source§impl PartialEq for KvPrecision
impl PartialEq for KvPrecision
impl StructuralPartialEq for KvPrecision
Auto Trait Implementations§
impl Freeze for KvPrecision
impl RefUnwindSafe for KvPrecision
impl Send for KvPrecision
impl Sync for KvPrecision
impl Unpin for KvPrecision
impl UnsafeUnpin for KvPrecision
impl UnwindSafe for KvPrecision
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