Мне часто приходят в голову разные идеи. Для большинства из них в течении 2-3 дней определяю: идея бредовая или нереализуемая – и откидываю, забываю её. Но что делать с оставшейся частью, непонятно: идея то ли бред, то ли классная. Не хватает мозгов (в смысле – квалификации и ресурсов), чтобы либо откинуть идею, признав ее плохой, либо реализовать.
Сейчас представляю вам идею, возникшую при знакомстве с современными моделями ИИ по типу ChatGPT.
При работе с ними часто возникают проблемы. Например, при описании того, что модели надо сделать. Сперва, как обычно, описываешь коряво и не слишком правильно. Но модель уже запомнила твое описание в истории и творит по этому описанию. Приходится сбрасывать историю. А если сбросить историю, то модель уже ничего не помнит и приходится писать все-все заново. И тогда, если модель пишет, например, код, то она не помнит то, что уже написала, и предлагает радикально отличающийся вариант кода. Хотелось бы, чтобы модель умела выборочно запоминать и выборочно забывать историю запросов.
Думая над проблемами моделей ИИ, у меня возникла идея промпт-памяти. По моей давней гипотезе, память у человека организована иерархически. В оперативной памяти хранится краткое описание и «ссылки» на более подробное воспоминание о воспоминании в более долговременной памяти. Когда человек вспоминает, он по краткому описанию находит воспоминание о воспоминании, «подгружает» его, а затем «подгружает» еще более подробное воспоминание и т.д. Если же человек в оперативной памяти потерял «ссылку» на древо воспоминаний, то он начисто забывает, что тогда происходило. Конечно, я не специалист по человеческой памяти и понятия не имею, как на самом деле она организована, но такую систему памяти, по идее, можно организовать для ИИ.
Промпт-память
На диске хранится файл с краткими описаниями событий ИИ (оперативная память) и ссылками на более подробные описания этих событий в других файлах. В них – более подробные описания и ссылки на еще более подробные файлы.
ИИ-модели могут формировать краткие описания: они этому обучены. По идее, надо лишь периодически делать к ним такие запросы. Для этого мы всегда загружаем оперативную память и просим модель по необходимости подгружать остальные файлы с воспоминаниями, событиями и навыками. По идее, просто выглядит, но непросто реализуется.
AIOverAI
ИИ-модель с отдельной промпт-памятью или аналогичной памятью другого вида – это уже другой ИИ. Ведь к этой же памяти можно подключить другую ИИ-модель. Такой ИИ я назвал «ИИ поверх ИИ». Вообще, если идея реализуется, такому ИИ можно даже обзавидоваться: захотел – и ИИ подключил себе более мощные мозги (то есть более мощную ИИ-модель, например с ChatGPT-3 на ChatGPT 5). ИИ может подключать себе навыки другого ИИ, просто скопировав нужную ветку файлов его промпт-памяти. Также модели могут обмениваться воспоминаниями.
Зависимость от слов
Со времен знакомства с нейролингвистическим программированием я убежден, что слова и понятия, которыми мы думаем, сильно влияют на наше восприятие ситуации и на наши поступки. Например, использование слова «враг» подразумевает одно отношение и действия к человеку, а «оппонент» совершенно другие отношения и действия. Мысли и слова влекут те или иные поступки.
Сегодня для ИИ, насколько я понимаю, подразумевается то, что модель будет вести себя так, как обучены веса модели. Конечно, всем сейчас известно, что при запросе лучше формулировать наиболее точный промпт, но, думаю, роль подбора точных слов может недооцениваться. Поведение ИИ-модели может сильно зависеть от тех слов, что мы используем как промпты, и от тех слов, что лежат в памяти модели. Так что ИИ-модель с другой памятью – это, возможно, уже совершенно другая ИИ.
Это еще одна гипотеза. От слов и памяти любой интеллект, конечно, зависит, но насколько зависит, неизвестно. Если зависимость не такая сильная, то ИИ поверх ИИ будет ложной идеей.
Попытки реализации
Для того чтобы идею не украли раньше времени, я попробовал реализовать ее локально, используя gpt-4all и LocalAI. У меня комп с 8ГБ видеопамяти, так что локально я могу использовать модели с 8B-параметрами. Как оказалось, gpt-4all не поддерживает function call и модель не может прочитать и записать файл. С 8B-моделями LocalAI я намучился: они то пишут, то не пишут файлы; то читают их, то сочиняют содержимое, не читая их. И самое главное – промпт «Прочитай папку history и сделай краткое описание файлов» вызывает выполнение промптов, уже бывших в истории сообщений. Модели чатов каким-то образом обучены не выполнять повторно промпты из истории чата, но промпты из прочитанных файлов выполнить пытаются.
Надо пробовать более крупные модели: возможно, они окажутся более понимающими. Но локально они уже не для моего компьютера. А при выполнении промптов через сервисы, высока вероятность, что ИИ-модели сдадут идею AIOverAI своим владельцам. Так что, хотя идея очень далека от реализации и ее пока нельзя запатентовать, приходится выкладывать ее в сеть.
Я протестировал эту идею на ИИ-моделях из сети. Как итог:
-
сжег 600 руб. на запросах к ним при ошибочных рекурсиях, однако эти модели ведут себя уже более адекватно;
-
столкнулся с временными техническими трудностями при обработке потоков от ИИ-модели.
Однако с этим я рано или поздно справлюсь. Самым сложным будет научить ИИ делать что-то полезное, манипулируя его долговременной памятью, и как-то показать, что ИИ поверх ИИ – жизнеспособная идея.
Я человек малообщительный, поэтому каждая идея, прежде чем быть озвученной, успевает пройти несколько циклов «Это бред — это классно». Таким образом, идея сама проверяется перед тем как, я ее выкладываю. Это помогает допускать меньше ошибок, но совершенно не гарантирует, что конечный текст не содержит каких-либо тривиальных заблуждений. Если я в чем-то ошибаюсь, напишите, пожалуйста, в комментариях.
И если вы считаете идею интересной, тоже напишите об этом, пожалуйста! Меня это весьма поддержит.
ссылка на оригинал статьи https://habr.com/ru/articles/872146/
Добавить комментарий