[Bug Fix] prevent lora adapter from being loaded into LoRAManager if it is already loaded (#11365)

This commit is contained in:
Glen Liu
2025-10-09 21:43:03 -04:00
committed by GitHub
parent 0fe87213bb
commit 9a7e7a6576
2 changed files with 35 additions and 0 deletions

View File

@@ -156,6 +156,15 @@ class LoRAManager:
Validate if an adapter can be loaded into the current LoRA memory pool and generate error if it is incompatible. Validate if an adapter can be loaded into the current LoRA memory pool and generate error if it is incompatible.
""" """
# Check if this LoRA adapter is already loaded
if any(
lora_ref.lora_name == existing_lora_ref.lora_name
for existing_lora_ref in self.lora_refs.values()
):
raise ValueError(
f"Failed to load LoRA adapter {lora_ref.lora_name} because it is already loaded"
)
# Check if the LoRA adapter shape is compatible with the current LoRA memory pool configuration. # Check if the LoRA adapter shape is compatible with the current LoRA memory pool configuration.
memory_pool = getattr(self, "memory_pool", None) memory_pool = getattr(self, "memory_pool", None)
incompatible = memory_pool and not memory_pool.can_support(lora_config) incompatible = memory_pool and not memory_pool.can_support(lora_config)

View File

@@ -101,6 +101,19 @@ BASIC_TESTS = [
}, },
], ],
op_sequence=[ op_sequence=[
Operation(
type=OperationType.LOAD,
data="philschmid/code-llama-3-1-8b-text-to-sql-lora",
expected_error="already loaded",
),
Operation(
type=OperationType.UNLOAD,
data="philschmid/code-llama-3-1-8b-text-to-sql-lora",
),
Operation(
type=OperationType.LOAD,
data="philschmid/code-llama-3-1-8b-text-to-sql-lora",
),
Operation( Operation(
type=OperationType.FORWARD, type=OperationType.FORWARD,
data=create_batch_data( data=create_batch_data(
@@ -224,6 +237,19 @@ BASIC_TESTS = [
type=OperationType.LOAD, type=OperationType.LOAD,
data="pbevan11/llama-3.1-8b-ocr-correction", data="pbevan11/llama-3.1-8b-ocr-correction",
), ),
Operation(
type=OperationType.LOAD,
data="philschmid/code-llama-3-1-8b-text-to-sql-lora",
expected_error="already loaded",
),
Operation(
type=OperationType.UNLOAD,
data="philschmid/code-llama-3-1-8b-text-to-sql-lora",
),
Operation(
type=OperationType.LOAD,
data="philschmid/code-llama-3-1-8b-text-to-sql-lora",
),
Operation( Operation(
type=OperationType.FORWARD, type=OperationType.FORWARD,
data=create_batch_data( data=create_batch_data(