AutoML using Metadata Language Embeddings

10/08/2019 ∙ by Iddo Drori, et al. ∙ NYU college Columbia University cornell university 36

As a human choosing a supervised learning algorithm, it is natural to begin by reading a text description of the dataset and documentation for the algorithms you might use. We demonstrate that the same idea improves the performance of automated machine learning methods. We use language embeddings from modern NLP to improve state-of-the-art AutoML systems by augmenting their recommendations with vector embeddings of datasets and of algorithms. We use these embeddings in a neural architecture to learn the distance between best-performing pipelines. The resulting (meta-)AutoML framework improves on the performance of existing AutoML frameworks. Our zero-shot AutoML system using dataset metadata embeddings provides good solutions instantaneously, running in under one second of computation. Performance is competitive with AutoML systems OBOE, AutoSklearn, AlphaD3M, and TPOT when each framework is allocated a minute of computation. We make our data, models, and code publicly available.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

A data scientist facing a challenging new supervised learning task does not generally invent a new algorithm. Instead, they consider what they know about the dataset and which algorithms have worked well for similar datasets in past experience. Automated machine learning (AutoML) seeks to automate these tasks to enable widespread use of machine learning by non-experts. A major challenge is to develop fast, efficient algorithms to accelerate applications of machine learning kokiopoulou2019fast . This work develops automated solutions that exploit human expertise to learn which datasets are similar and what algorithms perform best

. We use modern natural language processing (NLP) tools to teach AutoML systems how to read text descriptions of datasets, and develop a structured representation of the solutions to Kaggle challenges to allow our system to run winning solutions on new datasets.

A simple idea is to use machine learning pipelines that performed well (for the same task) on similar datasets. What constitutes a similar dataset? The success of an AutoML system often hinges on this question, and different frameworks have different answers: for example, AutoSklearn feurer2015efficient computes a set of metafeatures for each dataset, while OBOE yang2019oboe

uses the performance of a few fast, informative models to compute latent features. More generally, for any supervised learning task, one can view the list of recommended algorithms generated by any AutoML system as a vector describing that task. Oddly, no previous work uses the information that a human would check first: a summary description of the dataset, written in free text. These dataset features induce a metric structure on the space of datasets. Under an ideal metric, a model that performs well on one dataset would also perform well on nearby datasets. The methods we develop in this work show how to learn such a metric using the recommendations of

any AutoML framework together with the dataset description.

This work makes several contributions to the literature by marrying techniques from NLP with AutoML. First, we develop NLP text embeddings for datasets by reading the dataset metadata, including dataset title, description, and keywords. We show that using these embeddings improves the performance of state of the art AutoML frameworks such as OBOE yang2019oboe , AutoSklearn feurer2015efficient , AlphaD3M drori2019alphad3m , and TPOT olson2019tpot . Second, we develop NLP text embeddings for machine learning pipelines by reading the algorithm documentation. We show how to use these embeddings to develop a new training objective for AutoML: for any two training datasets, we compute the distance between the embeddings of the algorithm that performs best on each dataset. We learn a metric on dataset embeddings to match the distance between the embeddings of the corresponding best algorithms. We can use this metric for zero-shot AutoML: given a new dataset, we compute its embedding (given a text description of the dataset), use it to find the closest training dataset, and output the best algorithm known for that training dataset. Using the additional information present in the dataset metadata embeddings and pipeline embeddings improves performance of existing AutoML systems. The third major contribution of this work is a new metadata dataset for AutoML that we call AutoKaggle. AutoKaggle consists of a collection of Kaggle competitions, tasks, winning pipelines, and an execution engine.

AutoML is an emerging field of machine learning with the potential to transform the practice of data science by automatically choosing a model to best fit the data. The reader interested in a comprehensive review of the field can consult one of the three surveys published in the last twelve months

yao2018survey ; he2019automl ; zoller2019survey . A new benchmark amlb2019 provides a quantitative comparison of many top algorithms.

