Designing with Machine Learning | Home
Note This book/project is under active development. Expected completion 12/15/2023

Designing with ML

Learn How to Build Usable Machine Learning Applications

Machine learning can enable new capabilities that provide value to users and offer strong product differentiation. However, achieving these goals often requires a focus beyond practices for collecting and managing data, building, training, evaluating and deploying models ( MLOps ). As ML becomes more democratized, the user experience will play a more important role compared to core model capabilities. Using end-to-end examples, Designing with ML explores how a user centered design approach (DesignOps) can help align MLOps efforts with end user goals and business objectives.

screenshot for Victor Dibia, book author
A book by
Victor Dibia, PhD
Available book chapters

Book Chapter Guide

Current proposed table of content for the designingwithml book is shown below. Note that parts of this may change as the book is developed.
1
Introduction
  • Why this book
  • Why Human Centered Design?
  • What you will learn
  • Who is this book for?
  • Who this book is not for
  • Code along and product use cases
  • Acknowledgement
  • Summary
  • Download chapter
    2
    Machine Learning Fundamentals
  • What is machine learning?
  • Artificial Intelligence vs Machine Learning vs Deep Learning
  • Machine learning tasks
  • Evaluation metrics for machine learning models
  • Frameworks and tools for machine learning
  • Machine learning deployment strategies
  • Machine learning application life cycle
  • 3
    Introduction to Tensorflow
  • Why Tensorflow?
  • Implementing a Neuron in Tensorflow
  • Working with data in Tensorflow
  • Building neural networks with Tensorflow
  • Deploying Tensorflow on mobile and edge devices
  • Machine learning in the browser and node.js with Tensorflow.js
  • Tools in the Tensorflow Ecosystem
  • Alternatives to Tensorflow
  • 4
    Your First Machine Learning Application - Taxi Advisor
  • Tooling and Setup
  • Problem framing - An Introduction to Systems Thinking
  • Data collection
  • Building a model
  • Evaluating the model
  • Model deployment
  • Building the user interface
  • Conclusion
  • 5
    What You Need to Know to Build ML Applications
  • Prototyping
  • Framing business problems and machine learning tasks
  • A Taxonomy for selecting the right model
  • Pitfalls for machine learning in production
  • The myth of scale
  • 6
    Building Front End Applications
  • Prototyping a Front End Application
  • Front End Design Guidelines
  • Summary
  • Download chapter
    7
    Building Backend APIs and Modules
  • Building a Backend API
  • Components with Python Packages
  • 8
    Deploying Your ML Application
    9
    Generative AI
  • What are Generative Models?
  • Generative AI - A Brief History
  • Foundation Models for Text, Audio, Image and Video Generation
  • Challenges with Generative AI
  • Building Reliably with Generative AI
  • Design Guidelines for Generative AI
  • Generative AI Use Cases
  • 10
    Machine Learning and Human Centered Design
  • What is design thinking
  • Why design thinking should never be an afterthought
  • What is DesignOps
  • Machine learning and user experience
  • Guidelines for designing machine learning products
  • ML System Design
  • 11
    Planning Your Machine Learning Project
  • ML project planning
  • Creating a machine learning design document
  • When to use ML?
  • ML in industry
  • Why Machine Learning Projects Fail
  • 12
    Responsible AI
  • Definitions and terminology in responsible AI
  • Pillars of responsible AI
  • Challenges with responsible AI
  • An Oppenheimer moment for AI
  • 13
    Machine Learning Systems Design Use Cases
  • Taxi advisor
  • Automated signature verification
  • Social media dashboard
  • Question answering on large datasets
  • 14
    Tensorflow Labs
  • Introduction to Tensorflow
  • Text Classification with Huggingface BERT models
  • Signature Image Cleaning
  • Download chapter

    Footer

    Resources

    © Created and maintained by Victor Dibia.