paint-brush
Почему ИИ не может подсчитать количество букв «Р» в слове «клубника»?к@kisican
8,426 чтения
8,426 чтения

Почему ИИ не может подсчитать количество букв «Р» в слове «клубника»?

к Can Kisi5m2024/08/29
Read on Terminal Reader

Слишком долго; Читать

Популярным примером является слово «клубника», в котором ИИ очень часто не может правильно подсчитать, сколько раз встречается «r». Ответ лежит глубоко в самой основе того, как эти модели обрабатывают и генерируют язык. Языковые модели не рассматривают слова как последовательность отдельных букв. Вместо этого они разбивают текст на более мелкие единицы, называемые «токенами».
featured image - Почему ИИ не может подсчитать количество букв «Р» в слове «клубника»?
Can Kisi HackerNoon profile picture

Почему ИИ не может подсчитать количество букв «R» в слове «Strawberry»?


Большие языковые модели, особенно ChatGPT от OpenAI, произвели революцию в том, как мы взаимодействовали с машинами, которые понимали и могли генерировать текст, похожий на человеческий. Но сами по себе эти модели имели своих собственных персонажей, наполненных странностями. Самая раздражающая странность, которая недавно появилась во всех социальных сетях, — это неспособность этой большой языковой модели правильно подсчитать количество определенной буквы в слове. Очень популярным примером является слово «клубника», в котором ИИ очень часто не может правильно подсчитать, сколько раз встречается «r». Но почему он это делает? Ответ лежит глубоко в самой основе того, как эти модели обрабатывают и генерируют язык.

Процесс токенизации

Одна из главных причин, по которой ИИ спотыкается на таких вопросах, как подсчет букв, заключается в том, как он на самом деле обрабатывает слова. Языковые модели, такие как GPT-3 и GPT-4, не рассматривают слова как последовательность отдельных букв. Вместо этого они разбивают текст на более мелкие единицы, называемые «токенами». Токены могут быть как короткими, как один символ, так и длинными, как целое слово, в зависимости от конструкции рассматриваемой модели и конкретного задействованного слова.


Например, слово «клубника» скорее всего будет разделено на два токена, представления частичных фрагментов слова, которые модель знает из обучения. Дело в том, что они обычно не соответствуют буквам в слове. Это связано с тем, что в таких примерах, как «клубника», ИИ может увидеть не разбиение слова на полные отдельные буквы, а два токена; например, идентификаторы токенов 496 и 675. Когда позже его попросят посчитать конкретные буквы, эта модель не найдет простого способа сопоставить токены с количеством вхождений конкретной буквы.

Механизм прогнозирования языковых моделей

По сути, языковые модели предсказывают, каким будет следующее слово или токен в последовательности, на основе контекста, заданного предыдущими словами или токенами. Это особенно подходит для создания текста, который не только связный, но и осознает свой контекст. Однако это не совсем подходит для целей, для которых вам нужно что-то точно посчитать или рассуждать об отдельных символах.


Если бы вы попросили ИИ подсчитать количество вхождений буквы "r" в слове "strawberry", у него не было бы такого точного представления слова, из которого можно было бы вывести количество и положение каждого вхождения этой буквы. Вместо этого он отвечает в соответствии с тем, что он узнал о формировании прогнозов из структуры запроса. Конечно, это может быть неточным, потому что данные, на которых он узнал, не касаются подсчета букв и могут даже не включать тип материала, который потребовался бы для отслеживания "r" в нашем примере слова.

Ограничение моделей чистого языка

Другим важным моментом является то, что языковые модели как таковые, используемые в большинстве чат-ботов, не подходят для явного подсчета или арифметики. С другой стороны, чистые языковые модели — это не более чем продвинутые словари или предиктивные текстовые алгоритмы, которые выполняют задачи, взвешенные с вероятностью на основе изученных ими шаблонов, но испытывают трудности с задачами, требующими строгого логического обоснования, такими как подсчет. Если ИИ попросить произнести слово по буквам или разбить его на отдельные буквы, он может делать это чаще, поскольку это больше соответствует задаче, на которой он был обучен: генерации текста.

Обходные пути и улучшения

Несмотря на эти ограничения, возможны улучшения в производительности ИИ в таких задачах. Их можно улучшить, попросив ИИ использовать все виды языков программирования, например, Python, для подсчета. Например, вы можете попробовать дать ИИ инструкцию написать функцию Python, которая подсчитывает количество букв "r" в слове "strawberry", и он, вероятно, сделает это правильно. Мы используем этот подход, потому что он использует способность ИИ понимать и генерировать код, который может быть выполнен для правильного выполнения задачи.

Кроме того, более поздние поколения языковых моделей объединяются с другими инструментами и алгоритмами, которые делают эти модели более мощными для более структурированных задач, которые также включают счет и арифметику.

Внедрение символических рассуждений или объединение LLM с внешними механизмами рассуждений позволило бы системе ИИ преодолеть эти недостатки.


Природа языковых моделей и «коллективная глупость»

Проблема подсчета букв в словах, например, «клубника», указывает на гораздо более масштабную и общую проблему в этом отношении: «коллективную глупость» этих обученных моделей. Эти модели, даже если они были обучены на очень больших наборах данных и, таким образом, могут выполнять генерацию текста на очень сложных уровнях, все же иногда будут совершать очень глупые ошибки, которых маленький ребенок легко избежал бы. Это происходит потому, что «знание» модели должно состоять из распознавания образов и статистических ассоциаций, а не из ее реального понимания или логического вывода.


Даже будучи проинструктированным в деталях или даже поставленным в ситуацию, когда несколько моделей проверяют друг друга, ИИ все равно может упрямо придерживаться неправильных ответов. Такое поведение наглядно демонстрирует, насколько важно не переоценивать возможности систем ИИ за пределами их сильных сторон, а в полной мере оценить, что они могут и чего не могут.


Заключение: Эволюция понимания ИИ

Неспособность ИИ подсчитать количество "r" в "клубнике" - это не просто тривиальный недостаток; скорее, это отражение базовой архитектуры и философии дизайна языковых моделей. Эти модели очень эффективны в создании текстов, похожих на человеческие, понимании контекста и эмуляции разговора, но они не предназначены напрямую для задач, которые требуют особого внимания к деталям на уровне персонажей.

С постоянным совершенствованием ИИ будущие модели, вероятно, будут более способны выполнять такие задачи за счет улучшенных процессов токенизации, интеграции дополнительных инструментов рассуждения или даже совершенно иных способов понимания и манипулирования языком. До тех пор к нему следует подходить с пониманием его ограничений, используя соответствующие обходные пути и признавая, что, хотя он может имитировать понимание, он еще не «понимает» по-настоящему так, как это делают люди.