Ай Дайджест

Свежая выжимка ml и AI статей - каждый день

Повышение способности генерации длинных текстов с помощью LLM

В мире, где информация и контент становятся всё более важными, способность генерировать длинные, структурированные и качественные тексты приобретает ключевое значение. В последние годы большие языковые модели (LLM) показали впечатляющие результаты в обработке и понимании длинных контекстов, однако генерация длинных, согласованных с запросом ответов остаётся сложной задачей. В данной статье мы рассмотрим инновационный подход, известный как Self-Lengthen, который позволяет LLM самостоятельно улучшать свои способности к генерации длинных текстов.

Развитие LLM привело к значительным прорывам в обработке естественного языка, особенно в области понимания и генерации текста. Однако, как показали исследования, существует значительный разрыв между способностью моделей обрабатывать длинные входные данные и их способностью генерировать длинные, точно соответствующие запросу ответы. Этот разрыв обусловлен несколькими факторами:

  • Предобучение: В фазе предобучения модели имеют доступ к большим объёмам длинных текстов, но инструкции для генерации длинных текстов отсутствуют или недостаточно эффективны.
  • Постобучение: Большинство данных для постобучения состоит из коротких пар запрос-ответ, что ограничивает модели в генерации длинных ответов.

Традиционные методы, такие как инструкционный обратный перевод и имитация поведения, сталкиваются с проблемами, связанными с качеством данных, авторскими правами и ограничениями использования проприетарных моделей. В ответ на эти вызовы был разработан метод Self-Lengthen.

Концепция Self-Lengthen

Self-Lengthen — это итеративный тренировочный фреймворк, который использует только внутренние знания и навыки LLM, без необходимости в дополнительных данных или проприетарных моделей. Основная идея заключается в том, чтобы постепенно увеличивать длину генерируемых ответов через итеративный процесс, включающий два основных компонента:

  1. Генератор (Generator): Отвечает за создание начального ответа на запрос.
  2. Расширитель (Extender): Задача которого — увеличить длину ответа, созданного Генератором.

Процесс Self-Lengthen

  1. Инициализация: Генератор и Расширитель инициализируются с помощью существующей инструкционной модели.

  2. Генерация начального ответа: Генератор создаёт начальный ответ на запрос.

  3. Расширение ответа:

    • Этап 1: Первую половину начального ответа делят и расширяют с помощью Расширителя, который создаёт новую, более длинную версию этой части.
    • Этап 2: Вся начальная версия ответа подаётся на вход Расширителю, который, используя уже расширенную часть как контекст, продолжает расширение, создавая ещё более длинный ответ.
  4. Обучение на новом ответе: Полученный расширенный ответ используется для обучения как Генератора, так и Расширителя, чтобы они могли генерировать более длинные ответы в следующих итерациях.

  5. Итеративное улучшение: Этот процесс повторяется, и с каждой итерацией модели обучаются на всё более длинных ответах, постепенно увеличивая свою способность к генерации длинных текстов.

Технические аспекты

  • Инструкционное расширение: Используется метод self-instruct для создания новых инструкций, которые помогают в генерации длинных ответов.
  • Фильтрация данных: После каждой итерации применяются правила для фильтрации некачественных ответов, таких как ответы с недостаточной длиной, частым повторением или отсутствием логического завершения.
  • Сэмплирование с учетом длины: Для ускорения процесса увеличения длины ответов применяется сэмплирование, при котором более короткие ответы отбрасываются с большей вероятностью.

Эксперименты и результаты

Эксперименты, проведённые на базе моделей Qwen2 и LLaMA3, показали, что метод Self-Lengthen значительно улучшает способность LLM генерировать длинные тексты. В ходе тестирования:

  • Длина ответа: Модели, обученные с использованием Self-Lengthen, показали способность генерировать ответы в 8 раз длиннее первоначальных.
  • Качество ответа: Субъективные оценки качества ответов показали, что Self-Lengthen превосходит методы обратного перевода и имитации поведения по всем аспектам, включая релевантность, когерентность, точность и вовлечённость.
  • Общие способности: Производительность моделей на общих задачах (MMLU, AlignBench) осталась на уровне или даже улучшилась после применения Self-Lengthen.

Заключение

Метод Self-Lengthen представляет собой значительный шаг вперёд в области генерации длинных текстов с помощью LLM. Он демонстрирует, что можно значительно улучшить способность моделей к созданию длинных, качественных ответов без необходимости в дополнительных данных или проприетарных моделях. Это открывает новые возможности для использования LLM в различных приложениях, требующих создания длинных, структурированных текстов, таких как написание книг, создание технической документации или даже автоматизированное создание контента для медиа.