Machine Learning Systems: Designs that scale

Machine Learning Systems: Designs that scale

by Jeff Smith

Paperback(1st Edition)

$41.24 $44.99 Save 8% Current price is $41.24, Original price is $44.99. You Save 8%.
Choose Expedited Shipping at checkout for guaranteed delivery by Thursday, February 20
MARKETPLACE
7 New & Used Starting at $25.75

Overview

Summary

Machine Learning Systems: Designs that scale is an example-rich guide that teaches you how to implement reactive design solutions in your machine learning systems to make them as reliable as a well-built web app.

Foreword by Sean Owen, Director of Data Science, Cloudera

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

If you’re building machine learning models to be used on a small scale, you don't need this book. But if you're a developer building a production-grade ML application that needs quick response times, reliability, and good user experience, this is the book for you. It collects principles and practices of machine learning systems that are dramatically easier to run and maintain, and that are reliably better for users.

About the Book

Machine Learning Systems: Designs that scale teaches you to design and implement production-ready ML systems. You'll learn the principles of reactive design as you build pipelines with Spark, create highly scalable services with Akka, and use powerful machine learning libraries like MLib on massive datasets. The examples use the Scala language, but the same ideas and tools work in Java, as well.

What's Inside

  • Working with Spark, MLlib, and Akka
  • Reactive design patterns
  • Monitoring and maintaining a large-scale system
  • Futures, actors, and supervision

About the Reader

Readers need intermediate skills in Java or Scala. No prior machine learning experience is assumed.

About the Author

Jeff Smith builds powerful machine learning systems. For the past decade, he has been working on building data science applications, teams, and companies as part of various teams in New York, San Francisco, and Hong Kong. He blogs (https: //medium.com/@jeffksmithjr), tweets (@jeffksmithjr), and speaks (www.jeffsmith.tech/speaking) about various aspects of building real-world machine learning systems.

Table of Contents

PART 1 - FUNDAMENTALS OF REACTIVE MACHINE LEARNING
  1. Learning reactive machine learning
  2. Using reactive tools

PART 2 - BUILDING A REACTIVE MACHINE LEARNING SYSTEM
  1. Collecting data
  2. Generating features
  3. Learning models
  4. Evaluating models
  5. Publishing models
  6. Responding

PART 3 - OPERATING A MACHINE LEARNING SYSTEM
  1. Delivering
  2. Evolving intelligence

Product Details

ISBN-13: 9781617293337
Publisher: Manning Publications Company
Publication date: 08/30/2018
Edition description: 1st Edition
Pages: 224
Product dimensions: 7.30(w) x 9.10(h) x 0.70(d)

About the Author

Jeff Smith builds large-scale machine learning systems using Scala and Spark. For the past decade, he has been working on data science applications at various startups in New York, San Francisco, and Hong Kong. He blogs and speaks about various aspects of building real world machine learning systems.

Table of Contents

Foreword ix

Preface xii

Acknowledgments xv

About this book xvii

About the author xxi

About the cover illustration xxii

Part 1 Fundamentals of Reactive Machine Learning 1

1 Learning reactive machine learning 3

1.1 An example machine learning system 4

Building a prototype system 4

Building a better system 7

1.2 Reactive machine learning 7

Machine learning 8

Reactive systems 11

Making machine-learning systems reactive 16

When not to use reactive machine learning 20

2 Using reactive tools 23

2.1 Scala, a reactive language 24

Reacting to uncertainty in Scala 25

The uncertainty of time 26

2.2 Akka, a reactive toolkit 29

The actor model 29

Ensuring resilience with Akka 31

2.3 Spark, a reactive big data framework 34

Part 2 Building a Reactive Machine Learning System 41

3 Collecting data 43

3.1 Sensing uncertain data 44

3.2 Collecting data at scale 48

Maintaining state in a distributed system 48

Understanding data collection 52

3.3 Persisting data 53

Elastic and resilient databases 54

Fact databases 55

Querying persisted facts 57

Understanding distributed-fact databases 62

3.4 Applications 66

3.5 Reactivities 67

4 Generating features 69

4.1 Spark ML 71

4.2 Extracting features 71

4.3 Transforming features 74

Common feature transforms 76

Transforming concepts 79

4.4 Selecting features 80

4.5 Structuring feature code 82

Feature generators 82

Feature set composition 86

4.6 Applications 90

4.7 Reactivities 90

5 Learning models 93

5.1 Implementing learning algorithms 94

Bayesian modeling 96

Implementing Naive Bayes 98

5.2 Using MLlib 102

Building an ML pipeline 102

Evolving modeling techniques 107

5.3 Building facades 109

Learning artistic style 110

5.4 Reactivities 115

6 Evaluating models 117

6.1 Detecting fraud 118

6.2 Holding out data 119

6.3 Model metrics 122

6.4 Testing models 127

6.5 Data leakage 129

6.6 Recording provenance 130

6.7 Reactivities 132

7 Publishing models 135

7.1 The uncertainty of farming 136

7.2 Persisting models 136

7.3 Serving models 141

Microservices 141

Akka HTTP 142

7.4 Containerizing applications 144

7.5 Reactivities 147

8 Responding 149

8.1 Moving at the speed of turtles 150

8.2 Building services with tasks 150

8.3 Predicting traffic 153

8.4 Handling failure 157

8.5 Architecting response systems 160

8.6 Reactivities 162

Part 3 Operating A Machine Learning System 165

9 Delivering 167

9.1 Shipping fruit 168

9.2 Building and packaging 169

9.3 Build pipelines 170

9.4 Evaluating models 171

9.5 Deploying 172

9.6 Reactivities 175

10 Evolving intelligence 177

10.1 Chatting 177

10.2 Artificial intelligence 178

10.3 Reflex agents 178

10.4 Intelligent agents 180

10.5 Learning agents 181

10.6 Reactive learning agents 185

Reactive principles 185

Reactive strategies 186

Reactive-machine learning 186

10.7 Reactivities 186

Libraries 187

System data 188

10.8 Reactive explorations 190

Users 190

System dimensions 191

Applying reactive, principles 192

Appendix Getting set up 195

Index 197

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews