Как генерировать более фактологический текст?
Factuality Enhanced Language Models for Open-Ended Text Generation
Есть проблема, что модель начинает выдумывать несуществующие факты. В статье предложили:
- автоматический способ оценки этого, провалидировали людьми и получили хорошую корреляцию
- метод генерации и дообучения, которые позволяют найти более хороший трейдофф между фактологичностью (factuality) и качеством (generation quality, в которую входят fluency, diversity, etc) ответа
Некоторые хайлайты и мысли:
- Жадная генерация относительно семплинга имеет бОльшую factuality, но меньшую generation quality
- Чтобы что то улучшить, хорошо бы уметь это замерять 🙂
- NLI и NER модели могут быть полезны для оценки groundness моделей; особенно если ground truth внешняя информация известна
- “Начинать интересно, продолжать уместно” - в начале генерации температуру / top-p можно делать побольше, а в течение генерации уменьшать. Так ответы будут начинаться разнообразно, но вторая половина будет не такой случайной. В итоге сохраним factuality и улучшим generation quality
- Хорошего датасета недостаточно: обычное дообучение на Википедии не улучшило фактологичность, а их метод - улучшил
- Идея по улучшению фактологичности. Разбить словарь на две части: factuality-related токены (например числа, именованные сущности) и остальное. Во время обучения лосс на первой части домнодать на коэффициент больше единицы. Во время генерации смешивать жадную вероятность над первой группой токенов и семплинг над второй. Как думаете, будет работать?)
Paper
Post #16
441
- 👍 5
- 🤔 3
- 🤯 2