Skip to content
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

[bugfix][Favor] Same feature map for q and k #183

Merged
merged 2 commits into from
Jan 18, 2022
Merged

Conversation

blefaudeux
Copy link
Contributor

What does this PR do?

Thanks @fmassa for the heads up !

Before submitting

  • Did you have fun?
    • Make sure you had fun coding 🙃
  • Did you read the contributor guideline?
  • Was this discussed/approved via a Github issue? (no need for typos, doc improvements)
    • N/A
  • Did you make sure to update the docs?
    • N/A
  • Did you write any new necessary tests?
    • N/A
  • Did you update the changelog? (if needed)
    • N/A

PR review

Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 18, 2022
Copy link
Contributor

@fmassa fmassa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

I have one minor comment, otherwise LGTM

@@ -98,8 +98,7 @@ def __init__(
"normalize_inputs": self.normalize_inputs,
}

self.feature_map_query: FeatureMap = feature_map_constructor(**feature_settings) # type: ignore
self.feature_map_key: FeatureMap = feature_map_constructor(**feature_settings) # type: ignore
self.feature_map: FeatureMap = feature_map_constructor(**feature_settings) # type: ignore
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably enforce now that the iter_before_redraw is a multiple of 2, or multiply it by 2 in the implementation of the FeatureMap, otherwise we can still sample different maps for k / q

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oww, that would have been an annoying bug, great catch and I went too fast. I would do a x2 on the setting, because I think that from the outside "iter" means "number of steps we took"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the docstring for the attention to make it clear that this counted the number of "forward" calls

Copy link
Contributor

@fmassa fmassa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @blefaudeux !

@blefaudeux blefaudeux merged commit 5ce6428 into main Jan 18, 2022
@blefaudeux blefaudeux deleted the favor_proj_bugfix branch January 18, 2022 18:31
xwhan pushed a commit to xwhan/xformers that referenced this pull request Feb 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants