Implement LRU eviction policy for LoRA adapters (#11041)
This commit is contained in:
@@ -122,6 +122,8 @@ GRAMMAR_BACKEND_CHOICES = ["xgrammar", "outlines", "llguidance", "none"]
|
||||
|
||||
DETERMINISTIC_ATTENTION_BACKEND_CHOICES = ["flashinfer", "fa3", "triton"]
|
||||
|
||||
DEFAULT_LORA_EVICTION_POLICY = "lru"
|
||||
|
||||
NSA_CHOICES = ["flashmla_prefill", "flashmla_decode", "fa3", "tilelang", "aiter"]
|
||||
|
||||
RADIX_EVICTION_POLICY_CHOICES = ["lru", "lfu"]
|
||||
@@ -304,6 +306,7 @@ class ServerArgs:
|
||||
] = None
|
||||
max_loaded_loras: Optional[int] = None
|
||||
max_loras_per_batch: int = 8
|
||||
lora_eviction_policy: str = DEFAULT_LORA_EVICTION_POLICY
|
||||
lora_backend: str = "triton"
|
||||
max_lora_chunk_size: Optional[int] = 16
|
||||
|
||||
@@ -2127,6 +2130,13 @@ class ServerArgs:
|
||||
default=ServerArgs.max_loaded_loras,
|
||||
help="If specified, it limits the maximum number of LoRA adapters loaded in CPU memory at a time. The value must be greater than or equal to `--max-loras-per-batch`.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--lora-eviction-policy",
|
||||
type=str,
|
||||
default=DEFAULT_LORA_EVICTION_POLICY,
|
||||
choices=["lru", "fifo"],
|
||||
help="LoRA adapter eviction policy when memory pool is full. 'lru': Least Recently Used (default, better cache efficiency). 'fifo': First-In-First-Out.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--lora-backend",
|
||||
type=str,
|
||||
|
||||
Reference in New Issue
Block a user