Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
transformers
Commits
70b49f02
Unverified
Commit
70b49f02
authored
Aug 24, 2023
by
Younes Belkada
Committed by
GitHub
Aug 24, 2023
Browse files
[`PEFT`] Fix peft version (#25710)
* fix peft version * address comments * adapt suggestion
parent
8fff61b9
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
8 deletions
+10
-8
src/transformers/lib_integrations/peft/peft_mixin.py
src/transformers/lib_integrations/peft/peft_mixin.py
+9
-7
src/transformers/utils/peft_utils.py
src/transformers/utils/peft_utils.py
+1
-1
No files found.
src/transformers/lib_integrations/peft/peft_mixin.py
View file @
70b49f02
...
@@ -27,6 +27,8 @@ if is_accelerate_available():
...
@@ -27,6 +27,8 @@ if is_accelerate_available():
from
accelerate
import
dispatch_model
from
accelerate
import
dispatch_model
from
accelerate.utils
import
get_balanced_memory
,
infer_auto_device_map
from
accelerate.utils
import
get_balanced_memory
,
infer_auto_device_map
# Minimum PEFT version supported for the integration
MIN_PEFT_VERSION
=
"0.5.0"
logger
=
logging
.
get_logger
(
__name__
)
logger
=
logging
.
get_logger
(
__name__
)
...
@@ -113,7 +115,7 @@ class PeftAdapterMixin:
...
@@ -113,7 +115,7 @@ class PeftAdapterMixin:
offload_index (`int`, `optional`):
offload_index (`int`, `optional`):
`offload_index` argument to be passed to `accelerate.dispatch_model` method.
`offload_index` argument to be passed to `accelerate.dispatch_model` method.
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
adapter_name
=
adapter_name
if
adapter_name
is
not
None
else
"default"
adapter_name
=
adapter_name
if
adapter_name
is
not
None
else
"default"
...
@@ -198,7 +200,7 @@ class PeftAdapterMixin:
...
@@ -198,7 +200,7 @@ class PeftAdapterMixin:
adapter_name (`str`, *optional*, defaults to `"default"`):
adapter_name (`str`, *optional*, defaults to `"default"`):
The name of the adapter to add. If no name is passed, a default name is assigned to the adapter.
The name of the adapter to add. If no name is passed, a default name is assigned to the adapter.
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
from
peft
import
PeftConfig
,
inject_adapter_in_model
from
peft
import
PeftConfig
,
inject_adapter_in_model
...
@@ -229,7 +231,7 @@ class PeftAdapterMixin:
...
@@ -229,7 +231,7 @@ class PeftAdapterMixin:
adapter_name (`str`):
adapter_name (`str`):
The name of the adapter to set.
The name of the adapter to set.
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
if
not
self
.
_hf_peft_config_loaded
:
if
not
self
.
_hf_peft_config_loaded
:
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
elif
adapter_name
not
in
self
.
peft_config
:
elif
adapter_name
not
in
self
.
peft_config
:
...
@@ -258,7 +260,7 @@ class PeftAdapterMixin:
...
@@ -258,7 +260,7 @@ class PeftAdapterMixin:
Disable all adapters that are attached to the model. This leads to inferring with the base model only.
Disable all adapters that are attached to the model. This leads to inferring with the base model only.
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
if
not
self
.
_hf_peft_config_loaded
:
if
not
self
.
_hf_peft_config_loaded
:
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
...
@@ -276,7 +278,7 @@ class PeftAdapterMixin:
...
@@ -276,7 +278,7 @@ class PeftAdapterMixin:
Enable adapters that are attached to the model. The model will use `self.active_adapter()`
Enable adapters that are attached to the model. The model will use `self.active_adapter()`
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
if
not
self
.
_hf_peft_config_loaded
:
if
not
self
.
_hf_peft_config_loaded
:
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
...
@@ -294,7 +296,7 @@ class PeftAdapterMixin:
...
@@ -294,7 +296,7 @@ class PeftAdapterMixin:
Gets the current active adapter of the model.
Gets the current active adapter of the model.
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
if
not
is_peft_available
():
if
not
is_peft_available
():
raise
ImportError
(
"PEFT is not available. Please install PEFT to use this function: `pip install peft`."
)
raise
ImportError
(
"PEFT is not available. Please install PEFT to use this function: `pip install peft`."
)
...
@@ -320,7 +322,7 @@ class PeftAdapterMixin:
...
@@ -320,7 +322,7 @@ class PeftAdapterMixin:
adapter_name (`str`, *optional*):
adapter_name (`str`, *optional*):
The name of the adapter to get the state dict from. If no name is passed, the active adapter is used.
The name of the adapter to get the state dict from. If no name is passed, the active adapter is used.
"""
"""
check_peft_version
(
min_version
=
"0.4.0"
)
check_peft_version
(
min_version
=
MIN_PEFT_VERSION
)
if
not
self
.
_hf_peft_config_loaded
:
if
not
self
.
_hf_peft_config_loaded
:
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
raise
ValueError
(
"No adapter loaded. Please load an adapter first."
)
...
...
src/transformers/utils/peft_utils.py
View file @
70b49f02
...
@@ -91,7 +91,7 @@ def check_peft_version(min_version: str) -> None:
...
@@ -91,7 +91,7 @@ def check_peft_version(min_version: str) -> None:
if
not
is_peft_available
():
if
not
is_peft_available
():
raise
ValueError
(
"PEFT is not installed. Please install it with `pip install peft`"
)
raise
ValueError
(
"PEFT is not installed. Please install it with `pip install peft`"
)
is_peft_version_compatible
=
version
.
parse
(
importlib
.
metadata
.
version
(
"peft"
))
<
=
version
.
parse
(
min_version
)
is_peft_version_compatible
=
version
.
parse
(
importlib
.
metadata
.
version
(
"peft"
))
>
=
version
.
parse
(
min_version
)
if
not
is_peft_version_compatible
:
if
not
is_peft_version_compatible
:
raise
ValueError
(
raise
ValueError
(
...
...
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