Освойте ключевые навыки проектирования, разработки и развертывания приложений на базе машинного обучения (МО)!
Пошаговое руководство по созданию МО-приложений с упором на практику: для специалистов по обработке данных, разработчиков программного обеспечения и продакт-менеджеров.
Читая эту книгу, вы шаг за шагом создадите реальное практическое приложение — от идеи до внедрения. В вашем распоряжении примеры кодов, иллюстрации, скриншоты и интервью с ведущими специалистами в отрасли.
Вы научитесь планировать и измерять успех МО-проектов, разберетесь, как построить рабочую модель, освоите способы ее итеративной доработки. И, наконец, познакомитесь со стратегиями развертывания и мониторинга.
Author(s): Эммануэль Амейзен
Series: Библиотека программиста
Edition: 1
Publisher: Питер
Year: 2023
Language: Russian
Commentary: Publisher's PDF
Pages: 256
City: СПб.
Tags: Machine Learning; Debugging; Recommender Systems; Classification; Monitoring; Pipelines; Deployment; Application Development; Model Evaluation
Предисловие
Зачем нужны приложения на базе машинного обучения
Используйте МО для создания практических приложений
Дополнительные ресурсы
МО на практике
Что вы найдете в книге
Необходимая подготовка
Наш учебный пример: написание текстов с использованием МО
Процесс МО как он есть
Условные обозначения
Использование исходного кода примеров
Благодарности
От издательства
Часть I Выбор правильного подхода к машинному обучению
Глава 1. От цели продукта к разработке модели МО
Оценка осуществимости модели
Модели
Данные
Формулировка задачи по созданию редактора на основе МО
Делаем все с помощью МО: подход «от начала до конца»
Простейший подход: «сам себе алгоритм»
Золотая середина: обучение на полученном опыте
Моника Рогати: как выбирать и приоритизировать МО-проекты
Заключение
Глава 2. Составление плана
Оценка успешности
Производительность с точки зрения бизнеса
Производительность модели
Актуальность данных и сдвиг распределения
Скорость
Оценка масштаба и возможных проблем
Накапливайте знания в предметной области
Используйте опыт предшественников
Составление плана разработки МО-редактора
Начальный план разработки редактора
Всегда начинайте с простой модели
Как обеспечить устойчивый прогресс? Начинайте с простейшего решения
Начинайте с простого пайплайна
Пайплайн для МО-редактора
Заключение
Часть II Создание рабочего пайплайна
Глава 3. Создание первого сквозного пайплайна
Простейший «каркас» приложения
Прототип МО-редактора
Парсинг и очистка данных
Токенизация текста
Генерирование признаков
Оцените рабочий процесс
Пользовательский опыт
Результаты моделирования
Оценка прототипа МО-редактора
Модель
Пользовательский опыт
Заключение
Глава 4. Получение исходного датасета
Итеративная доработка датасета
Проведите анализ данных
Изучение первого датасета
Начните с малого
Инсайт vs продукты
Критерии оценки качества данных
Разметка для выявления трендов в данных
Сводная статистика
Исследуйте и размечайте эффективно
Станьте алгоритмом
Тренды в данных
Используйте данные для принятия решений о признаках и моделях
Создание признаков на основе закономерностей
Признаки МО-редактора
Роберт Манро: как находить, размечать и использовать данные
Заключение
Часть IIIИтеративная доработка моделей
Глава 5. Обучение и оценка модели
Самая простая адекватная модель
Простая модель
От закономерностей к моделям
Разделение датасета
Разделение данных МО-редактора
Оценка производительности
Оценка модели: не ограничивайтесь точностью
Сравнение предсказаний с данными
Матрица ошибок
ROC-кривая
Калибровочная кривая
Снижение размерности для анализа ошибок
Метод первых k элементов
Другие модели
Оценка важности признаков
Непосредственная оценка классификатора
Интерпретаторы «черного ящика»
Заключение
Глава 6. Отладка МО-приложения
Передовые практики разработки ПО
Передовые практики для МО-приложений
Отладка потока данных: визуализация и тестирование
Начните с одного образца
Тестирование МО-кода
Отладка обучения: заставьте модель учиться
Сложность задачи
Проблемы оптимизации
Отладка обобщения: модель должна быть полезной
Утечка данных
Переобучение
Изучение решаемой задачи
Заключение
Глава 7. Использование классификаторов для выдачи рекомендаций
Вывод рекомендаций
Чего мы можем добиться без модели?
Извлечение глобальной важности признаков
Использование балла модели
Извлечение локальной важности признаков
Сравнение моделей
Версия 1: простейший отчет
Версия 2: более мощная, менее понятная
Версия 3: понятные рекомендации
Создание рекомендаций по редактированию текста
Заключение
Часть IVРазвертывание и мониторинг
Глава 8. Что еще учесть при развертывании модели
Забота о данных
Право собственности на данные
Смещение данных
Систематическое смещение
Забота о модели
Циклы обратной связи
Инклюзивная производительность модели
О контексте
Мошенники
Риск злоупотребления и двойного назначения
Крис Харланд: опыт поставки продуктов
Заключение
Глава 9. Выбор варианта развертывания
Развертывание на сервере
Потоковое приложение или API
Пакетные предсказания
Развертывание на стороне клиента
Развертывание на устройстве
Развертывание в браузере
Федеративное обучение: комбинированный подход
Заключение
Глава 10. Создание защитных механизмов для моделей
Проектирование с учетом возможных сбоев
Проверка входных данных и результатов
Резервные варианты на случай сбоя модели
Проектирование для обеспечения высокой производительности
Масштабирование при возрастании числа пользователей
Управление жизненным циклом модели и данных
Обработка данных и DAG
Запрос обратной связи
Крис Муди: специалисты по данным отвечают за весь пайплайн моделирования
Заключение
Глава 11. Мониторинг и обновление моделей
Мониторинг спасает жизни
Мониторинг для определения частоты обновлений
Мониторьте, чтобы выявить злоупотребления
Что мониторить
Метрики производительности
Бизнес-метрики
СI/CD для МО
A/B-тестирование и эксперименты
Другие подходы
Заключение
Об авторе
Об обложке