Magma : le modèle de fondation d'IA agentique multimodal de Microsoft 188

小编 ·

Magma : le modèle de fondation d'IA agentique multimodal de Microsoft

Magma est un modèle de fondation d'IA agentique multimodal de Microsoft, capable de gérer des interactions complexes dans des environnements virtuels et réels. Il prend en charge le sous-titrage et le QA d'images, le sous-titrage et le QA vidéo, la navigation UI et la manipulation robotique.

Magma : le modèle de fondation d'IA agentique multimodal de Microsoft

Qu'est-ce que Magma ?

Magma est un modèle de base d'agent IA multimodal lancé par Microsoft, capable de gérer des interactions complexes dans des environnements virtuels et réels, permettant le sous-titrage et la question-réponse d'images, le sous-titrage et la question-réponse de vidéos, la navigation dans les interfaces utilisateur, les opérations de robots, et bien d'autres tâches.

Fonctionnalités de Magma

  • Capacités multimodales : prend en charge le sous-titrage et la question-réponse d'images, le sous-titrage et la question-réponse de vidéos, la navigation dans les interfaces utilisateur, les opérations de robots, etc.

  • Interaction entre le monde numérique et physique : capable de gérer des tâches dans des environnements virtuels et réels.

  • Polyvalence : un modèle unique possède des capacités générales de compréhension d'images et de vidéos, tout en étant capable de générer des plans visuels et des actions orientés vers un objectif.

  • Performances avancées : excellent dans les tâches multimodales, en particulier dans la compréhension spatiale et le raisonnement.

  • Stratégie de pré-entraînement évolutive : capable d'apprendre à partir de vidéos non annotées, avec une forte capacité de généralisation.

Principes techniques de Magma

  • Pré-entraînement multimodal : combine des données d'images, de vidéos et d'actions, en réalisant un pré-entraînement à grande échelle via un cadre unifié, afin d'apprendre les connexions intermodales.

  • Set-of-Mark (SoM) : marque les objets actionnables dans les images, aidant le modèle à concrétiser ses actions.

  • Trace-of-Mark (ToM) : marque les trajectoires de mouvement des objets dans les vidéos, améliorant la compréhension de la dynamique temporelle.

  • Combinaison de la vision et du langage : utilise des réseaux convolutifs pour encoder les informations visuelles en séquences de tokens, combinées à un modèle de langage pour générer des actions ou des descriptions linguistiques.

  • Généralisation et ajustement fin : le modèle pré-entraîné possède une capacité de généralisation zero-shot, qui peut être encore améliorée par un ajustement fin.

  • Adaptation inter-tâches : applicable à de multiples tâches (telles que la navigation dans les interfaces utilisateur, les opérations de robots, la compréhension d'images et de vidéos), démontrant une forte capacité de généralisation.

Magma的技术原理.jpg

Installation et utilisation

Cloner le projet :

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

Installer les dépendances :

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

Exemple d'inférence

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)

Domaines d'application de Magma

  • Surveillance intelligente et sécurité : analyse en temps réel des flux vidéo, prédiction des comportements, amélioration des capacités de surveillance de sécurité.

  • Conduite autonome : traitement de données multimodales, assistance aux systèmes de conduite autonome.

  • Opérations robotiques : guider les robots dans l'accomplissement de tâches complexes, en s'adaptant à différents matériels.

  • Navigation et interaction dans les interfaces utilisateur : réalisation efficace d'opérations multi-étapes sur des pages web ou des interfaces d'appareils.

  • Éducation et apprentissage personnalisé : analyser les performances des étudiants, fournir des solutions pédagogiques sur mesure.

  • Diagnostic médical : combiner imagerie et dossiers médicaux pour aider les médecins à élaborer des plans de diagnostic et de traitement.

  • Création de contenu : combiner génération d'images et création textuelle pour fournir une source d'inspiration créative.

  • Assistants intelligents : fournir une navigation dans les tâches pour les assistants virtuels et guider des opérations complexes.

  • Analyse et prédiction vidéo : décrire le contenu vidéo, prédire les actions suivantes.

  • Maison intelligente et automatisation : aider les robots domestiques à apprendre de nouvelles tâches, améliorer le niveau d'automatisation.

Dépôt GitHub de Magma :https://github.com/microsoft/Magma

Site officiel du projet Magma :https://microsoft.github.io/Magma/

Article Magma sur Arxiv :https://www.arxiv.org/pdf/2502.13130