-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
QLoRA #9340
Merged
Merged
QLoRA #9340
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: cuichenx <cuichenx@users.noreply.github.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: cuichenx <cuichenx@users.noreply.github.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
arendu
previously approved these changes
Jun 6, 2024
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! awesome PR!
arendu
approved these changes
Jun 7, 2024
janekl
pushed a commit
that referenced
this pull request
Jun 12, 2024
* temp qlora implementation Signed-off-by: Chen Cui <chcui@nvidia.com> * swap nf4 after model instantiation Signed-off-by: Chen Cui <chcui@nvidia.com> * load model on cpu and then quantize on gpu Signed-off-by: Chen Cui <chcui@nvidia.com> * model init on cpu to prevent memory spike Signed-off-by: Chen Cui <chcui@nvidia.com> * account for TE versions Signed-off-by: Chen Cui <chcui@nvidia.com> * guard use_cpu_initialization Signed-off-by: Chen Cui <chcui@nvidia.com> * fix layernorm autograd Function Signed-off-by: Chen Cui <chcui@nvidia.com> * add unit tests Signed-off-by: Chen Cui <chcui@nvidia.com> * Apply isort and black reformatting Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> * move cpu init to library code Signed-off-by: Chen Cui <chcui@nvidia.com> * copyright header and nf4 quantize on GPU Signed-off-by: Chen Cui <chcui@nvidia.com> * Apply isort and black reformatting Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> * fix cpu init Signed-off-by: Chen Cui <chcui@nvidia.com> * comments Signed-off-by: Chen Cui <chcui@nvidia.com> * fix test Signed-off-by: Chen Cui <chcui@nvidia.com> --------- Signed-off-by: Chen Cui <chcui@nvidia.com> Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> Co-authored-by: cuichenx <cuichenx@users.noreply.github.com> Signed-off-by: Jan Lasek <janek.lasek@gmail.com>
JesusPaz
pushed a commit
to JesusPaz/NeMo
that referenced
this pull request
Jun 18, 2024
* temp qlora implementation Signed-off-by: Chen Cui <chcui@nvidia.com> * swap nf4 after model instantiation Signed-off-by: Chen Cui <chcui@nvidia.com> * load model on cpu and then quantize on gpu Signed-off-by: Chen Cui <chcui@nvidia.com> * model init on cpu to prevent memory spike Signed-off-by: Chen Cui <chcui@nvidia.com> * account for TE versions Signed-off-by: Chen Cui <chcui@nvidia.com> * guard use_cpu_initialization Signed-off-by: Chen Cui <chcui@nvidia.com> * fix layernorm autograd Function Signed-off-by: Chen Cui <chcui@nvidia.com> * add unit tests Signed-off-by: Chen Cui <chcui@nvidia.com> * Apply isort and black reformatting Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> * move cpu init to library code Signed-off-by: Chen Cui <chcui@nvidia.com> * copyright header and nf4 quantize on GPU Signed-off-by: Chen Cui <chcui@nvidia.com> * Apply isort and black reformatting Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> * fix cpu init Signed-off-by: Chen Cui <chcui@nvidia.com> * comments Signed-off-by: Chen Cui <chcui@nvidia.com> * fix test Signed-off-by: Chen Cui <chcui@nvidia.com> --------- Signed-off-by: Chen Cui <chcui@nvidia.com> Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> Co-authored-by: cuichenx <cuichenx@users.noreply.github.com>
rohitrango
pushed a commit
to rohitrango/NeMo
that referenced
this pull request
Jun 25, 2024
* temp qlora implementation Signed-off-by: Chen Cui <chcui@nvidia.com> * swap nf4 after model instantiation Signed-off-by: Chen Cui <chcui@nvidia.com> * load model on cpu and then quantize on gpu Signed-off-by: Chen Cui <chcui@nvidia.com> * model init on cpu to prevent memory spike Signed-off-by: Chen Cui <chcui@nvidia.com> * account for TE versions Signed-off-by: Chen Cui <chcui@nvidia.com> * guard use_cpu_initialization Signed-off-by: Chen Cui <chcui@nvidia.com> * fix layernorm autograd Function Signed-off-by: Chen Cui <chcui@nvidia.com> * add unit tests Signed-off-by: Chen Cui <chcui@nvidia.com> * Apply isort and black reformatting Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> * move cpu init to library code Signed-off-by: Chen Cui <chcui@nvidia.com> * copyright header and nf4 quantize on GPU Signed-off-by: Chen Cui <chcui@nvidia.com> * Apply isort and black reformatting Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> * fix cpu init Signed-off-by: Chen Cui <chcui@nvidia.com> * comments Signed-off-by: Chen Cui <chcui@nvidia.com> * fix test Signed-off-by: Chen Cui <chcui@nvidia.com> --------- Signed-off-by: Chen Cui <chcui@nvidia.com> Signed-off-by: cuichenx <cuichenx@users.noreply.github.com> Co-authored-by: cuichenx <cuichenx@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR do ?
Add QLoRA
Current Results
Convergence
Llama 7b, Squad, packed seq 2k, LoRA on all layers
gbs4, 2e-4, 2k iterations
exact_match 89.199 f1 94.791 rougeL 94.400 total 6064.000
Normal LoRA (qkv only)
exact_match 88.819 f1 94.415 rougeL 94.084 total 6064.000
Memory Usage
Llama 13b, Alpaca, seq len 512, LoRA on all layers, gbs256
Peak memory reserved (GB):
Performance
Llama 13b, Alpaca, seq len 512, LoRA on all layers, gbs256
Global batch step timing (s):
Collection: NLP
Changelog
Usage
Set this flag in
megatron_gpt_finetuning_config.yaml
to enable QLoRATo get the maximum memory savings, also set these flags
GitHub Actions CI
The Jenkins CI system has been replaced by GitHub Actions self-hosted runners.
The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.
To re-run CI remove and add the label again.
To run CI on an untrusted fork, a NeMo user with write access must first click "Approve and run".
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