Skip to content

Consider limiting the search range of tree parameters to save system memory #1875

@torronen

Description

@torronen

It seems Model Builder has better search range for hyperparameters than defaults in AutoML ML.NET library. However, the trees can grow extremely big which will no longer fit in RAM + swap space of even high-end development machines. For example, latest generation Ryzen's are limited to 128 GB RAM and heavy swap usage makes it very slow.

Maybe limiting the tree size in Model Builder might be suitable for the general developer audience. My experience is that the Model Builder might require about 600 Gb of total working memory with the current settings. It is only required on some datasets so the detrimental effects of a smaller search range would be limited. On other hand, even if in rare cases the biggest possible tree would be ideal, the user experience would still remain better even if the ideal tree size would not achieved.

If possible, it might be useful to provide the current search space / "sweepable range" / "pipeline suggester" as part of ML.NET library. They would be useful for running on server machines with more system resources. Otherwise, it seems to require making a custom build of ML.net library to adjust the search range for AutoML.

(At the moment, an experiment is taking 375 GB on my machine and I am considering if I should let it run over the night with the risk of encountering an exception as it is close to my computer's limit, or if I should stop it now.)

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions