2021-09-29 22:20:04
Recursively Summarizing Books with Human FeedbackWu et al. [OpenAI]
arxiv.org/abs/2109.10862
openai.com/blog/summarizing-books
Эксперименты OpenAI с суммаризацией книг. По-моему это может быть одним из лучших бенчмарков "умности" текущих методов ML, поэтому я очень хайпаю статью.
Сама статья очень необычная сразу по нескольким причинам. С одной стороны, это OpenAI и мы ожидаем от них безумных экспериментов с почти неограниченными вычислительными ресурсами. С другой стороны, к этому проекту они привлекли ещё более дорогой ресурс — людей. Модель тренируется не один раз на заготовленном датасете по суммаризации, а итеративно улучшается с фидбеком от специальных тренированных людей. Фидбэк бывает двух видов: 1) человек пишет более правильное саммари 2) человек выбирает одно из двух саммари написанных моделью. В случае 1 понятно как улучшить модель — просто зафайнтюнить на дополнительных данных. Случай 2 веселее — тут используется великий и страшный reinforcement learning.
Теперь про сам подход. Он довольно простой. Допустим у вас есть текст размера 10K токенов, а модель может читать только 2К. Разделим текст на 5 чанков по 2К и для каждого из них сгенерируем саммари допустим размера 500 токенов. Потом сконкатим их и получим текст длины 2.5K токенов. Всё ещё слишком длинно — разделим его на два куска и пусть каждый из них сгенерит саммари по 500 токенов. Сконкатим эти результаты, получим текст 1000 токенов. Теперь можно получить из него финальное саммари.
Подход очень простой и решает кучу проблем. Во-первых такую разметку просто делать. Вы не заставляете людей суммаризировать целые книги, а лишь просите из суммаризировать чанки по 2K токенов. Куча плюсов: людям проще такое делать, машинам проще такое учить, плюс с одной книги получаете кучу разметки. В качестве инициализации для модели используют GPT-3.
В результате подход получается на удивление прикладным, итеративным и масштабируемым. Мне кажется, ровно так можно организовать работу команды занимающейся задачей суммаризации где-нибудь в индустрии.
По результатам: некоторые саммари близки по качеству к человекам, но их около 5% . В среднем скор человека ~6/7, а лучшей модели ~3.5/7. Естественно размер модели важен и 175млрд параметров дают огромный буст по сравнению с 6млрд. Внезапно RL хорошо зашёл и его использование улучшает скор с 2.5 до 3.5. Думаю он эффективен потому что доставать для него данные просто — людям нужно лишь выбрать одно из двух саммари, а не писать новое.
Как всегда в статье от OpenAI много интересных технических деталей, например как они выбрали на каких узлах дерева тренировать модель. Явно стоит того, чтобы потратить час на чтение.
6.9K viewsnlpcontroller_bot, edited 19:20