Comments 13
То, что Вы описали - это даже не пародия на LTM, а только STM.
Тоже решаю задачу сохранения памяти у ИИ персонажа и что-то как-то все не нравится.
Может есть у кого хорошие мысли или ссылки, чтобы реализовать хорошую взрослую архитекутуру памяти?
У LLM не может быть LTM, т.к. это фундаментальное ограничение, которое изначально не заложено в архитектуру. Все пляски с LTM - это всего лишь попытки улучшить STM. Большинство даже не понимают как должна работать LTM, не говоря уж про релизацию
Даже в когнитивно-символьных системах, где LTM изначально встроена в архитектуру, полностью взаимодействует с STM и локальной БЗ, то описание занимает несколько листов текста, а не "пару строк кода" как в статье
У LLM не может быть LTM, т.к. это фундаментальное ограничение
А вот и нет: теоретически трансформер может эффективно работать с произвольной длиной при некоторых модификациях. А значит, фундаментальных ограничений нет.
Да, стандартный трансформер страдает от затухающего внимания, и якобианы даже при нулевом входе затухают линейно всегда при росте последовательности и ограниченной норме логитов. А вот когда мы разрешим им быть произвольными, эта фундаментальная проблема исчезает. Конечно, появляется проблема в том, что трансформер не будет нормально работать вне обучаемой длины, но с точки зрения математики (собственно, что и является фундаментом) проблемы нет, так как мы можем обучать на той длине, которая при неограниченных ресурсах всегда будет равна нашей необходимой длине.
А при чем тут трансформер? Я говорю про уровень ядра. У LLM, ядро - это модель, веса в ней "намертво запаяны". А если что-то делается вне ядра, то это просто "костыль", как бы его не называть. Он все равно не будет иметь тот функционал, который необходим для LTM
Большая часть всех текущих LLM на базе трансформера. А значит анализировать нужно через эту архитектуру.
А при его анализе мы можем понять, что фундаментальных проблем в контексте LTM, что бы помнить произвольную длину контекста - нет. А статические веса вот вообще не проблема. Фундаментально можно расти параметры и обучать.
А что уже пробовали? RAG на базе векторной базы?
Типа такого?
Вы пробовали извлекать факты о пользователе с помощью SpaCy?
И даже если пользователь напишет "Соседская собака гадит у меня под окном" модель сочтёт что собака не у соседа, а у пользователя?
То есть в решении выборка фактов основана на ключевых словах? Точность при таком подходе будет очень низкая, лучше использовать менее мощную модель для оценки фактов и записи в системный прост.
А вообще уже давно придумали векторы для этого
Как реализовать выборочную долговременную память в LLM-боте на Python