  As machine learning is applied more widely, data scientists often struggle to
find or create end-to-end machine learning systems for specific tasks. The
proliferation of libraries and frameworks and the complexity of the tasks have
led to the emergence of "pipeline jungles" - brittle, ad hoc ML systems. To
address these problems, we introduce the Machine Learning Bazaar, a new
framework for developing machine learning and automated machine learning
software systems. First, we introduce ML primitives, a unified API and
specification for data processing and ML components from different software
libraries. Next, we compose primitives into usable ML pipelines, abstracting
away glue code, data flow, and data storage. We further pair these pipelines
with a hierarchy of AutoML strategies - Bayesian optimization and bandit
learning. We use these components to create a general-purpose, multi-task,
end-to-end AutoML system that provides solutions to a variety of data
modalities (image, text, graph, tabular, relational, etc.) and problem types
(classification, regression, anomaly detection, graph matching, etc.). We
demonstrate 5 real-world use cases and 2 case studies of our approach. Finally,
we present an evaluation suite of 456 real-world ML tasks and describe the
characteristics of 2.5 million pipelines searched over this task suite.
