Как генерировать вопросы по тексту, зная правильный ответ? Датасет и русские Seq2Seq модели.
Почему возник такой вопрос? Казалось бы, есть русскоязычные LLM (типа Сайги), которые тебе и вопросы сгенерируют и ответы к ним сразу. Тогда, допустим, мы хотим генерировать вопросы с вариантами выбора по некоторому тексту, при этом убедиться, что правильный вариант ответа на вопросы в точном виде есть в тексте. Тут с LLM возникает проблема галлюцинаций и плохого следования инструкциям, а так же ограничения по ресурсам.
Тогда у нас остается 2 варианта: включить лингвиста и создавать вопросы по правилам вручную, используя PoS-тэггинг, или же человеческий, где мы обучаем хорошую, неогромную Seq2Seq модель на такой задаче. Говоря о самой задаче, я выяснил, что по-большому счету, у нее нет формального названия, лишь в каком-то гит репозитории я нашел аббревиатуру AAQG - Answer-Aware Question-Generation, которая происходит от классической QG - Question-Generation, задачи где мы генерируем вопросы без условия знания ответа.
Теперь про датасет. Для такой задачи я решил собрать все известные мне нормальные русские Closed-Domain QA датасеты, а именно sberquad, russian_super_glue/muserc и russian_super_glue/danetqa. И понял, что можно собрать из этого сразу комбинированный инструктивный датасет для задач AAQG, QA и QG, замиксовав их с весами [0.4, 0.3, 0.3]. Получившийся датасет доступен в открытом доступе на HF. Модели обученные на таком датасете умеют генерировать точные вопросы и сами отвечать на них.
Про модели. В качестве основы для моделей я взял Сберовскую SOTA FRED-T5 1.7B и 820M. Модели обучались на коллабе в 2 эпохи на упомянутом датасете, потребовалась 1 A100 40GB, но при желании можно уложится и в T4. Модели так же доступны на моем HF, коллаб с тренировкой и созданием датасета.
🤗 Примеры, код запуска, метрики и веса:
hivaze/AAQG-QA-QG-FRED-T5-1.7B
hivaze/AAQG-QA-QG-FRED-T5-large
Почему возник такой вопрос? Казалось бы, есть русскоязычные LLM (типа Сайги), которые тебе и вопросы сгенерируют и ответы к ним сразу. Тогда, допустим, мы хотим генерировать вопросы с вариантами выбора по некоторому тексту, при этом убедиться, что правильный вариант ответа на вопросы в точном виде есть в тексте. Тут с LLM возникает проблема галлюцинаций и плохого следования инструкциям, а так же ограничения по ресурсам.
Тогда у нас остается 2 варианта: включить лингвиста и создавать вопросы по правилам вручную, используя PoS-тэггинг, или же человеческий, где мы обучаем хорошую, неогромную Seq2Seq модель на такой задаче. Говоря о самой задаче, я выяснил, что по-большому счету, у нее нет формального названия, лишь в каком-то гит репозитории я нашел аббревиатуру AAQG - Answer-Aware Question-Generation, которая происходит от классической QG - Question-Generation, задачи где мы генерируем вопросы без условия знания ответа.
Теперь про датасет. Для такой задачи я решил собрать все известные мне нормальные русские Closed-Domain QA датасеты, а именно sberquad, russian_super_glue/muserc и russian_super_glue/danetqa. И понял, что можно собрать из этого сразу комбинированный инструктивный датасет для задач AAQG, QA и QG, замиксовав их с весами [0.4, 0.3, 0.3]. Получившийся датасет доступен в открытом доступе на HF. Модели обученные на таком датасете умеют генерировать точные вопросы и сами отвечать на них.
Про модели. В качестве основы для моделей я взял Сберовскую SOTA FRED-T5 1.7B и 820M. Модели обучались на коллабе в 2 эпохи на упомянутом датасете, потребовалась 1 A100 40GB, но при желании можно уложится и в T4. Модели так же доступны на моем HF, коллаб с тренировкой и созданием датасета.
🤗 Примеры, код запуска, метрики и веса:
hivaze/AAQG-QA-QG-FRED-T5-1.7B
hivaze/AAQG-QA-QG-FRED-T5-large