-
Notifications
You must be signed in to change notification settings - Fork 74
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
Questions regarding config search #805
Comments
|
In the meantime, we found a new weird phenomenon we’d like to discuss: when letting model analyzer go to an k8s ingress route, where two tritons pods are deployed, after a short period model analyzer crashes and says that perf analyzer failed to find the requested model version. But running regular perf analyzer in the same triton results in no error. From this we have deduced that the error is somehow related to the mode switching done by mode analyzer. Do you know what could possibly cause this and what can we do about it? We ask because we want our automation to configure the amount of triton pods running, and we want to profile the results using model analyzer. |
1- I will try to reproduce 3- We do have a ticket to try to make quick search more customizable instead of the fixed parameters that are currently searched. This won't be a small change however. 4- There are a ton of parameters inside of triton as well as for various backends. In theory we support them all, although most of them are not explicitly called out in the code base. I will try to come up with an example of a brute search with max_queue_size. Finishing bullet # 3 would also potentially allow max_queue_size to be quick searched. 5- Yes, the space grows exponentially with each model. You want to do brute with 12 different models? Even if you are only trying 5 configs for each model, that would be 5^12 (244 million) different tests to run. 12 models is definitely too many for brute. With a limited search space and only 2 models it is somewhat viable, but beyond that it just grows too fast. For your latest comment, can you create a new issue? Add any further information that would be helpful in trying to reproduce. |
I have not been able to reproduce number 1. Can you provide what a starting config looks like that stops right away for you? Note that model analyzer keeps a checkpoint, so if you run model analyzer and then run it again, it will look at all of the results it already has and conclude that it doesn't need any new measurements. As for number 2, there is a PR up that fixes the main issue (although the reporting still has some typos) #806 |
|
I'm still unable to reproduce 1), but your comment about illegal configuration is a good clue. If there is an illegal configuration at the start of quick search then it doesn't know where to go and will stop. Can you run with -v ( |
For 4), anything in the model config can be manually swept via brute search. It just takes some yaml magic, which is hard to explain in the documents. There are some examples in this documentation Here is an example that includes max_queue_size:
and the output from MA:
|
Regarding 1, i tried it and it as it turns out, the problem occurs when we enable dynamic batching as well. Without it the search works as expected. We get the following message: |
For 1), this all makes sense now. There was a fix a few weeks ago for this. See bullet 3 of the description here. This won't actually help you if you already have a config with preferred_batch_size specified, but if you start from scratch that value will no longer magically appear and cause you problems on further reruns. The fix will be included in the 24.01 release. For 4), I'll look into improving the documentation For sweeping anything - Model Analyzer should be able to sweep over any model config option that can be specified in the config.pbtxt file. I believe this also includes any options that are specific to whatever backend you are using. For example, ONNX and TensorFlow have a bunch of "execution accelerators" that can be specified, and you should be able to brute search through legal values of those. |
Ok, thanks for the help! |
I created a ticket to design and implement the ability to quick search custom fields. I do think there is a lot of value in this, beyond just the cases you are asking for. It is something we plan to do, but likely won't get started at least until the product lead gets back from medical leave. Unfortunately I can't imagine this getting done for at least a few months. I also created a ticket to look into Model Analyzer setting max_queue_size for some cases. This has a higher chance of getting done in the near term since the scope is smaller, but it probably won't be prioritized unless it is a really important feature to you. |
We want to include model analyzer as part of our model deployment pipeline. We want to run a search on the model and get the best configuration automatically as part of the rollout. After experimenting with the tool, we would like to raise a few points regarding the config search functionality:
We’d really love the product and would appreciate it if you could answer these question:)
The text was updated successfully, but these errors were encountered: