-
Notifications
You must be signed in to change notification settings - Fork 65
fix: add fms-recommender wrapper #644
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
base: main
Are you sure you want to change the base?
fix: add fms-recommender wrapper #644
Conversation
|
Thanks for making a pull request! 😃 |
386e44c to
bc95fbc
Compare
Signed-off-by: yashasvi <yashasvi@ibm.com>
bc95fbc to
5d264f6
Compare
|
updated pyproject to use |
| "simpleeval>=0.9.13,<2.0", | ||
| "pillow>=11.0.0,<12.0", | ||
| "kernels<=0.9.0", | ||
| "recommender @ git+https://github.com/foundation-model-stack/tuning-config-recommender.git", |
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.
Do we not have a package for the recommender?
without pypi this could not be included in the release
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.
yes, we do not have a release for the recommender yet!
we can skip this PR for the current minor release if not urgent and required.
| @@ -0,0 +1,156 @@ | |||
| #!/usr/bin/env python3 | |||
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.
The placement of this wrapper inside tuning is a bit unclear.
Do we maintain separate packages with main inside the same folder?
Can we not place this outside?
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.
cc @ashokponkumar any suggestions
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.
My reasoning was to keep it at the same level as sft_trainer.py so as the user can simply switch between recommender wrapper or directly use the sft_trainer.py itself..
The goal was to eventually abstract out the usage of sft_trainer.py inside the wrapper so with time the user would only use the wrapper; the wrapper would eventually toggle between recommendation mode vs no-recommendation mode in future updates
Description of the change
The PR adds tuning-config-recommender functionality to fms-hf-tuning simplifying the fine-tuning experience for the end user.
This contributes
fms-recommender.pyscript which simplifies the tuning experience for the user and helps them avoid minor/major pitfalls which can hinder their tuning experience..With the help of
tuning-config-recommendernow we can correct erroneous launch commands or get the recommender to provide suggestions for various flags used while fine-tuning.The
fms-recommender.pyscript has a--previewflag which would preview the suggested command and not execute it..Note: by default without the
--previewflag the suggested command is executed !Following is a sample of running the command in preview mode:
Preview command:
Generates a valid
data_configfile with the datasets, chat-template, data_handlers, etc.Generates a valid
accelerate_configNote:
Currently the tuning-config-recommender is undergoing review cycles before its first release and hence the pyproject.yaml is not linked to a release version..
for now the pyproject would install via
due to pending essential PR's for FMSAdapter at : PR's are undergoing review!mainbranch which might not work the same way as shown aboveThe above commands can be replicated via installing recommender from the
mainbranchRelated issue number
How to verify the PR
Was the PR tested