Нейросети, а если быть точнее большие языковые модели (или LLM от Large Language Models) массово ворвались в современную жизнь. Они меняют многие сферы деятельности. В этой статье я расскажу, как используют большие языковые модели для работы в сфере геотехнологий, в том числе — о своем опыте.
Небольшие вводные
В этой статье под нейросетями или ИИ я буду иметь в виду большие языковые модели, которые чаще всего представляют собой чат-бота. Посредством взаимодействия с ботом на обычном разговорном языке можно получать от него ответы в виде текста, изображений или даже действий в программах на компьютере. Да-да, даже в QGIS.
Принцип работы языковых моделей примерно таков. Вы пишете ИИ какой-либо запрос или вопрос, на профессиональном жаргоне это называется промт. Он же на основе того порядка слов, их сочетания, а также предыдущих ваших сообщений рассчитывает, какой ответ вас устроит, и дает его. Если вы уже работали с ИИ, то, наверное, заметили, что он дает не готовый текст, а пишет его по словам. Это потому, что происходит расчет, какое следующее слово с наибольшей вероятностью лучше всего подойдет.
Такой тип работы иногда приводит к тому, что нейросети могут давать неверную информацию, которую, услышав от человека, мы бы назвали выдумкой. В профессиональном жаргоне в таких случаях говорят, что ИИ галлюцинирует.
Больших языковых моделей сейчас очень много, субъективно, чаще всего используют ChatGPT, DeepSeek, Claude. Моя рабочая лошадка — это ChatGPT, и я использую бесплатную версию без подписки.
ИИ как поисковик
Одно из полезных свойств ИИ, которое начали использовать массово — поиск информации и советов. Это привело к тому, что, например Stackoverflow, сайт, где программисты помогали друг другу решать свои задачи, потерял большую часть аудитории, по некоторым оценкам до 90% пользователей.
Это довольно общий и очевидный способ использования ИИ, который многие уже пробовали, поэтому коротко опишу, с какими плюсами и минусами я столкнулся.
ИИ очень хорошо помогает переформулировать ваш запрос на научный язык, подсказать используемые термины. Например, я как-то заинтересовался тем, что если по-разному разделять пространство в городе, то результаты расчетов могут меняться. Я хотел про это больше прочитать, но ничего не находил подходящего. Но ИИ мне смог подсказать, что это называется Modifiable Areal Unit Problem (MAUP) и дальше уже было проще погрузиться в тему.
ИИ для написания кода
Большие языковые модели заточены на работу с текстом, чем как раз является и программный код. И это очень сильно помогает ГИС-специалистам, которые частенько либо не работают с кодом вообще, либо очень мало.
Если нужно написать небольшой простенький код на python или sql, то большинство ИИ легко справится с этой задачей
Например, я как-то делал карту вероятности выпадения снега на Новый год в России на основе архивных данных о снежном покрове, которые хранятся по типу 1 файл — 1 метеостанция, которых 620! То есть, нужно информацию из 620 файлов с одинаковой структурой перенести в одну таблицу, потом в ней посчитать нужные значения и уже потом делать карту.
Если вы не часто пишите код, то автоматизация процесса займет у вас больше времени, чем делать вручную. Но с ИИ задача решается гораздо быстрее.
Даже простые операции, которые можно делать в QGIS одним инструментом, иногда удобнее сделать с помощью кода. Это в первую очередь касается работы с большими файлами. Например, операция ресемплинга большого растра может в QGIS занимать часы, но с помощью кода она займет в разы меньше времени.
ИИ как младший помощник
В какой-то степени, ИИ, который пишет код для реализации ваших идей — тот же интернет или сотрудник, но в данной секции я хочу поговорить о том использовании больших языковых моделей, когда они по вашему указанию работают в программах.
Сразу скажу, что с адекватно работающими бесплатными вариантами я не встречался. В лучшем случае — довольно сложная установка и ИИ, который строит буферы от линий в 10 раз дольше, чем я. Поэтому примеры ниже — платные подписки. Но если у вас есть другой опыт бесплатного использования ИИ в таком виде, то обязательно расскажите в комментариях.
Я обнаружил 2 варианта использования ИИ при работе с программами:
Подключение ИИ к программам. В этом случае устанавливается дополнительное приложение, которое позволяет чат-боту не просто давать советы что делать, а совершать действия в программе.
Встроенный ИИ в программу. Тут все просто, в программе уже будет небольшое диалоговое окошко через которое можно посредством диалога говорить ИИ, что нужно делать.
1. Подключение ИИ к программам
Для работы в таком режиме вам нужен Claude, платная подписка и специальное приложение, в названии которого будет аббревиатура MCP для вашей программы. Это самый распространенный и популярный вариант.
Я видел, как его используют с такими программами как Blender, QGIS, Excel.
А вот пример работы с Blender. Чтобы им пользоваться, нужна дополнительная программа Blender MCP, которую бесплатно можно скачать с гитхаба.
Экс-картограф National Geographic Эван Эпплгейт пишет, что Claude экономит ему много часов при работе с Blender. Он не так хорош при выставлении камеры и работе с анимацией, но быстро и неплохо может создать сферу, обернуть ее заготовленными слоями воды и суши и поставить настройки солнца и теней с которыми уже можно работать. Так можно быстрее перейти от рутины к творчеству.
2. Встроенный ИИ
Также для некоторых программ есть свои ИИ-ассистенты, которые хорошо помогают работать с программой. Например, для QGIS есть неплохой плагин Kue. И да, его использование платное.
В отличие от бесплатных плагинов, с которыми я сталкивался, он как минимум не уступает в скорости человеку. Через чат-бот его можно попросить, например, скачать данные из OSM, удалить лишние объекты, а еще перепроецировать несколько слоев и переименовать их так, чтобы было понятно, что это зто объекты.
У Arcgis, гиганта ГИС индустрии, тоже есть свой встроенный ИИ, который, получая команды от человека на обычном языке, может выполнять различные манипуляции со слоями и картой.
ИИ как самостоятельный картограф
Нейросети могут сами генерировать целые карты, но явно с переменным успехом. Чаще всего получается треш, и есть даже отдельная ветка на реддите, куда выкладывают сгенерированные нейросетями карты.
Большую популярность имеют политические карты от ИИ. При генерации карт с границами государств он галлюцинирует больше и заметнее. У стран могут меняться границы, они могут переезжать через пол континента, островные государства становятся полуостровными. Причина такого - ИИ не использует какие-либо ГИС слои с границами для генерации, все строится на основе миллионов картинок из интернета самых разных временных эпох и фантазий.
Но если попросить ИИ делать карты рельефа или вида со спутника, то они уже могут давать довольно неплохие и реалистичные результаты, на которых не так просто найти ошибки.
Большие территории, такие как страны, области и континенты выглядят весьма правдоподобно. Но важно понимать, для их создания не используются реальные данные, а куча изображений из интернета. Поэтому при создании карт небольших территорий количество галлюцинаций ИИ многократно увеличивается.
А вот как выглядит округ Онондага на самом деле. ИИ удалил часть водных объектов и сильно изменил границы округа.
За год генерация карт относительно небольших территорий в ChatGPT не сильно изменилась.
Пример генерации карты Эльтонского сельского поселения с помощью ChatGPT самой последней модели. Выглядит красиво, но ошибки буквально везде.
ИИ для редактирования изображений
Если генерация карт от ИИ неточная, а зачастую вовсе заканчивается трешем, то в улучшении изображения он завоевал хорошую репутацию. Для этого чаще всего используют модель Nano Banana от Google.
Вы можете попросить ИИ добавлять текстуру скал для территорий с резким уклоном. При этом ИИ не изменит больше ничего (главное про это упомянуть в промте): не добавит новых объектов, не уберет те что были, не добавит цветов.
Можно давать для ИИ более детальные указания, например, моушн дизайнер Дмитрий Воронцов создал изображение в программе. Затем на картинку добавил цветные пятна и использовал их для того, чтобы точно указать ИИ, что делать: синие точки должны стать водой, фиолетовые болотами, а желтые зданиями
В результате получилась вот такая трехмерная карта:
Меры предосторожности при работе с ИИ
ИИ - мощный инструмент, который может сделать вашу жизнь легче и быстрее справляться с задачами. В то же время нужно быть осторожным с ИИ, и вот что я считаю важным помнить/делать при работе с ним:
Максимально подробно расписывайте задачу. Какие файлы брать, что с ними и в каком порядке делать. Если вы имеете опыт управления людьми или написания ТЗ, то вам будет очень легко быстро получить предсказуемый результат.
Не генерируйте карты (во всяком случае пока). Только если смеха ради.
Проверяйте всю информацию, что дает вам ИИ. Он часто галлюцинирует, и его основная задача отвечать так, чтобы вы были довольны, что тоже приводит к неверным выводам и выдуманным источникам данных.
Не загружайте личные данные или данные с ограниченным доступом! В таком случае вы отдаете информацию третьей стороне без разрешения правообладателя. Если вам нужно обрабатывать такие данные, то описывайте как выглядят ваши данные: название столбцов, что в них находится. Если не умеете читать код, то попросите ИИ объяснить, где что код делает и где в коде надо будет что-то поправить, чтобы он работал на вашем компьютере.
Проверьте написанный код на наличие ссылок на другие сайты. Это нужно обязательно сделать, чтобы ваш код не использовал сторонние ресурсы, которые могут быть платными.
Проверьте, что делает код. Даже если вы не умеете писать код, не бойтесь, читать код гораздо проще, чем писать, плюс вы можете спрашивать ИИ, что делает какая-то его часть. Проверять код важно, чтобы понять, правильно ли он работает. Воспринимайте ИИ скорее как студента, которому вы дали задание, он может сделать все правильно, но и вероятность ошибки довольно большая.
Список, конечно же не является исчерпывающим, и если вам есть чем его дополнить, то обязательно напишите об этом в комментариях.