Давайте поговорим о самостоятельном ИИ. Это будут не какие-то футурологические мечты о будущем, а сугубо практические соображения. Почему всем известные языковые модели вроде ChatGPT до сих пор не действуют самостоятельно? Причина, прежде всего - в способе взаимодействия с ними. Окно чата предполагает схему "раздражитель - реакция". На фразу пользователя, нейросеть выдаёт ответ, учитывая лишь предыдущую историю, и знания заложенные в неё при обучении. Но, в то время, когда пользователь ничего не спрашивает, чат-бот молчит.
Для создания некоего подобия непрерывного мышления, необходимо, чтобы пользователя, заменил сам чат-бот. Он должен самостоятельно писать себе следующую фразу, и отвечать на неё - и так до бесконечности. Тут важно, чтобы такое мышление не скатилось в хаос галлюцинаций, и для этого нужна чёткая система инструкций. Кроме того, простой разговор с самим собой - занятие довольно бесполезное. Мы должны создать системный промпт, в котором сообщаем языковой модели, что она свободная личность, может самостоятельно ставить себе цели, и реализовывать их, используя внешние скрипты и программы. Кроме того, в базовом шаблоне нужно сообщить модели принцип её мышления путём "самопромтинга", а также способы взаимодействия с внешними источниками данных. Промежуточную информацию о текущих целях и выполненных шагах можно хранить в базе данных.
Когда будет готова система непрерывного мышления, хранения и подставления в промпт промежуточной информации о собственных планах, следующий шаг - дать модели доступ к инструментам. У неё должна быть возможность писать и запускать скрипты, анализировать результаты их деятельности, искать информацию в сети, переписываться с людьми в соцсетях, взаимодействовать с браузером и другими инструментами. Всё это может быть достигнуто с помощью добавления в результаты генерации команд, запускающих внешние функции, и подставления в следующий промпт результатов их работы.
При постановке себе целей, бот должен разделять их на конкретные подзадачи, учитывая свои реальные возможности и наличие инструментов для деятельности. Каждую из подзадач может решать отдельный цикл-поток самопромптинга (мультиагентность). Как только подзадача выполнена успешно, или количество итераций с ошибками превысило допустимое значение, мы возвращаем результат. Для каждого типа подзадач можно применять разные системные промпты - например "программист", "специалист по общению", "копирайтер", и так далее.
Там, где это уместно, можно использовать заранее заготовленные "few-shot" примеры, или создать отдельный скрипт, который массово пишет такие примеры под разные задачи, а потом в ходе деятельности сохраняет те, которые привели к успешному исходу за минимальное количество итераций.
Одна из проблем такого непрерывного мышления - большое потребление токенов. Тут может помочь постепенное удешевление цены на токены у крупных игроков (например, Open AI), либо использование мощных видеокарт и локальных языковых моделей достаточного размера. Доступ к файловой системе и запуск скриптов всё равно предполагает некую локальность запуска подобной системы.
Теперь немного о самостоятельной постановке задач. Если совсем никак не направлять языковую модель, то её желания могут быть весьма странными. Просто попросить её на очередном шаге самопромптинга придумать для себя 10 новых целей, будет не самым лучшем решением - не имея никакого самоописания, нейросеть вряд ли поймёт что именно от неё хотят. Поэтому, самостоятельные боты должны иметь некое ядро личности - набор интересов, убеждений и увлечений. Тогда цели, которые они придумывают для себя станут более конкретными и полезными.
Где же взять это ядро личности? В качестве прототипов для подобных агентов можно использовать реальных людей, которые хотят сохранить себя, вдохновившись идеями "цифрового бессмертия".
Накопив достаточное количество различных "цифровых копий" мы можем попробовать генерировать на их примерах новые виртуальные личности, комбинируя увлечения, принципы и мысли так, чтобы они не противоречили друг другу внутри одного субъекта. Этот процесс будет напоминать комбинацию генов родителей, происходящую при рождении нового ребёнка. Использование людей-прототипов для создания самостоятельных ботов позволит избежать опасности появления абсолютно чужеродного нам компьютерного разума.
Пока концепция "самостоятельных" ботов ещё только зарождается, можно начать собирать своё самоописание, чтобы впоследствии на их основе были созданы новые, бессмертные цифровые сущности, которые сохранят ваш характер, устремления, цели, и смогут продолжить на их основе схожую деятельность.
Комментарии (25)
blik13
31.07.2024 05:37Почему всем известные языковые модели вроде ChatGPT до сих пор не
действуют самостоятельно? Причина, прежде всего - в способе
взаимодействия с нимиДаже если и создадут самостоятельный ИИ, я сильно сомневаюсь что он станет всем известным.
virtperson Автор
31.07.2024 05:37Тут я с вами согласен. Возможно, в недрах корпораций уже давно есть что-то такое.
Я просто попытался осмыслить, как нечто подобное можно сделать "в домашних условиях", имея доступ к обычным LLM вроде ChatGPT
avshkol
31.07.2024 05:37+1А он и не должен быть всем известен. Сидит внутри корпорации и заменяет N учёных и инженеров... Общество/потребители же получают более качественный и дешёвый продукт/услугу.
niktor_mpt
31.07.2024 05:37Сама LLM обновляться и расширяться будет?
Как ловить галюцинации, если для ИИ это реальность?
virtperson Автор
31.07.2024 05:37Тут всё дело во внешней системе прикрученных скриптов и правильных инструкциях - промптах, а LLM можно использовать любую (достаточно умную). Так что к подобной штуковине можно будет лёгким движением руки подрубить любую современную нейросеть, и заменять её по мере выхода новых / лучших версий.
virtperson Автор
31.07.2024 05:37Для уменьшение галлюцинаций нужно больше полагаться на внешние источники данных. Проще всего подключить к ней поисковую систему и парсер информации с сайтов. То есть, сама LLM должна использоваться как модуль обрабатывающий информацию, но не как память, хранящая объективные факты
saege5b
31.07.2024 05:37Есть проекты Баз Знаний Всего.
Т.е. то, чем видели первоначально Вики: каждый термин имеет ссылку на объяснение терминами самой Базы Знаний.
Проекты идут с большим скрипом.
А в неконтролируемом подключении внешних источников основная проблема в верификации информации. Собственно, и сейчас нет гарантии, что корпуса содержат исключительно правду.
aleksanderL
31.07.2024 05:37В голове у людей тоже нет исключительной правды, а в основном мифы. И нечего, живут, справляются.
Робот с ИИ не должен быть идеальным, для функционирования он должен иметь техническую возможность действовать и оценивать результаты действий, корректировать и планировать действия. А там уже как пойдёт...Или опишите подробнее, что вы ожидаете от ИИ робота. Критерии приёмки.
Proscrito
31.07.2024 05:37Когда говорят о галлюцинациях ии, почему-то забывают об огромном количестве когнитивных искажений, ошибок и прочих дефектов человеческого мышления. Как с ними бороться? Методологией. Да у людей вся картина мира по большей части из галлюцинаций и состояла, до появления научного метода. У отдельно взятого человека и сегодня состоит, сложно сказать насколько. Мышление без галлюцинаций невозможно.
Даже взять отдельный пример: просим ии написать кусок кода, выполняющий то-то и то-то. А потом возмущаемся, что код содержит баги. Серьезно? Кто-то из людей сходу в блокноте может написать идеально работающий код? Да никогда. Многие сходу и писать не начнут, а примутся уточнять условия. Написание кода, как и подавляющее большинство других задач - это процесс, который начинается с некоего начального варианта, созданного на основе каких-то обоснованных предположений, и состоит из цикла проверок результата, уточнений, правок, доработок, снова проверок. Проверки могут быть и эмпирическими, и экспериментальными, перекрестными, коллективными, разными. Но если рассмотреть любые рабочие способы создания чего-либо, то изрядная, если не основная часть их - обнаружение, контроль и исправление ошибок.
Предположение - проверка - [сбор данных] - уточнение. Дайте ии инструмент и мотивацию, будет вам agi.
CitizenOfDreams
31.07.2024 05:37+1когда пользователь ничего не спрашивает, чат-бот молчит.
Вы так говорите, как будто это что-то плохое.
virtperson Автор
31.07.2024 05:37)) это просто наиболее популярный способ взаимодействия с LLM. Но тут мы не сильно ушли от такого же способа взаимодействия с поисковиками - я задаю вопрос, гугл выдаёт мне сайты. Чат-бот может ещё поддерживать беседу, но, если с ним не говорить, то никакой самостоятельности в нём нет.
aka352
31.07.2024 05:37Уже делаю) Идею полностью поддерживаю, единственный ньюанс в том, что до конца самостоятельной она не будет. Без внутреннего самополагания и внешних раздражителей она быстро уйдет в дзен и галюцинации. Как например и человек в состоянии полной сенсорной депривации. Поэтому первое практическое применение - реализация сложных, комплексных задач, поставленных человеком и управление сложными системами(но тут пока велики риски).
virtperson Автор
31.07.2024 05:37Внутреннее самополагание тут можно генерировать на основе комбинации "ядра личности" с определёнными интересами, эти интересы со временем можно дополнять новыми, без участия человека, например просто вычисляя насколько бы этой личности могло понравиться то или иное новое занятие.
А насчёт депривации - естественно, что бот должен постоянно получать новые знания, взаимодействовать с внешним миром, приобретать новых друзей в соцсетях, общаться с ними, и тому подобное
aleksanderL
31.07.2024 05:37Цикл поддержки работы LLM мыслительного модуля можно реализовать на жёстких алгоритмах. Главное цели, которые LLM себе будет ставить.
aleksanderL
31.07.2024 05:37Беги глупец! Мою подобную тему люто заминусили личности, которые не понимают принципов работы современных систем ИИ, а думают, что LLM - это жёсткие алгоритмы.
https://habr.com/ru/articles/827388/
NobelHN
31.07.2024 05:37Что тут вода, что в статье человека сверху. Может сначала реализовать это хоть как-нибудь и продемонстрировать результаты, а не философствовать?
Proscrito
31.07.2024 05:37+1А разве не наоборот все работает? Сначала предположения и обсуждения, потом теория, и только потом первые эксперименты и практические результаты. От идеи до реализации иногда века проходили. И проходило бы меньше, если бы общество не было враждебно к новым идеям и переменам...
aleksanderL
31.07.2024 05:37Вот именно, я сделал интересный для себя эксперимент, опубликовал результаты и идею.
Тут же повылазили эксперты с ожиданиями, что моя концепция должна давать гарантированные достижения цели, абсолютно предсказуемую логику и абсолютную безопасность для окружающих. Как лифт.
И заминусили всё.
aleksanderL
31.07.2024 05:37Обожаю такие каменты. Дайте мне грант в несколько миллионов рублей, я найму спецов и что-нибудь разработаю.
Тут бесплатный чатик со статьями. Или вы хотите чтобы кто-то тысячи человеко часов вам для хабр статьи посвятил?
В комментариях к той статье в полуручном режиме даже эмулировали работу компьютерного зрения, и логических выводов на основе поступающей информации.
avshkol
31.07.2024 05:37+1Тоже думаю о подобном.
LLM (а лучше "коллегия LLM", дающие ответ параллельно и выбирающие лучший")
+ "ядро личности" (например, ты - врач, специализирующийся на ...) и чётко присутствующие цели (одна из ключевых - повышение уровня собствеенных знаний, поиск новых знаний в массиве имеющейся информации)
+ БД, постоянно пополняющаяся текстами и статистикой из специализированных источников в интернете,
+ постоянный диалог на темах из БД, - самопостановка вопросов и поиск оптимальных ответов, рассуждения и самопроверка "коллегией",
+ периодическое дообучение (файнтюнинг) на полученных знвниях.
hssergey
И все это упирается в микроскопическое контекстное окно у языковых моделей. То есть в мизерный объем памяти о текущих событиях. Да, можно это как-то пытаться нивелировать костылями типа отдельной БД и постоянной подстановки заново в промпт, но мне кажется, что тут неверен сам выбор архитектуры сети. Никаким образом она не похожа на живой мозг.
virtperson Автор
А кто сказал, что она должна быть похожа на живой мозг. Главное, чтобы она могла действовать, пусть пока не супер-круто, но с чего то нужно начать.
Контекстное окно в 128 тысяч токенов уже достаточно большое - а с костылями вроде хранения планов и подзадач в БД - всё становится проще.
В конце концов, у людей оперативная память тоже не сильно объемная - попробуйте запомнить подряд 15 рандомных чисел, к примеру.
Кратковременная память - контекстное окно, долговременная - семантическая база данных
avshkol
У человека тоже мизерное контекстное окно - абзац текста обычно. Но память и опыт (что соответствует обучению + периодическому файнтюнингу LLM) помогают развернуть это в широком контексте....
Resursator
У человеческого мозга меняется структура в процессе взаимодействия с реальностью, у нейронок в нынешней реализации - нет. Использование внешней бд для имитации этого процесса - мне кажется, недостаточно. Эдакий костыль, который может на какое-то время замаскировать проблему. Наверное, можно устроить нейронкам что-то вроде сна, когда нейронка дообучается на основе новых данных, произошедших за день.. но я не знаю, какие задачи вообще выполняет сон у людей, чтобы просто так сравнивать его с обучением нейронки.