Language has a common unstructured representation of words, sentences, paragraphs, and trees of paragraphs which form stories. The most significant recent advances in NLP learn language models and embeddings from very large corpuses of text devlin2018bert ; radford2019language . An unsupervised corpus of text is transformed into a supervised dataset by defining content-target pairs along the entire text: for example, target words that appear in each sentence, or target sentences which appear in each paragraph. A language model is first trained to learn a low dimensional embedding of words or sentences followed by a map from low dimensional content to target mikolov2013efficient

. This embedding can be used to embed on a new, unseen and small, dataset in the same low-dimensional space. This work is the first to propose using such embeddings for automatic machine learning. Specifically, we use an embedding for the datasets, an embedding for the pipelines, and the non-linear interactions between these embedding using a neural network.

One major factor in the performance of an AutoML system is the base set of algorithms it can use to compose more complex pipelines. For a fair comparison, in our numerical experiments we compare our proposed methods only to other AutoML systems that build pipelines out of Scikit-learn scikit-learn primitives. Now, humans who compete in Kaggle competitions do not restrict themselves in the same way. Hence as part of AutoKaggle, we have developed and released translations of every winning Kaggle entry that comply with the AutoKaggle pipeline format. Each of these can be interpreted by the AutoKaggle execution engine. The resulting Scikit-learn translation of the pipeline is sometimes better, but generally a tad worse, than the original human-engineered pipeline.

2 Methods

Notation Description
Dataset
Metadata of dataset
Machine learning task (classification, regression)
Solution pipeline
OBOE, AutoSklearn, AlphaD3M, TPOT, and human algorithm
for Solution pipeline on dataset for task
Evaluating performance of pipeline on and
Pre-trained language embedding
Language embedding of dataset metadata
Distance between dataset metadata embeddings
Nearest neighbor of under distance of embeddings
Pipeline of most similar embedding
Direct pipeline transfer using dataset metadata embedding
Language embedding of solution pipeline
Representation of embeddings for dataset and task
Interaction between embeddings
, Neural network input: pair of representations
Network output: distance between human pipeline embeddings
Table 1: Embedding AutoML notation and their descriptions.

This work uses NLP embeddings to find machine learning pipelines that perform well for a given dataset and task. We separately embed dataset metadata and machine learning pipelines and pass the embeddings through a neural network. This work designs appropriate embedding methods for both dataset metadata and machine learning pipelines and demonstrates that the resulting recommender system works well. Table 1 provides the mathematical notation that defines these methods.

We rely on NLP tools to produce embeddings of dataset metadata and of pipelines. Concretely, in our experiments, we embed dataset metadata by applying the USE3 embedding cer2018universal to the dataset description (including title, subtitle, description, and keywords) to form , and embed a pipeline

by applying the embedding to the function call and the header for each estimator used in the pipeline to form

.

To facilitate evaluation of arbitrary pipelines, we have developed an execution engine in Python that can represent pipelines composed of machine learning primitives from the Scikit-learn library. The execution engine takes as input a description of a pipeline (consisting of machine learning primitives and their parameters, structured in a chain describing the order of execution) and computes the value of pipeline on task for dataset by running the primitives sequentially on a given dataset and task .

The execution engine allows us to run any pipeline for a given task on any dataset. Our hypothesis is that datasets whose metadata embeddings are similar will share successful pipelines. To test this hypothesis, we develop an AutoML approach that we call direct pipeline transfer. For a given dataset , we find the most similar dataset with respect to the metadata embedding:

(1)

and evaluate the corresponding pipeline on the original dataset to compute . Dataset metadata is useful alone, but can be even more powerful in combination with other information. We develop embeddings that are formed by concatenating metadata embeddings with pipeline embeddings for pipelines produced by any AutoML system, as shown in Figure 1. We refer to these dataset embeddings as AutoML embeddings. We extend the direct pipeline transfer methodology to use these more complex dataset representations. For a given dataset with representation , we find the most similar dataset with respect to the metadata embedding:

(2)

and evaluate the corresponding pipeline on the original dataset to compute . A disadvantage of this method is that we must specify both the similarity metric and the importance of each component of the representation. Instead, we can learn the similarity metric and interaction between representations automatically using a neural network, to learn the similarity metric and output the distance between representations. The neural network takes as input pairs of datasets and and is trained to output the performance of the human-selected model for dataset, , evaluated on dataset : . At prediction time, given a new dataset , we first compute the representation , and then compute the distance of the new dataset to all other datasets using a neural network. We choose the pipeline corresponding to the dataset with the smallest distance, and evaluate its performance on the new dataset .

