BPS
Описание задачи
Balanced Parentheses Sequence (BPS) / Сбалансированная последовательность — алгоритмическая задача из BIG-bench. Основная цель данной задачи — измерить способность языковых моделей понимать алгоритмические концепции CS, такие как стеки, рекурсия или динамическое программирование. Каждый пример представляет из себя последовательность скобок. Задача модели — правильно ответить, сбалансирована данная последовательность или нет.
Каждый пример представляет из себя последовательность скобок. Задача модели — правильно ответить, сбалансирована данная последовательность или нет.
Входная строка сбалансирована, если:
- Открытые скобки закрываются скобками того же типа.
- Открытые скобки закрываются в правильном порядке.
- Каждой закрывающей скобке соответствует открывающая скобка того же типа.
Замечание: Это диагностическое задание с открытым тестом. Результат на ней не участвует в расчет общего результата (Total score) модели на бенчмарке.
Ключевые слова: алгоритмы, численный ответ, длина контекста, скобки, бинарный ответ.
Авторы: Harsh Mehta, Behnam Neyshabur
Мотивация
Алгоритмы — это способ экстраполяции примеров и один из способов описывать паттерны в задачах. В этом ключе способность языковых моделей понимать скобочные последовательности можно считать важным показателем “интеллекта”.
Описание датасета
Поля датасета
instruction
— строка, содержащая инструкцию для задачи и информацию о требованиях к формату вывода модели;inputs
— пример скобочной последовательности;outputs
— строка, содержащая правильный ответ: “1” если последовательность скобок сбалансирована, иначе “0”;meta
— словарь, содержащий метаинформацию:id
— целое число, обозначающее номер задания.
Пример данных
Ниже приведен пример данных:
{
"instruction": "Проверьте, сбалансирована ли входная последовательность скобок.\n\"{inputs}\"\nВыведите 1, если да и 0 в противном случае.",
"inputs": "} } ) [ } ] ) { [ { { ] ( ( ] ) ( ) [ {",
"outputs": "0",
"meta": {
"id": 242
}
}
Разбиение данных
Обучающий набор включает 250
примеров, тестовый набор включает 1000
примеров.
Промпты
Для датасета было подготовлено 10 промптов различной сложности.
Пример:
"Проверьте входную последовательность скобок: \"{inputs}\" на сбалансированность. В случае положительного ответа выведите 1, иначе 0."
Создание датасета
Последовательности скобок c длинами: 2, 4, 8, 12, 20 были сгенерированы со следующим распределением: {20: 0,336; 12:0,26; 8:0,24; 4: 0,14; 2: 0,024} для обучающего набора и: {20: 0,301; 12: 0,279; 8: 0,273, 4: 0,121; 2: 0,026} для тестового набора.
Оценка
Метрика
Для оценки качества используется Accuracy.
Человеческая оценка
Человеческая оценка замерялась на подмножестве размера 100
(с аналогичным распределением как в исходном сете). Результат на этой задаче равен 1.0
.