Skip to content

Update yaml configs. Add validation dataset #2608

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

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

krammnic
Copy link
Contributor

Context

What is the purpose of this PR? Is it to

  • add a new feature
  • fix a bug
  • update tests and/or documentation
  • other (please add here)

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.

  • run pre-commit hooks and linters (make sure you've first installed via pre-commit install)
  • add unit tests for any new functionality
  • update docstrings for any new or updated methods or classes
  • run unit tests via pytest tests
  • run recipe tests via pytest tests -m integration_test
  • manually run any new or modified recipes with sufficient proof of correctness
  • include relevant commands and any other artifacts in this summary (pastes of loss curves, eval results, etc.)

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

  • I did not change any public API
  • I have added an example to docs or docstrings

Copy link

pytorch-bot bot commented Apr 17, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/torchtune/2608

Note: Links to docs will display an error until the docs builds have been completed.

✅ No Failures

As of commit 348793b with merge base 0991f97 (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@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 Apr 17, 2025

# we need to manually build the mistral classifier model
# because our reward model checkpoint has a larger vocabulary size (due to an added padding token)
reward_and_value_model:
Copy link
Contributor

@bzz bzz Apr 17, 2025

Choose a reason for hiding this comment

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

this looks like an accidental change and probably could be worth putting back for the PPO recipe to work

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch!

dataset_val:
_component_: torchtune.datasets.alpaca_cleaned_dataset
split: train[95%:]
batch_size_val: 8
Copy link
Collaborator

Choose a reason for hiding this comment

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

For many of the larger models this batch size may be too high and result in OOM.

@SalmanMohammadi
Copy link
Collaborator

SalmanMohammadi commented Apr 22, 2025

@krammnic thank you for opening this PR. One last change: could you actually set batch_size_val: ${batch_size} in every config? That way we minimise the risk of OOMing during validation, and users may increase it if they they wish.

I'm happy to merge after this.

@krammnic
Copy link
Contributor Author

@krammnic thank you for opening this PR. One last change: could you actually set batch_size_val: ${batch_size} in every config? That way we minimise the risk of OOMing during validation, and users make increase it if they they wish.

I'm happy to merge after this.

Hey, sure!

Mark Obozov added 2 commits April 24, 2025 21:35
@krammnic
Copy link
Contributor Author

@SalmanMohammadi This is really weird

@SalmanMohammadi
Copy link
Collaborator

I think you also need to remove the fields from configs for recipes which we don't support validation datasets for: QAT, and LoRA and FFT single device.

@krammnic
Copy link
Contributor Author

@SalmanMohammadi let's start CI

@krammnic
Copy link
Contributor Author

@SalmanMohammadi oops, one more time (I forgot that our lint triggers on configs)/

@@ -115,4 +115,3 @@ profiler:
wait_steps: 5
warmup_steps: 3
active_steps: 2
num_cycles: 1
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why was this changed?

dataset:
_component_: torchtune.datasets.alpaca_dataset
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a single device recipe, it doesn't support validation datasets

seed: null
shuffle: True

# Validation
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also a single device recipe

@SalmanMohammadi
Copy link
Collaborator

@krammnic could you please take another pass through and make sure that no single-device recipes have been modified?

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.

5 participants