Target prefix-constrained generation #172
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces a
generate_from_target_prefix
argument in themodel.attribute
method and theinseq attribute
CLI, allowing the usage of pre-specifiedgenerated_text
as a prefix for the model to complete, rather than a finished generation.This functionality exploits the capabilities of the
generate
function in 🤗 transformers, and is restricted to encoder-decoder models only, since controlling the prefix is handled through theinput_text
parameter for decoder-only models. The same behavior could already be achieved in inseq v0.4 by providing explicitdecoder_input_ids
asgeneration_args
.Current behavior:
New behavior using
generate_from_target_prefix
:The new argument also works with batched inputs. Setting the target prefix to an empty string will perform the fully unconstrained generation, as if no prefix was provided:
Type of Change