Can I get predicted time directly?

Hi,

I have one question related to ML model prediction in xgboost autotuner. The predict() function in [/python/tvm/autotvm/tuner/sa_model_optimizer.py] returns scores for configuration candidates and I assume those scores are calculated based on predicted time.

Is my assumption correct? How could I find the predicted time rather than scores?

1 Like

It’s not fully corrected. The score is just a quantitate value of the config quality and it doesn’t have to match the real execution time. AutoTVM currently doesn’t predict the time, and that’s why it measures the run time directly on the device.

Thanks for your correction. The following up question is based on your answer. The overall goal of TVM is to reduce running time on HW and attempt to find a optimal config. What is the definition of the quality of a config? How does the implementation reflect the quality of a config? It will be helpful if you can point out the source file in current repo.

The score definition depends on the tuning methodology. It’s more like a reward function in reinforcement learning for guiding the search. Intuitively, it could be similar to the execution latency like you said, but I’m just saying this is a different concept and this score should not be directly used as a predicted latency. The code you pointed out in the first post is exactly the one I’m talking about.