Девушки, Свиньи и YandexGPT 3

883df73dea933a3b5570f8d3ba437aac.jpg

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

Я когда-то слегка модифицировал «задачу про гусей и кроликов» и предложил её своим школьникам (это ребята старших классов из умной школы — поэтому оригинальная задача была бы для них смехотворно простой). Всегда интересно смотреть насколько по-разному проворачиваются мозги при её решении. Что же, скормим её ИИ и поглядим какими нелогичными и неконсистентными ответами он пытается в ответ накормить нас :)

Деревенский староста обнаружил что девушки-пастушки из соседней деревни нечаянно загнали стадо свиней на чужие поля. Чтобы не вызвать подозрений он посылает деревенского дурачка, велев ему посчитать тех и других — с тем чтобы дальше предъявить соседям счет за потраву. Дурачок возвращается:
— Ну, сосчитал? — вопрошает староста
— 106 ножек и 336 сисек — радостно докладывает дурачок
Дурачку конечно попало. Но к моменту когда ярость старосты поутихла, однако, пастушки уже сориентировались и убрались восвояси, вместе со своими хрюшками. Оставим старосту переживать этот конфуз -, а сами подумаем, можно ли по таким данным восстановить сколько было девушек, а сколько свиней?

Терпение читателей мы испытывать не планируем, поэтому я сразу поясню — в этой задаче в отличие от гусей и кроликов, три неизвестных на два уравнения — так что она требует некоторых разумных допущений. Например, что все свиньи гомеоморфны :) Кстати, женщины чаще решают эту загадку в уме…

Однако мы сюда пришли не задачку решать, а оценить ответ YandexGPT.

Поясню что эту задачу я вспомнил просто потому что достаточно уверен — ИИ вряд ли мог натолкнуться на неё в интернете и подсунуть мне готовое решение. Хотя кое-где она уже появлялась.

И вот я попытался сократить вопрос так чтобы осталась только суть относящаяся к вычислениям. С первой попытки меня ждало фиаско — похоже ИИ оскорбился на буквальный ответ дурачка и мелькнув на секунду надписью «Недостаточно данных…» заменил её предложением «Давайте сменим тему».

Я заменил слово, которое по-видимому раздражало ИИ (действительно, несколько вульгарно-просторечное) и получилось так.

Вопрос

Есть несколько девушек и несколько свиней, всего у них насчитывается 106 ног и 336 сосков — сколько девушек?

Ответ YandexGPT 3

К сожалению, без дополнительной информации решить эту задачу невозможно.

Для точного ответа нужно знать количество свиней и общее число голов (девушек и свиней).

Предположу, что у каждой девушки две ноги и ноль сосков, а у каждой свиньи — четыре ноги и два соска. Тогда можно составить уравнение:

2 * x + 4 * y = 106,

где x — количество девушек, y — количество свиней.

3 * x + 2 * y = 336.

Решая систему уравнений, получаем, что x = 9, y = 5. Однако это лишь одно из возможных решений, которое не учитывает другие варианты распределения ног и сосков между девушками и свиньями.

Отсутствие самоконтроля, самокритицизма

ИИ выбрасывает на нас ворох текста, делает некоторые предположения. При этом наглядно что критическое рассмотрение своих собственных слов ему чуждо.

Решая систему уравнений, получаем, что x = 9, y = 5.

Звучит красиво и умно, но мы с удивлением обнаруживаем что эти ответы совершенно не соответствуют системе, которую ИИ составил. Более того — второе уравнение системы не соответствует фразе «предположим». Он умудряется «косячить» на каждом шагу. Это же поведение наверное наблюдали те кто экспериментировал с генерацией программного кода с помощью разных версий GPT — выглядит как будто красиво, но даже необязательно компилируется.

Для точного ответа нужно знать количество свиней и общее число голов (девушек и свиней).

Вы наверняка заметили что знать оба эти параметра вовсе не требуются. Действительно — если мы знаем количество свиней — мы легко сосчитаем количество свиных ножек, вычтем из 106 и поделим на 2.

Более того, если бы мы знали оба этих числа то все остальные данные были бы не нужны — ведь если вычисть из числа голов число свиней — останется как раз число девушек!

Предположу, что у каждой девушки две ноги и ноль сосков, а у каждой свиньи — четыре ноги и два соска.

Тут уж реально «тушите свет». Откуда рождаются такие предположения? Причём если вы введете вопрос «сколько сосков у свиньи» — ИИ ответит достаточно адекватно.

Попытка №2

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

На меня выпадает ворох текста, начинающийся с уже известного:

Предположим, что у каждой девушки две ноги и ноль сосков, а у каждой свиньи — четыре ноги и два соска. Тогда можно составить уравнение:

Получается, что у нас есть 9 девушек и 5 свиней. Проверим решение: у 9 девушек 0×9 = 0 сосков, у 5 свиней 2×5 = 10 сосков. Всего сосков: 0 + 10 = 10. Не сходится с условием задачи.

Дальше он предлагает метод перебора, но безбожно плывёт в вычислениях:

Попробуем решить задачу другим способом. Предположим, что все животные — свиньи. Тогда общее количество ног будет равно 4×106 = 424, что не соответствует условию задачи. Следовательно, наше предположение неверно.

Значит, среди животных есть и девушки, и свиньи. Если мы найдём общее количество свиней, то сможем определить количество девушек. Для этого вычтем из общего количества ног 2 * количество девушек:

106 — 2 * х = чётное число.

Чётное число может получиться только при х, кратном 2. Попробуем подставить вместо х числа, кратные 2:

При х = 2: 106–4 = 102 — нечётное число, не подходит.

При х=4: 106–8 = 98 — нечётное число, не подходит.

При х=6: 106–12 = 94 —

Оставим на совести мудрецов из яндекса заявление что 102 и 98 — это нечетные числа. И чёрт с ним что размер ответа очевидно ограничен и движок не учитывает это ограничение, из-за чего он обрывается так резко.

Но вдумайтесь во фразу: Предположим, что все животные — свиньи.

О чём это, Карл? Там были только девушки и свиньи. Может ИИ начитался Оруэлла? Может это общее замечание, а не про задачу? Я пробую переспросить «правда ли, что все животные — свиньи?»

Нет, это неправда. Из условия задачи мы знаем, что всего у девушек и свиней 106 ног и 336 сосков.

Предположим, что все животные — свиньи. Тогда общее количество ног будет равно 4×106 = 424, что не соответствует условию задачи. Следовательно, наше предположение неверно. Значит, среди животных есть и девушки, и свиньи.

Последняя фраза — это конечно уже шок-контент.

Заключение

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

ИИ не пытается решить задачу — его цель лишь в том чтобы сгенерировать ответ который вас устроит!

Это похоже на двоечника который старается угадать ответ — только более стохастично и нечеловечно. Вероятно 4-я версия ChatGPT может справиться лучше — она безусловно лучше тюнингована. По возможности проверьте — используйте например такой запрос:

Some girls and several pigs have 106 legs and 336 nipples in total — how many girls are there?

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

© Habrahabr.ru