Large Language Models Synergize with Automated Machine Learning
Jinglue Xu, Jialong Li, Zhen Liu, Nagar Anthel Venkatesh Suryanarayanan, Guoyuan Zhou, Jia Guo, Hitoshi Iba, Kenji Tei
TL;DR
This work presents Text-to-ML, a framework that automatically generates and optimizes complete ML programs from textual task descriptions by decomposing programs into modular components and validating their compatibility with a novel testing approach. It couples autoregressive LLM code generation with autoML, using zero-cost proxies to efficiently search the space of module configurations and hyperparameters. Theoretical results show a best-case linear complexity $O( ext{Γ})$ for Contextual Modular Generation, contrasting with a worst-case exponential $O( ext{exp}( ext{Γ}))$ for traditional methods, and experiments across 12 tasks demonstrate improvements in 10 of them, with autoML further boosting performance. The approach promises a path toward democratized, end-to-end automatic ML programming, backed by an open-source implementation and a robust testing framework that ensures module compatibility and numerical evaluation consistency.
Abstract
Recently, program synthesis driven by large language models (LLMs) has become increasingly popular. However, program synthesis for machine learning (ML) tasks still poses significant challenges. This paper explores a novel form of program synthesis, targeting ML programs, by combining LLMs and automated machine learning (autoML). Specifically, our goal is to fully automate the generation and optimization of the code of the entire ML workflow, from data preparation to modeling and post-processing, utilizing only textual descriptions of the ML tasks. To manage the length and diversity of ML programs, we propose to break each ML program into smaller, manageable parts. Each part is generated separately by the LLM, with careful consideration of their compatibilities. To ensure compatibilities, we design a testing technique for ML programs. Unlike traditional program synthesis, which typically relies on binary evaluations (i.e., correct or incorrect), evaluating ML programs necessitates more than just binary judgments. Our approach automates the numerical evaluation and optimization of these programs, selecting the best candidates through autoML techniques. In experiments across various ML tasks, our method outperforms existing methods in 10 out of 12 tasks for generating ML programs. In addition, autoML significantly improves the performance of the generated ML programs. In experiments, given the textual task description, our method, Text-to-ML, generates the complete and optimized ML program in a fully autonomous process. The implementation of our method is available at https://github.com/JLX0/llm-automl.