Figure 1: AutoML embeddings of dataset metadata and pipelines. The dashed arrows denote that the representation may consist of any number of the embeddings.

An important methodology in data science is the common task framework blei2017datascience ; donoho2017fifty in which a common dataset and task is given to multiple participants and evaluated using the same performance metrics. In this work we curate AutoKaggle, a meta-dataset which contains meta-data about datasets , tasks , and solution pipelines

. This dataset is important for: analyzing which solution components are used for which datasets and tasks, understanding which tasks and sub-tasks are given for which datasets, recommending which high performance solutions be used for new unseen datasets and tasks, and identifying usage trends of machine learning libraries and primitives. Our new meta-dataset contains structured information about a wide variety of machine learning tasks, together with meta-data about the data, task, and solution pipelines. Solution source code is parsed into structured machine learning pipelines including: pre-processing operations, feature extractors, feature selectors, estimators, and post-processing operations. The dataset can be viewed as a sparse high dimensional tensor. Rows correspond to (dataset, problem) pairs; other dimensions correspond to possible values for preprocessors, feature extractors, feature selectors, estimators, and post-processors. The entries of the tensor are the performance of the corresponding pipeline for the task on the dataset.

3 Results

Table 2 shows our results for a representative set of tabular datasets on classification tasks. For each dataset (row), Table 2 reports mean evaluation accuracy of different pipelines (columns) running on the same well-defined task. Specifically, prediction accuracy of OBOE , AutoSklearn , AlphaD3M , and TPOT , evaluation of human generated pipeline , and the predicted pipeline accuracy of the best dataset metadata embedding and single pipeline embedding . All AutoML systems were given one minute of computation time for a fair comparison; whereas our zero-shot AutoML using dataset metadata embedding runs under one second of computation, and our pipeline embedding runs within the same one minute of computation while improving performance.

Dataset OBOE AutoSklearn AlphaD3M TPOT Human Ours DE Ours PE
Seattle 1.00 0.66 1.00 1.00 0.92 1.00 1.00
Insurance 0.47 0.50 0.35 0.51 0.48 0.47 0.52
Forest 0.73 0.83 0.83 0.84 0.84 0.85 0.85
Credit 0.93 0.94 0.93 0.94 0.94 0.94 0.94
Titanic 0.70 0.80 0.70 0.77 0.86 0.87 0.87
HR 0.84 0.83 0.87 0.90 0.86 0.86 0.90
Kobe 0.61 0.60 0.64 0.62 0.62 0.61 0.62
Patients 0.64 0.71 0.72 0.68 0.68 0.68 0.69
Table 2: Machine learning pipeline evaluations for AutoML systems and human pipelines. All AutoML pipelines are computed given 1 minute of computation. In comparison, ours DE refers to using only the dataset metadata embedding in under 1 second of computation for zero-shot AutoML. Ours PE refers to using the best single pipeline embedding in 1 minute of computation.

To implement the metric neural network that learns to predict the distance between the predicted pipeline embedding of pairs of datasets and

, we construct a fully connected neural network with four layers, batch size of 16, and 1200 training epochs. We use the Adam optimizer with 0.001 learning rate. The input to the neural network is the representation

of the test dataset and the representation of every other dataset. We train the neural network for every test dataset and get our evaluation accuracy by running the obtained pipeline on the test dataset using our execution engine.

4 Conclusions

We have introduced a neural architecture to embed textual descriptions of dataset metadata and machine learning pipelines for AutoML. We use a new dataset AutoKaggle consisting of structured representations of winning solutions of Kaggle competitions and an execution engine to run multiple ML pipelines. We make our data, models, and code publicly available autommlembeddings2019code . In future work we would like to apply our method to additional AutoML systems such as Auto-WEKA and H2O AutoML. We would also like to compare the performance of embedding AutoML using different large language embeddings such as BERT devlin2018bert

and GPT-2

radford2019language .

References