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

Что такое регистрация данных?

Журналы являются неотъемлемой частью мониторинга и наблюдения за классическими программными приложениями. Они позволяют пользователям отслеживать изменения в своем приложении с течением времени, фиксируя ключевые показатели, такие как время безотказной работы, показатель отказов и время загрузки. Но как насчет мониторинга и наблюдения за конвейерами данных и приложениями машинного обучения? Мы создали whylogs как открытый стандарт для регистрации данных, потому что метрики, отслеживаемые классическими библиотеками телеметрии, просто не покрывают широты потребностей этих новых типов приложений.

Что такое журналы?

С помощью Whylogs пользователи могут создавать статистические сводки (называемые профилями Whylogs) на основе данных, которые проходят через их конвейеры данных и попадают в их модели машинного обучения. С помощью этих статистических сводок пользователи могут отслеживать изменения в своих данных с течением времени, выявляя дрейф данных или проблемы с качеством данных. Профили Whylogs могут быть созданы как для табличных, так и для комплексных данных. Кроме того, Whylogs изначально работает как в среде Python, так и в среде JVM и поддерживает как пакетную обработку (например, Apache Spark), так и потоковую передачу (например, Apache Kafka).

Установить Whylogs в Python так же просто, как pip install whylogs . Затем, чтобы зарегистрировать свои данные и создать профиль, просто запустите results = why.log(pandas_df) в своей среде Python.

Чтобы убедиться, насколько это просто, и сразу же опробовать его на себе, загляните в блокнот Начало работы; вы даже можете не настраивать его в своей среде, запустив пример в Google Colab! Чтобы узнать больше о Whylogs, вы можете ознакомиться с нашим readme на GitHub.

Для чего я могу использовать Whylogs?

После создания профилей Whylogs пользователи могут:

  1. Отслеживайте изменения в своем наборе данных
  2. Создавайте ограничения данных, чтобы знать, выглядят ли их данные так, как должны.
  3. Быстро визуализировать ключевую сводную статистику по своим наборам данных

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

  • Обнаружение дрейфа данных во входных функциях модели
  • Обнаружение перекоса в обучении, дрейфа концепций и снижения производительности модели
  • Проверка качества данных во входных данных модели или в конвейере данных
  • Выполнение исследовательского анализа массивных наборов данных
  • Отслеживание распределения и качества данных для экспериментов машинного обучения
  • Обеспечьте аудит данных и управление ими в рамках всей организации
  • Стандартизируйте методы документирования данных во всей организации
  • И более

Что нового в v1?

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

  1. упрощение API
  2. Ограничения профиля
  3. Визуализатор профиля
  4. Улучшения производительности
  5. Обновление юзабилити

Упрощение API

Создание профилей Whylogs еще никогда не было таким простым. Теперь это занимает одну строку кода: results = why.log(pandas_df).

В оригинальном API Whylogs v0, если вы хотите зарегистрировать кадр данных, вам нужно будет начать с инициализации сеанса. В этом сеансе вам нужно будет создать регистратор, а затем, наконец, внутри этого регистратора вызвать функцию log_dataframe(). Мы слышали от наших пользователей, что эти концепции часто сбивали их с толку и замедляли работу. Новый упрощенный API позволяет пользователям легко создавать профили WhyLogs в качестве артефактов для представления своих наборов данных.

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

Ограничения профиля

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

Ограничения могут быть установлены для таких функций, как значения в наборе данных (например, я хочу получать уведомления, если значение в моем столбце «кредитный рейтинг» меньше 300 или больше 850), тип данных (например, я хочу проверить, в моем столбце «имя» есть целые числа), количество элементов (например, я хочу убедиться, что в моем столбце «user_id» нет повторяющихся значений) и многое другое.

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

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

Визуализатор профиля

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

Визуализатор профиля позволяет пользователю создавать такие визуализации, как:

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

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

Улучшения производительности

почемуlogs v1 создан для масштабирования и оптимизирован для больших наборов данных. С помощью Whylogs v1 пользователи могут профилировать огромные объемы данных быстрее, чем когда-либо прежде. В наших тестах мы увидели более чем 500-кратное увеличение скорости создания профилей для больших наборов данных. Ух ты!

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

Используя векторизацию и другие улучшения производительности на серверной части, мы можем регистрировать один миллион строк данных в секунду. Это число растет сублинейно, поэтому профилирование больших наборов данных занимает меньше времени на строку, чем профилирование меньших, в то время как меньшие наборы данных по-прежнему легко профилируются менее чем за секунду. Благодаря этим улучшениям производительности все, от стартапов, отслеживающих только одну или две модели, до предприятий из списка Fortune 500, регистрирующих миллиарды записей, могут извлечь выгоду из Whylogs.

Обновление юзабилити

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

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

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

Что сообщество говорит о Whylogs v1?

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

Заключение

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

Если вы заинтересованы в том, чтобы попробовать Whylogs или принять участие в нашем сообществе разработчиков ИИ, вот несколько шагов, которые вы можете предпринять:

Первоначально опубликовано на https://whylabs.ai