Всем привет. Меня зовут Семён. Я занимаюсь разработкой интеллектуальных приложений для нефтегазовой отрасли в компании «Цифра». В этой статье я и моя коллега Анна Тарасова расскажем, как мы искали решение для проблемы с прихватами при бурении нефтяных скважин с помощью машинного обучения и к чему в результате пришли. Конкретнее, речь пойдёт о том, какие данные нам понадобились, что с ними было не так, какие модели прогнозирования мы испробовали и на какой комбинации моделей мы в результате остановились.  Ранее мы опубликовали подробную научную статью на эту тему. Здесь же мы коротко изложим наш подход к решению задачи и некоторые выводы.   Но сначала стоит объяснить суть проблемы, для этого потребуется разобраться в видах скважин и процессе их строительства. Если это вам уже знакомо, переходите к следующему разделу.  Нефтегазовая скважина — это горная выработка цилиндрической формы, через которую обеспечивается доступ к продуктивному пласту (т. е. породам, где залегают углеводороды) и подъём на поверхность нефти и газа. Все скважины имеют устье, непосредственно ствол и забой. Устье — это верхняя часть скважины, ствол определяет направление скважины, забой — самая нижняя часть. Наглядно показано на рис. 1. До начала строительства скважины согласовывается программа бурения. В ней прописывается вся информация об используемом оборудовании, прикладываются различные технологические расчеты (каким крутящим моментом необходимо бурить скважину, какие должны быть нагрузки на долото, какой будет расход бурового раствора и т. д.), а также формируется смета на строительство. Цикл же строительства начинается с передвижения на место планируемой скважины буровой установки, на которой будет располагаться всё необходимое оборудование. После того, как всё подготовлено и проверено на исправность, начинается сам процесс бурения скважины. Для этого на устье собирается бурильный инструмент с долотом (далее будем называть это компоновкой). С помощью буровой установки компоновка спускается в скважину — начинаются работы по разрушению породы. При этом через компоновку прокачивается буровой раствор, который охлаждает долото и за счет циркуляции выносит разрушенную породу на поверхность, тем самым облегчая бурение (это называется промывкой скважины). После окончания бурения компоновка поднимается на поверхность. Так как пласт может находиться в нескольких километрах от поверхности, технически невозможно сразу пробурить весь ствол, поэтому бурение разбивают на отдельные интервалы (их около пяти). Первый интервал бурится с самым большим диаметром, а для того, чтобы порода не обрушалась, в скважину после бурения спускают обсадную трубу, пространство между трубой и породой цементируют. Дальше продолжается бурение следующего интервала, но уже с меньшим диаметром, и после этого работы повторяются до самого забоя, где находится продуктивный пласт.  В зависимости от геологического строения пласта, скважины могут быть пробурены различными способами. Самый простой — вертикальные скважины, с отклонением по вертикали до 5°. Наклонно-направленные, горизонтальные и многоствольные скважины бурить сложнее. Смотрите рис. 2. Сейчас любят повторять, что время лёгкой нефти прошло. Две трети нефтяных запасов в России считаются трудноизвлекаемыми и требуют строительства высокотехнологичных горизонтальных скважин. Строительство таких скважин, конечно, стоит дороже, однако при рассмотрении всей цепочки затрат и выручки, которую в результате получают компании от продажи извлечённой нефти, можно говорить, что это экономически целесообразно. Вместе с этим возрастает риск различных осложнений, наиболее распространёнными из которых являются прихваты. Простыми словами, теряется подвижность трубы, которая была спущена в скважину. Их причины различны: дифференциальные прихваты — из-за перепада давления; механические прихваты — из-за образования сальников (плотно спрессованных частиц глины), заклинивания бурильного инструмента в интервалах сужения ствола, обвала неустойчивых пород. Из-за прихватов бурение может надолго остановиться до выяснения причин. Они могут привести к ликвидации ствола скважины и его перебуриванию, либо вовсе отказу от продолжения работ. Это грозит огромными потерями для предприятия: один день бурения обходится от 3 до 10 млн рублей — это на земле, на воде строительство скважины может быть дороже на порядок. Так что актуальность борьбы с прихватами никто не оспаривает. Безусловно, проблема прихватов не новая, специалисты по бурению с ней борются, постоянно мониторя информацию, поступающую с забойных датчиков и оборудования на устье, и тем самым выявляя состояния (изменения параметров), предшествующие прихватам. Мы же попробовали решить эту задачу с помощью машинного обучения. Отметим, что исследовался только процесс бурения, без учёта операций по спуску обсадных труб в скважину и их цементирования. В нашем распоряжении были данные со 190 скважин на двух месторождениях с продуктивными пластами на глубине от 4 до 5,5 тыс. метров. Прежде всего, нам нужно было выяснить, что может характеризовать прихваты или предприхватное состояние. Причины появления прихватов могут быть разные, но все они сопровождаются отклонениями от нормы определённых наборов параметров:  Увеличение/уменьшение веса на крюке при подъёме/спуске бурильного инструмента (может быть из-за сальникообразования, попадания постороннего предмета в скважину, нарушения устойчивости стенок скважины, желобообразования (образование полости в стенке скважины в результате движения бурильной колонны) в зонах сужения ствола).  Увеличение момента на роторе (в зонах сужения ствола, из-за оседания породы на инструменте). Большие скачки момента на роторе (частичное подклинивание долота). Увеличение давления бурового раствора на входе (сужение ствола, сальникообразование, нарушение устойчивости стенок скважины). Прогнозирование предприхватных и прихватных состояний можно строить на распознавании приведённых выше паттернов. Очевидно, важно правильно выбрать набор параметров, которые помогут этот искомый шаблон наилучшим образом отличить от остальных, не опасных, состояний. Для начала мы взяли следующие показатели:  глубина долота; глубина забоя; момент на роторе; обороты ротора; давление промывочной жидкости на входе; расход промывочной жидкости; вес на крюке; механическая скорость (скорость движения долота). Далее мы занялись фича-инженерингом и дополнили пространство состояний множеством субпризнаков, такими как: скользящее среднее по параметру на выбранном временном периоде, относительное изменения параметра за выбранный временной период, значение параметра с временным сдвигом и др.Также для обогащения нашего пространства данными мы применили некоторые физические модели. Особенно нам помогла упрощённая физическая модель коэффициента трения на долоте. Все физические модели представляют собой некоторые функции от исходных параметров, которые добавляются в обучающую выборку наравне с и исходными фичами. Далее нам нужно было решить, какую модель применять для прогнозирования появления прихватов. Изначально мы пробовали создать глубокую сеть, которая сама бы разбирала операции и взаимосвязи фичей при разных операциях. К сожалению, эти попытки провалились из-за недостаточной разметки предприхватных состояний. Также надо понимать, что измерения очень сильно зависят от глубины операции, и процессы и взаимосвязи фичей на глубине 1000 метров сильно отличаются от того, что происходит на глубине 3000 метров. Мы попытались решить эту проблему более простыми моделями и в ходе исследований пришли к выводу, что одной моделью нам не обойтись, так как каждая имеет свою зону применимости. В результате мы остановились на моделях 3-х типов, комбинирование которых приближает нас к решению поставленной задачи: модель оценки общей аномальности состояния скважины; модель сравнения «модель-факт»; классическая прогнозная модель. Рассмотрим все типы моделей по порядку. В основе моделей этого типа лежит предположение, что скважины почти всегда находятся в нормальном состоянии. Нормальное состояние — это когда исходные параметры отличаются от проектных лишь на заданное допустимое значение. Соответственно, под аномальными понимаются состояния скважины с нехарактерными сочетаниями параметров, после таких состояний часто следуют аварийно-восстановительные работы.  В нашей работе мы пришли к оценке общей аномальности скважины с помощью вычисления расстояния по Махаланобису. Этот подход показал высокую полноту и не слишком высокую точность (рис. 3 и 4), т. е. наблюдаются моменты времени, когда модель показывает высокий уровень аномальности, но осложнений при этом нет. С другой стороны, не всегда возможно точно сказать, было ли действительно опасное состояние. Пример функционирования модели расстояния по Махаланобису можно видеть на рис. 3. Статистические исследования значения этой модели позволяют нам установить красный и жёлтый уровни (опасность и критическое состояние), превышение этих уровней порождает сигнал, который следует индицировать бурильщику. Применяя SHAP-values анализ, можно дополнить результат данной модели объяснением, почему это состояние считается опасным (критическим). Для оценки точности и полноты работы этой и всех последующих моделей были выбраны порядка 400 временных отрезков, 5 из которых заканчивались прихватом, 56 — затяжкой (увеличением фактического веса на крюке сверх расчётного при подъёме колонны) или посадкой (уменьшением фактического веса на крюке ниже расчётного при спуске колонны). Все модели проверялись в фиксированных временных интервалах: за 12 часов до прихвата (+-10 минут), 4 часа до прихвата (+-10 минут), 30 минут до прихвата (+-5 минут), 30 минут до затяжки/посадки (+-5 минут).  Модель общей аномальности проверялась на преодоление статистически-определенного порога. При преодолении заданного порога считалось, что модель «сработала».       Модель сравнения «модель-факт» была реализована для оценки 3-х параметров: момент на роторе, вес на крюке, давление на входе (смотрите рис. 5). Обозначения: P – оцениваемый параметр (вес на крюке, момент на роторе или любой другой параметр); t – время; T – текущий момент времени; Ttrain – период обучения модели; Ttest – период прогноза; Pfact – измеренное значения параметра P в период Ttest ; Ppred – прогноз значений параметра P на периоде Ttest. Логику модели можно описать так. Пусть текущий момент времени – T. Построим модель на периоде Ttrain для параметра P (вес на крюке или другой параметр), спрогнозируем значение P на периоде Ttest. Если предположить, что бурение в период Ttrain прошло без осложнений, то обученная на периоде Ttest модель должна адекватно предсказать значение P на периоде Ttest. Если прогноз сильно расходится с фактом, то, можно предположить, что период     качественно отличается от предыдущего процесса бурения: например, появилась нестабильность пробуренного ствола, из-за чего, в частности, увеличился вес на крюке при подъёмных операциях.  В первую очередь в качестве модели прогнозирования мы попробовали применить LSTM (Long Short-Term Memory Recurrent Neural Networks — рекуррентные искусственные нейронные сети с короткой-длинной памятью), но столкнулись с трудностями настройки. Дело в том, что прихват не наступает мгновенно — к нему ведет целый ряд событий, которые обычно растянуты во времени. Так как LSTM хранит в том числе короткую память, модель адаптируется к аномальным состояниям, из-за чего точность детектирования момента наступления прихвата существенно снижается. Случайные леса в этом случае работают лучше. Можно их бустить, но это не приносит существенного улучшения качества модели (но разве это когда-то останавливало любителей бустить?). Как мы убедились, модели сравнения имеют высокую точность и не слишком высокую полноту (рис. 6 и 7), и каждый параметр имеет свою «зону применимости». Так, модель сравнения «модель-факт» для параметра «Момент на роторе» не применима, если не происходит вращение инструмента. Так что без комбинирования моделей не обойтись.  Понятно, что сравнение «модель-факт» не дает нам возможности предсказывать осложнения в будущем. Для этого требуются прогнозные модели, строить которые сложно, так как зачастую мы не знаем заранее, как будет происходить управление бурением или спускоподъёмными операциями. Таким образом, для прогнозирования нам необходимо допустить некоторые предположения. Эти предположения могут относиться только к управляющим параметрам бурения и не могут касаться остальных наблюдаемых параметров.  Сформулируем задачу прогнозирования так: «В настоящий момент происходит операция X0 с нагрузкой на долото X1, оборотами X2 и расходом промывочной жидкости X3 и т. д. Предположим, что далее продолжится та же операция в таком же режиме в течение времени   X4. Каково будет давление на входе по окончанию этого периода?» Данный подход применим только при относительной стабильности управляющих параметров в прогнозируемый период времени. Если при этом происходит смена операции и (или) существенно меняется один из управляющих параметров, то модель становиться не релевантной текущему процессу. Так как при этом подходе нет возможности использования не управляющих параметров (они неизвестны), да и в отношении управляющих параметров приходится иметь дело только с предположениями, точность модели оставляет желать лучшего. Нам удалось ее реализовать только для прогнозирования давления бурового раствора на входе — этот параметр ведет себя стабильнее всех остальных.  Итак, мы имеем модели трех типов и хотим как-то собрать результаты их применения воедино. Для начала мы сделали сервис-менеджер моделей, который следит за всеми моделями и поддерживает их в актуальном состоянии (переобучает по заданной стратегии). Нам хотелось бы связать все полученные модели или их результаты, но пока у нас этого не получилось, непонятно как это делать (поэтому на выходе данного комплекса мы имеем результаты отдельных моделей — рис. 8).  Что в итоге имеет технолог, специалист по бурению, в результате работы всех этих моделей:  Аномальность скважины без обработки. При значительных отклонениях производится SHAP-value анализ и индицируется причина аномальности.  Результат работы модели сравнения «модель-факт», если расхождение модель-факт значительное. Результаты работы прогнозной модели, если полученный моделью тренд превышает некий определённый предел за заданное время.  Отметим, очень большой вклад в точность моделей внесли физические модели, кажется, что основной потенциал улучшения системы надо искать скорее в доменных знаниях нежели в совершенствовании ML-моделей. Понятно, что работа в данном направлении только начата, множество проблем данный ансамбль моделей не решает, бурильщик, например, может использовать долото сначала на низких оборотах и с небольшой нагрузкой и только потом пустить процесс на полную мощность. Такой переход покажется моделям «аномальным». Также перспективным представляется построение моделей «проектное значение - фактическое».   анализ данных