摘要註: |
Large-scale data analytics using machine learning (ML) underpins many modern data-driven applications. ML systems provide means of specifying and executing these ML workloads in an efficient and scalable manner. Data management is at the heart of many ML systems due to data-driven application characteristics, data-centric workload characteristics, and system architectures inspired by classical data management techniques. In this book, we follow this data-centric view of ML systems and aim to provide a comprehensive overview of data management in ML systems for the end-to-end data science or ML lifecycle. We review multiple interconnected lines of work: (1) ML support in database (DB) systems, (2) DB-inspired ML systems, and (3) ML lifecycle systems. Covered topics include: in-database analytics via query generation and user-defined functions, factorized and statistical-relational learning; optimizing compilers for ML workloads; execution strategies and hardware accelerators; data access methods such as compression, partitioning and indexing; resource elasticity and cloud markets; as well as systems for data preparation for ML, model selection, model management, model debugging, and model serving. Given the rapidly evolving field, we strive for a balance between an up-to-date survey of ML systems, an overview of the underlying concepts and techniques, as well as pointers to open research questions. Hence, this book might serve as a starting point for both systems researchers and developers. -- Provided by publisher. |
內容註: |
1. Introduction: Overview of ML lifecycle and ML users Motivation Outline and scope 2. ML through database queries and UDFs: Linear algebra Iterative algorithms Sampling-based methods Discussion Summary 3. Multi-table ML and deep systems integration Learning over joins Statistical relational learning and non-IID models Deeper integration and specialized DBMSs Summary 4. Rewrites and optimization: Optimization scope Logical rewrites and planning Physical rewrites and operators Automatic operator fusion Runtime adaptation Summary 5. Execution strategies: Data-parallel execution Task-parallel execution Parameter servers (model-parallel execution) Hybrid execution strategies Accelerators (GPUs, FPGAs, ASICs) Summary 6. Data access methods: Caching and buffer pool management Compression NUMA-aware partitioning and replication Index structures Summary 7. Resource heterogeneity and elasticity: Provisioning, configuration, and scheduling Handling failures Working with markets of transient resources Summary 8. Systems for ML lifecycle tasks: Data sourcing and cleaning for ML Feature engineering and deep learning Model selection and model management Interaction, visualization, debugging, and inspection Model deployment and serving Benchmarking ML systems Summary 9. Conclusions: Bibliography Authors' biographies. |