Large Language Models Synergize with Automated Machine Learning

📄 arXiv: 2405.03727v3 📥 PDF

作者: Jinglue Xu, Jialong Li, Zhen Liu, Nagar Anthel Venkatesh Suryanarayanan, Guoyuan Zhou, Jia Guo, Hitoshi Iba, Kenji Tei

分类: cs.SE, cs.AI, cs.LG, cs.PL

发布日期: 2024-05-06 (更新: 2024-09-09)

备注: published at TMLR

🔗 代码/项目: GITHUB


💡 一句话要点

结合大语言模型与AutoML,实现端到端机器学习流程的自动代码生成与优化。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 自动化机器学习 程序合成 机器学习 代码生成

📋 核心要点

  1. 现有ML程序合成方法难以应对ML程序长度和多样性,缺乏有效的评估和优化机制。
  2. 提出将ML程序分解为小部分,利用LLM分别生成,并通过测试技术确保兼容性。
  3. 结合AutoML进行数值评估和优化,自动选择最佳候选程序,显著提升性能。

📝 摘要(中文)

本文提出了一种新颖的程序合成方法,通过结合大语言模型(LLM)和自动化机器学习(autoML)来生成机器学习(ML)程序。目标是仅利用ML任务的文本描述,全自动地生成和优化整个ML工作流程的代码,包括数据准备、建模和后处理。为了管理ML程序的长度和多样性,将每个ML程序分解为更小的、可管理的部分,由LLM分别生成,并仔细考虑它们的兼容性。为了确保兼容性,设计了一种ML程序的测试技术。与传统程序合成不同,评估ML程序需要的不仅仅是二元判断。该方法自动地对这些程序进行数值评估和优化,并通过autoML技术选择最佳候选者。在各种ML任务上的实验表明,该方法在12个任务中的10个任务上优于现有的ML程序生成方法。此外,autoML显著提高了生成的ML程序的性能。实验表明,给定文本任务描述,该方法Text-to-ML可以在完全自主的过程中生成完整且优化的ML程序。

🔬 方法详解

问题定义:论文旨在解决从文本描述直接生成和优化完整机器学习工作流程代码的问题。现有方法在处理复杂ML任务时,难以生成长而多样的程序,并且缺乏有效的评估和优化机制,导致性能受限。

核心思路:核心思路是将复杂的ML程序分解为更小、更易于管理的部分,利用LLM分别生成这些部分,并通过精心设计的测试技术确保它们之间的兼容性。然后,利用AutoML技术对生成的程序进行数值评估和优化,从而自动选择最佳的候选程序。

技术框架:整体框架包含以下几个主要阶段:1) 任务描述输入:接收ML任务的文本描述。2) 程序分解:将ML程序分解为多个可独立生成的部分,例如数据预处理、特征工程、模型训练等。3) LLM代码生成:利用LLM为每个部分生成代码。4) 兼容性测试:设计测试用例,验证各个部分代码的兼容性。5) AutoML优化:使用AutoML技术对生成的程序进行数值评估和优化,例如超参数调整、模型选择等。6) 输出优化后的ML程序:输出完整且优化的ML程序。

关键创新:关键创新在于结合了LLM的代码生成能力和AutoML的优化能力,实现端到端的ML程序自动生成与优化。与传统程序合成方法不同,该方法采用数值评估而非二元评估,更适合ML程序的特性。

关键设计:关键设计包括:1) 程序分解策略:如何将ML程序分解为合适大小的部分,以平衡LLM的生成能力和兼容性测试的复杂度。2) 兼容性测试方法:设计有效的测试用例,覆盖各种可能的兼容性问题。3) AutoML优化策略:选择合适的AutoML算法和评估指标,以最大化ML程序的性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,该方法在12个ML任务中的10个任务上优于现有方法。AutoML的引入显著提升了生成ML程序的性能。例如,在某些任务上,性能提升幅度超过10%。Text-to-ML方法能够根据文本描述,全自动地生成完整且优化的ML程序。

🎯 应用场景

该研究成果可应用于自动化机器学习平台、AI辅助编程工具等领域,降低机器学习的应用门槛,加速模型开发流程,并可应用于数据科学教育,帮助初学者快速上手机器学习项目。未来,该技术有望扩展到更复杂的AI系统开发中。

📄 摘要(原文)

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.