GithubHelp home page GithubHelp logo

Comments (6)

dme65 avatar dme65 commented on July 28, 2024 2

I verified the suspicion above by running your code snippet with the two different acquisition functions:

  • With qNoisyExpectedImprovement (the default before #1792) the average sample time is 0.65s.
  • With qLogNoisyExpectedImprovement (the default after #1792) the average sample time is 2.06s.

from ax.

dme65 avatar dme65 commented on July 28, 2024 1

My guess is that this slowdown is coming from #1792, which improved the default acquisition functions in Ax. This is not a bug, but rather a significant improvement.

Before this change, the acquisition functions were much harder to optimize (because of the gradients being numerically zero) so .gen() would sometimes terminate very quickly. After #1792, we are doing a much better job optimizing the acquisition function. While this will result in better optimization performance as Ax generates better candidates, it will also take longer since we will take many more gradient steps when optimizing the acquisition function.

cc @SebastianAment

from ax.

esantorella avatar esantorella commented on July 28, 2024

Thanks for reporting this. A slowdown definitely wasn't expected behavior. We'll look into this.

from ax.

mgrange1998 avatar mgrange1998 commented on July 28, 2024

Hi, also taking a look through the code changes between 0.3.4 and 0.3.5 here 0.3.4...0.3.5

from ax.

mgrange1998 avatar mgrange1998 commented on July 28, 2024

Haven't identified the source of the regression, but the long running method in the .get_next_trial() call is GenerationStrategy::_gen_multiple, which contains the long running call GenerationNode::gen

I ran the code example on my own, and noticed that as "ax_client.get_next_trial()" was called repeatedly, the run time for _gen_multiple would increase over time. Over 50 calls, its run time increased from 0.03 to 15 seconds.

So far, I haven't been able to find the change in GenerationNode that accounts for the increase between versions 0.3.4 and 0.3.5.

from ax.

GilesStrong avatar GilesStrong commented on July 28, 2024

Ah, I see! That does seem like a worthwhile trade-off then.
Many thanks everyone for the quick response and diagnosis. I'll close this issue now.

from ax.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.