Looking for some guidance with greater project. Also, small problem: using too much memory. Tips? #1698
Replies: 1 comment 5 replies
-
Hi @AlexStreicher, thanks for the kind words! I am not surprised that you're running into memory issues with
Another option that might be a good fit for your high-throughput use case is the TuRBO algorithm. It is designed for settings where you need thousands of evaluations and you can generate possibly hundreds of candidates in parallel. You can find the tutorial here: https://botorch.org/tutorials/turbo_1 |
Beta Was this translation helpful? Give feedback.
-
Hi there, firstly I wanted to thank you all for the time you've put into making your work publicly available, writing a solid api, and documenting as much as you can while writing tutorials. My background is in physics, so it's thanks to your efforts that I've been able to make progress.
I've been working on essentially trying to make a simple auto-ML. For reference, the function I hope to optimize is indeed black-box. Furthermore, I can use anywhere from$[1, \infty)$ features in doing so, some of which may be discrete or categorical (so far snapping values or one-hot encoding has worked out okay). Furthermore, I can simultaneously query about q~100 points at a time on a cluster, and one such query will take about 1-4 hours. Small twist, the signal-to-noise ratio is extremely small, so most of the domain/features will result in a value of effectively zero. If you have any tips regarding this, please let me know.
Without consideration for feature selection or the issues caused by ignoring it, I've been trying to write a botorch module to perform the exploitation part of the auto-ML for me.
I've been running into a small issue though. It seems that I have too much data! I got a "can't allocate memory: you tried to allocate" 2.9Gb for the
batch_initial_conditions = ic_gen(...)
step ofoptimize_acqf
when runningN=2500 points, k=17 input dimensions, q=200
num_restarts=8, raw_samples=1024
I put the noise constraint, because I feel that there's isn't really a notion of "measurement noise" for my dataset. For every set of feature values, there's a single fixed Y accuracy value. Let me know if you don't think that was the proper way to deal with this.
Finally, I just wanted to say that I'm not some rando dumping their entire problem on you without putting any effort in. I always got annoyed when people did that with my work. As some who has no background in any of this, and almost none in ML, I'm quite happy that I've gotten this far! Of course, it's all thanks to the documention, tutorials, and papers that you guys wrote.
Please let me know if there's any more information I can provide to help.
Beta Was this translation helpful? Give feedback.
All reactions