Машинное обучение становится важным элементом почти во всех отраслях. В этой книге представлено четкое и понятное руководство по автоматизации развертывания, управления и повторного использования моделей машинного обучения. Шаг за шагом описывается конкретный пример проекта, на котором можно отработать основные навыки в этой сфере. Благодаря множеству примеров кода и ясным, лаконичным объяснениям вы сможете создать свой собственный конвейер машинного обучения и запустите его в кратчайшие сроки.
Книга поможет ученым и инженерам, специализирующимся в области машинного обучения и искусственного интеллекта, выйти за рамки работы с единичной моделью и успешно реализовать свои проекты в области науки о данных. Также издание будет полезно менеджерам проектов в области науки о данных, разработчикам программного обеспечения и инженерам DevOps, которые хотят, чтобы их организация ускорила свои проекты, использующие технологии машинного обучения и искусственного интеллекта.
Читателю понадобится знание основных концепций машинного обучения и хотя бы одного из фреймворков, используемых в машинном обучении (например, PyTorch, TensorFlow, Keras).
Author(s): Ханнес Хапке, Кэтрин Нельсон
Edition: 1
Publisher: ДМК Пресс
Year: 2021
Language: Russian
Commentary: Vector PDF
Pages: 346
City: М.
Tags: Google Cloud Platform; Machine Learning; To Read; TensorFlow; Pipelines; Deployment; Directed Acyclic Graphs; TensorFlow Lite; Pipeline Orchestration; TensorFlow Extended; Apache Beam; Data Ingestion; Data Preparation; Data Validation; Data Preprocessing; Model Training; Model Analysis; Model Explainability; Model Deployment; TensorFlow Serving; Apache Airflow; Kubeflow Pipelines; Feedback Loops; Data Privacy; Differential Privacy; TensorFlow Privacy
Предисловие от издательства
Предисловие
Введение
Для кого предназначена эта книга
Почему мы используем TensorFlow и TensorFlow Extended
Обзор глав
Использование примеров кода
Онлайн-обучение O’Reilly
Как с нами связаться
Благодарности
Глава 1
Введение
Почему и где используются конвейеры машинного обучения
Когда следует подумать о конвейерах машинного обучения?
Обзор этапов конвейера машинного обучения
Этап загрузки данных и управление версиями данных
Проверка данных
Предварительная обработка данных
Обучение и настройка модели
Анализ модели
Управление версиями модели
Развертывание модели
Петли обратной связи
Приватность данных
Оркестровка конвейера
Для чего нужна оркестровка конвейера
Направленные ациклические графы
Наш демонстрационный проект машинного обучения
Структура проекта
Наша модель машинного обучения
Цель демонстрационного проекта
Резюме
Глава 2
Введение в TensorFlow Extended
Что такое TFX?
Установка TFX
Обзор компонентов TFX
Что такое метаданные ML Metadata?
Альтернативы TFX
Знакомство с Apache Beam
Установка
Базовый конвейер
Запуск элементарного конвейера
Резюме
Глава 3
Загрузка данных
Концепции загрузки данных
Загрузка локальных файлов данных
Загрузка удаленных файлов данных
Загрузка данных напрямую из баз данных
Подготовка данных
Разбиение наборов данных
Связующие наборы данных
Управление версиями наборов данных
Стратегии загрузки данных
Структурированные данные
Текстовые данные для задач обработки естественного языка
Графические данные для задач компьютерного зрения
Резюме
Глава 4
Проверка данных
Для чего нужна проверка данных?
TFDV
Установка
Генерация статистических показателей для набора данных
Генерация схемы на основе данных
Распознавание ошибок в данных
Сравнение наборов данных
Обновление схемы
Отклонения и дрейф данных
Наборы данных с систематической ошибкой выборки
Получение среза данных в TFDV
Обработка больших наборов данных с помощью Google Cloud Platform
Интеграция TFDV в конвейер машинного обучения
Резюме
Глава 5
Предварительная обработка данных
Для чего нужна предварительная обработка данных
Предварительная обработка данных в контексте всего набора данных
Масштабирование шагов предварительной обработки
Как избежать отклонения при обучении и работе модели
Развертывание шагов предварительной обработки и модели машинного обучения как единого артефакта
Проверка результатов предварительной обработки в конвейере
Предварительная обработка данных с помощью TFT
Установка
Стратегии предварительной обработки
Лучшие практики
Функции TFT
Автономная работа TFT
Интеграция TFT в конвейер машинного обучения
Резюме
Глава 6
Обучение модели
Определение модели для нашего демонстрационного проекта
Компонент TFX Trainer
Функция run_fn()
Запуск компонента Trainer
Другие соображения относительно компонента Trainer
Использование TensorBoard в интерактивном конвейере
Стратегии распределения
Настройка модели
Стратегии настройки гиперпараметров
Настройка гиперпараметров в конвейерах TFX
Резюме
Глава 7
Анализ и проверка модели
Как проанализировать модель
Метрики классификации
Метрики регрессии
Анализ модели TensorFlow
Анализ одной модели в TFMA
Анализ нескольких моделей в TFMA
Анализ достоверности модели
Формирование срезов для прогнозов модели в TFMA
Проверка пороговых значений решений с использованием метрик справедливости
Проведение более детального анализа с помощью инструмента анализа альтернатив (What-If Tool)
Объяснение модели
Генерация объяснений с помощью WIT
Другие методы объяснения
Анализ и проверка модели в TFX
ResolverNode
Компонент Evaluator
Проверка при помощи компонента Evaluator
Компонент TFX Pusher
Резюме
Глава 8
Развертывание модели с помощью TensorFlow Serving
Простой сервер моделей
Недостатки развертывания моделей с помощью API на основе Python
Отсутствие разделения кода
Отсутствие контроля версий модели
Неэффективный вывод модели
TensorFlow Serving
Обзор архитектуры TensorFlow
Экспорт моделей для TensorFlow Serving
Сигнатуры моделей
Методы сигнатуры
Проверка экспортированных моделей
Проверка модели
Тестирование модели
Установка TensorFlow Serving
Установка Docker
Установка на Ubuntu
Сборка TensorFlow Serving из исходного кода
Настройка сервера TensorFlow
Конфигурация при работе с одной моделью
Конфигурация при работе с несколькими моделями
REST или gRPC
REST
gRPC
Выполнение прогнозов на сервере моделей
Получение прогнозов модели с использованием REST
Работа с TensorFlow Serving через gRPC
A/B-тестирование модели с использованием TensorFlow Serving
Запрос метаданных модели с сервера моделей
REST-запросы метаданных модели
Запросы gRPC для метаданных модели
Пакетные запросы на вывод прогнозов модели
Настройка использования пакетного режима в прогнозировании
Другие функции оптимизации TensorFlow Serving
Альтернативы TensorFlow Serving
BentoML
Seldon
GraphPipe
Simple TensorFlow Serving
MLflow
Ray Serve
Развертывание моделей с использованием услуг поставщиков облачных решений
Сценарии использования
Пример развертывания с помощью облачных платформ Google
Развертывание модели с помощью конвейеров TFX
Резюме
Глава 9
Расширенные концепции развертывания моделей с помощью TensorFlow Serving
Разделение зон ответственности в процессе развертывания
Обзор рабочего процесса
Оптимизация загрузки удаленной модели
Оптимизация модели для развертываний
Квантование
Сокращение
Дистилляция
Использование TensorRT совместно с TensorFlow Serving
TFLite
Шаги по оптимизации моделей машинного обучения с помощью TFLite
Развертывание моделей TFLite с помощью TensorFlow Serving
Мониторинг экземпляров TensorFlow Serving
Установка Prometheus
Конфигурация TensorFlow Serving
Простое масштабирование с помощью TensorFlow Serving и Kubernetes
Дополнительная литература о Kubernetes и Kubeflow
Резюме
Глава 10
Расширенные концепции TensorFlow Extended
Расширенные концепции конвейеров машинного обучения
Одновременное обучение нескольких моделей
Экспорт моделей TFLite
Ограничения TFLite
Обучение модели с «теплым» запуском
Участие человека в конвейере машинного обучения
Настройка компонента Slack
Как использовать компонент Slack
Пользовательские компоненты TFX
Сценарии использования пользовательских компонентов
Создание пользовательского компонента с нуля
Повторное использование существующих компонентов
Резюме
Глава 11
Конвейеры, часть 1: Apache Beam и Apache Airflow
Какой инструмент оркестрации выбрать?
Apache Beam
Apache Airflow
Kubeflow Pipelines
Kubeflow Pipelines на платформе AI
Преобразование вашего интерактивного конвейера TFX в производственный конвейер
Преобразование элементарного интерактивного конвейера для Beam и Airflow
Введение в Apache Beam
Оркестрация конвейеров TFX с помощью Apache Beam
Введение в Apache Airflow
Установка и начальная настройка
Элементарный пример использования Airflow
Оркестрация конвейеров TFX с помощью Apache Airflow
Настройка конвейера
Запуск конвейера
Резюме
Глава 12
Конвейеры, часть 2: Kubeflow Pipelines
Введение в Kubeflow Pipelines
Установка и начальная настройка
Доступ к установленному экземпляру Kubeflow Pipelines
Оркестрация конвейеров TFX с помощью Kubeflow Pipelines
Настройка конвейера
Запуск конвейера
Полезные функции Kubeflow Pipelines
Конвейеры, работающие на Google Cloud AI Platform
Настройка конвейера
Настройка конвейера TFX
Запуск и работа конвейера
Резюме
Глава 13
Петли обратной связи
Явная и неявная обратная связь
Маховик данных
Петли обратной связи в реальном мире
Конструктивные шаблоны для сбора отзывов
Пользователи предпринимают определенные действия в результате прогноза
Пользователи оценивают качество прогноза
Пользователи исправляют прогноз
Краудсорсинг аннотаций
Экспертные аннотации
Обратная связь автоматически предоставляется системой
Как отслеживать петли обратной связи
Отслеживание явной обратной связи
Отслеживание неявной обратной связи
Резюме
Глава 14
Приватность данных, используемых для машинного обучения
Введение в приватность данных
Почему мы заботимся о приватности данных?
Самый простой способ повысить приватность данных
Какие данные должны быть приватными?
Дифференцированная приватность
Локальная и глобальная дифференцированная приватность
Эпсилон-дельта и бюджет приватности
Дифференцированная приватность в машинном обучении
Введение в TensorFlow Privacy
Обучение с оптимизатором, использующим подход дифференцированной приватности
Расчет параметра ε
Введение в федеративное обучение
Федеративное обучение в TensorFlow
Зашифрованное машинное обучение
Зашифрованное обучение модели
Преобразование обученной модели для обслуживания зашифрованных прогнозов
Другие методы обеспечения приватности данных
Резюме
Глава 15
Будущее конвейеров машинного обучения и следующие шаги
Отслеживание экспериментов с моделью
Предложения в области управлении релизами модели
Будущие возможности конвейеров
Использование TFX с другими фреймворками машинного обучения
Тестирование моделей машинного обучения
Системы непрерывной интеграции и развертывания для машинного обучения
Сообщество инженеров машинного обучения
Резюме
Приложение A
Введение в инфраструктуру машинного обучения
Приложение B
Настройка кластера Kubernetes в Google Cloud
Приложение C