Время прочтения: 6 минут
Нейросети, а если быть точнее большие языковые модели (или 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.
Вы можете попросить ИИ добавлять текстуру скал для территорий с резким уклоном. При этом ИИ не изменит больше ничего (главное про это упомянуть в промте): не добавит новых объектов, не уберет те что были, не добавит цветов.
Можно давать для ИИ более детальные указания, например, моушн дизайнер Дмитрий Воронцов создал изображение в программе. Затем на картинку добавил цветные пятна и использовал их для того, чтобы точно указать ИИ, что делать: синие точки должны стать водой, фиолетовые болотами, а желтые зданиями
В результате получилась вот такая трехмерная карта:
Меры предосторожности при работе с ИИ
ИИ - мощный инструмент, который может сделать вашу жизнь легче и быстрее справляться с задачами. В то же время нужно быть осторожным с ИИ, и вот что я считаю важным помнить/делать при работе с ним:
- Максимально подробно расписывайте задачу. Какие файлы брать, что с ними и в каком порядке делать. Если вы имеете опыт управления людьми или написания ТЗ, то вам будет очень легко быстро получить предсказуемый результат.
- Не генерируйте карты (во всяком случае пока). Только если смеха ради.
- Проверяйте всю информацию, что дает вам ИИ. Он часто галлюцинирует, и его основная задача отвечать так, чтобы вы были довольны, что тоже приводит к неверным выводам и выдуманным источникам данных.
- Не загружайте личные данные или данные с ограниченным доступом! В таком случае вы отдаете информацию третьей стороне без разрешения правообладателя. Если вам нужно обрабатывать такие данные, то описывайте как выглядят ваши данные: название столбцов, что в них находится. Если не умеете читать код, то попросите ИИ объяснить, где что код делает и где в коде надо будет что-то поправить, чтобы он работал на вашем компьютере.
- Проверьте написанный код на наличие ссылок на другие сайты. Это нужно обязательно сделать, чтобы ваш код не использовал сторонние ресурсы, которые могут быть платными.
- Проверьте, что делает код. Даже если вы не умеете писать код, не бойтесь, читать код гораздо проще, чем писать, плюс вы можете спрашивать ИИ, что делает какая-то его часть. Проверять код важно, чтобы понять, правильно ли он работает. Воспринимайте ИИ скорее как студента, которому вы дали задание, он может сделать все правильно, но и вероятность ошибки довольно большая.
Список, конечно же не является исчерпывающим, и если вам есть чем его дополнить, то обязательно напишите об этом в комментариях.
Материал подготовил Александр Зуев