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
gaoqiong
lm-evaluation-harness
Commits
9bb0de9c
Unverified
Commit
9bb0de9c
authored
Mar 07, 2023
by
Stella Biderman
Committed by
GitHub
Mar 07, 2023
Browse files
Merge pull request #390 from sxjscience/master
Enable "low_cpu_mem_usage" to reduce the memory usage of HF models
parents
3d14707a
859f96fd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
7 additions
and
7 deletions
+7
-7
lm_eval/models/gpt2.py
lm_eval/models/gpt2.py
+3
-3
lm_eval/utils.py
lm_eval/utils.py
+3
-4
setup.py
setup.py
+1
-0
No files found.
lm_eval/models/gpt2.py
View file @
9bb0de9c
import
transformers
import
torch
import
torch
import
transformers
from
lm_eval.base
import
BaseLM
from
lm_eval.base
import
BaseLM
...
@@ -9,6 +9,7 @@ class HFLM(BaseLM):
...
@@ -9,6 +9,7 @@ class HFLM(BaseLM):
device
=
"cuda"
,
device
=
"cuda"
,
pretrained
=
"gpt2"
,
pretrained
=
"gpt2"
,
revision
=
"main"
,
revision
=
"main"
,
low_cpu_mem_usage
=
None
,
subfolder
=
None
,
subfolder
=
None
,
tokenizer
=
None
,
tokenizer
=
None
,
batch_size
=
1
,
batch_size
=
1
,
...
@@ -37,8 +38,7 @@ class HFLM(BaseLM):
...
@@ -37,8 +38,7 @@ class HFLM(BaseLM):
revision
=
revision
+
(
"/"
+
subfolder
if
subfolder
is
not
None
else
""
)
revision
=
revision
+
(
"/"
+
subfolder
if
subfolder
is
not
None
else
""
)
self
.
gpt2
=
transformers
.
AutoModelForCausalLM
.
from_pretrained
(
self
.
gpt2
=
transformers
.
AutoModelForCausalLM
.
from_pretrained
(
pretrained
,
pretrained
,
revision
=
revision
,
low_cpu_mem_usage
=
low_cpu_mem_usage
revision
=
revision
,
).
to
(
self
.
device
)
).
to
(
self
.
device
)
self
.
gpt2
.
eval
()
self
.
gpt2
.
eval
()
...
...
lm_eval/utils.py
View file @
9bb0de9c
...
@@ -7,6 +7,8 @@ import inspect
...
@@ -7,6 +7,8 @@ import inspect
import
sys
import
sys
from
typing
import
List
from
typing
import
List
from
omegaconf
import
OmegaConf
class
ExitCodeError
(
Exception
):
class
ExitCodeError
(
Exception
):
pass
pass
...
@@ -27,10 +29,7 @@ def simple_parse_args_string(args_string):
...
@@ -27,10 +29,7 @@ def simple_parse_args_string(args_string):
if
not
args_string
:
if
not
args_string
:
return
{}
return
{}
arg_list
=
args_string
.
split
(
","
)
arg_list
=
args_string
.
split
(
","
)
args_dict
=
{}
args_dict
=
OmegaConf
.
to_object
(
OmegaConf
.
from_dotlist
(
arg_list
))
for
arg
in
arg_list
:
k
,
v
=
arg
.
split
(
"="
)
args_dict
[
k
]
=
v
return
args_dict
return
args_dict
...
...
setup.py
View file @
9bb0de9c
...
@@ -25,6 +25,7 @@ setuptools.setup(
...
@@ -25,6 +25,7 @@ setuptools.setup(
"jsonlines"
,
"jsonlines"
,
"numexpr"
,
"numexpr"
,
"openai>=0.6.4"
,
"openai>=0.6.4"
,
"omegaconf>=2.2"
,
"pybind11>=2.6.2"
,
"pybind11>=2.6.2"
,
"pycountry"
,
"pycountry"
,
"pytablewriter"
,
"pytablewriter"
,
...
...
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