В эпоху быстрого развития AI и LLM я все чаще вижу, что многие люди думают AI заменят всех программистов и они будут не нужны. Такую мысль высказывал даже CEO Nvidia - Jensen Huang.
Но несмотря на впечатляющие достижения ИИ в области генерации кода, существует фундаментальное ограничение, которое не позволяет им полностью заменить человека в программировании — неспособность к настоящему рассуждению (reasoning).
Иллюзия интеллекта
Когда мы отправляем запрос к LLM, кажется, что он знает ответы на абсолютно все вопросы. Это выглядит магическим, но причина достаточно проста — большие LLM реально обучены на всем интернете. Это трудно вообразить, но в тренировочном наборе LLM действительно есть абсолютно весь интернет. Из-за этого уровня масштаба создается ощущение, что LLM обладает интеллектом. Но важно понимать, что это всего лишь извлечение (retrieval) уже существующих решений или их комбинаций, но никак не решение новых задач.
Тест на способность к рассуждению - Strawberry
Очень простой пример: Сколько букв r в слове strawberry? Любой человек скажет что их 3, но LLM отвечает - 2. Секрет, почему ChatGPT неверно счиатает количество букв R кроется в токенизации. Токены можно представлять как строительный блоки, которые модель использует для понимания и генерации текста. Наличие токенов позволяет быстро и эффективно обрабатывать текст, но при этом не подразумевает у модели наличия способностей к рассуждению.
В токенайзере GPT-4 можно подробно увидеть почему это происходит
С точки зрения AI, "strawberry" - это не последовательность отдельных букв, это также не серия строк [str, aw, berry], а скорее последовательность токен IDs [496, 675, 15717]. LLM несмотря на их кажущуюся магию, следует воспринимать как систему статистического моделирования, выполняющую задачу предсказания следующего токена на основе тренировочных данных. Именно поэтому она и не может посчитать количество r в слове strawberry/
Тест на способность к рассуждению - Алгоритмическая задача
Возьмем простую и достаточно старую задачу для подготовки к алгоритмической сессии почти в любую IT компанию - Invert Binary Tree. Эту задачу легко решить стажер в почти любой компании, и в ее классическом виде ее также решат все LLM.
Добавим всего несколько нюансов, чтобы сделать задачу новой, которой не было в обучающей выборке LLM.
Нужно инвертировать ключи (перестановка с обращением битов)
Решение должно быть чистой рекурсивной функцией без зависимостей
Функция должна иметь тип
Bit -> Tree -> Tree
Задачу с дополнением этих нюансов решит любой программист, умеющий кодить. При этом ни одна LLM решить ее не может, даже последние версии chatGPT, Claude или Gemini. Решение очень простое и включает всего 7 строчек, но требует способности к рассуждению.
Эти небольшие изменения достаточны, чтобы вывести задачу из "зоны запомненных решений". Ее нет в интернете, и, что самое важное, все современные ИИ не справляются с ней, независимо от того, как их запрашивать.
Ссылка на источник задачи: https://gist.github.com/VictorTaelin/45440a737e47b872d7505c6cda27b6aa
Почему это важно?
Неспособность к оригинальному мышлению: LLM могут комбинировать существующие решения, но не способны создавать действительно новые.
Ограничения в исследованиях: Эта неспособность решать новые задачи означает, что LLM не смогут вносить оригинальный вклад в научные исследования.
Иллюзия понимания: LLM создают впечатление понимания, но на самом деле они лишь воспроизводят комбинации из своей обучающей выборки.
Предел автоматизации: Хотя LLM могут автоматизировать многие задачи, они не способны заменить человека в создании действительно инновационных решений.
Стоит отметить, что LLM в любом случае дают сильный рост продуктивности текущих программистов:
Они значительно повысят продуктивность программистов.
Вероятно, автоматизируют 99% существующих задач.
Окажут влияние, сравнимое с появлением компьютеров и интернета.
Сегодня ключевое ограничение остается: LLM не способны к настоящему рассуждению и созданию оригинальных решений.
Заключение
Понимание принципов работы современного искусственного интеллекта актуально как никогда. Фундаментальное понимание того, как работает AI, поможет вам критически оценивать заявления продавцов AI-продуктов и фильтровать их утверждения о том, что AI полностью заменит программистов.
Среди рекомендуемых материалов для изучения могу выделить
Глубокое понимание принципов работы AI поможет вам лучше фильтровать новости и заявления, особенно те, которые исходят от людей, не имеющих глубокого понимания технологии.
P.S. Как early adopter AI - я занимался машинным обучением и NLP задолго до появления ChatGPT. Моя вера в потенциал этих технологий остается непоколебимой. Цель этой статьи - объективно осветить текущие ограничения LLM, признавая при этом их значительный прогресс и потенциал для дальнейшего развития. Это не критика технологии, а скорее анализ ее нынешнего состояния, направленный на стимулирование дискуссии о путях ее совершенствования.