Мнение

За пределами мониторинга: рост наблюдаемости

Современные системы данных и машинного обучения нуждаются как в мониторинге, так и в наблюдаемости. Вот почему.

Дублирующиеся наборы данных или устаревшие модели могут привести к непредвиденным (но серьезным) последствиям, которые невозможно выявить или предотвратить одним только мониторингом данных. Решение? Наблюдаемость.

Барр Мозес, генеральный директор и соучредитель Монте-Карло, и Aparna Dhinakaran, CPO и соучредитель Arize AI, обсуждают, чем он отличается от традиционного мониторинга и почему он необходим для создания большего заслуживающие доверия и надежные информационные продукты.

Мусор на входе, мусор на выходе. Это не зря говорят команды, занимающиеся данными и машинным обучением, но в 2021 году этого уже будет недостаточно.

Данные (и модели, на которых они работают) могут сломаться в любой точке конвейера, и этого недостаточно, чтобы просто учесть проблемы с качеством данных при их приеме. Точно так же, когда вы развертываете модели машинного обучения, может возникнуть множество проблем, которые не были замечены во время тестирования или проверки, а не только с самими данными.

А когда вы не знаете, что что-то сломалось в вашей среде - не говоря уже о том, как это произошло - это ставит под угрозу целостность вашей аналитики и экспериментов, не говоря уже о доверии ваших заинтересованных сторон.

Для предприятий это может означать потерю доходов, растрату ресурсов и необоснованное принятие решений. В реальных приложениях последствия моделей машинного обучения, основанных на неверных данных, могут быть еще более значительными. Например, в 2020 году чернокожий мужчина в Детройте был незаконно арестован и заключен в тюрьму после того, как был ошибочно идентифицирован программным обеспечением для распознавания лиц, вероятно, из-за проблем с предвзятостью, которые включают в себя наборы обучающих данных, преимущественно белых и мужчин.

И проблема неверных данных в машинном обучении, несомненно, широко распространена. MIT недавно удалил весь свой набор данных из 80 миллионов крошечных изображений из-за расистских, сексистских и оскорбительных ярлыков, а огромная библиотека ImageNet удалила более 600 000 изображений после того, как онлайн-арт-проект ImageNet Roulette выявил аналогичные проблемы. Эти наборы данных годами использовались для обучения моделей машинного обучения - очень ошибочные метки и все такое.

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

Определение наблюдаемости данных

Простой способ обрисовать эффект «мусорных данных» (независимо от того, где они находятся в вашей системе) - это через призму надежности программного приложения. В течение последнего десятилетия или около того инженеры-программисты использовали целевые решения, такие как New Relic и DataDog, для обеспечения высокого времени безотказной работы приложений (другими словами, работающего, производительного программного обеспечения) при минимальном времени простоя (сбои и отставание программного обеспечения).

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

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

Мониторинг данных против наблюдаемости данных

Один из часто возникающих вопросов: «Я уже отслеживаю свои данные. Зачем мне тоже нужна наблюдаемость? »

Хороший вопрос. Так долго эти два понятия использовались как синонимы, но мониторинг и наблюдаемость - это две совершенно разные вещи.

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

Например, при мониторинге данных будет выдано предупреждение, если значение выходит за пределы ожидаемого диапазона, данные не обновляются должным образом или 100 миллионов строк внезапно превращаются в 1 миллион. Но прежде чем вы сможете настроить мониторинг для экосистемы данных, вам понадобится прозрачность всех тех атрибутов, которые мы только что обсудили - вот где появляется возможность наблюдения за данными.

Наблюдаемость данных также обеспечивает активное обучение, предоставляя детализированную контекстную информацию о данных. Команды могут исследовать активы данных, просматривать изменения схемы и определять первопричины новых или неизвестных проблем. Напротив, мониторинг проблемных предупреждений основан на заранее определенных проблемах, представляющих данные в агрегированных и средних значениях.

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

