Ovis : un modèle d'alignement visuel et textuel pour une rétropropagation précise des mots repères de l'image
Introduction générale
Ovis (Open VISion) est un modèle de grand langage multimodal (MLLM) open source développé par l'équipe AIDC-AI de l'Alibaba's International Digital Commerce Group et hébergé sur GitHub, qui utilise une technique innovante d'alignement d'intégration structurelle pour fusionner efficacement les données visuelles et textuelles, prendre en charge les entrées multimodales telles que les images, le texte et la vidéo, et générer le contenu de sortie correspondant. En mars 2025, Ovis a lancé la famille Ovis2 (échelles de paramètres de 1B à 34B), qui offre des performances de miniaturisation supérieures, des capacités d'inférence améliorées et la possibilité de traiter des images et des vidéos à haute résolution. Destiné aux développeurs et aux chercheurs, le projet fournit une documentation et un code détaillés, met l'accent sur la collaboration open source et a déjà gagné en popularité au sein de la communauté.

Liste des fonctions
- Aide à la saisie multimodaleLe système de gestion de l'information : il gère plusieurs types d'entrée tels que les images, le texte, la vidéo, etc.
- Alignement visuel du texteLes descriptions textuelles : génèrent des descriptions textuelles qui correspondent précisément au contenu de l'image ou de la vidéo.
- Traitement d'images à haute résolutionLes images sont optimisées pour prendre en charge les images à haute résolution et conserver les détails.
- Analyse vidéo et multigraphiqueTraitement séquentiel de séquences d'images vidéo et d'images multiples : prend en charge le traitement séquentiel de séquences d'images vidéo et d'images multiples.
- Amélioration des capacités de raisonnementAméliorer le raisonnement logique grâce à l'adaptation des instructions et à la formation des OPH.
- Prise en charge de l'OCR en plusieurs languesReconnaître et traiter des textes images multilingues.
- Plusieurs options de modèlesLes modèles avec des paramètres de 1B à 34B sont disponibles pour s'adapter à différents matériels.
- Soutien à la version quantitativeLe modèle GPTQ-Int4, par exemple, permet d'abaisser le seuil opérationnel.
- Intégration de l'interface GradioFournir une interface web intuitive.
Utiliser l'aide
Processus d'installation
L'installation d'Ovis repose sur des environnements et des bibliothèques Python spécifiques, comme indiqué ci-dessous :
- Préparation de l'environnement
- Assurez-vous que Git et Anaconda sont installés.
- Cloner le dépôt Ovis :
git clone git@github.com:AIDC-AI/Ovis.git
- Créer et activer un environnement virtuel :
conda create -n ovis python=3.10 -y conda activate ovis
- Installation dépendante
- Accédez au catalogue de projets :
cd Ovis
- Installer les dépendances (basées sur
requirements.txt
) :pip install -r requirements.txt
- Installez le paquet Ovis :
pip install -e .
- (Facultatif) Installation des bibliothèques d'accélération (telles que Flash Attention) :
pip install flash-attn==2.7.0.post2 --no-build-isolation
- Accédez au catalogue de projets :
- Validation environnementale
- Vérifiez la version de PyTorch (2.4.0 recommandée) :
python -c "import torch; print(torch.__version__)"
- Vérifiez la version de PyTorch (2.4.0 recommandée) :
Comment utiliser Ovis
Ovis supporte à la fois le raisonnement en ligne de commande et les opérations de l'interface Gradio, voici un guide détaillé :
raisonnement en ligne de commande
- Préparation des modèles et des données
- Téléchargez le modèle de Hugging Face (par exemple Ovis2-8B) :
git clone https://huggingface.co/AIDC-AI/Ovis2-8B
- Préparer les fichiers d'entrée, par exemple les images
example.jpg
et l'invite "Décrivez cette image".
- Téléchargez le modèle de Hugging Face (par exemple Ovis2-8B) :
- raisonnement en cours d'exécution
- Création de scripts
run_ovis.py
: :import torch from PIL import Image from transformers import AutoModelForCausalLM # 加载模型 model = AutoModelForCausalLM.from_pretrained( "AIDC-AI/Ovis2-8B", torch_dtype=torch.bfloat16, multimodal_max_length=32768, trust_remote_code=True ).cuda() # 获取 tokenizer text_tokenizer = model.get_text_tokenizer() visual_tokenizer = model.get_visual_tokenizer() # 处理输入 image = Image.open("example.jpg") text = "描述这张图片" query = f"<image>\n{text}" prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image]) attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id) # 生成输出 with torch.inference_mode(): output_ids = model.generate( input_ids.unsqueeze(0).cuda(), pixel_values=[pixel_values.cuda()], attention_mask=attention_mask.unsqueeze(0).cuda(), max_new_tokens=1024 ) output = text_tokenizer.decode(output_ids[0], skip_special_tokens=True) print("输出结果:", output)
- Exécuter le script :
python run_ovis.py
- Création de scripts
- Voir les résultats
- Exemple de résultat : "La photo représente un chien debout dans un champ herbeux avec un ciel bleu en arrière-plan".
Fonctionnement de l'interface Gradio
- Démarrage des services
- Exécutez-le à partir du catalogue Ovis :
python ovis/serve/server.py --model_path AIDC-AI/Ovis2-8B --port 8000
- Attente de chargement, accès
http://127.0.0.1:8000
.
- Exécutez-le à partir du catalogue Ovis :
- fonctionnement de l'interface
- Télécharger une image sur l'interface.
- Saisissez des questions telles que "Qu'y a-t-il dans cette image ?" .
- Cliquez sur Soumettre pour afficher les résultats générés.
Fonctions vedettes
Traitement d'images à haute résolution
- procédureLe modèle est automatiquement partitionné (nombre maximum de partitions : 9).
- prendreLes travaux d'analyse d'œuvres d'art et d'interprétation de cartes sont les bienvenus.
- Recommandations concernant le matérielLe dernier ajout au système d'exploitation est la mémoire graphique de 16 Go, qui garantit un fonctionnement fluide.
Analyse vidéo et multigraphique
- procédure: :
- Préparer des images vidéo ou des images multiples telles que
[Image.open("frame1.jpg"), Image.open("frame2.jpg")]
. - Modifier le code d'inférence dans le
pixel_values
Le paramètre est une liste d'images multiples.
- Préparer des images vidéo ou des images multiples telles que
- prendreLes services d'aide à la décision : Analyser des clips vidéo ou des séquences d'images en continu.
- Exemple de sortieLe premier cadre est la rue, le second est le piéton.
Prise en charge de l'OCR en plusieurs langues
- procédurePour plus d'informations, veuillez consulter la rubrique "Extraire le texte de l'image" du site web de la Commission européenne.
- prendre: Numérisation de documents, traduction du texte de l'image.
- Exemples de résultats: Extraire des textes mixtes chinois et anglais et générer des descriptions.
Amélioration des capacités de raisonnement
- procédureLes questions complexes telles que "Combien de personnes y a-t-il sur l'image ? Veuillez expliquer étape par étape".
- prendre: : Éducation, tâches d'analyse des données.
- Exemple de sortieLa première étape consiste à observer une personne sur le côté gauche et la deuxième étape consiste à observer une deuxième personne sur le côté droit.
mise en garde
- exigences en matière de matérielOvis2-1B nécessite 4GB de mémoire vidéo, Ovis2-34B recommande plusieurs GPU (48GB+).
- Compatibilité des modèlesPrise en charge des principaux LLM (par exemple Qwen2.5) et ViT (par exemple aimv2).
- Retour d'information de la communautéLes questions peuvent être soumises à GitHub Issues.
Ovis2 Image Backpropagation Prompt Word One-Click Installer
Basé sur les modèles Ovis2-4B et Ovis2-2B.
Quark : https://pan.quark.cn/s/23095bb34e7c
Baidu : https://pan.baidu.com/s/12fWAbshwKY8OYcCcv_5Pkg?pwd=2727
Décompressez le mot de passe et trouvez-le vous-même à l'adresse jian27.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...