Первым проблему, вероятно, обнаружил китайский пользователь: он зарепортил причудливый баг на форуме OpenAI. Когда он спросил у ChatGPT, какое число больше — 9.11 или 9.9, нейросеть ответила, что 9.11.
Это заинтересовало пользователей соцсетей, и они попросили вычесть из 9.11 9.9. Получилось не -0.79, а 0.21. Верные расчеты с помощью Python нейросеть признавать отказалась: считает, язык программирования недостаточно совершенен, а вот она — молодец.
Теперь этот баг обсуждают и в России. Телеграм-канал Neural Shit отметил, что ChatGPT опять ведет себя как человек: кто еще будет сваливать вину на Python.
Проблема — в точке вместо запятой. Мы привыкли к запятой еще со школы, но во многих других странах чаще используют точку, которой в программировании обозначают плавающую запятую. Это, как оказалось, запутывает ИИ.
При этом 0.11 с 0.9 нейросеть сравнивает корректно и получает при вычитании -0.79. Самая забавная попытка ChatGPT прояснить противоречие выглядит так: 9.90 > 9.11 > 9.9.
Версия, что ChatGPT ошибочно воспринимает .11 как 1.1, не работает: тогда бы получалось 0.2, а не 0.21. Расспросы показали, что нейросеть забывает про единицу, которую она взяла «взаймы» при вычитании.
Пользователи проверили: та же проблема возникла и у Gemini, Gigachat, Gemma-2-9b, LLaMA-3-8b*. Phi-3 Mini думает, что .11 больше, чем .9. Справились с задачей Sonnet 3.5 (и то не каждый раз) и YandexGPT. LLaMA*, по словам одного из пользователей, и вовсе доказывала, что 10 больше, чем 99, потому что ни одна из 9 не больше, чем 10.
В общем, нужно не лениться перепроверять за нейросетями, все ли они сделали правильно, раз они так чудят даже со школьным материалом за 3—5 классы.
*Создатель LLAMA, Meta, признана экстремистской организацией и запрещена в России.