Впервые использовал нейросетку для реальной практической пользы в коммерческом заказе.
У заказчика есть база данных, куда информация вносится кое-как. Представьте, что вы составляете каталог, например, книг, и в базе данных предусмотрены поля: "Автор книги", "Название книги", "Число страниц" и ещё десяток других полей с информацией. Но заполняют эту базу другие люди, которых вы не контролируете, поэтому информация может случайным образом лежать в любом произвольном поле, быть введена с ошибками, опечатками и так далее. В реальном заказе были не книги, я просто привожу пример такой же задачи.
Вот как это может выглядеть:
1. В поле "Автор" написано "Лондон, Дж. Белый Клык", поле "Название" при этом пустое.
2. В поле "Название" написано "150-страничный сборник рецептов", поле "Число страниц" пустое
3. В поле "Название" написано "джеклондон мартин иден", поле с автором пустое
4. В поле "Автор" написано "150-стр.3изд,доп.перераб инструкция по пользованию подстанциями типа ТП-13, М.Васильев москва 98"
...и так далее. А нужно искать нормально по автору, названию, числу страниц, городу и году издания. Никакими прямыми алгоритмами это не берётся: регулярки, поиск по ключевым словам, морфология, нечёткая логика — всё это либо даёт много ложноположительных результатов, либо (если подкрутить пороговые значения) вообще перестаёт искать.
И вот тут в какой-то момент мы решили попробовать запрашивать через API GPT. Нейросетке задаётся следующий промт:
"Есть следующая информация: «150-страничный роман джеклондон мартин иден». Если здесь есть то, что похоже на имя автора книги, напиши мне его, иначе ответь null". И, надо сказать, даже 3.5 справляется с этой работой очень хорошо. Получилось сравнительно без ошибок разметить около 80% данных (остальные с ошибками даже после нейросетки).
Но, важный нюанс. Сначала мы пытались поймать все данные одним запросом: "GPT, выведи мне JSON, в котором есть автор, название, число страниц...", но тесты показали, что значительно эффективнее будет отдельно спросить 5 раз про 5 разных типов данных. Да, это расходует больше токенов, но они и так сравнительно дёшевы.
Кстати, API у OpenAI безбожно глючит даже на платном тарифе. Обещанных 3500 запросов в минуту нет даже приблизительно. По факту удаётся отправлять около 200-300 запросов в минуту, потом оно вываливается в таймауты или ошибку 429, нужно делать какие-то умные паузы, ждать итд. Над этим всем пришлось повозиться, зато результат вполне ощутимый.
#dev
Комплексное глубокое обучение для моделей месторождений. Нажал на кнопочку - готово!
Руслан Мифтахов выпустил очередное видео, на этот раз про комплексное (end-to-end) глубокое обучение для моделирования месторождений. Посмотрите, будет интересно тем кто этим занимается. Видео основано на статье специалистов SLB "Deep learning for end-to-end subsurface modeling and interpretation: An example from the Groningen gas field".
Как и рассказывает Руслан, идея end-to-end глубокого обучения для моделирования месторождений довольно крутая и у нее есть прекрасная аналогия в мире беспилотных автомобилей - собираем все возможные алгоритмы прогнозы обстановки на дороге и автоматизации в одну систему. Что если сделать подобное и для дорогостоящего и длительного процесса моделирования подземных месторождений чего угодно, хоть нефти, хоть минералов 🤔?
Например, есть несколько видов данных (со скважин и сейсмические данные). Их нужно обработать, интерпретировать каждый вид данных особым способом, закартировать и наконец сделать 3D модель свойств горных пород и флюидов - типа, бурить сюда! Интересно, что модели машинного обучения уже представлены для каждого процесса в отдельности. Есть модели машинного обучения для обработки скважинных данных, есть модели машинного обучения для автоматического выделения тектонических разломов на сейсмике и так далее. Авторы статьи, делают один, на мой взгляд пока небольшой, шаг к полной автоматизации процесса интерпретации и моделирования. Они говорят, давайте соберем все эти модели и придумаем автоматический процесс, чтобы собрать данные, нажать на кнопочку и на выходе получить модель свойств всея Земли (на картинке). Это может быть модель пористости или плотности пород, да чего угодно.
Я лично знаком с авторами, коллеги все-таки. Действительно, у них есть работающие компоненты, которые они собрали в статье под одним зонтиком. Это в основном сверточные нейронные сети для различных задач. Идея крутая, но даже для частичной ее реализации, на мой взгляд, нужно пройти большой путь. Ведь то, что у нас под ногами скрыто от наших глаз, в отличие от того, что видит камера беспилотного автомобиля. Подземного сканера с супер-разрешением все еще нет, где ты Илон Маск? Поэтому в игру вступают неопределенность и сдвиг данных.
Неопределенность геологических моделей будет всегда, потому что этих моделей бескочнечность, ведь мы точно никогда не узнаем что там под землей, а можем лишь догадываться по обрывкам данных. Если эту неопределенность не учитывать - будет финансово больно, даже при наличии самых красивых моделей и самых глубоких обучателей. Сдвиг данных, возникает тогда, когда модель обученная на одних данных, попадает в новые условия. И в геонауках это серьезная проблема. Не смотря на аналогии, нет двух одинаковых месторождений, и даже если модель обучить на 1000 месторждениях, 1001-е будет другое и производительность модели будет значительно ниже и вероятно не понравится, людям принимающим решение о бурении скважины стоимостью стопицот миллионов . Умные геоинженеры и обучатели машин сейчас работают над тем, чтобы побороть эти две проблемы для моделирования месторождений, но с переменным успехом (на мой взгляд опять же).
Пост может показатья кому-то скептическим, но на самом деле я полон оптимизма. Каких-то пять лет назад даже 10-я часть предложенных алгоритмов была невозможна по разным причинам, а сегодня уже идут разговоры о полной автоматизации моделирования с помощью машинного обучения. Повсеместная адаптация займет еще много лет, но все равно впереди блестящее будущее!
📖статья
#ML#AI#geo#subsurface
Breakthrough Energy Билла Гейтца вкладывается в геологический водород
Вышла новость, что Breakthrough Energy Билла Гейтца вложилась в стартап (91 мульён долларов), который работал в секретном режиме буквально до прошлой недели. Называется Koloma, состоит сплошь из выходцев из нефтянки. Koloma собирается добывать геологический водород на среднем западе США. Ну и конечно, планирует подать заявку на получение субсидий в соответствии с Законом о снижении инфляции (IRA) 😁.
Билл Гейтц считает водород "швейцарским ножом" в энергетике (кстати, почитайте его книжку How to Avoid a Climate Disaster, даже если не согласны с повесточкой - она интересная!)
#hydrogen#decarbonization#subsurface
🪐 Scientists are exploring the possibility that life could exist deep below the surface of Mars, where underground water reservoirs may still provide a stable environment protected from harsh surface radiation and extreme cold. Evidence from orbiting spacecraft suggests networks of ancient, buried rivers and salty brines—which could help microbes survive in the Martian subsurface even today. ✨
#Mars⚡#life⚡#subsurface⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
IMAGE'23 и генерация моделей по подсказке
Всем привет! Пропал-пропал, был на конференции IMAGE'23. Это такая огромная, на тысяч 6-7 человек, геотехническая конференция в Хьюстоне для специалистов в области геонаук, полезных ископаемых и (уже) декарбонизации.
Самые большие секции были посвящены машинному обучению в геонауках. На одной из них я показал наши эксперименты в области Генеративного ИИ (Generative AI), а именно первые наброски того как можно генерировать реалистичные геологические\сейсмические модели с помощью семантически понятного текста. Типа говоришь "йоу, модель, сделай мне низкочастотный сейсмический разрез с двумя сбросовыми разломами в восточной части и добавь немного шума". И на выходе получаешь реалистичный сейсмический разрез удовлетворяющий твоему описанию, или получаешь сразу несколько разных разрезов, ведь генерация стохастическая.
Использовали мы немного модифицированную версию знаменитой нейронки Dalle-E2 от Open AI, которую обучили с нуля. Точнее три ее компонента: ✅CLIP - для семантической связи между текстом и изображением(моделью) и преобразования последнего в векторное представление; ✅ Diffusion Prior - для стохастической генерации текстовых векторных представлений в текстовые представления изображения(модели) и ✅ Decoder - для стохастической генерации самих изображений(моделей) из их векторного представления. Последняя нейроночка использует диффузионную модель. Получилось неплохо! На второй картинке пример моделей, которые сгенерировались по соответствующей подсказке. Конечно отправлять в продакшн еще рановато, но идея, кажется, работает не только на кошечках и собачках.
#Image23#conference#ML#AI#subsurface
RockPhyPy - рок-физика 🤘 в Питоне 🐍
Рок-физика - занимательная часть наук по исследованию недр, а не то что вы подумали. Правильный перевод конечно "физика горных пород", но на пост-советском пространстве это название заразервировала немного другая дисциплина.
Рок-физика изучает взаимоотношения между физическими свойствами пород и геофизическими наблюдениями в разных условиях. Например, как количественно оценить изменение свойств горных пород на основе поведения сейсмических волн, распространяющихся через них. В рок-физике особое внимание уделяют и эффекту наличия того или иного флюида в порах горных пород и как в связи с этим изменится геофизический сигнал. Это важно для УВ, захоронения СО2 и геотермалки.
Такое вступление, чтобы представить вам RockPhyPy - набор инструментов в Питоне для моделирования в этой области. Вся научная основа взята из Справочника рок-физика (Rock Physics Handbook).
И в догонку статья с описанием API и всего инструментария.
#subsurface#geo#programming#rockphysics
Вся геология Нидерланд в одном проекте в Petrel
Petrel - это наверное самый популярный софт для геолого-геофизического моделирования, интерпретации и визуализации. Как Автокад для проектировщиков.
Университет в Утрехте опубликовал всю геологическую базу данных Нидерланд в едином проекте в Petrel 🤯: 10,599 2D сейсмики, 280 3D сейсмики, 6,590 скважин and 4,752 измерений в скважинах.
Может для обучения пригодится!
#seismic#database#geo#subsurface