Magma: el modelo fundacional de IA agéntica multimodal de Microsoft 184

小编 ·

Magma: el modelo fundacional de IA agéntica multimodal de Microsoft

Magma es un modelo fundacional de IA agéntica multimodal de Microsoft, capaz de gestionar interacciones complejas en entornos virtuales y reales. Admite subtitulado y preguntas sobre imágenes, subtitulado y preguntas sobre vídeo, navegación por interfaces y manipulación robótica, entre otras tareas.

Magma: el modelo fundacional de IA agéntica multimodal de Microsoft

¿Qué es Magma?

Magma es un modelo base de agente de ia multimodal lanzado por Microsoft, capaz de manejar interacciones complejas en entornos virtuales y reales, y可以实现图像字幕和问答实现 subtítulos de imágenes y preguntas y respuestas, subtítulos de 视频 y preguntas y respuestas, navegación de interfaces de usuario, operaciones de 机器人 y otras tareas.

Características de Magma

  • Capacidades multimodales: admite tareas como subtítulos y preguntas y respuestas de imágenes, subtítulos y preguntas y respuestas de videos, navegación de UI y operaciones de robots.

  • Interacción entre el mundo digital y el físico: capaz de manejar tareas en entornos virtuales y reales.

  • Versatilidad: un único modelo con capacidad general de comprensión de imágenes y videos, capaz de generar planes visuales y acciones orientados a objetivos.

  • Rendimiento avanzado: destaca en tareas multimodales, especialmente en comprensión espacial y razonamiento.

  • Estrategia de preentrenamiento escalable: capaz de aprender de videos sin etiquetar, con una gran capacidad de generalización.

Principios técnicos de Magma

  • Preentrenamiento multimodal: combina datos de imágenes, video y acciones mediante un marco unificado para preentrenamiento a gran escala, aprendiendo conexiones entre modalidades.

  • Set-of-Mark (SoM): marca objetos accionables en las imágenes para ayudar al modelo a ejecutar acciones.

  • Trace-of-Mark (ToM): marca las trayectorias de movimiento de los objetos en el video, mejorando la comprensión de la dinámica temporal.

  • Combinación de visión y lenguaje: utiliza redes convolucionales para codificar información visual en secuencias de tokens, combinada con modelos de lenguaje para generar acciones o descripciones en lenguaje natural.

  • Generalización y ajuste fino: el modelo preentrenado tiene capacidad de generalización zero-shot y puede mejorar aún más su rendimiento mediante ajuste fino.

  • Adaptación entre tareas: aplicable a múltiples tareas (como navegación de UI, operaciones de robots, comprensión de imágenes y video), mostrando una gran capacidad de generalización.

Magma的技术原理.jpg

Instalación y uso

Clonar el proyecto:

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

Instalar dependencias:

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

Ejemplo de inferencia

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)

Áreas de aplicación de Magma

  • Vigilancia inteligente y seguridad: analiza transmisiones de video en tiempo real, predice comportamientos y mejora la capacidad de monitoreo de seguridad.

  • Conducción autónoma: procesa datos multimodales para asistir a los sistemas de conducción autónoma.

  • Operación de robots: guía a los robots para completar tareas complejas y adaptarse a diferentes hardware.

  • Navegación e interacción de UI: completa de manera eficiente operaciones de varios pasos en páginas web o interfaces de dispositivos.

  • Educación y aprendizaje personalizado: analiza el rendimiento de los estudiantes y proporciona planes de enseñanza personalizados.

  • Diagnóstico médico: combina imágenes e historiales clínicos para ayudar a los médicos a formular planes de diagnóstico y tratamiento.

  • Creación de contenidos: combina generación de imágenes y creación de textos para proporcionar inspiración creativa.

  • Asistentes inteligentes: proporciona navegación de tareas para asistentes virtuales y guía operaciones complejas.

  • Análisis y predicción de video: describe el contenido del video y predice las siguientes acciones.

  • Hogar inteligente y automatización: ayuda a los robots domésticos a aprender nuevas tareas y mejora el nivel de automatización.

Repositorio de Magma en GitHub:https://github.com/microsoft/Magma

Sitio web oficial del proyecto Magma:https://microsoft.github.io/Magma/

Artículo de Magma en Arxiv:https://www.arxiv.org/pdf/2502.13130