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




