PyGlove: Symbolic Programming for Automated Machine Learning
- URL: http://arxiv.org/abs/2101.08809v1
- Date: Thu, 21 Jan 2021 19:05:44 GMT
- Title: PyGlove: Symbolic Programming for Automated Machine Learning
- Authors: Daiyi Peng, Xuanyi Dong, Esteban Real, Mingxing Tan, Yifeng Lu,
Hanxiao Liu, Gabriel Bender, Adam Kraft, Chen Liang, Quoc V. Le
- Abstract summary: We introduce a new way of programming AutoML based on symbolic programming.
Under this paradigm, ML programs are mutable, thus can be manipulated easily by another program.
We show that PyGlove users can easily convert a static program into a search space, quickly iterate on the search spaces and search algorithms, and craft complex search flows.
- Score: 88.15565138144042
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Neural networks are sensitive to hyper-parameter and architecture choices.
Automated Machine Learning (AutoML) is a promising paradigm for automating
these choices. Current ML software libraries, however, are quite limited in
handling the dynamic interactions among the components of AutoML. For example,
efficientNAS algorithms, such as ENAS and DARTS, typically require an
implementation coupling between the search space and search algorithm, the two
key components in AutoML. Furthermore, implementing a complex search flow, such
as searching architectures within a loop of searching hardware configurations,
is difficult. To summarize, changing the search space, search algorithm, or
search flow in current ML libraries usually requires a significant change in
the program logic. In this paper, we introduce a new way of programming AutoML
based on symbolic programming. Under this paradigm, ML programs are mutable,
thus can be manipulated easily by another program. As a result, AutoML can be
reformulated as an automated process of symbolic manipulation. With this
formulation, we decouple the triangle of the search algorithm, the search space
and the child program. This decoupling makes it easy to change the search space
and search algorithm (without and with weight sharing), as well as to add
search capabilities to existing code and implement complex search flows. We
then introduce PyGlove, a new Python library that implements this paradigm.
Through case studies on ImageNet and NAS-Bench-101, we show that with PyGlove
users can easily convert a static program into a search space, quickly iterate
on the search spaces and search algorithms, and craft complex search flows to
achieve better results.
Related papers
- A Training Data Recipe to Accelerate A* Search with Language Models [3.037409201025504]
Large Language Models (LLMs) with search algorithms like A* holds the promise of enhanced reasoning and scalable inference.
We empirically disentangle the requirements of A* search algorithm from the requirements of the LLM to generalise on this task.
Our technique reduces the number of iterations required to find the solutions by up to 15x, with a wall-clock speed-up of search up to 5x.
arXiv Detail & Related papers (2024-07-13T19:21:44Z) - Integrating Hyperparameter Search into Model-Free AutoML with Context-Free Grammars [0.0]
We propose an extension to GramML that supports larger search spaces including hyper parameter search.
We evaluated the approach using an OpenML benchmark and found significant improvements compared to other state-of-the-art techniques.
arXiv Detail & Related papers (2024-04-04T12:54:13Z) - Autonomous Tree-search Ability of Large Language Models [58.68735916408101]
Large Language Models have excelled in remarkable reasoning capabilities with advanced prompting techniques.
Recent works propose to utilize external programs to define search logic, such that LLMs can perform passive tree search to solve more challenging reasoning tasks.
We propose a new concept called autonomous tree-search ability of LLM, which can automatically generate a response containing search trajectories for the correct answer.
arXiv Detail & Related papers (2023-10-14T14:14:38Z) - Unified Functional Hashing in Automatic Machine Learning [58.77232199682271]
We show that large efficiency gains can be obtained by employing a fast unified functional hash.
Our hash is "functional" in that it identifies equivalent candidates even if they were represented or coded differently.
We show dramatic improvements on multiple AutoML domains, including neural architecture search and algorithm discovery.
arXiv Detail & Related papers (2023-02-10T18:50:37Z) - Exploring Complicated Search Spaces with Interleaving-Free Sampling [127.07551427957362]
In this paper, we build the search algorithm upon a complicated search space with long-distance connections.
We present a simple yet effective algorithm named textbfIF-NAS, where we perform a periodic sampling strategy to construct different sub-networks.
In the proposed search space, IF-NAS outperform both random sampling and previous weight-sharing search algorithms by a significant margin.
arXiv Detail & Related papers (2021-12-05T06:42:48Z) - Searching for More Efficient Dynamic Programs [61.79535031840558]
We describe a set of program transformations, a simple metric for assessing the efficiency of a transformed program, and a search procedure to improve this metric.
We show that in practice, automated search can find substantial improvements to the initial program.
arXiv Detail & Related papers (2021-09-14T20:52:55Z) - VolcanoML: Speeding up End-to-End AutoML via Scalable Search Space
Decomposition [57.06900573003609]
VolcanoML is a framework that decomposes a large AutoML search space into smaller ones.
It supports a Volcano-style execution model, akin to the one supported by modern database systems.
Our evaluation demonstrates that, not only does VolcanoML raise the level of expressiveness for search space decomposition in AutoML, it also leads to actual findings of decomposition strategies.
arXiv Detail & Related papers (2021-07-19T13:23:57Z) - GAMA: a General Automated Machine learning Assistant [4.035753155957698]
The General Automated Machine learning Assistant (GAMA) is a modular AutoML system developed to empower users to track and control how AutoML algorithms search for optimal machine learning pipelines.
GAMA allows users to plug in different AutoML and post-processing techniques, logs and visualizes the search process, and supports easy benchmarking.
arXiv Detail & Related papers (2020-07-09T16:16:25Z) - Lale: Consistent Automated Machine Learning [7.972562716069225]
Lale is a library of high-level Python interfaces that simplifies and unifies automated machine learning in a consistent way.
This paper introduces Lale, a library of high-level Python interfaces that simplifies and unifies automated machine learning in a consistent way.
arXiv Detail & Related papers (2020-07-04T00:55:41Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.