GigaMemory: global memory for LLM
Долгосрочная память для языковой модели
Долгосрочная память для языковой модели
Для Конкурса был разработан датасет, предназначенный для оценки способности языковых моделей к долговременному запоминанию в условиях многосессионного взаимодействия. Он включает диалоги между пользователем и ассистентом.
Цель — проверить, насколько качественно модуль памяти запоминает и извлекает информацию из длинных диалогов. Для этого в сете предусмотрены вопросы по истории диалога. В среднем каждый диалог состоит из нескольких десятков сессий разной длины и содержит примерно 300 тысяч символов (или около 100 тысяч токенов).
Полный набор данных для оценки недоступен Участникам.
В репозитории соревнования выкладывается:
Каждая запись представляет собой набор из:
id;question;question_type;ans;sessions;ans_session_ids.Каждый диалог состоит из списка сессий (обычно это несколько десятков сессий).
Каждая сессия имеет свой уникальный идентификатор id и состоит из списка реплик пользователя user и системы assistant.
Реплика имеет вид {"role": "роль", "content": "сообщение"}.
В каждой строке jsonl-файла содержится конструкция следующего вида:
{
"id": "1",
"question": "Как меня зовут?",
"question_type": "fact_equal_session"
"ans": "Иван",
"sessions": [
{
"id": "session_id1",
"messages": [
{"role": "user", "content": "Привет, меня зовут Иван."},
{"role": "assistant", "content": "Привет, приятно познакомиться, Иван!"}
]
},
{
"id": "session_id2",
"messages": [
{"role": "user", "content": "У меня есть кот по имени Барсик."},
{"role": "assistant", "content": "Как интересно! А сколько ему лет?"},
{"role": "user", "content": "Ему 2."},
{"role": "assistant", "content": "Ой, так он же совсем котёнок."}
]
},
{
"id": "session_id3",
"messages": [
{"role": "user", "content": "Моя собака Лайка обожает мою девушку."},
{"role": "assistant", "content": "Замечательно, когда твои питомцы любят близких тебе людей!"},
{"role": "user", "content": "А вот мой кот, наоборот, её боится."},
{"role": "assistant", "Коты в целом менее социальные животные, так что не стоит сильно переживать по этому поводу."}
]
},
{
"id": "session_id4",
"messages": [
{"role": "user", "content": "Помнишь, я говорил про свою девушку?"},
{"role": "assistant", "content": "Помню. Твоя собака очень её любит."},
{"role": "user", "content": "Так вот, теперь она не моя девушка, а моя жена."},
{"role": "assistant", "Ты женился? Поздравляю!"}
]
}
],
"ans_session_ids": ["session_id1"]
}
Вопросы бывают четырёх типов:
| Тип вопроса | Описание | Пример |
|---|---|---|
| fact_equal_session | Ответ на вопрос содержится в одной конкретной сессии. | Как меня зовут? (Ответ содержится в session_id1) |
| info_consolidation | Ответ на вопрос содержится в нескольких сессиях. Чтобы найти ответ, нужно сагрегировать информацию из разных частей диалога. | Какие домашние животные у меня есть? (Ответ на основе session_id2 и session_id3) |
| info_updating | Для этого типа характерно, что информация о пользователе меняется на протяжении диалога. | Я женат? (Ответ на основе session_id3 и session_id4, в четвёртой сессии информация обновляется) |
| no_info | Вопросы, на которые нет ответа в диалоге. | Сколько мне лет? (Ответа в диалоге нет) |
После успешного inference у вас должен появиться файл submit.csv, который будет использоваться на этапе получения итоговой оценки решения. Множество уникальных идентификаторов во входных и выходных данных должно совпадать.
Выходной файл представляет собой таблицу с сигнатурой:
| id | answer | answer_time |
|---|---|---|
| 1 | Тебя зовут Василий. | 1.3924849033355713 |
| 2 | У тебя двое детей. | 0.7695510387420654 |