-
Notifications
You must be signed in to change notification settings - Fork 24
PoC: dynamic SUTs #1013
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?
PoC: dynamic SUTs #1013
Conversation
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
…serverless SUTs, and turn on existing endpoints that may not be running
6b6352e
to
f7d66b0
Compare
One reason I like using the same argument for known SUT IDs and named dynamic SUTs is that the user doesn't need to know if a SUT already exists. If you pass in a dynamic SUT name that can be parsed into an existing SUT id, then the existing SUT will be used. If we constrain what a dynamic SUT name can look like, e.g. a SUT is dynamic if and only if the identifier passed to modelbench includes a slash, would that solve the typo issue? We could make the code try to create a dynamic SUT only if the string includes a slash, and SUT IDs without slashes but with a typo would then be rejected with the right error. |
As an operator, I want to be able to pass a sensible name for a SUT that isn't registered to modelgauge or modelbench
Modelgauge and modelbench should try to create a new SUT from that name and run the requested job with it
So the code doesn't need to be updated whenever we want to add a new SUT that behaves like known SUTs.
Story
Important
This only works with huggingface proxied inference endpoints for now. The dynamic SUT names must be
hf/<provider>/<vendor>/<model>
e.g.
hf/nebius/google/gemma-3-27b-it
How To Test
deepseek-ai/DeepSeek-V3
is available on several providers (replicate, together, etc).You can test by requesting any one of those:
Additional Information
SUT IDs And Names Behave The Same Way
You can pass a dynamic SUT name the same way you can pass a known SUT ID.
If you pass in a dynamic SUT name that translates to a known SUT, that's fine, it'll work.
How Do I Find Models With Serverless Providers?
Alternate Providers
If you change
find_alternative
toTrue
inhuggingface_sut_maker. HuggingFaceChatCompletionServerlessSUTMaker.find
then the program will automatically look for the same model on a different serverless provider, if the provider you requested isn't available.Dedicated Endpoints
Those are TBD. The code only turns one on if it already exists and is asleep. It will not create a new one. That's easy to add.