✨ LLM-Blender: объединение больших языковых моделей с попарным ранжированием и генеративным слиянием ✨
Дунфу Цзян, Сян Рен и Билл Ючен Лин.
LLM-Blender — это ансамблевая структура, предназначенная для достижения стабильно высокой производительности за счет использования разнообразных сильных сторон нескольких моделей больших языков с открытым исходным кодом (LLM).
Есть ли необходимость в сборке LLM?
- LLM с открытым исходным кодом демонстрируют различные сильные и слабые стороны из-за различий в данных, архитектуре и гиперпараметрах, что делает их взаимодополняющими.
- Не существует одного LLM с открытым исходным кодом, который доминирует над конкурентами во всех примерах.
- Необходимо объединить выходные данные лучших LLM (на основе входных данных, задачи и предметной области), чтобы обеспечить неизменно превосходную производительность во всех примерах.
- Объединив их уникальный вклад; предубеждения, ошибки и неопределенности в отдельных LLM могут быть уменьшены, в результате чего результаты будут соответствовать человеческим предпочтениям.
Как LLM-Blender объединяет LLM?
LLM-Blender обеспечивает постоянно превосходную производительность за счет смешивания выходных данных нескольких LLM. Имеет два модуля: PairRanker и GenFuser. Первоначально PairRanker сравнивает выходные данные нескольких LLM, чтобы получить результаты с наивысшим рейтингом. Затем GenFuser объединяет первые несколько результатов с самым высоким рейтингом для создания окончательного результата, который сочетает в себе их преимущества и смягчает их недостатки.
Как работает PairRanker?
- Модуль PairRanker используется для эффективного выявления тонких различий между выходными данными-кандидатами (LLM) и ранжирования их на основе их качества.
- Выходные данные из N моделей собираются и объединяются в пары в общей сложности N(N-1)/2 способами (количество комбинаций, в которых 2 элемента выбираются из общего числа N элементов).
- Затем эти пары оцениваются по условию: учитывая ввод, подсказка, результат какого кандидата лучше.
- Во время вывода вычисляется матрица, содержащая логиты, представляющие результаты парного сравнения. И, учитывая эту матрицу, определяются и выбираются для модуля GenFuser лучшие результаты K-рейтинга.
Как работает GenFuser?
- Модуль GenFuser использует результаты модуля PairRanker с наивысшим рейтингом для создания потенциально улучшенных результатов для конечных пользователей.
- Модуль объединяет K лучших из N кандидатов и генерирует улучшенный результат, используя их сильные стороны и смягчая их слабые стороны.
Какой набор данных используется для сравнения результатов?
- Представлен новый набор данных под названием MixInstruct, предназначенный для сравнительного анализа ансамблевых моделей LLM в задачах, выполняемых по инструкциям.
- Набор данных содержит большой набор примеров инструкций от Alpaca-GPT4, Dolly-15K, GPT4-ALL-LAION и ShareGPT.
- Есть 100 тысяч примеров для обучения, 5 тысяч для проверки и 5 тысяч для тестирования.
- N = 11 популярных LLM с открытым исходным кодом получают запрос на ввод данных в набор данных. Выходные данные LLM-кандидатов оцениваются с использованием ChatGPT для всех пар-кандидатов (55 пар). Для каждой пары ChatGPT просят оценить лучшего кандидата (или объявить ничью).
Каковы результаты бенчмаркинга на MixInstruct?
- LLM имеют различные сильные и слабые стороны.
- Лучшие LLM не всегда хороши.
- PairRanker превосходит другие рейтинги LLM.
- Комплектация LLM-Blender превосходит лучшие отдельные модели.
Каковы ограничения LLM-Blender?
- Эффективность: процесс ранжирования топ-K результатов в PairRanker требует вызова модели O(n²) раз, чтобы получить оптимальную производительность. Способ обойти это — использовать несколько раундов методов пузырьковой сортировки, чтобы уменьшить количество необходимых выводов. Еще один способ повысить эффективность использования времени — выполнять выводы для PairRanker параллельно, поскольку они независимы.
- Человеческая оценка: эталонный тест и результаты используют автоматическую оценку с помощью ChatGPT. Хотя автоматическая оценка является хорошей альтернативой, оценка человеком может обеспечить более надежные и полные результаты оценки.
Для дополнительной информации
- Упрощенное объяснение LLM-Blender:
- 📜Документ: https://arxiv.org/abs/2306.02561
- ⭐GitHub: https://github.com/yuchenlin/LLM-Blender