-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Megatron Encoder-Decoder Sampler Function #6095
Conversation
Signed-off-by: Micha Livne <[email protected]>
…oderModel.decode. 2. Added greedy and top k / top p token sample methods. Signed-off-by: Micha Livne <[email protected]>
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
2. Improved deocde docstring. Signed-off-by: Micha Livne <[email protected]>
log_probs, token_ids = torch.max(torch.nn.functional.log_softmax(output_tensor, dim=-1), dim=-1) | ||
log_probs, token_ids = sample_token_fn(logits=output_tensor[:, -1, :]) | ||
# enforce valid range of token ids | ||
token_ids = torch.clamp(token_ids, max=tokenizer.vocab_size - 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not related to this PR, but this seems like a weird use of clamp. Should a token_ids > vocab raise an error? @ericharper
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It can happen due to vocabulary padding (mostly in the early stages of training).
Signed-off-by: Micha Livne <[email protected]>
Signed-off-by: Micha Livne <[email protected]>
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
* 1. Work0in-progress. Signed-off-by: Micha Livne <[email protected]> * 1. Added support custom token sample function to MegatronLMEncoderDecoderModel.decode. 2. Added greedy and top k / top p token sample methods. Signed-off-by: Micha Livne <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * 1. Debugging. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * 1. Debugging. * 1. Debugging. * 1. Removed commented code. 2. Improved deocde docstring. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed variable name. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed device assignemnt. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed a bug in PP decoding log probs shape. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed device assignment. Signed-off-by: Micha Livne <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Signed-off-by: Micha Livne <[email protected]> Co-authored-by: Micha Livne <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Sandeep Subramanian <[email protected]>
* 1. Work0in-progress. Signed-off-by: Micha Livne <[email protected]> * 1. Added support custom token sample function to MegatronLMEncoderDecoderModel.decode. 2. Added greedy and top k / top p token sample methods. Signed-off-by: Micha Livne <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * 1. Debugging. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * 1. Debugging. * 1. Debugging. * 1. Removed commented code. 2. Improved deocde docstring. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed variable name. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed device assignemnt. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed a bug in PP decoding log probs shape. Signed-off-by: Micha Livne <[email protected]> * 1. Fixed device assignment. Signed-off-by: Micha Livne <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Signed-off-by: Micha Livne <[email protected]> Co-authored-by: Micha Livne <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Sandeep Subramanian <[email protected]> Signed-off-by: hsiehjackson <[email protected]>
What does this PR do ?
This PR adds support in external sampler function to Megatron encoder-decoder.
Collection: [Note which collection this PR will affect]
Changelog
MegatronLMEncoderDecoderModel.decode
.Usage
# Add a code snippet demonstrating how to use this
Before your PR is "Ready for review"
Pre checks:
PR Type:
If you haven't finished some of the above items you can still open "Draft" PR.
Who can review?
Anyone in the community is free to review the PR once the checks have passed.
Contributor guidelines contains specific people who can review PRs to various areas.
Additional Information