@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 5157338ed9
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 15, 22:15 UTC

[Misc] Improve LoRA spelling (#13831)

Jee Jee Li committed Feb 26, 2025 at 15:43 UTC 5157338ed956a56a5607b1c353cfc9c8114bf700
25 files changed +80 -80
benchmarks/kernels/benchmark_lora.py
+1 -1
@@ -89,7 +89,7 @@ def make_prompt_lora_mapping(num_prompts: int, num_active_loras: int,
89 sort_by_lora_id: bool,
90 device: str) -> torch.Tensor:
91 """
92 - All prompts are mapped to a Lora ID in range [0, num_active_loras).
92 + All prompts are mapped to a LoRA ID in range [0, num_active_loras).
93 where 0 refers to first lora, 1 refers to second lora and so on.
94 """
95 assert num_active_loras > 0
docs/source/features/lora.md
+1 -1
@@ -170,7 +170,7 @@ Now, you can specify a base_model_name alongside the name and path using JSON fo
170
171 To provide the backward compatibility support, you can still use the old key-value format (name=path), but the `base_model_name` will remain unspecified in that case.
172
173 -## Lora model lineage in model card
173 +## LoRA model lineage in model card
174
175 The new format of `--lora-modules` is mainly to support the display of parent model information in the model card. Here's an explanation of how your current response supports this:
176
tests/core/test_scheduler.py
+1 -1
@@ -491,7 +491,7 @@ def test_prefill_schedule_max_lora():
491 lora_path="abc"))
492 scheduler.add_seq_group(seq_group)
493 # Add two more requests to verify lora is prioritized.
494 - # 0: Lora, 1: Lora, 2: regular, 3: regular
494 + # 0: LoRA, 1: LoRA, 2: regular, 3: regular
495 # In the first iteration, index 0, 2 is scheduled.
496 # If a request is not scheduled because it hits max lora, it is
497 # prioritized. Verify that.
tests/entrypoints/openai/test_cli_args.py
+1 -1
@@ -26,7 +26,7 @@ def serve_parser():
26 return make_arg_parser(parser)
27
28
29 -### Tests for Lora module parsing
29 +### Tests for LoRA module parsing
30 def test_valid_key_value_format(serve_parser):
31 # Test old format: name=path
32 args = serve_parser.parse_args([
tests/entrypoints/openai/test_serving_models.py
+10 -10
@@ -8,8 +8,8 @@ import pytest
8 from vllm.config import ModelConfig
9 from vllm.engine.protocol import EngineClient
10 from vllm.entrypoints.openai.protocol import (ErrorResponse,
11 - LoadLoraAdapterRequest,
12 - UnloadLoraAdapterRequest)
11 + LoadLoRAAdapterRequest,
12 + UnloadLoRAAdapterRequest)
13 from vllm.entrypoints.openai.serving_models import (BaseModelPath,
14 OpenAIServingModels)
15 from vllm.lora.request import LoRARequest
@@ -51,7 +51,7 @@ async def test_serving_model_name():
51 @pytest.mark.asyncio
52 async def test_load_lora_adapter_success():
53 serving_models = await _async_serving_models_init()
54 - request = LoadLoraAdapterRequest(lora_name="adapter",
54 + request = LoadLoRAAdapterRequest(lora_name="adapter",
55 lora_path="/path/to/adapter2")
56 response = await serving_models.load_lora_adapter(request)
57 assert response == LORA_LOADING_SUCCESS_MESSAGE.format(lora_name='adapter')
@@ -62,7 +62,7 @@ async def test_load_lora_adapter_success():
62 @pytest.mark.asyncio
63 async def test_load_lora_adapter_missing_fields():
64 serving_models = await _async_serving_models_init()
65 - request = LoadLoraAdapterRequest(lora_name="", lora_path="")
65 + request = LoadLoRAAdapterRequest(lora_name="", lora_path="")
66 response = await serving_models.load_lora_adapter(request)
67 assert isinstance(response, ErrorResponse)
68 assert response.type == "InvalidUserInput"
@@ -72,14 +72,14 @@ async def test_load_lora_adapter_missing_fields():
72 @pytest.mark.asyncio
73 async def test_load_lora_adapter_duplicate():
74 serving_models = await _async_serving_models_init()
75 - request = LoadLoraAdapterRequest(lora_name="adapter1",
75 + request = LoadLoRAAdapterRequest(lora_name="adapter1",
76 lora_path="/path/to/adapter1")
77 response = await serving_models.load_lora_adapter(request)
78 assert response == LORA_LOADING_SUCCESS_MESSAGE.format(
79 lora_name='adapter1')
80 assert len(serving_models.lora_requests) == 1
81
82 - request = LoadLoraAdapterRequest(lora_name="adapter1",
82 + request = LoadLoRAAdapterRequest(lora_name="adapter1",
83 lora_path="/path/to/adapter1")
84 response = await serving_models.load_lora_adapter(request)
85 assert isinstance(response, ErrorResponse)
@@ -91,12 +91,12 @@ async def test_load_lora_adapter_duplicate():
91 @pytest.mark.asyncio
92 async def test_unload_lora_adapter_success():
93 serving_models = await _async_serving_models_init()
94 - request = LoadLoraAdapterRequest(lora_name="adapter1",
94 + request = LoadLoRAAdapterRequest(lora_name="adapter1",
95 lora_path="/path/to/adapter1")
96 response = await serving_models.load_lora_adapter(request)
97 assert len(serving_models.lora_requests) == 1
98
99 - request = UnloadLoraAdapterRequest(lora_name="adapter1")
99 + request = UnloadLoRAAdapterRequest(lora_name="adapter1")
100 response = await serving_models.unload_lora_adapter(request)
101 assert response == LORA_UNLOADING_SUCCESS_MESSAGE.format(
102 lora_name='adapter1')
@@ -106,7 +106,7 @@ async def test_unload_lora_adapter_success():
106 @pytest.mark.asyncio
107 async def test_unload_lora_adapter_missing_fields():
108 serving_models = await _async_serving_models_init()
109 - request = UnloadLoraAdapterRequest(lora_name="", lora_int_id=None)
109 + request = UnloadLoRAAdapterRequest(lora_name="", lora_int_id=None)
110 response = await serving_models.unload_lora_adapter(request)
111 assert isinstance(response, ErrorResponse)
112 assert response.type == "InvalidUserInput"
@@ -116,7 +116,7 @@ async def test_unload_lora_adapter_missing_fields():
116 @pytest.mark.asyncio
117 async def test_unload_lora_adapter_not_found():
118 serving_models = await _async_serving_models_init()
119 - request = UnloadLoraAdapterRequest(lora_name="nonexistent_adapter")
119 + request = UnloadLoRAAdapterRequest(lora_name="nonexistent_adapter")
120 response = await serving_models.unload_lora_adapter(request)
121 assert isinstance(response, ErrorResponse)
122 assert response.type == "NotFoundError"
tests/lora/test_layers.py
+9 -9
@@ -14,16 +14,16 @@ from vllm.config import LoRAConfig
14 from vllm.lora.fully_sharded_layers import (
15 ColumnParallelLinearWithShardedLoRA,
16 MergedColumnParallelLinearWithShardedLoRA,
17 - MergedQKVParallelLinearWithShardedLora, QKVParallelLinearWithShardedLora,
17 + MergedQKVParallelLinearWithShardedLoRA, QKVParallelLinearWithShardedLoRA,
18 RowParallelLinearWithShardedLoRA)
19 # yapf conflicts with isort for this block
20 # yapf: disable
21 from vllm.lora.layers import (BaseLayerWithLoRA, ColumnParallelLinearWithLoRA,
22 - LinearScalingRotaryEmbeddingWithLora,
22 + LinearScalingRotaryEmbeddingWithLoRA,
23 LogitsProcessorWithLoRA, LoRAMapping,
24 MergedColumnParallelLinearWithLoRA,
25 - MergedQKVParallelLinearWithLora,
26 - QKVParallelLinearWithLora,
25 + MergedQKVParallelLinearWithLoRA,
26 + QKVParallelLinearWithLoRA,
27 ReplicatedLinearWithLoRA,
28 RowParallelLinearWithLoRA,
29 VocabParallelEmbeddingWithLoRA)
@@ -866,9 +866,9 @@ def test_column_parallel_packed(dist_init, num_loras, repeats, fully_shard,
866 bias=False,
867 params_dtype=torch.float16)
868 linear.weight.data = torch.rand_like(linear.weight.data)
869 - lora_linear = (MergedQKVParallelLinearWithLora(linear)
869 + lora_linear = (MergedQKVParallelLinearWithLoRA(linear)
870 if not fully_shard else
871 - MergedQKVParallelLinearWithShardedLora(linear))
871 + MergedQKVParallelLinearWithShardedLoRA(linear))
872 else:
873 linear = QKVParallelLinear(4096,
874 64,
@@ -876,9 +876,9 @@ def test_column_parallel_packed(dist_init, num_loras, repeats, fully_shard,
876 bias=False,
877 params_dtype=torch.float16)
878 linear.weight.data = torch.rand_like(linear.weight.data)
879 - lora_linear = QKVParallelLinearWithLora(
879 + lora_linear = QKVParallelLinearWithLoRA(
880 linear
881 - ) if not fully_shard else QKVParallelLinearWithShardedLora(linear)
881 + ) if not fully_shard else QKVParallelLinearWithShardedLoRA(linear)
882
883 @dataclass
884 class FakeConfig:
@@ -1024,7 +1024,7 @@ def test_rotary_embedding_long_context(dist_init, num_loras, device,
1024 base,
1025 is_neox_style,
1026 )
1027 - lora_rope = LinearScalingRotaryEmbeddingWithLora(rope)
1027 + lora_rope = LinearScalingRotaryEmbeddingWithLoRA(rope)
1028 lora_rope.set_mapping(punica_wrapper)
1029 lora_rope.create_lora_weights(max_loras, lora_config)
1030 linear_rope = get_rope(head_size, rotary_dim, max_position, base,
tests/lora/test_long_context.py
+2 -2
@@ -8,7 +8,7 @@ import pytest
8
9 import vllm
10 from vllm import SamplingParams
11 -from vllm.lora.layers import LinearScalingRotaryEmbeddingWithLora
11 +from vllm.lora.layers import LinearScalingRotaryEmbeddingWithLoRA
12 from vllm.lora.request import LoRARequest
13 from vllm.model_executor.layers.rotary_embedding import (
14 LinearScalingRotaryEmbedding)
@@ -151,7 +151,7 @@ def test_rotary_emb_replaced(dist_init):
151 if "rotary_emb" in module_name:
152 if "base_layer" not in module_name:
153 rotary_emb_count += 1
154 - assert isinstance(module, LinearScalingRotaryEmbeddingWithLora)
154 + assert isinstance(module, LinearScalingRotaryEmbeddingWithLoRA)
155 else:
156 assert isinstance(module, LinearScalingRotaryEmbedding)
157 # Llama 2 has 32 layers.
vllm/engine/llm_engine.py
+1 -1
@@ -1629,7 +1629,7 @@ class LLMEngine:
1629 max_tokens_requests: List[int] = []
1630 finished_reason_requests: List[str] = []
1631
1632 - # Lora requests
1632 + # LoRA requests
1633 running_lora_adapters = dict(
1634 collectionsCounter([
1635 running_request.lora_request.lora_name
vllm/entrypoints/openai/api_server.py
+5 -5
@@ -53,7 +53,7 @@ from vllm.entrypoints.openai.protocol import (ChatCompletionRequest,
53 EmbeddingResponse,
54 EmbeddingResponseData,
55 ErrorResponse,
56 - LoadLoraAdapterRequest,
56 + LoadLoRAAdapterRequest,
57 PoolingChatRequest,
58 PoolingCompletionRequest,
59 PoolingRequest, PoolingResponse,
@@ -63,7 +63,7 @@ from vllm.entrypoints.openai.protocol import (ChatCompletionRequest,
63 TokenizeResponse,
64 TranscriptionRequest,
65 TranscriptionResponse,
66 - UnloadLoraAdapterRequest)
66 + UnloadLoRAAdapterRequest)
67 from vllm.entrypoints.openai.reasoning_parsers import ReasoningParserManager
68 # yapf: enable
69 from vllm.entrypoints.openai.serving_chat import OpenAIServingChat
@@ -690,12 +690,12 @@ if envs.VLLM_TORCH_PROFILER_DIR:
690
691 if envs.VLLM_ALLOW_RUNTIME_LORA_UPDATING:
692 logger.warning(
693 - "Lora dynamic loading & unloading is enabled in the API server. "
693 + "LoRA dynamic loading & unloading is enabled in the API server. "
694 "This should ONLY be used for local development!")
695
696 @router.post("/v1/load_lora_adapter",
697 dependencies=[Depends(validate_json_request)])
698 - async def load_lora_adapter(request: LoadLoraAdapterRequest,
698 + async def load_lora_adapter(request: LoadLoRAAdapterRequest,
699 raw_request: Request):
700 handler = models(raw_request)
701 response = await handler.load_lora_adapter(request)
@@ -707,7 +707,7 @@ if envs.VLLM_ALLOW_RUNTIME_LORA_UPDATING:
707
708 @router.post("/v1/unload_lora_adapter",
709 dependencies=[Depends(validate_json_request)])
710 - async def unload_lora_adapter(request: UnloadLoraAdapterRequest,
710 + async def unload_lora_adapter(request: UnloadLoRAAdapterRequest,
711 raw_request: Request):
712 handler = models(raw_request)
713 response = await handler.unload_lora_adapter(request)
vllm/entrypoints/openai/protocol.py
+2 -2
@@ -1431,12 +1431,12 @@ class DetokenizeResponse(OpenAIBaseModel):
1431 prompt: str
1432
1433
1434 -class LoadLoraAdapterRequest(BaseModel):
1434 +class LoadLoRAAdapterRequest(BaseModel):
1435 lora_name: str
1436 lora_path: str
1437
1438
1439 -class UnloadLoraAdapterRequest(BaseModel):
1439 +class UnloadLoRAAdapterRequest(BaseModel):
1440 lora_name: str
1441 lora_int_id: Optional[int] = Field(default=None)
1442
vllm/entrypoints/openai/serving_models.py
+7 -7
@@ -9,10 +9,10 @@ from typing import List, Optional, Union
9 from vllm.config import ModelConfig
10 from vllm.engine.protocol import EngineClient
11 from vllm.entrypoints.openai.protocol import (ErrorResponse,
12 - LoadLoraAdapterRequest,
12 + LoadLoRAAdapterRequest,
13 ModelCard, ModelList,
14 ModelPermission,
15 - UnloadLoraAdapterRequest)
15 + UnloadLoRAAdapterRequest)
16 from vllm.logger import init_logger
17 from vllm.lora.request import LoRARequest
18 from vllm.prompt_adapter.request import PromptAdapterRequest
@@ -88,7 +88,7 @@ class OpenAIServingModels:
88 if self.static_lora_modules is None:
89 return
90 for lora in self.static_lora_modules:
91 - load_request = LoadLoraAdapterRequest(lora_path=lora.path,
91 + load_request = LoadLoRAAdapterRequest(lora_path=lora.path,
92 lora_name=lora.name)
93 load_result = await self.load_lora_adapter(
94 request=load_request, base_model_name=lora.base_model_name)
@@ -140,7 +140,7 @@ class OpenAIServingModels:
140
141 async def load_lora_adapter(
142 self,
143 - request: LoadLoraAdapterRequest,
143 + request: LoadLoRAAdapterRequest,
144 base_model_name: Optional[str] = None
145 ) -> Union[ErrorResponse, str]:
146 error_check_ret = await self._check_load_lora_adapter_request(request)
@@ -177,7 +177,7 @@ class OpenAIServingModels:
177
178 async def unload_lora_adapter(
179 self,
180 - request: UnloadLoraAdapterRequest) -> Union[ErrorResponse, str]:
180 + request: UnloadLoRAAdapterRequest) -> Union[ErrorResponse, str]:
181 error_check_ret = await self._check_unload_lora_adapter_request(request
182 )
183 if error_check_ret is not None:
@@ -192,7 +192,7 @@ class OpenAIServingModels:
192 return f"Success: LoRA adapter '{lora_name}' removed successfully."
193
194 async def _check_load_lora_adapter_request(
195 - self, request: LoadLoraAdapterRequest) -> Optional[ErrorResponse]:
195 + self, request: LoadLoRAAdapterRequest) -> Optional[ErrorResponse]:
196 # Check if both 'lora_name' and 'lora_path' are provided
197 if not request.lora_name or not request.lora_path:
198 return create_error_response(
@@ -214,7 +214,7 @@ class OpenAIServingModels:
214
215 async def _check_unload_lora_adapter_request(
216 self,
217 - request: UnloadLoraAdapterRequest) -> Optional[ErrorResponse]:
217 + request: UnloadLoRAAdapterRequest) -> Optional[ErrorResponse]:
218 # Check if either 'lora_name' or 'lora_int_id' is provided
219 if not request.lora_name and not request.lora_int_id:
220 return create_error_response(
vllm/lora/fully_sharded_layers.py
+6 -6
@@ -13,8 +13,8 @@ from vllm.distributed.communication_op import (
13 from vllm.distributed.parallel_state import get_tensor_model_parallel_rank
14 from vllm.lora.layers import (ColumnParallelLinearWithLoRA,
15 MergedColumnParallelLinearWithLoRA,
16 - MergedQKVParallelLinearWithLora,
17 - QKVParallelLinearWithLora,
16 + MergedQKVParallelLinearWithLoRA,
17 + QKVParallelLinearWithLoRA,
18 RowParallelLinearWithLoRA)
19
20 if TYPE_CHECKING:
@@ -167,9 +167,9 @@ class MergedColumnParallelLinearWithShardedLoRA(
167 )
168
169
170 -class QKVParallelLinearWithShardedLora(QKVParallelLinearWithLora):
170 +class QKVParallelLinearWithShardedLoRA(QKVParallelLinearWithLoRA):
171 """
172 - Differs from QKVParallelLinearWithLora by slicing the
172 + Differs from QKVParallelLinearWithLoRA by slicing the
173 LoRA A's also.
174
175 Based on S-LoRA, slicing happens along the rank dim.
@@ -202,9 +202,9 @@ class QKVParallelLinearWithShardedLora(QKVParallelLinearWithLora):
202 )
203
204
205 -class MergedQKVParallelLinearWithShardedLora(MergedQKVParallelLinearWithLora):
205 +class MergedQKVParallelLinearWithShardedLoRA(MergedQKVParallelLinearWithLoRA):
206 """
207 - Differs from MergedQKVParallelLinearWithLora by slicing the
207 + Differs from MergedQKVParallelLinearWithLoRA by slicing the
208 LoRA A's also.
209
210 Based on S-LoRA, slicing happens along the rank dim.
vllm/lora/layers.py
+4 -4
@@ -363,7 +363,7 @@ class BaseLinearLayerWithLoRA(BaseLayerWithLoRA):
363 embeddings_tensor: Optional[torch.Tensor],
364 lora_bias: Optional[torch.Tensor] = None,
365 ):
366 - # Except for QKVParallelLinearWithLora and
366 + # Except for QKVParallelLinearWithLoRA and
367 # MergedColumnParallelLinearWithLoRA, all other linear LoRA layers
368 # store weights in a tuple of size 1. These two layers will
369 # override this function.
@@ -686,7 +686,7 @@ class MergedColumnParallelLinearWithLoRA(ColumnParallelLinearWithLoRA):
686 and len(packed_modules_list) == 2)
687
688
689 -class QKVParallelLinearWithLora(ColumnParallelLinearWithLoRA):
689 +class QKVParallelLinearWithLoRA(ColumnParallelLinearWithLoRA):
690 """
691 ColumnParallelLinear layer that is specifically designed for
692 qkv_proj. Certain models, such as chatglm3 and baichuan-7b,
@@ -754,7 +754,7 @@ class QKVParallelLinearWithLora(ColumnParallelLinearWithLoRA):
754 packed_modules_list) == 1
755
756
757 -class MergedQKVParallelLinearWithLora(MergedColumnParallelLinearWithLoRA):
757 +class MergedQKVParallelLinearWithLoRA(MergedColumnParallelLinearWithLoRA):
758 """MergedColumnParallelLinear layer that is composed of 3 sublayers (slices)
759 packed together in qkv proj fashion
760 (q_proj + k_proj + v_proj -> qkv_proj).
@@ -1120,7 +1120,7 @@ class LogitsProcessorWithLoRA(BaseLayerWithLoRA):
1120 return False
1121
1122
1123 -class LinearScalingRotaryEmbeddingWithLora(BaseLayerWithLoRA):
1123 +class LinearScalingRotaryEmbeddingWithLoRA(BaseLayerWithLoRA):
1124 """Implements RoPE-scaled embeddings with linear scaling for
1125 multiple LoRA adapters with a specialized kernel.
1126
vllm/lora/models.py
+5 -5
@@ -20,7 +20,7 @@ from vllm.adapter_commons.utils import (add_adapter, deactivate_adapter,
20 from vllm.config import LoRAConfig
21 from vllm.logger import init_logger
22 from vllm.lora.layers import (BaseLayerWithLoRA,
23 - LinearScalingRotaryEmbeddingWithLora,
23 + LinearScalingRotaryEmbeddingWithLoRA,
24 LoRAMapping)
25 from vllm.lora.lora import LoRALayerWeights, PackedLoRALayerWeights
26 from vllm.lora.peft_helper import PEFTHelper
@@ -201,7 +201,7 @@ class LoRAModel(AdapterModel):
201 expected_lora_modules: Name of modules that are expected to be
202 replaced by lora.
203 peft_helper: Loaded lora configuration information.
204 - lora_model_id: Lora model id. If not given, automatically set by
204 + lora_model_id: LoRA model id. If not given, automatically set by
205 a global counter.
206 device: Device where the lora model is loaded.
207 dtype: dtype of the lora model weights.
@@ -480,9 +480,9 @@ class LoRAModelManager(AdapterModelManager):
480 from_layer(module, self.lora_slots, self.lora_config,
481 packed_moduled_lst, self.model.config))
482
483 - # LinearScalingRotaryEmbeddingWithLora is used to handle
483 + # LinearScalingRotaryEmbeddingWithLoRA is used to handle
484 # long context lora. Register relevant metadata.
485 - if isinstance(new_module, LinearScalingRotaryEmbeddingWithLora):
485 + if isinstance(new_module, LinearScalingRotaryEmbeddingWithLoRA):
486 self.long_lora_context = LongContextLoRAContext(
487 new_module.scaling_factors, new_module.rotary_dim)
488 self.scaling_factor_to_offset = \
@@ -527,7 +527,7 @@ class LoRAModelManager(AdapterModelManager):
527 bias_enabled = self.lora_config.bias_enabled
528 if (not self._match_target_modules(module_name)
529 or not isinstance(module, BaseLayerWithLoRA)
530 - or isinstance(module, LinearScalingRotaryEmbeddingWithLora)
530 + or isinstance(module, LinearScalingRotaryEmbeddingWithLoRA)
531 or self._filter_unsupported_mm_module(module_name)):
532 continue
533 parts = module_name.split(".")
vllm/lora/peft_helper.py
+1 -1
@@ -42,7 +42,7 @@ class PEFTHelper:
42
43 def _validate_features(self) -> List[str]:
44 """
45 - Check if there are any unsupported Lora features.
45 + Check if there are any unsupported LoRA features.
46 """
47 error_msg = []
48 if self.modules_to_save:
vllm/lora/punica_wrapper/punica_base.py
+1 -1
@@ -314,7 +314,7 @@ class PunicaWrapperBase(PunicaWrapperABC):
314 def long_lora_indices(self) -> torch.Tensor:
315 """
316 This property provides access to the indices used for long context
317 - lora, specifically for LinearScalingRotaryEmbeddingWithLora.
317 + lora, specifically for LinearScalingRotaryEmbeddingWithLoRA.
318 """
319 long_lora_len = self.indices_len[4]
320 return self._long_lora_indices[:long_lora_len]
vllm/lora/utils.py
+9 -9
@@ -15,17 +15,17 @@ from vllm.logger import init_logger
15 from vllm.lora.fully_sharded_layers import (
16 ColumnParallelLinearWithShardedLoRA,
17 MergedColumnParallelLinearWithShardedLoRA,
18 - MergedQKVParallelLinearWithShardedLora, QKVParallelLinearWithShardedLora,
18 + MergedQKVParallelLinearWithShardedLoRA, QKVParallelLinearWithShardedLoRA,
19 RowParallelLinearWithShardedLoRA)
20 # being imported for _all_lora_classes below
21 # yapf conflicts with isort for this block
22 # yapf: disable
23 from vllm.lora.layers import (BaseLayerWithLoRA, ColumnParallelLinearWithLoRA,
24 - LinearScalingRotaryEmbeddingWithLora,
24 + LinearScalingRotaryEmbeddingWithLoRA,
25 LogitsProcessorWithLoRA,
26 MergedColumnParallelLinearWithLoRA,
27 - MergedQKVParallelLinearWithLora,
28 - QKVParallelLinearWithLora,
27 + MergedQKVParallelLinearWithLoRA,
28 + QKVParallelLinearWithLoRA,
29 ReplicatedLinearWithLoRA,
30 RowParallelLinearWithLoRA,
31 VocabParallelEmbeddingWithLoRA)
@@ -41,17 +41,17 @@ _all_lora_classes: Set[Type[BaseLayerWithLoRA]] = {
41 VocabParallelEmbeddingWithLoRA,
42 ColumnParallelLinearWithLoRA,
43 MergedColumnParallelLinearWithLoRA,
44 - QKVParallelLinearWithLora,
45 - MergedQKVParallelLinearWithLora,
44 + QKVParallelLinearWithLoRA,
45 + MergedQKVParallelLinearWithLoRA,
46 RowParallelLinearWithLoRA,
47 ReplicatedLinearWithLoRA,
48 LogitsProcessorWithLoRA,
49 ColumnParallelLinearWithShardedLoRA,
50 - QKVParallelLinearWithShardedLora,
50 + QKVParallelLinearWithShardedLoRA,
51 MergedColumnParallelLinearWithShardedLoRA,
52 - MergedQKVParallelLinearWithShardedLora,
52 + MergedQKVParallelLinearWithShardedLoRA,
53 RowParallelLinearWithShardedLoRA,
54 - LinearScalingRotaryEmbeddingWithLora,
54 + LinearScalingRotaryEmbeddingWithLoRA,
55 }
56
57
vllm/spec_decode/proposer_worker_base.py
+2 -2
@@ -6,10 +6,10 @@ from typing import List, Optional, Set, Tuple
6 from vllm.model_executor.layers.sampler import SamplerOutput
7 from vllm.sequence import ExecuteModelRequest
8 from vllm.spec_decode.interfaces import SpeculativeProposer
9 -from vllm.worker.worker_base import LoraNotSupportedWorkerBase
9 +from vllm.worker.worker_base import LoRANotSupportedWorkerBase
10
11
12 -class ProposerWorkerBase(LoraNotSupportedWorkerBase, SpeculativeProposer):
12 +class ProposerWorkerBase(LoRANotSupportedWorkerBase, SpeculativeProposer):
13 """Interface for proposer workers"""
14
15 @abstractmethod
vllm/spec_decode/spec_decode_worker.py
+2 -2
@@ -47,7 +47,7 @@ from vllm.spec_decode.util import (Timer, create_logprobs_output,
47 get_sampled_token_logprobs, nvtx_range,
48 split_batch_by_proposal_len)
49 from vllm.utils import resolve_obj_by_qualname
50 -from vllm.worker.worker_base import LoraNotSupportedWorkerBase, WorkerBase
50 +from vllm.worker.worker_base import LoRANotSupportedWorkerBase, WorkerBase
51
52 logger = init_logger(__name__)
53
@@ -118,7 +118,7 @@ def create_spec_worker(*args, **kwargs) -> "SpecDecodeWorker":
118
119 # Reminder: Please update docs/source/features/compatibility_matrix.md
120 # If the feature combo become valid
121 -class SpecDecodeWorker(LoraNotSupportedWorkerBase):
121 +class SpecDecodeWorker(LoRANotSupportedWorkerBase):
122 """Worker which implements speculative decoding.
123
124 Speculative decoding reduces decoding per-token latency by using a proposal
vllm/transformers_utils/configs/arctic.py
+1 -1
@@ -21,7 +21,7 @@ ARCTIC_PRETRAINED_CONFIG_ARCHIVE_MAP = {
21
22
23 @dataclass
24 -class ArcticLoraConfig:
24 +class ArcticLoRAConfig:
25 lora_r: int = 64
26 lora_alpha: float = 16
27 shard_base_weights: bool = False
vllm/worker/neuron_worker.py
+2 -2
@@ -13,11 +13,11 @@ from vllm.model_executor.layers.sampler import SamplerOutput
13 from vllm.sequence import ExecuteModelRequest
14 from vllm.worker.neuron_model_runner import NeuronModelRunner
15 from vllm.worker.worker_base import (LocalOrDistributedWorkerBase,
16 - LoraNotSupportedWorkerBase, WorkerBase,
16 + LoRANotSupportedWorkerBase, WorkerBase,
17 WorkerInput)
18
19
20 -class NeuronWorker(LoraNotSupportedWorkerBase, LocalOrDistributedWorkerBase):
20 +class NeuronWorker(LoRANotSupportedWorkerBase, LocalOrDistributedWorkerBase):
21 """A worker class that executes the model on a group of neuron cores.
22 """
23
vllm/worker/openvino_worker.py
+2 -2
@@ -24,7 +24,7 @@ from vllm.sampling_params import SamplingParams
24 from vllm.sequence import ExecuteModelRequest, SequenceGroupMetadata
25 from vllm.utils import bind_kv_cache
26 from vllm.worker.openvino_model_runner import OpenVINOModelRunner
27 -from vllm.worker.worker_base import LoraNotSupportedWorkerBase, WorkerBase
27 +from vllm.worker.worker_base import LoRANotSupportedWorkerBase, WorkerBase
28
29 logger = init_logger(__name__)
30
@@ -203,7 +203,7 @@ class OpenVINOCacheEngine:
203 return dtype_size * total
204
205
206 -class OpenVINOWorker(LoraNotSupportedWorkerBase):
206 +class OpenVINOWorker(LoRANotSupportedWorkerBase):
207 """A worker class that executes the model on OpenVINO backend.
208
209 Each worker is associated with a single OpenVINO device. The worker is
vllm/worker/tpu_worker.py
+2 -2
@@ -17,13 +17,13 @@ from vllm.sequence import ExecuteModelRequest
17 from vllm.utils import STR_DTYPE_TO_TORCH_DTYPE, bind_kv_cache, get_dtype_size
18 from vllm.worker.tpu_model_runner import ExecutionMode, TPUModelRunner
19 from vllm.worker.worker_base import (LocalOrDistributedWorkerBase,
20 - LoraNotSupportedWorkerBase, WorkerBase,
20 + LoRANotSupportedWorkerBase, WorkerBase,
21 WorkerInput)
22
23 logger = init_logger(__name__)
24
25
26 -class TPUWorker(LoraNotSupportedWorkerBase, LocalOrDistributedWorkerBase):
26 +class TPUWorker(LoRANotSupportedWorkerBase, LocalOrDistributedWorkerBase):
27
28 def __init__(
29 self,
vllm/worker/worker_base.py
+1 -1
@@ -189,7 +189,7 @@ class DelegateWorkerBase(WorkerBase):
189 return getattr(self.worker, attr)
190
191
192 -class LoraNotSupportedWorkerBase(WorkerBase):
192 +class LoRANotSupportedWorkerBase(WorkerBase):
193 """Partial implementation of WorkerBase that raises exceptions when LoRA
194 methods are invoked.
195 """
vllm/worker/xpu_worker.py
+2 -2
@@ -18,13 +18,13 @@ from vllm.model_executor import set_random_seed
18 from vllm.platforms import current_platform
19 from vllm.worker.cache_engine import CacheEngine
20 from vllm.worker.worker import Worker
21 -from vllm.worker.worker_base import LoraNotSupportedWorkerBase, WorkerBase
21 +from vllm.worker.worker_base import LoRANotSupportedWorkerBase, WorkerBase
22 from vllm.worker.xpu_model_runner import XPUModelRunner
23
24 logger = init_logger(__name__)
25
26
27 -class XPUWorker(LoraNotSupportedWorkerBase, Worker):
27 +class XPUWorker(LoRANotSupportedWorkerBase, Worker):
28 """A worker class that executes (a partition of) the model on a GPU.
29
30 Each worker is associated with a single XPU device. The worker is