| 80 | |
| 81 | |
| 82 | class LoraConfig(BaseModel): |
| 83 | lora_dir: List[str] = Field(default_factory=list) |
| 84 | lora_ckpt_source: Literal["hf", "nemo"] = "hf" |
| 85 | max_lora_rank: int = 64 |
| 86 | lora_target_modules: List[str] = Field(default_factory=list) |
| 87 | trtllm_modules_to_hf_modules: Dict[str, str] = Field(default_factory=dict) |
| 88 | max_loras: Optional[int] = None |
| 89 | max_cpu_loras: Optional[int] = None |
| 90 | swap_gate_up_proj_lora_b_weight: bool = True |
| 91 | |
| 92 | @property |
| 93 | def missing_qkv_modules(self) -> List[str]: |
| 94 | return get_missing_qkv_modules_from_lora_modules( |
| 95 | self.lora_target_modules) |