Molmo (Multimodal Open Language Model) — открытая мультимодальная модель, умеющая обрабатывать картинки и текст (vision-language
model (VLM)).
Модель построена на Vision Transformer (ViT) и большой языковой модели (БЯМ, LLM):
- MolmoE-1B основана на OLMoE-1B-7B,
- Molmo-7B-O и Molmo-7B-D основаны на OLMo-7B и Qwen2 7B, соответственно,
- Molmo-72B основана на Qwen2 72B.
По бенчмаркам, модели Molmo работают не хуже GPT-4v.
Для создания этих моделей, авторы взяли готовые обученные БЯМ, ViT, и обучили их на своих данных в два этапа:
1. тренировка на парах изображение — описание (датасет PixMo-Cap).
2. тренировка на смеси академических наборов данных (VQA v2, TextVQA, OK-VQA, ChartQA и т.д.) и набора данных PixMo-⋆.
Все параметры модели обновляются на обеих этапах. RLHF (reinforcement learning from human feedback) не использовался.
PixMo-Cap
PixMo-Cap представляет собой 712 тыс. изображений с ~1.3 млн описаний (включая аугментацию).
Картинки найдены в интернете и разбиты на наборы из ~70 высокоуровневых тем (уличные знаки, мемы, еда, рисунки, веб-сайты, размытые фотографии и т. д.). Для каждого изображения три человека (аннотатора) наговаривали подробное описание изображения с длительностью описания не менее 60 секунд (позднее использовали 90 секунд и всего одного аннотатора).
Люди в своих описаниях отвечали на список простых вопросов:
• Что представляет собой изображение на первый взгляд?
• Каковы объекты и их количество?
• О чем говорится в тексте?
• Каковы положения объектов?
• Какие тонкие детали заметны?
• Что находится на заднем плане?
• Каков стиль и цвет?
Полученное аудио с описанием транскрибировалось в текст, а затем обрабатывалось БЯМ для улучшения качества текста (удаления речевых артефактов, нормализации стиля и т.п.). Кроме того, это позволило аугментировать данные, создав четвёртое описание изображения, попросив БЯМ выполнить суммаризацию трёх исходных текстов в одно описание.
PixMo-⋆
Для второго этапа использовались несколько наборов данных:
- PixMo-AskModelAnything — 73k изображений и 162k пар вопрос-ответ.
- PixMo-Points — 428k изображений и 2.3M пар вопрос-ответ.
- PixMo-CapQA — 165k изображений и 214k пар вопрос-ответ.
- PixMo-Docs — 255k изображений и 2.3M пар вопрос-ответ.
- PixMo-Clocks — 160k изображений и 826k пар вопрос-ответ.
В чём суть этих наборов данных можно почитать в статье, но необходимо особо отметить самый интересный набор данных — PixMo-Points. Он позволяет модели указывать (помечать точкой) на что-либо, описываемое текстом и использовать указание как естественную форму визуального объяснения при ответе на вопросы. Чтобы собрать эти данные, людей просили указать на что-либо на изображении, написать его описание, а затем указать на каждый экземпляр этого на изображении (собирались так же данные по «отсутствующим» объектам, чтобы модели могли научиться правильно реагировать, когда их спрашивают о чем-то, чего нет на изображении).
Molmo и роботы
Получив модель, которая может на изображении указать интересующий объект, теперь можно воспользоваться моделями, которые генерируют траекторию движения до конечной точки и тем самым получить систему, которая может использоваться в роботе.
Вывод
Очень интересная работа, которая опять отмечает важность данных и качественной разметки.
Парадигма «ChatGPT с актуаторами» продолжает своё развитие.
Статьи
- Deitke M. et al. Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Multimodal Models //arXiv preprint arXiv:2409.17146. – 2024.
Ссылки
По теме
- Figure.ai показали как их робот-андроид работает под управлением OpenAI
- OpenVLA — открытая модель Vision-Language-Action
- LeRobot — открытые модели и утилиты для робототехники от Hugging Face
- Awesome-LLM-Robotics — список статей про использование больших языковых моделей в робототехнике
- TidyBot — персонализированный робот-помощник на основе больших языковых моделей
- Нейросеть Jack of All Trades от HuggingFace — открытый аналог Gato от Deepmind