Малые и большие данные в MLOps: как тип данных меняет стратегию разработки

DeepLearning.AI 10,1 тыс. 11 мин 4 мин 21.04.2022
Главное

В рамках специализации по операционному машинному обучению (MLOps) от DeepLearning.AI эксперты рассматривают фундаментальные различия в подходах к разработке моделей в зависимости от типа и объёма данных. Спикер курса, Эндрю Ын (Andrew Ng), предлагает концептуальную матрицу «2х2», которая помогает инженерам определить наиболее эффективную стратегию работы, исходя из того, являются ли их данные структурированными и насколько велик их общий объём.

📊 Матрица проектов машинного обучения: два ключевых измерения 0:01

Для систематизации подходов в ML-инженерии предлагается использовать систему координат, основанную на двух осях :

  1. Тип данных: неструктурированные (изображения, аудио, текст) против структурированных (записи в базах данных, CSV-файлы).
  2. Размер набора данных: малые датасеты против больших.

По мнению автора курса, лучшие практики для работы с изображениями могут быть совершенно бесполезны при работе с табличными данными . Это связано прежде всего с когнитивными особенностями человека: люди интуитивно понимают и легко обрабатывают неструктурированные данные, такие как картинки, но гораздо слабее справляются с анализом сотен столбцов в таблицах баз данных .

Что касается размера данных, эксперт вводит условный, но важный порог в 10 000 примеров . По словам спикера, эта граница выбрана потому, что при объёме менее 10 тысяч инженер или небольшая команда ещё могут вручную просмотреть весь набор данных. Если же примеров 100 тысяч или миллион, ручная проверка каждого случая становится физически невозможной .

Примеры для каждого сегмента матрицы:

🖼️ Неструктурированные данные против структурированных 3:00

Работа с неструктурированными данными (фото, звук, текст) дает инженерам преимущество в виде аугментации данных (data augmentation). Если данных мало, их можно синтезировать :

В случае со структурированными данными ситуация сложнее. Спикер утверждает, что гораздо труднее «синтезировать» нового пользователя или несуществующий дом для прогнозирования цен, если в реальности было продано всего 50 домов в данном районе .

Кроме того, человеческая разметка (labeling) более эффективна для неструктурированных данных. Люди легко отличают кошку от собаки, но им гораздо труднее прийти к единому мнению, анализируя две записи в базе данных и пытаясь понять, принадлежат ли они одному и тому же человеку (проблема слияния User ID) . В структурированных данных чаще встречается неопределенность, которая мешает даже экспертам-людям выставить корректную метку .

📉 Маленькие данные против больших: вопрос качества и процесса 4:18

При работе с небольшими наборами данных (менее 10 000 примеров) критически важным становится наличие «чистых» меток (clean labels) .

Аргументация спикера в пользу тщательной ручной проверки:

В случае с «Big Data» (миллионы примеров) акцент смещается с исправления конкретных ошибок на процессы обработки данных (data processes) . Когда разметкой занимаются сотни людей на аутсорсинге (краудсорсинг), невозможно собрать их всех вместе для обсуждения каждой ошибки . В этом случае необходимо:

  1. Создать небольшую экспертную группу для разработки четких определений и инструкций .
  2. Транслировать эти стандарты всем исполнителям.
  3. Тщательно продумать систему сбора и хранения данных, так как переразмечать миллионы объектов после изменения стратегии будет крайне дорого и долго .

🤝 Как выбирать экспертов и нанимать инженеров 8:58

Эндрю Ын делится важным наблюдением относительно найма и получения консультаций. Он считает, что интуиция и навыки инженера лучше всего переносятся внутри одного и того же «квадранта» матрицы .

Советы спикера:

В завершение лекции подчеркивается, что именно для малых данных качество (чистота) каждой отдельной точки данных является решающим фактором успеха проекта .

💬 Цитаты

«Если у вас всего 100 обучающих примеров и один из них помечен неверно — это уже 1% вашего набора данных.»

«Совет от человека, работавшего в том же квадранте, что и ваша проблема, будет в среднем более полезным.»

👥 Спикер
📖 Термины
Unstructured data
Неструктурированные данные (изображения, аудио, текст), которые человек понимает интуитивно.
Structured data
Структурированные данные, обычно представленные в виде таблиц или записей в базах данных.
Data augmentation
Техника создания новых тренировочных примеров путем модификации существующих (например, поворот фото или добавление шума в аудио).
Clean labels
Метки данных, проверенные на отсутствие ошибок и полное соответствие заданным стандартам разметки.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект MLOps DeepLearning.AI Эндрю Ын структурированные данные аугментация данных