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
93ed89bf
"tests/vscode:/vscode.git/clone" did not exist on "9196f48b950abe5fa1533b9c8a985d9b28839df2"
Unverified
Commit
93ed89bf
authored
Feb 13, 2023
by
Dzmitry Pletnikau
Committed by
GitHub
Feb 13, 2023
Browse files
Add `inputs_embeds` support when generating with GPT-J (#21575)
parent
dcb5e011
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
9 deletions
+19
-9
src/transformers/models/gptj/modeling_gptj.py
src/transformers/models/gptj/modeling_gptj.py
+19
-9
No files found.
src/transformers/models/gptj/modeling_gptj.py
View file @
93ed89bf
...
...
@@ -771,7 +771,7 @@ class GPTJForCausalLM(GPTJPreTrainedModel):
def
set_output_embeddings
(
self
,
new_embeddings
):
self
.
lm_head
=
new_embeddings
def
prepare_inputs_for_generation
(
self
,
input_ids
,
past_key_values
=
None
,
**
kwargs
):
def
prepare_inputs_for_generation
(
self
,
input_ids
,
past_key_values
=
None
,
inputs_embeds
=
None
,
**
kwargs
):
token_type_ids
=
kwargs
.
get
(
"token_type_ids"
,
None
)
# only last token for inputs_ids if past is defined in kwargs
if
past_key_values
:
...
...
@@ -790,14 +790,24 @@ class GPTJForCausalLM(GPTJPreTrainedModel):
position_ids
=
position_ids
[:,
-
1
].
unsqueeze
(
-
1
)
else
:
position_ids
=
None
return
{
"input_ids"
:
input_ids
,
# if `inputs_embeds` are passed, we only want to use them in the 1st generation step
if
inputs_embeds
is
not
None
and
past_key_values
is
None
:
model_inputs
=
{
"inputs_embeds"
:
inputs_embeds
}
else
:
model_inputs
=
{
"input_ids"
:
input_ids
}
model_inputs
.
update
(
{
"past_key_values"
:
past_key_values
,
"use_cache"
:
kwargs
.
get
(
"use_cache"
),
"position_ids"
:
position_ids
,
"attention_mask"
:
attention_mask
,
"token_type_ids"
:
token_type_ids
,
}
)
return
model_inputs
@
add_start_docstrings_to_model_forward
(
GPTJ_INPUTS_DOCSTRING
.
format
(
"batch_size, sequence_length"
))
@
add_code_sample_docstrings
(
...
...
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