Post content
Позалипал какое-то время на autogen от Microsoft — фреймворк для разработки приложений с использованием сразу нескольких агентов для взаимодействия друг с другом и совместного поиска решения задач. Один из примеров — Figure Creator: набор из трех агентов: Coder (пишет код для визуализации), Critic (мультимодальная модель, по картинке дающая фидбэк, что нужно исправить/улучшить) и Commander (координирует работу + общается с пользователем). В качестве мультимодальной модели выступает LLaVa, о ней и хочется сегодня рассказать, тем более, что она точно заслуживает внимания, которого не получила на волне хайпа других моделей. Статья называется Visual Instruction Tuning, вышла в апреле 2023 и рассказывает о модели, которая одновременно хорошо понимает и картинки, и текст. Основных вещей здесь 2: архитектура и сбор данных. Архитектура довольно простая: 1. Картинку прогоняем через CLIP encoder (ViT-L) + дополнительную проекцию W, которая отображает эмбеддинги токенов изображения в пространство эмбеддингов токенов текста: Hv. На первом этапе обучения как раз учится только матрица W, чтобы уметь алайнить изображения и текст. 2. Объединяем это с эмбеддингами текстового промпта (Hq) и отдаем в руки декодера, который сгенерирует ответ, в данном случае — LLaMa. На втором этапе учим уже W + Decoder правильно генерировать ответы к запросам (например, описание изображения или более детальные вопросы). 3. Vision Encoder заморожен на всем этапе обучения. Но особое внимание здесь хочется уделить методу сбора данных. О нем — следующий пост