А когда все же возникают проблемы, видимость схемы и происхождения помогает быстро ответить на уместные вопросы о том, какие данные были затронуты; какие изменения могли быть внесены, когда и кем; и какие последующие потребители могут быть затронуты.

Наблюдаемость включает в себя мониторинг по пяти столпам работоспособности данных, а также оповещение и сортировку проблем, а также непрерывную автоматизированную передачу данных. При совместном применении эти функции делают наблюдаемость данных обязательной для современного стека данных.

Одно нулевое значение портит дашборд

Одно дело знать, что ваш конвейер данных сломался. Но как на самом деле выяснить, что произошло и почему?

В отличие от мониторинга, наблюдаемость данных может использоваться для обработки анализа первопричин, когда конвейеры данных обрываются. Теоретически вызвать корневую систему звучит так же просто, как выполнить несколько SQL-запросов для сегментации ваших данных, но на практике этот процесс может быть довольно сложным. Инциденты могут проявляться неочевидным образом во всем конвейере и воздействовать на несколько, а иногда и на сотни таблиц.

Например, одной из распространенных причин простоя данных является их актуальность, т. Е. Когда данные необычно устарели. Такой инцидент может быть результатом любого количества причин, включая зависание задания в очереди, тайм-аут, партнер, который не доставил свой набор данных вовремя, ошибка или случайное изменение расписания, в результате которого задания были удалены из вашей группы доступности базы данных.

Сделав исторический снимок ваших активов данных, возможность наблюдения за данными дает вам подход, необходимый для определения «почему?» за нарушенными конвейерами данных, даже если сама проблема не связана с самими данными. Более того, родословная, предоставляемая многими решениями для наблюдения за данными, дает кросс-функциональным командам (т.е. инженерам данных, аналитикам данных, инженерам-аналитикам, специалистам по данным и т. Д.) Возможность сотрудничать для решения проблем с данными, прежде чем они станут более серьезной проблемой для бизнеса. .

Мониторинг машинного обучения против наблюдаемости машинного обучения

Наблюдаемость данных - это одна из частей головоломки, когда дело доходит до доверия к вашим данным в производственной среде, но как насчет ваших моделей машинного обучения?

Подобно тому, как наблюдаемость данных помогает ответить на вопрос почему, наблюдаемость машинного обучения позволяет владельцам моделей выполнять анализ первопричин сбоев модели. Мониторинг предупреждает вас, когда производительность вашей модели ухудшается. Наблюдение за машинным обучением помогает понять, почему. Выяснить, что нужно делать при возникновении проблемы, - это более серьезная проблема.

В случае программных приложений вы обычно смотрите на соглашения об уровне обслуживания и время простоя приложений. В случае машинного обучения вы изучаете отклонения данных и производительность от базовых показателей.

Наблюдение за машинным обучением позволяет командам устанавливать базовые параметры на основе обучения, проверки или предыдущих периодов времени в производстве и сравнивать изменения до снижения производительности.

Наблюдаемость с помощью машинного обучения позволяет компаниям понять основные составляющие работоспособности модели: обнаружение дрейфа моделей и характеристик, качество входных и выходных данных, производительность модели и объяснимость.

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

Найдите иголку в стоге сена

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

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

Одна из частых причин снижения производительности - дрейф. Поскольку модели обучаются на данных, они хорошо работают, когда данные похожи на то, что они уже видели. Наблюдаемость сравнивает изменения распределения между базовым распределением и текущим распределением. Владельцы моделей могут целенаправленно повышать дискретизацию при дрейфе.

Теоретически в Jupyter Notebook легко найти первопричину, но на практике вам нужно масштабировать это до сотен функций, моделей и версий моделей для миллиардов прогнозов с автоматической настройкой и мгновенным анализом.

Мы рады видеть, как следующее поколение руководителей данных и машинного обучения подходят к этой проблеме, чтобы ответить на этот и многие другие вопросы намного проще.

Хотите узнать больше? Обратитесь в Барр или Апарна.