В 2017 инженеры Google опубликовали работу “Внимание – это все, что вам нужно” (Attention Is All You Need [1]), где они предложили новую модель архитектуры нейронной сети, получившую название Transformers, и показали ее эффективность для перевода текстов. А в 2022 эта технология была применена для создания Alphacode [2], который обучается решению некоторых задач соревновательного уровня по программированию.

Программирование долго оставалось недостижимой для искусственного интеллекта задачей, но вот и этот рубеж взят. Является ли тогда модель Transformers действительно тем самым искусственным интеллектом, который способен будет в ближайшем будущем заменить программистов и других работников умственного труда, или же это только шаг в развитии технологий, которые способны помогать человеку в его деятельности, но никак не способны его заменить?

Чтобы ответить на этот вопрос, рассмотрим сперва две основные модели машинного перевода. Одна из них привлекает понятие смысла: слова текста отображаются на некоторый универсальный язык смысловых сущностей, после чего эти смыслы транслируются в слова другого языка и формируется текст перевода. Такая модель доминировала в 1970–1980-е и автоматизировалась в 1990-е. Идея другой модели в том, что для перевода текста вообще не обязательно понимать его смысл. На этой модели в 2000-е начали создаваться инструменты для перевода с помощью машин, где целым кускам текста на одном языке сопоставляются куски текста на другом языке.

Является ли оперирование смыслами обязательной частью качественного перевода? Пусть есть два языка, которые позволяют описывать, например, некоторый класс машин. Задача перевода – это создание описания машины на одном языке по ее описанию на другом языке. Практика показывает, что для такого перевода действительно нет необходимости привлечения концепции смысла (сама идея автоамтического перевода пришла именно из области перевода спецификаций).

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

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

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

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

Является ли модель Transformers шагом в сторону использования смысла в машинном обучении или же шагом в сторону отказа от него? Пока об этом нельзя говорить однозначно. Можно сказать лишь, что выбор задачи перевода в качестве применения говорит о том, что использование Transformers пока направлено в те области, где использование смысла не обязательно, и сама программа обучения и интерфейс взаимодействия обучающегося автомата с окружением устроены так, что в вычислении смыслов нет никакой пользы, даже если в модели Transformers они могут быть вычислены. То, что от машины на выходе требуется программа (а программа – это некоторая сущность, которая может быть исполнена на физически существующем устройстве и выполнить некоторую полезную функцию), не говорит о том, что машина апеллирует к смыслу программы, которую она пишет: у машины нет возможности запустить код на исполнение, нет возможности увидеть возникающие при этом ошибки, и соответственно нет и возможности на этих ошибках научиться: она оперирует только словами и фразами, но не смыслами этих слов и фраз.

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

Сами авторы модели Трансформеров утверждают, что видят признаки того, что «головы
внимания» (которые являются специфическими элементами их нейронной сети)
демонстрируют поведение, связанное с синтаксической и семантической структурой
предложений. Не есть ли это умение работать со смыслами? Следующий пост - анализ статьи «Все, что вам нужно, это внимание», где мы простыми словами поясним, что было сделано, и связи с другими работами.

  1. Ashish Vaswani et al. Attention Is All You Need.

  2. Yujia Li et al. Competition-Level Code Generation with AlphaCode.

Комментарии (0)