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
OpenDAS
ColossalAI
Commits
82149e9d
Unverified
Commit
82149e9d
authored
Mar 02, 2023
by
BlueRum
Committed by
GitHub
Mar 02, 2023
Browse files
[chatgpt] fix inference demo loading bug (#2969)
* [chatgpt] fix inference demo loading bug * polish
parent
bbf9c827
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
8 deletions
+12
-8
applications/ChatGPT/examples/inference.py
applications/ChatGPT/examples/inference.py
+12
-8
No files found.
applications/ChatGPT/examples/inference.py
View file @
82149e9d
...
...
@@ -9,30 +9,34 @@ from transformers.models.gpt2.tokenization_gpt2 import GPT2Tokenizer
def
eval
(
args
):
# configure model
if
args
.
model
==
'gpt2'
:
model
=
GPTActor
(
pretrained
=
args
.
pretrain
).
to
(
torch
.
cuda
.
current_device
())
actor
=
GPTActor
().
to
(
torch
.
cuda
.
current_device
())
elif
args
.
model
==
'bloom'
:
model
=
BLOOMActor
(
pretrained
=
args
.
pretrain
).
to
(
torch
.
cuda
.
current_device
())
actor
=
BLOOMActor
().
to
(
torch
.
cuda
.
current_device
())
elif
args
.
model
==
'opt'
:
model
=
OPTActor
(
pretrained
=
args
.
pretrain
).
to
(
torch
.
cuda
.
current_device
())
actor
=
OPTActor
().
to
(
torch
.
cuda
.
current_device
())
else
:
raise
ValueError
(
f
'Unsupported model "
{
args
.
model
}
"'
)
state_dict
=
torch
.
load
(
args
.
pretrain
)
actor
.
model
.
load_state_dict
(
state_dict
)
# configure tokenizer
if
args
.
model
==
'gpt2'
:
tokenizer
=
GPT2Tokenizer
.
from_pretrained
(
'gpt2'
)
tokenizer
.
pad_token
=
tokenizer
.
eos_token
elif
args
.
model
==
'bloom'
:
tokenizer
=
AutoTokenizer
.
from_pretrained
(
args
.
pretrain
)
tokenizer
=
AutoTokenizer
.
from_pretrained
(
'bigscience/bloom-560m'
)
tokenizer
.
pad_token
=
tokenizer
.
eos_token
elif
args
.
model
==
'opt'
:
tokenizer
=
AutoTokenizer
.
from_pretrained
(
"
facebook/opt-350m
"
)
tokenizer
=
AutoTokenizer
.
from_pretrained
(
'
facebook/opt-350m
'
)
else
:
raise
ValueError
(
f
'Unsupported model "
{
args
.
model
}
"'
)
model
.
eval
()
actor
.
eval
()
input
=
args
.
input
input_ids
=
tokenizer
.
encode
(
input
,
return_tensors
=
'pt'
).
to
(
torch
.
cuda
.
current_device
())
outputs
=
model
.
generate
(
input_ids
,
outputs
=
actor
.
generate
(
input_ids
,
max_length
=
args
.
max_length
,
do_sample
=
True
,
top_k
=
50
,
...
...
@@ -46,7 +50,7 @@ if __name__ == '__main__':
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
'--model'
,
default
=
'gpt2'
,
choices
=
[
'gpt2'
,
'bloom'
,
'opt'
])
parser
.
add_argument
(
'--pretrain'
,
type
=
str
,
default
=
None
)
parser
.
add_argument
(
'--input'
,
type
=
str
,
default
=
'Q: How are you ? A:'
)
parser
.
add_argument
(
'--input'
,
type
=
str
,
default
=
'Q
uestion
: How are you ? A
nswer
:'
)
parser
.
add_argument
(
'--max_length'
,
type
=
int
,
default
=
100
)
args
=
parser
.
parse_args
()
eval
(
args
)
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