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

Add ReplaceAttentionMaskValue graph surgeon, Bert QNN EP example #1597

Merged
merged 4 commits into from
Feb 5, 2025

Conversation

jambayk
Copy link
Contributor

@jambayk jambayk commented Feb 5, 2025

Describe your changes

  • New graph surgeon that replaces the default attention mask value (transformers uses min float value) with a different value. The min float value does not quantize well and leads to -inf when dequantized. We use a value like -10000 to make it easier to quantize.
  • Bert example for qnn ep added. Accuracy is comparable to float model.
    • Latency on cpu: ~900ms
    • Latency on npu (Snapdragon XElite): ~8ms
       

Checklist before requesting a review

  • Add unit tests for this change.
  • Make sure all tests can pass.
  • Update documents if necessary.
  • Lint and apply fixes to your code by running lintrunner -a
  • Is this a user-facing change? If yes, give a description of this change to be included in the release notes.
  • Is this PR including examples changes? If yes, please remember to update example documentation in a follow-up PR.

(Optional) Issue link

@jambayk jambayk merged commit e2ae2e0 into main Feb 5, 2025
24 checks passed
@jambayk jambayk deleted the jambayk/mask-surgeon branch February 5, 2025 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants