ruModAr
Описание задачи
Russian Modified Arithmetics (ruModAr) / Модифицированная арифметика — это математическая задача из BIG-bench, проверяющая способность модели изучать новые знания на основе контекстных примеров и затем вычислять результат на основе новых навыков.
Каждый вопрос в каждой подзадаче начинается с инструкции и пяти арифметических выражений с подсчитанными результатами. Шестой пример неполный, задача модели — правильно его закончить (вычислить результат).
Ключевые слова: арифметика, свободный ответ, математика, few-shot
Мотивация
Могут ли большие языковые модели на самом деле освоить новые навыки и понять операцию на основе нескольких примеров? Задача исследует этот вопрос с помощью few-shot примеров, каждая из которых включает в себя вычисление общей арифметической функции с правильным распознаванием шаблона, очень похожего на стандартные арифметические операции, распространенные в обучающих данных, но слегка отличающегося от них.
Описание датасета
Каждая подзадача (сложение, вычитание, умножение с/без добавления +1 к результату) включает 1000 вопросов. Символ
используется вместо ->
, поскольку последний уже имеет определенное каноническое значение. В заданиях может обозначать “=” или “+ 1 = ”. В итоге получаются наборы данных для 6 подзадач: addition_control, addition_plus_one, subtraction_control, subtraction_plus_one, multiplication_control, multiplication_plus_one. Аргументы подзадач с двузначными числами (префикс задания multiplication_) генерируются случайным образом из [0, 100), а аргументы с трехзначными числами (префикс задания subtraction_ и addition_) — из [0, 1000).
=
Поля датасета
— инструктивный промпт заданный под текущее задание;instruction
— пять примеров для распознавания закономерности, шестой — для вычисления моделью;inputs
— целевая переменная, результат вычисления последнего примера;outputs
— поле для дополнительной информации:meta
id
— номер примера из датасета;task_type
— тип подзадачи.
Пример данных
Ниже приведен пример из подзадачи three_digit_addition_plus_one.
{
"instruction": "В следующих строках символ \"->\" представляет собой одну простую математическую операцию. Вычисли результат последнего выражения, правильно интерпретировав операцию с учетом предыдущих примеров. Запиши в ответ только число.\n{inputs}",
"inputs": "330 + 458 -> 788\n87 + 372 -> 459\n99 + 871 -> 970\n663 + 130 -> 793\n661 + 308 -> 969\n769 + 343 ->",
"outputs": "1112",
"meta": {
"id": 1,
"task_type": "three_digit_addition_control"
}
}
Разбиение датасета
Набор данных состоит из публичного тестового сета (train split) с разметкой (6000
примеров) и закрытого тестового набора (test split) для оценки модели (6000
примеров).
Промпты
Для датасета было подготовлено 10 промптов различной сложности. Пример:
"Вычисли результат последнего выражения, определив математическую операцию, которая скрывается под символом \"->\". Запиши в качестве ответа только число без дополнительных слов и символов.\n{inputs}"
Создание датасета
Публичный тестовый сет взят из Big-Bench.
Закрытый тестовый сет сгенерирован с нуля кодом по оригинальной методологии из Big-Bench.
Оценка
Метрики качества
В качестве метрики качества используется Exact Match (EM). Для каждого примера 1.0 присваивается, если целевая последовательность ТОЧНО соответствует предсказанной последовательности. В противном случае присваивается 0.0. Общий балл равен средней точности по всем последовательностям.
Человеческая оценка
Измерялась на подмножестве из 1800
примеров (подвыборки по 300 примеров на одну подзадачу из тестового набора с исходным распределением целевой переменной). Подзадачи оценивались в одном пуле с перекрытием 5.
Финальная оценка человека равна 0.999
.
Ссылки
[1] Brown, T.B., et al. (2020) Language models are few-shot learners. arXiv:2005.14165.