Введение в языковые модели компьютерного зрения
Vision Language Models (VLMs) могут понимать одновременно изображения и текст, что позволяет выполнять такие задачи, как создание описаний изображений, отвечать на вопросы по изображениям и проводить многомодальное рассуждение. Как и LLMs, VLMs обучены предсказывать следующий токен, но с дополнительной способностью обрабатывать визуальную информацию. Например, HuggingFaceTB/SmolVLM2-2.2B-Base является базовой моделью VLM, а HuggingFaceTB/SmolVLM2-2.2B-Instruct обучена инструкциям для взаимодействия с пользователями в чате.
В данном блоке мы рассмотрим, как эти модели строятся, как работают и, что наиболее важно, как вы можете использовать и адаптировать их для своих проектов.
По завершении этого блока вы настроите VLM с использованием тех же техник, которые вы уже изучали в предыдущих блоках (например, SFT). Как всегда, этот блок, компактный и быстрый!
Если вас интересует более глубокое погружение в компьютерное зрение, ознакомьтесь с The Community Computer Vision Course.
После завершения этого блока (и выполнения задания) не забудьте проверить свои знания с помощью квиза!
Что такое Vision Language Models?
VLMs обрабатывают изображение вместе с текстом для выполнения таких задач, как создание описаний изображений, отвечание на вопросы по изображениям и многомодальное рассуждение.
Типичная архитектура VLM состоит из изображения-кодировщика для извлечения визуальных признаков, проекционного слоя для выравнивания визуальных и текстовых представлений и языковой модели для обработки или генерации текста. Это позволяет модели устанавливать связи между визуальными элементами и языковыми понятиями.
VLMs могут использоваться в различных конфигурациях в зависимости от случая использования. Базовые модели обрабатывают общие задачи компьютерного зрения и языка, а варианты, оптимизированные для чата, поддерживают разговорные взаимодействия. Некоторые модели включают дополнительные компоненты для привязки предсказаний к визуальным свидетельствам или специализации для конкретных задач, таких как обнаружение объектов.
Последние тенденции
Добавление зрения в языковые модели открыло многие интересные направления, включая:
ВLM для рассуждений: решают сложные проблемы с использованием визуальных входов.
Специализированные ВLM: например, обнаружение объектов, сегментация или понимание документов.
Модели "зрение-язык-действие": генерируют конечные действия для робототехники.
Агентные ВLM: позволяют выполнять сложные рабочие процессы, такие как чат с документами или взаимодействие с компьютером через скриншоты.
Модели "все-в-любое": расширяют возможности за пределы зрения и текста для обработки нескольких модальностей входа/выхода (текст, изображение, аудио, видео и т. д.).
Адаптация Vision Language Models под конкретные потребности
Непосредственно подборка VLM означает адаптацию предварительно обученной модели к вашему набору данных или задаче. Вы уже видели стратегии, такие как контролируемая подстройка (SFT) и согласование предпочтений в предыдущих блоках, те же идеи применимы и здесь.
В то время как основные инструменты и методы остаются схожими с использованными для LLM, тонкая настройка VLM создает дополнительные проблемы. Ключевая из них - представление данных: изображения должны быть тщательным образом подготовлены для того, чтобы модель могла эффективно комбинировать визуальную и текстовую информацию. Другой важный фактор - размер модели. VLM часто намного больше, чем LLM, что делает эффективность критической задачей.
Чтобы сделать обучение практичным и эффективным в плане затрат, мы можем полагаться на методы, такие как квантование и PEFT (Parameter-Efficient Fine-Tuning), как мы изучали в Unit 1. Эти методы делают тонкую настройку более лёгкой, предоставляя больше возможностей для пользователей адаптировать и экспериментировать с мощными VLM.
Оценка Моделей Видео-Языка
Как мы видели в Unit 2, оценка - важный шаг как на этапе разработки, так и на производстве.
Для Видеомоделей-Языка (VLM) применимо то же правило: нам нужны проверки для оценки их возможностей и ограничений на этапе развития, и реальное тестирование для обеспечения надежности и практической ценности после внедрения.
Некоторые широко используемые универсальные проверки включают:
- MMMU & MMMU-Pro: большие комплексные проверки, требующие рассуждения через искусство, науку и инженерию.
- MMBench: свыше 3 000 вопросов с одним выбором, проверяющих навыки, такие как OCR, локализация и рассуждение.
- MMT-Bench: сосредоточено на профессиональныхSHOW_REQUEST_RESPONSE модальных задач, включая распознавание, локализацию, рассуждение и планирование.
Также есть доменные проверки, разработанные для тестирования специализированных навыков:
- MathVista: проверяет математические рассуждения в контексте изображений.
- AI2D: нацелено на понимание диаграмм.
- ScienceQA: ответы на вопросы в области естествознания.
- OCRBench: оценивает понимание документов и возможности OCR.
Наконец, для эффективного процесса оценки, OpenVLM Leaderboard предлагает набор инструментов для оценки VLM на основе множества проверок в одну команду.
То, что вы создадите
После окончания этого модуля вы:
- Узнайте, как использовать VLM с помощью библиотеки transformers
- Поймёте шаблоны чатов и форматирование разговоров для VLM
- Пройдите тонкую настройку SmolVLM на своём наборе данных
- Выполните программные и CLI-обоснованные рабочие процессы обучения
Давайте погрузимся в увлекательный мир Видео-Языковых Моделей!
Видеоуроки:
- Преимущества использования Vision Language Models (VLM) вместо отдельных моделей для обработки изображений и текста
- Масштабирование обучения на GPU с помощью LoRA
- Имплементация SmolVLM с токенизацией по типу ViT и 11K случайными двоичными токенами
- Обучение Vision Language Model с помощью ImageNet-1K с использованием PyTorch
- Выделение областей с изображений РИНУМА с помощью Vision Language Model
Документация:
Практикумы: