Запросы на получение данных в области науки о данных - метод анализа и объединения в области науки о данных

Шаг вперед для MLOps и открытия доступа к науке о данных с открытым исходным кодом

Сегодня я рад представить запросы на извлечение данных (DS PR) на DAGsHub, которые представляют собой запросы на извлечение (PR), переосмысленные для рабочего процесса Data Science (DS). Эта новая возможность открывает стандартный процесс проверки для групп специалистов по анализу данных, позволяя им объединять данные из разных ветвей и принимать данные из ветвей. Это обеспечивает более удобную совместную работу групп в организациях, занимающихся наукой о данных, и позволяет реализовывать проекты в области науки о данных с открытым исходным кодом (OSDS).

Подробнее читайте…

Введение

Когда мы основали DAGsHub, мы были сосредоточены на том, чтобы сделать возможным сотрудничество в области науки о данных. В частности, мы глубоко заботимся и полагаемся на программное обеспечение с открытым исходным кодом (OSS), и мы поставили перед собой задачу сделать OSDS такими же доступными и распространенными, как OSS сегодня.

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

При рассмотрении этих процессов и существующих решений некоторые вещи становятся ясными:

  • Обнаруживаемость означает возможность ответить на вопрос «Что мне делать дальше?» - найти проект, над которым нужно работать, и в рамках этого проекта найти какие эксперименты могут быть интересными или важными. Это решается в основном системами отслеживания экспериментов, многие из которых используют проприетарные форматы или форматы черного ящика, которые трудно понять и перенести в / из. DAGsHub выходит за рамки этого, создавая систему отслеживания экспериментов, основанную на простых открытые форматы (YAML и CSV). Это означает, что вам не нужно добавлять непонятные строки кода - все работает путем автоматического сканирования и анализа коммитов git, отправленных на платформу.
  • Понятность означает способность ответить на вопрос «Как мне делать то, что я хочу делать?» - обычно это состоит из рассмотрения того, почему и как , и что уже было сделано в проекте или эксперименте. Решение для этого шага в основном ручное и основано на самодокументировании своей работы и обсуждениях с соавторами. DAGsHub улучшает это, предоставляя удобный интерфейс с кодом, данными, моделями и конвейерами проектов, которые дают пользователям окно в свои проекты. компоненты и как они взаимодействуют друг с другом.
  • Воспроизводимость означает создание точной копии эксперимента, над которым вы хотите работать. Часто этот процесс сводится к фиксации Git и параметрам эксперимента (регистрируемым в системе отслеживания экспериментов). Однако истинный стандарт воспроизводимости предполагает простое получение одной и той же версии данных, моделей и других артефактов. Лучше всего решить эту проблему, используя Git с некоторым специальным решением для управления версиями данных. DAGsHub решает эту проблему, полагаясь на инструменты с открытым исходным кодом, такие как Git и DVC, для предоставления описанного выше стандарта - полной копии вашего проекта (код, данные, модели, параметры, и другие артефакты) одной (или двумя) командами.
  • Возможность участия означает, что вы можете взять новый эксперимент или результат и включить их обратно в проект, с которого вы начали, так что вам не нужно поддерживать свой результат отдельно. Сегодня это полностью ручное управление, полное трений и в основном несуществующее.

Нам нужно создать еще много вещей, но было ясно, что сначала нужно рассмотреть один аспект - механизм ВКЛАДА.

Содействие - запросы на извлечение данных

Последний шаг процесса сотрудничества, пожалуй, самый важный. Без него рабочий процесс будет односторонним, монологом, а это значит, что сотрудничества не будет. Практически Содействие можно разделить на две задачи - просмотр и объединение вкладов.

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

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

Обзор науки о данных

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

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

Что это означает на практике:

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

  • Посмотрите, какие данные и модели были изменены (а не только код) - посмотрите, какие файлы данных, моделей и артефактов были добавлены, удалены или изменены. Это означает, что вы можете легко определить изменения и сосредоточить обсуждение на том, что важно.

  • Сравнивайте и сравнивайте записные книжки бок о бок - записные книжки являются важной частью многих проектов в области науки о данных. Однако в течение очень долгого времени они не получали должной обработки в процессе проверки, полагаясь на различия в необработанном JSON файле, которые в основном были нечитаемыми. Теперь вы можете просмотреть изменения в интуитивно понятном интерфейсе как часть DS PR. Еще одно преимущество этого заключается в том, что если вам требуется особая визуализация, вы можете зафиксировать записную книжку с этой визуализацией и удобно просматривать изменения.

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

Слияние науки о данных

Слияние кода возможно с помощью Git, но, как мы уже обсуждали, это не полная картина для проектов в области науки о данных. С DS PR вы также можете объединить свои данные и другие артефакты.

Слияние данных

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

Слияние артефактов

Это не ограничивается только необработанными данными - объединение данных позволяет объединять модели и любые другие артефакты конвейера данных (например, предварительно обработанные данные или 3D-модели). Возьмем случай, когда выполнение одного из шагов в конвейере занимает 2 недели и приводит к некоторой обученной модели или обработанному набору данных. Если бы были объединены только необработанные данные, вам пришлось бы снова запустить этот мучительный двухнедельный процесс. Объединение артефактов означает, что после объединения PR DS результирующий проект воспроизводится так же, как и исходный вклад.

После принятия DS PR вы находитесь в том же состоянии своего DS-проекта, что и после принятия PR в программном проекте.

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

Эта последняя возможность особенно полезна для OSDS.

Что это значит для OSDS?

Наука о данных с открытым исходным кодом (OSDS) может оказать такое же влияние на мир, как и программное обеспечение с открытым исходным кодом (OSS). Заявленная цель DAGsHub - продвигать OSDS и создавать технологии, которые максимально упрощают его. OSDS должен стоять на первом месте, и отраслевые рабочие процессы будут отражать процессы в проектах OSDS, как и в случае с OSS.

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

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

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

Мы хотели бы поддержать проекты в области науки о данных с открытым исходным кодом, которые хотят принять участие в науке о данных от сообщества. Если это актуально для вас, напишите нам по адресу [email protected].

Спасибо!

Спасибо всем людям, которые давали нам отзывы раньше и пока мы строили DS PR. Мы также хотели бы получить ваши отзывы о том, как DS PR можно улучшить для сообщества - лучший способ сделать это - присоединиться к нашему каналу Discord. Будем рады услышать ваши мысли и увидеть, что люди создают с помощью науки о данных с открытым исходным кодом.