Делай проще или останешься в дураках!
Существует несколько основных подходов к созданию моделей сложных объектов.
Первый — классическая декомпозиция.
Мы разбиваем сложный объект на более простые подобъектов и описываем поведение этих подобъектов довольно примитивно. Сложное поведение возникает «снизу вверх» за счёт связей между ними. Пример: в военных симуляторах вместо того, чтобы пытаться смоделировать дивизию целиком, ее в модели разбивают на полки, полки — на батальоны, батальоны — на роты. Роту моделируют относительно просто. А дальше собирают: роты → батальоны → полки → дивизия. В итоге получаеся довольно сложное и достаточно правдоподобное поведение целого. Для военной игрушки — вполне достаточно.
Второй подход — поиск фундаментальных закономерностей, «параметров порядка». Здесь мы пытаемся найти то, что условно «ни от чего не зависит, но влияет на всё». "Зри в корень!"(с). Понял, как ведут себя основания системы и как они взаимодействуют друг с другом — получишь поведение целого.
Этот подход очень популярен. И когда он работает — работает красиво. Однако проблема в том, что мы плохо знаем окружающий мир. И чем глубже мы уходим к основаниям, например, экономики, тем быстрее упираемся в психологию взаимодействия людей, в формирование и распад коалиций, в динамику доверия и т.д. и т.п.. А это уже территория кибернетики третьего порядка. И далеко не всегда такой «глубокий» подход оказывается эффективным именно из-за нашей экспертно-научной немощи.
Третий подход рождается из самой сути философии.
Философия работает с аксиоматическим базисом — с сущностями, которые в определённом смысле являются симулякрами. Глубже нырнуть уже нельзя, обосновать их «из ничего» тоже невозможно. Их ценность в том, насколько они согласуются друг с другом и насколько из этого согласования рождаются другие понимания, которые потом можно соотнести с реальным миром. Это ещё Галилей понимал.
В рамках такого подхода мы берём некоторые фундаментальные вещи и пытаемся понять не просто как они связаны, а как они именно взаимообусловлены. Когда мы формируем такой базис взаимообусловленных правил и закономерностей, возникает следующий вопрос: а как это всё описать и заставить работать динамически?
И вот здесь я предлагаю инструмент, который пока в нашем обиходе носит рабочее название NX-Trender (многомерный трендер). Название, непростое. «Тренд» — понятная фундаментальная кривая или зависимость. «Рендер» — то, что создаёт, визуализирует. Получился «трендер».
Суть в том, что в трендере реализован именно третий подход, причём, на мой взгляд, в одной из самых удобных для пользователя форм. Особенно это хорошо для того пользователя, который чужд строгого математического мышления (а таких большинство среди тех, кто реально связан с задачами управления сложными системами).
Большинство таких экспертов не могут выразить свои представления о мире в виде красивых математических уравнений. Зато они прекрасно мыслят категориями «если — то». «Если вот эта ситуация имеет место быть, то начинает происходить вот это… Если тот тренд пошёл вниз, то вон тот другой тренд под влиянием внешних сил начинает медленно подниматься или, наоборот, ускорять падение…»
Такое описание через правила «если — то», увязанные между собой, позволяет радикально расширить сферу применения моделирования. Особенно там, где эксперты мыслят именно так — ситуационно и качественно (не количественно).
Конечно, сразу возникает куча вопросов: как эргономично описывать эти правила, откуда их брать, как проверять их состоятельность. И вот здесь появляется очень важное преимущество такой формы описания правил. Дело в том, что об этих правилах неплохо знают современные LLM. Надо только уметь их правильно спрашивать! И тут проявляется часть того, чем мы занимаемся уже несколько лет – гибридный интеллект. А это совсем другой качественный уровень.
Однако, это далеко не все «плюшки»! Есть тут еще много интересного ....
Еще один очевидный вопрос, который возникает практически сразу, как только начинаешь заниматься такого рода моделями - м ожно ли поручить создание базы знаний (правил ) умному ИИ, а самим только проводить ревизию и корректировку?
Конечно можно. Причем, красивое решение просто само просится в руки!
И самое главное - правила «если — то», которые формируются в режиме самообучения, остаются интерпретируемыми.
При таком подходе мы не получаем чёрный ящик, как в случае с нейросетями.
Такую модель можно читать, критиковать, целенаправленно улучшать. Она представляет собой своего рода ансамбль интеллектуальных (потому что могут обучаться!) агентов внутри базы знаний. Наша задача — подобрать и «натренировать» этот ансамбль так, чтобы он адекватно отражал реальность.
Это принципиально другой уровень работы со сложными системами — социальными, политэкономическими, военными и т.д.
Первые эксперименты с использованием больших языковых моделей для генерации и настройки таких ансамблей меня, честно говоря, очень приятно удивили. Я ожидал позитивного результата, ... иначе , чего ради я бы на это тратил время? Однако я не ожидал такого мощного и быстрого результата .....
Заключение.
Мы, похоже, находимся на переломном моменте. В ближайшее время (и скорее всего — в очень ближайшее) появятся совершенно новые подходы к моделированию действительно сложных объектов — не ядерных взрывов и т.п., а социальных, экономических, геополитических систем. Прорывы в этой области, скорее всего, не будут публичными. Мы их не увидим на конференциях и в открытой печати. Но вполне можем почувствовать на своей шкуре последствия. А если смотреть на ситуацию критически и цинично, то с вероятностью примерно 0,9 наш «противник» это уже реализовал. Потому что технология, если приглядеться, лежит на поверхности.
Надо просто уметь программировать не на уровне ПТУ.
← ко всем текстам