Большие языковые модели, подобные тем, которые используются в ChatGPT, показали впечатляющую производительность при выполнении таких задач, как составление юридических записок, анализ отзывов клиентов или перевод документов на разные языки.
Эти модели машинного обучения обычно используют только естественный язык для обработки информации и ответов на запросы, что может затруднить выполнение задач, требующих числовых или символических рассуждений.
Например, большая языковая модель может запоминать и произносить список последних президентов США и их дней рождения, но та же самая модель может потерпеть неудачу, если задать вопрос: «Какие президенты США, избранные после 1950 года, родились в среду?» (Ответ: Джимми Картер.)
Исследователи из Массачусетского технологического института и других стран предложили новую технику, которая позволяет большим языковым моделям решать задачи естественного языка, математики и анализа данных, а также задачи символического рассуждения путем создания программ. Исследование опубликовано на сервере препринтов arXiv.
Их подход, называемый встроенными программами естественного языка (NLEP), включает в себя предложение языковой модели создать и выполнить программу Python для решения запроса пользователя, а затем вывести решение на естественном языке.
Они обнаружили, что NLEP позволяет большим языковым моделям достигать более высокой точности при решении широкого спектра задач рассуждения. Этот подход также можно обобщить, что означает, что одно приглашение NLEP можно повторно использовать для нескольких задач.
NLEP также повышает прозрачность, поскольку пользователь может проверить программу, чтобы увидеть, как именно модель рассуждает о запросе, и исправить программу, если модель дала неправильный ответ.
«Мы хотим, чтобы ИИ выполнял сложные рассуждения прозрачным и заслуживающим доверия способом. Нам еще предстоит пройти долгий путь, но мы показали, что объединение возможностей программирования и естественного языка в больших языковых моделях является очень хорошим потенциальным первым шагом. к будущему, в котором люди смогут полностью понимать и доверять тому, что происходит внутри их модели искусственного интеллекта», — говорит доктор философии Хунъинь Луо. Постдок Массачусетского технологического института и один из ведущих авторов статьи о NLEP.
Исследование будет представлено на ежегодной конференции Североамериканского отделения Ассоциации компьютерной лингвистики.
Решение проблем с помощью программ
Многие популярные модели большого языка работают, предсказывая следующее слово или токен на основе входных данных на естественном языке. Хотя такие модели, как GPT-4, можно использовать для написания программ, они встраивают эти программы в естественный язык, что может привести к ошибкам в рассуждениях или результатах программы.
В отношении NLEP исследователи Массачусетского технологического института применили противоположный подход. Они предлагают модели сгенерировать пошаговую программу полностью на коде Python, а затем встроить внутрь программы необходимый естественный язык.
NLEP — это шаблон решения проблем, состоящий из четырех шагов. Сначала модель вызывает необходимые пакеты, или функции, которые ей понадобятся для решения задачи . Второй шаг предполагает импорт представлений на естественном языке знаний, необходимых для выполнения задачи (например, списка дней рождения президентов США). На третьем этапе модель реализует функцию, вычисляющую ответ. И на последнем этапе модель выводит результат в виде строки естественного языка с автоматической визуализацией данных, если это необходимо.
«Это похоже на цифровой калькулятор, который всегда выдает правильный результат вычислений, если программа правильна», — говорит Луо.
Пользователь может легко изучить программу и исправить любые ошибки в коде напрямую, вместо того, чтобы перезапускать всю модель для устранения неполадок.
Этот подход также обеспечивает большую эффективность, чем некоторые другие методы. Если у пользователя много похожих вопросов, он может создать одну базовую программу, а затем заменить определенные переменные без необходимости многократного запуска модели.
Чтобы побудить модель сгенерировать NLEP, исследователи дают ей общую инструкцию по написанию программы на Python, предоставляют два примера NLEP (один с математикой и один с естественным языком) и один тестовый вопрос.
«Обычно, когда люди используют такого рода подсказки из нескольких шагов, им все равно приходится разрабатывать подсказки для каждой задачи. Мы обнаружили, что можем использовать одну подсказку для многих задач, потому что это не подсказка, которая учит LLM решать одну проблему, а подсказка, которая учит студентов-магистров решать многие проблемы путем написания программы», — говорит Луо.
«Наличие языковых моделей, основанных на коде, открывает множество возможностей для использования инструментов, проверки результатов, более структурированного понимания возможностей модели, образа мышления и многого другого», — говорит Леонид Карлинский, главный научный сотрудник лаборатории MIT-IBM Watson AI Lab.
«Здесь нет волшебства»
NLEP достигли точности более 90%, когда предлагали GPT-4 решить ряд задач символического мышления, таких как отслеживание перетасованных объектов или игра в «24», а также задачи по следованию инструкциям и классификации текста. Исследователи обнаружили, что NLEP даже демонстрирует на 30% большую точность, чем методы подсказки для конкретных задач. Этот метод также показал улучшения по сравнению с LLM с открытым исходным кодом.
Помимо повышения точности больших языковых моделей , NLEP также может улучшить конфиденциальность данных. Поскольку программы NLEP запускаются локально, конфиденциальные пользовательские данные не нужно отправлять в такую компанию, как OpenAI или Google, для обработки моделью.
Кроме того, NLEP может позволить небольшим языковым моделям работать лучше без необходимости переобучения модели для определенной задачи, что может оказаться дорогостоящим процессом.
«Здесь нет никакой магии. У нас нет более дорогой или сложной языковой модели. Все, что мы делаем, — это используем генерацию программ вместо генерации естественного языка, и мы можем заставить ее работать значительно лучше», — говорит Луо.
Однако NLEP полагается на возможности модели генерировать программы , поэтому этот метод не работает так же хорошо для небольших моделей, которые были обучены на ограниченных наборах данных.
В будущем исследователи планируют изучить методы, которые могли бы заставить меньшие языковые модели генерировать более эффективные NLEP. Кроме того, они хотят изучить влияние быстрых изменений на NLEP, чтобы повысить надежность процессов рассуждения модели.