Magma: мультимодальная базовая модель ИИ-агентов от Microsoft 187

小编 ·

Magma: мультимодальная базовая модель ИИ-агентов от Microsoft

Magma — мультимодальная базовая модель ИИ-агентов от Microsoft, способная обрабатывать сложные взаимодействия в виртуальных и реальных средах. Поддерживает подписи к изображениям и ответы на вопросы, субтитры к видео и QA, навигацию в UI, управление роботами и другие задачи.

Magma: мультимодальная базовая модель ИИ-агентов от Microsoft

Что такое Magma?

Magma — это мультимодальная базовая модель-агент ai, выпущенная Microsoft, способная обрабатывать сложные взаимодействия в виртуальной и реальной средах, выполняя такие задачи, как создание подписей к изображениям и ответы на вопросы, видеосубтитры и ответы на вопросы, навигация по интерфейсам, управление роботами и многие другие.

Особенности и возможности Magma

  • Мультимодальные возможности: поддерживает создание подписей к изображениям и ответы на вопросы, видеосубтитры и ответы на вопросы, навигацию по UI, управление роботами и другие задачи.

  • Взаимодействие с цифровым и физическим миром: способна обрабатывать задачи в виртуальной и реальной средах.

  • Универсальность: единая модель обладает общими возможностями понимания изображений и видео, а также способна генерировать визуальные планы и действия, управляемые целью.

  • Передовые характеристики: демонстрирует отличные результаты в мультимодальных задачах, особенно в пространственном понимании и рассуждениях.

  • Масштабируемая стратегия предобучения: способна обучаться на немаркированных видео, обладает высокой способностью к обобщению.

Технические принципы Magma

  • Мультимодальное предобучение: объединяет данные изображений, видео и действий, проводит крупномасштабное предобучение через единую структуру для изучения связей между модальностями.

  • Set-of-Mark (SoM): маркирует интерактивные объекты на изображениях, помогая модели реализовать выполнение действий.

  • Trace-of-Mark (ToM): маркирует траектории движения объектов в видео, усиливая понимание временной динамики.

  • Объединение зрения и языка: использует свёрточные сети для кодирования визуальной информации в последовательность токенов, объединяемую с языковой моделью для генерации действий или языковых описаний.

  • Обобщение и дообучение: предобученная модель обладает способностью к обобщению с нулевым числом примеров, производительность может быть дополнительно повышена путём дообучения.

  • Межзадачная адаптация: подходит для множества задач (таких как навигация по UI, управление роботами, понимание изображений и видео), демонстрируя мощные способности к обобщению.

Magma的技术原理.jpg

Установка и использование

Клонирование проекта:

git clone https://github.com/microsoft/Magma.git
cd Magma

Установка зависимостей:

conda create -n magma python=3.10 -y
conda activate magma
pip install --upgrade pip
pip install -e .

Пример инференса

from PIL import Image
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
model = AutoModelForCausalLM.from_pretrained("microsoft/Magma-8B", trust_remote_code=True)
processor = AutoProcessor.from_pretrained("microsoft/Magma-8B", trust_remote_code=True)
model.to("cuda")
image = Image.open("example.jpg").convert("RGB")
convs = [
    {"role": "system", "content": "You are an agent that can see, talk and act."},
    {"role": "user", "content": "\nWhat is in the image?"}
]
prompt = processor.tokenizer.apply_chat_template(convs, tokenize=False, add_generation_prompt=True)
inputs = processor(images=[image], texts=prompt, return_tensors="pt").to("cuda")
with torch.inference_mode():
    generate_ids = model.generate(**inputs)
response = processor.decode(generate_ids[0], skip_special_tokens=True).strip()
print(response)

Области применения Magma

  • Интеллектуальный мониторинг и безопасность: анализ видеопотоков в реальном времени, прогнозирование поведения, повышение возможностей систем безопасности.

  • Автономное вождение: обработка мультимодальных данных для помощи системам автономного вождения.

  • Управление роботами: руководство роботами при выполнении сложных задач, адаптация к различному оборудованию.

  • Навигация по UI и взаимодействие: эффективное выполнение многоэтапных операций на веб-страницах или в интерфейсах устройств.

  • Образование и персонализированное обучение: анализ успеваемости учащихся, предоставление индивидуальных учебных программ.

  • Медицинская диагностика: объединение визуальных исследований и историй болезни для помощи врачам в разработке планов диагностики и лечения.

  • Создание контента: объединение генерации изображений и текстового творчества для вдохновения и идей.

  • Интеллектуальные помощники: обеспечение навигации по задачам и руководства сложными операциями для виртуальных ассистентов.

  • Анализ и прогнозирование видео: описание содержания видео, прогнозирование следующих действий.

  • Умный дом и автоматизация: помощь домашним роботам в освоении новых задач, повышение уровня автоматизации.

Репозиторий Magma на GitHub:https://github.com/microsoft/Magma

Официальный сайт проекта Magma:https://microsoft.github.io/Magma/

Статья Magma на Arxiv:https://www.arxiv.org/pdf/2502.13130