pub struct LoraConfig {
pub r: usize,
pub alpha: usize,
pub dropout: f64,
pub target_modules: Vec<String>,
pub init_lora_weights: LoraInitialization,
pub use_dora: bool,
pub use_rslora: bool,
pub loftq_iterations: usize,
}Expand description
Configuration for LoRA adapters.
Fields§
§r: usizeRank of the low-rank decomposition.
alpha: usizeScaling factor (typically alpha / r).
dropout: f64Dropout probability applied to LoRA outputs.
target_modules: Vec<String>Target modules to apply LoRA to.
init_lora_weights: LoraInitializationInitialize A with Gaussian, B with zeros (standard) or vice versa.
use_dora: boolEnable DoRA (Weight-Decomposed Low-Rank Adaptation). When enabled, the weight update is decomposed into magnitude and direction.
use_rslora: boolEnable rank-stabilized LoRA (rsLoRA).
When enabled, uses alpha / sqrt(r) scaling instead of alpha / r.
This provides better stability and performance at higher ranks.
Reference: https://arxiv.org/abs/2312.03732
loftq_iterations: usizeLoftQ initialization for quantization-aware LoRA.
Uses SVD-based initialization optimized for quantized base models. Specify the number of iterations (0 = disabled).
Trait Implementations§
Source§impl AdapterConfig for LoraConfig
impl AdapterConfig for LoraConfig
Source§impl Clone for LoraConfig
impl Clone for LoraConfig
Source§fn clone(&self) -> LoraConfig
fn clone(&self) -> LoraConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LoraConfig
impl Debug for LoraConfig
Source§impl Default for LoraConfig
impl Default for LoraConfig
Source§fn default() -> LoraConfig
fn default() -> LoraConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for LoraConfig
impl<'de> Deserialize<'de> for LoraConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<LoraConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LoraConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for LoraConfig
impl Serialize for LoraConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for LoraConfig
impl RefUnwindSafe for LoraConfig
impl Send for LoraConfig
impl Sync for LoraConfig
impl Unpin for LoraConfig
impl UnwindSafe for LoraConfig
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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