Пан или пропант. Пропант в центре внимания датасайентистов

Пан или пропант. Пропант в центре внимания датасайентистов

Это продолжение истории марафона ИТ-соревнований «Роснефти». Здесь описаны все технические подробности онлайн-соревнования по анализу данных. Интересна предыстория? Кликай ниже.

ROSNEFT PROPPANT CHECK CHALLENGE

Международное соревнование Rosneft Proppant Check Challenge (https://boosters.pro/championship/RPCC/overview) – это, собственно, финал нашего марафона ИТ-соревнований. В центре внимания пропант – тёмные рассыпчатые гранулы размером от десятых до нескольких миллиметров (он точно будет крутиться на компьютерах датасайентистов мира до конца года). Сейчас мы заглянем за кулисы мероприятия и расскажем о подробностях подготовки задачи и данных.

Современную нефтянку сложно представить без одной сложной и чревычайно важной операции – гидравлического разрыва пласта или ГРП. Подробнее о ГРП можно почитать в одной из наших статей (кликай ниже).

ГРП – трудоёмкая, высокотехнологичная и дорогая операция, поэтому к используемому в этой операции пропанту выдвигаются жёсткие требования по многим параметрам, в том числе по размеру гранул (и требования эти не всегда удаётся соблюсти производителям). Часто возникает потребность оперативной проверки размера частиц пропанта прямо в поле, а лаборатории, в которых можно провести эту проверку, обычно находятся далеко от месторождения. Учитывая число проводимых операций (более 10 тыс. в год только в компании «Роснефть»), у нас родилась идея разработки метода экспресс-анализа гранул с помощью устройства, которое у каждого под рукой – смартфона. А так как на месторождении далеко не всегда и везде есть стабильный интернет, то приложение на смартфоне должно работать полностью автономно.

Подготовка данных

Важнейшая характеристика пропанта – его размер или, по-другому, – фракция. Фракцию определяют, пропуская пробу гранул (обычно это 300-500 грамм) через набор специальных сит, а потом измеряют массовую долю пропанта, осевшую на каждом сите. Это называется ситовым анализом, требует специального оборудования и проводится в лабораториях.

Сита на вибростенде. Сверху самое крупное сито, снизу самое мелкое
Сита на вибростенде. Сверху самое крупное сито, снизу самое мелкое

Так как необходимых данных для решения задачи в нефтяном деле ранее не существовало, пришлось организовать их сбор практически с нуля: продумать дизайн листа, на который будет рассыпаться пропант, условия фотографирования, способы рассыпания гранул и многое другое. И самое главное – привлечь наши лаборатории от Уфы до Пыть-Яха и некоторых производителей пропанта. Общими силами сделали ~14 тыс. фотографий под разными ракурсами, со вспышкой и без, с кучками гранул и без кучек.

Фото из личного архива от 9 мая 2020 года
Фото из личного архива от 9 мая 2020 года

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

Стикер соревнования (можно найти в Телеграм <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ft.me%2Faddstickers%2Ftesttest3222&postId=178150" rel="nofollow noreferrer noopener" target="_blank">https://t.me/addstickers/testtest3222</a>)
Стикер соревнования (можно найти в Телеграм https://t.me/addstickers/testtest3222)

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

Постановка задачи в терминах машинного обучения

С позиций бизнеса всё понятно: надо просто хорошо определять пропант по фотографии. А как всё это в цифры перевести и ещё потом оценивать? Как вы уже поняли, датасет – это набор фото гранул, рассыпанных на специальном листе, для каждого из которых известно некоторое распределение гранул.

<p>Инновационный ПДЦПД пропант в датасете</p>

Инновационный ПДЦПД пропант в датасете

Теперь вопрос за метрикой. Выбор пал на х2 и mape (см. формулу ниже), где х2 – оценка качества прогноза распределения пропанта, a mape – оценка качества прогноза количества гранул. Коэффициенты при оценке выбраны, исходя из потребности бизнеса, потому что важно точнее прогнозировать распределение, чем знать, сколько на листе раскидано гранул.

Пан или пропант. Пропант в центре внимания датасайентистов

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

Кажется, звучит репрезентабельно и убедительно, поэтому давайте поверим им на слово.

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

Основной трек соревнования было решено сделать в docker формате с выполнением кода и оценкой качества решения в облаке. Решение, отправляемое участниками, не должно было весить больше 250 Мб, должно отрабатывать за 30 минут и запускаться на графическом процессоре NVIDIA T4 Tensor Core. Тестовый датасет был недоступен участникам и хранился на серверах Boosters.pro (площадке соревнования). Если в последнем абзаце вы встретили некоторые незнакомые слова и не всё поняли, не расстраивайтесь: всё это было сделано ради финальной цели – приложения для мобильного устройства.

Мобильный трек и MVP продукта

Мероприятие стартовало 2 сентября. Если всё оставить по классике: получать алгоритмы, которые воспроизводятся только на десктопах, то экспресс-анализа для телефона не получить. А потому идея получила развитие и обрела форму отдельного трека мероприятия – мобильного. Задача трека – предоставить решение, которое будет максимально готово для переноса на мобильные устройства.

Для этого мы модифицировали основной трек:

  • сильно ограничили доступные вычислительные ресурсы для имитации ресурсов смартфона;
  • ввели в метрику компоненту, учитывающую время работы решения (CPU);
  • из библиотек машинного обучения оставили только Open Neural Network Exchange (ONNX), ONNX модели легко переносятся на мобильные устройства;
  • добавили проверку на возможность конвертации ONNX моделей участников в Mobile Neural Network (MNN) формат.

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

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

Макет мобильного приложения
Макет мобильного приложения

Охват

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

Мы позаботились о том, чтобы любой желающий смог принять участие в соревнованиях – адаптировали сайт и сделали англоязычную версию, что позволило привлечь участников из других стран. Приятно было видеть участников не только из России, но и команды из Турции, Португалии, Германии и ещё 25 стран мира.

Итак…

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

Завершится ИТ-марафон 28 ноября в Москве, где будут подведены итоги Rosneft Proppant Check Challenge, а также состоится торжественное поздравление победителей всех трёх хакатонов.

Пока мы готовимся к финальному мероприятию, которое пройдёт с учётом реалий этого не простого для всех нас года, мы ещё и мечтаем о том, чтобы сделать его максимально познавательным, динамичным и полезным. Так, например, мы планируем организовать несколько пленарных сессий с российскими ИТ-экспертами (одна из них по управлению командами в data science) и открытые дискуссии между участниками по полученным решениям.

А вы можете быть с нами на связи и дальше наблюдать за развитием нашего ИТ-марафона на сайте и в социальных сетях по хештегу #пульсмарафона

1 комментарий

Круто!

Ответить