Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
5c6c54d6
Unverified
Commit
5c6c54d6
authored
Aug 09, 2024
by
Dipika Sikka
Committed by
GitHub
Aug 09, 2024
Browse files
[Bugfix] Fix `PerTensorScaleParameter` weight loading for fused models (#7376)
parent
933790c2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
9 deletions
+14
-9
vllm/model_executor/layers/linear.py
vllm/model_executor/layers/linear.py
+14
-9
No files found.
vllm/model_executor/layers/linear.py
View file @
5c6c54d6
...
...
@@ -14,7 +14,8 @@ from vllm.logger import init_logger
from
vllm.model_executor.layers.quantization.base_config
import
(
QuantizationConfig
,
QuantizeMethodBase
)
from
vllm.model_executor.parameter
import
(
BasevLLMParameter
,
PackedvLLMParameter
)
PackedvLLMParameter
,
PerTensorScaleParameter
)
from
vllm.model_executor.utils
import
set_weight_attrs
logger
=
init_logger
(
__name__
)
...
...
@@ -573,11 +574,13 @@ class MergedColumnParallelLinear(ColumnParallelLinear):
param
:
BasevLLMParameter
,
loaded_weight
:
torch
.
Tensor
,
loaded_shard_id
:
Optional
[
int
]
=
None
):
param_data
=
param
.
data
if
loaded_shard_id
is
None
:
if
param
.
output_dim
is
None
:
assert
param_data
.
shape
==
loaded_weight
.
shape
param_data
.
copy_
(
loaded_weight
)
if
isinstance
(
param
,
PerTensorScaleParameter
):
param
.
load_merged_column_weight
(
loaded_weight
=
loaded_weight
,
shard_id
=
0
)
return
elif
type
(
param
)
is
BasevLLMParameter
:
param
.
load_merged_column_weight
(
loaded_weight
=
loaded_weight
)
return
self
.
_load_fused_module_from_checkpoint
(
param
,
loaded_weight
)
return
...
...
@@ -720,11 +723,13 @@ class QKVParallelLinear(ColumnParallelLinear):
param
:
BasevLLMParameter
,
loaded_weight
:
torch
.
Tensor
,
loaded_shard_id
:
Optional
[
str
]
=
None
):
param_data
=
param
.
data
if
loaded_shard_id
is
None
:
# special case for certain models
if
param
.
output_dim
is
None
:
assert
param_data
.
shape
==
loaded_weight
.
shape
param_data
.
copy_
(
loaded_weight
)
if
isinstance
(
param
,
PerTensorScaleParameter
):
param
.
load_merged_column_weight
(
loaded_weight
=
loaded_weight
,
shard_id
=
0
)
return
elif
type
(
param
)
is
BasevLLMParameter
:
param
.
load_merged_column_weight
(
loaded_weight
=
loaded_weight
)
return
self
.
_load_fused_module_from_checkpoint
(
param
,
loaded_weight
)
return
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment