-
Notifications
You must be signed in to change notification settings - Fork 471
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
Remove unused FSDP1 components #1933
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/torchtune/1933
Note: Links to docs will display an error until the docs builds have been completed. This comment was automatically generated by Dr. CI and updates every 15 minutes. |
Probably need to remove relations to docs |
Thanks for the PR! Looking at the code changes now, but at least for the doc build job failure you will need to remove this line (you can check other rst files the same folder for any other APIs you've removed, their references will need to be removed as well) |
torchtune/modules/peft/_utils.py
Outdated
full_model_state_dict_keys: Optional[List[str]] = None, | ||
lora_state_dict_keys: Optional[List[str]] = None, | ||
base_model_state_dict_keys: Optional[List[str]] = None, |
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.
We should be able to do it without these extra arguments. You should be able to leverage base_missing, base_unexpected, lora_missing, lora_unexpected in the DPO recipe to use this API as is (may just need to move the call to validate_missing_and_unexpected_for_lora
down a few lines)
torchtune/modules/peft/_utils.py
Outdated
@@ -362,19 +286,62 @@ def validate_missing_and_unexpected_for_lora( | |||
] | |||
) | |||
|
|||
if full_model_state_dict_keys: |
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.
Same with all the code from here on down.. the changes should be doable without any modifications to this function
from torchtune.utils import get_logger | ||
|
||
from torchtune.utils._device import get_device | ||
|
||
_log: logging.Logger = get_logger() | ||
|
||
|
||
FSDPPolicyType: Type = Callable[[nn.Module, bool, int], bool] |
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.
I think you need to remove the reference to this in api_ref_training.rst
for the docs to build.
"validate_no_params_on_meta_device", | ||
"contains_fsdp", | ||
"FSDPPolicyType", | ||
"get_full_finetune_fsdp_wrap_policy", |
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.
Similar to my comment above, I think this will also need to be removed from the torchtune.training
API ref doc.
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.
There's also a reference to this in the QAT recipe in the note just below this heading. Should this note just be removed? @ebsmothers
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.
"contains_fsdp", | ||
"FSDPPolicyType", | ||
"get_full_finetune_fsdp_wrap_policy", | ||
"lora_fsdp_wrap_policy", |
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.
Same here to be removed from the training API docs.
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.
Yeah that would be good to remove as well
Probably fine now |
Looks like CI is red? |
I think you also need to remove the reference to |
Hey @krammnic - think there's some merge conflicts to fix before I can kick off CI again. |
Context
What is the purpose of this PR? Is it to
Please link to any issues this PR addresses.
Changelog
What are the changes made in this PR?
Test plan
Please make sure to do each of the following if applicable to your PR. If you're unsure about any one of these just ask and we will happily help. We also have a contributing page for some guidance on contributing.
pre-commit install
)pytest tests
pytest tests -m integration_test
UX
If your function changed a public API, please add a dummy example of what the user experience will look like when calling it.
Here is a docstring example
and a tutorial example