LLaVA-RLHF: Aligning Large Multimodal Models with Factually Augmented RLHF
Я недавно уже писал небольшие ресерчи о двух недавно появившихся (за лето 2023г) мультимодальных языковых моделей (LMMs):
- https://titanida.com/LLava-VL-Visual-Instruction-multimodal
- https://titanida.com/Qwen-VL-multimodal-model-from-alibaba
Updated: С октября 2023г. llama.cpp добавила поддержку LLaVA 1.5 начиная с релиза https://github.com/ggerganov/llama.cpp/releases/tag/b1377
В данной заметке я бы хотел рассказать о новом способе файнтюнинга модели LLaVA, с целью более точного определения контента на изображении и более точному следованию промту пользоватья. Спойлер: Авторы заявляют возможности модели на уровне GPT-4(V). Но это не точно.
RLHF - Обучение с подкреплением на основе обратной связи от человека Обучение с подкреплением на основе обратной связи от человека (RLHF) - это подход машинного обучения, который объединяет методики обучения с подкреплением, такие как вознаграждения и сравнения, с коррекцией ответов человеком, для обучения искусственного интеллекта (ИИ) агенту. Машинное обучение является важной составляющей ИИ.
LLaVA-RLHF: Согласованный большой языково-визуальный ассистент
LLaVA-RLHF является первой открытую модель RLHF, обученную с использованием мультимодальности, для восприятия и понимания визуальной (image) и языковой информации (text), достигая впечатляющих способностей визуального рассуждения и восприятия, имитируя логику мультимодальной модели GPT-4 и устанавливая новый уровень точности на LLaVA-Bench, MMBench и MMHal-Bench.
Авторы предлагают новый алгоритм выравнивания (aligment), называемый Factually Augmented RLHF (Fact-RLHF), который расширяет модель вознаграждения (reward model) дополнительной фактической информацией, такой как подписи к изображениям (image captions) и варианты множественного выбора на основе фактов, что смягчает подделку вознаграждения в RLHF и дополнительно улучшает производительность модели.
LLaVA-RLHF объединяет в себе визуальный кодировщик CLIP и языковую модель Vicuna 7 и 13 млрд (pre-trained CLIP ViT-L/14 visual encoder and large language model Vicuna), настраивается (finetune) с использованием высококачественных данных по донастройке (finetune) визуальных инструкций и Fact-RLHF, и представляется более полезной и менее галлюцинированной, чем LLaVA или другие открытые мультимодальные модели (LMM).
Большие мультимодальные модели (LMM) строятся с учетом разных модальностей, и несоответствие между двумя модальностями может привести к «галлюцинациям», генерируя текстовые результаты, которые не опираются на мультимодальную информацию в контексте.
LLaVa-RLHF соединяет предварительно обученный визуальный кодировщикCLIP ViT-L/14 и крупную языковую модель Vicuna с использованием простой матрицы проекции и модуля LoRA. Рассматривается трехэтапная процедура выравнивания:
Этап 1: Надзорное доводочное обучение.
Следуя за LLaVA, мы проводим предварительное обучение для выравнивания характеристик. Обновляется только матрица проекции на основе подмножества CC3M. Визуальный чат и инструкция HQ Multimodal: LLaVA-SFT+ настраивается на 90 тыс. задач LLaVA-Instruct, 83 тыс. задач VQA-v2 и 16 тыс. задач A-OKVQA многораундового вопросно-ответного тестирования, а также на 23 тыс. задачу по подписыванию изображений Flickr30k.
Этап 2: Сбор предпочтений человека и моделирование предпочтений.
Авторы собрали 10 тыс. предпочтений человека, где человеческие аннотаторы сравнивают два ответа и указывают на более галлюцинированный из них.
Этап 3: Фактически-дополненное RLHF.
Только модуль LoRA сверху LLaVA-SFT+ настраивается для получения модели вознаграждения на основе 10 тыс. данных о предпочтениях человека и модели RL с использованием обучения с подкреплением (PPO) на основе моделирования предпочтений человека.
Данные высокого качества по инструкциям.
https://huggingface.co/datasets/zhiqings/LLaVA-Human-Preference-10K
Авторы конвертируют VQA-v2 (83 тыс.) и A-OKVQA (16 тыс.) в задачу многораундового вопросно-ответного тестирования, а также Flickr30k (23 тыс.) в задачу подписывания изображений, и обучаем модели LLaVA-SFT+ на основе новой смеси данных, включая LLaVA-Instruct-90k (случайно выбранные из LLaVA-Instruct-150K).
Фактически-дополненный RLHF. Мы представляем новый алгоритм под названием Factually Augmented RLHF (Fact-RLHF), который калибрует сигналы вознаграждения, дополняя их дополнительной информацией, такой как подписи к изображениям или варианты множественного выбора на основе фактов. Модель вознаграждения обучается на 10 тыс. данных, учитывающих галлюцинации, и предпочтения человека.
MMHal-Bench.
Для оценки галлюцинаций в реальных сценариях авторы разработали новый оценочный бенчмарк MMHal-Bench с особым акцентом на наказание галлюцинаций с 96 парами изображение-вопрос, охватывающими 8 категорий вопросов и 12 тем объектов из OpenImages.
Ранние эксперименты авторов показывают, что LLaVA-RLHF демонстрирует впечатляющие способности визуального рассуждения и восприятия, при этом она менее галлюцинирована и более сориентирована на человека, иногда проявляя поведение мультимодальной модели GPT-4 на невидимых изображениях/инструкциях и обеспечивая относительный показатель 96,6% (по сравнению с 85,1% у LLaVA) по сравнению с GPT-4 на синтетическом мультимодальном наборе данных, и 60,1 (по сравнению с 47,5 у LLaVA) общая производительность на MMBench.
Авторы заявляют возможности модели на уровне GPT-4(V)
Возъмем теперь более конкретную задачу:
Автоматизация процесса создания методологии для проверки и оценки знаний пользователя определённого приложения, в данном случае OnlyOffice. На вход модели подал данное изображение и попросил составить список вопросов в форме:
Generate questions as structure: test_cases = [
{"question": "What is the purpose of this button?", "area": (100, 200, 50, 50)},
{"question": "How do you navigate to the next page?", "area": (300, 150, 70, 70)},
... Add more test cases ...
]
Area should be real points of controls where user should click for right answer to question.
Модель ответила в предложенном ей формате в виде структуры и сопутствующим списком вопросов:
Here are the questions in the requested format:
test_cases = [
{"question": "What is the purpose of this button?", "area": (100, 200, 50, 50)},
{"question": "How do you navigate to the next page?", "area": (300, 150, 70, 70)},
{"question": "How do you change the font size in OnlyOffice Docs?", "area": (100, 200, 50, 50)},
{"question": "How do you insert a new page in OnlyOffice Docs?", "area": (100, 200, 50, 50)},
{"question": "How do you save a document in OnlyOffice Docs?", "area": (100, 200, 50, 50)},
]
The questions and their corresponding areas are as follows:
What is the purpose of this button? The purpose of the "Home" button in OnlyOffice Docs is to navigate back to the beginning of a document or to the main menu. It allows users to easily access the different features and tools available in the software, such as creating new documents, editing existing ones, or managing their files. By clicking on the "Home" button, users can quickly move between different sections of their documents, access the main menu, or return to the beginning of a document.
How do you navigate to the next page? To navigate to the next page in OnlyOffice Docs, users can use the "Next" button, which is typically located on the right side of the screen. By clicking on the "Next" button, users can easily move to the next page of their document. Additionally, users can also use the arrow keys on their keyboard to move through the pages.
How do you change the font size in OnlyOffice Docs? To change the font size in OnlyOffice Docs, users can use the "Format" menu, which is accessible by clicking on the "Home" button and then selecting "Format" from the menu. From the "Format" menu, users can select "Font" and then choose the desired font size from the drop-down list. Alternatively, users can also use the keyboard shortcut
Пробуем на другом изображении этой же программы:
До GPT-4(V) открытым LMM пока далеко, но задел положен, всё будет зависеть от скорости сбора качественных датастетов сообществом и дообучение с учителем.