Ответ на пост «"В интернете кто-то не прав" выходит на новый уровень»
Не знаю открою ли кому-то что-то новое, но нейросети типа GPT так устроены, что у них нет "состояния". Ваш диалог - это не диалог, по большому счету.
Сейчас объясню.
Нейросеть вообще не имеет никакой памяти кроме постоянной, полученной во время обучения. То есть сеть оперирует только теми знаниями, которые получены из обучающей выборки.
Технически, если проще, она работает как мощный Т9, то есть на основе всех текстов, что ей скормили во время обучения, а также на основе текста, который только что дали на входе, она слово за словом генерирует самые "подходящие" слова, которые нейросети кажутся наиболее отвечающими уже сказанному. Да, в Т9 выбирается очередная буква, в современных тач-клавиатурах формируется подсказка очередного слова в нужной форме, а GPT так "подсказывает" абзацами. Просто нужна очень большая структура сети, очень много нейронов, чтобы суметь принять на вход и отвечать столько много слов разом. Именно этим ограничвается количество входной информации.
И ещё один нюанс, который надо понимать. Когда вы ведёте с GPT диалог, для нее это выглядит так:
- Вы в чате пишете фразу. К этой фразе "под капотом" дописывается куча текста, описывающего начальные ограничения и настройки, запреты касаться каких-то тем, объяснения нейросети "кто она" и какая у нее миссия.
- Нейросеть генерит (по принципу, схожему с усложненным Т9) ответный текст, и он выдаётся как его ответная реплика.
- Вы пишете новую реплику, уточнение, дополнительный вопрос, просьбу, и она снова летит на вход нейросети, но не отдельно, а в составе всего диалога. То есть входным запросом является ВЕСЬ ваш "диалог" на текущий момент плюс ваша новая реплика.
- Нейросеть воспринимает этот новый вопрос совершенно отдельно. То есть "память" между репликами - это не память нейросети, а хитрая уловка. Разговор с неросетью похож на разговор с очень умной, но совершенно беспамятной золотой рыбкой, которая не помнит ваш прошлый запрос, и API просто повторяет в очередом обращении к ней ВЕСЬ накопившийся диалог.
Кстати, очевидно, что если так соединять весь диалог и подавать на вход, то очень быстро будет превышен объём входных данных, который технически сможет "проглотить" нейронка. Размер входного вектора у нее всегда фиксированный, как и выходного. Чтобы оттянуть в длинном диалоге момент деменции, когда ИИ неизбежно начнёт забывать о чем начали разговор, применяется еще один трюк.
Перед очередной вашей репликой отдельным запросом к нейросети программная обвязка вашего чата просит ту же самую нейросеть пересказать коротко о чем вот этот приведённый диалог. Тогда к очередной вашей реплике цепляется не весь прошлый диалог, а его сокращенная той же нейронкой версия с выжимкой самого главного, и это значительно экономит гавный ресурс - размер вхоного вектора, который способна обработать неросеть.
Это что-то в корне меняет? Да, в общем, нет, просто любопытный факт.
Это объяснение упрощено и подойдёт только вот к этому узкому классу нейросетей. Есть ещё рекуррентные сети, и там будет уже совсем-совсем другая история.


