Qwen2.5-VL : Un grand modèle multimodal à source ouverte pour l'analyse des images et des documents vidéo
Introduction générale
Qwen2.5-VL est un grand modèle multimodal open source développé par l'équipe de Qwen dans Alibaba Cloud. Il peut traiter simultanément du texte, des images, des vidéos et des documents. Il s'agit d'une version améliorée de Qwen2-VL, construite sur le modèle de langage Qwen2.5. Officiellement, il est grandement amélioré dans l'analyse de documents, la compréhension de vidéos et les fonctions d'agent intelligent, et prend en charge quatre échelles de paramètres, 3B, 7B, 32B et 72B, pour répondre à une variété de besoins, des ordinateurs personnels aux serveurs. Le projet est hébergé sur GitHub sous la licence Apache 2.0 et est gratuit et open-source. qwen2.5-VL obtient de bons résultats dans plusieurs tests, certaines mesures étant plus performantes que celles du modèle fermé, ce qui le rend adapté aux développeurs pour construire des outils intelligents, tels qu'un extracteur de documents, un analyseur vidéo ou un assistant d'utilisation d'appareil.

Liste des fonctions
- Reconnaissance d'objets, de textes et de mises en page dans des images, avec prise en charge des scènes naturelles et de plusieurs langues.
- Comprendre des vidéos très longues (plus d'une heure) et localiser des clips d'événements d'une seconde.
- Il analyse des documents complexes et extrait des textes manuscrits, des tableaux, des graphiques et des formules chimiques.
- Contrôler un ordinateur ou un téléphone portable par le biais de commandes visuelles et textuelles pour exécuter des tâches d'agent intelligent.
- Produit des données structurées, telles que des coordonnées ou des informations d'attributs au format JSON.
- Il prend en charge l'ajustement dynamique de la résolution et de la fréquence d'images afin d'optimiser l'efficacité du traitement vidéo.
Utiliser l'aide
Processus d'installation
Pour exécuter Qwen2.5-VL localement, vous devez préparer l'environnement logiciel. Voici les étapes détaillées :
- Inspection de l'environnement de base
Python 3.8+ et Git sont requis. Vérifiez le terminal en entrant la commande suivante :
python --version
git --version
Si vous ne l'avez pas installé, vous pouvez le télécharger sur les sites web de Python et de Git.
- Télécharger le code
Exécutez la commande suivante dans un terminal pour cloner votre dépôt GitHub :
git clone https://github.com/QwenLM/Qwen2.5-VL.git
cd Qwen2.5-VL
- Installation des dépendances
Le projet nécessite des bibliothèques Python spécifiques, qui sont installées en exécutant la commande suivante :
pip install git+https://github.com/huggingface/transformers@f3f6c86582611976e72be054675e2bf0abb5f775
pip install accelerate
pip install qwen-vl-utils[decord]
pip install 'vllm>0.7.2'
Si vous disposez d'un GPU, installez PyTorch avec le support CUDA :
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
Notes :decord
Pour un chargement accéléré de la vidéo, les utilisateurs non-Linux peuvent télécharger la vidéo à partir du site web decord GitHub Installation du code source.
- modèle d'amorçage
Téléchargez et exécutez le modèle, par exemple la version 7B :
vllm serve Qwen/Qwen2.5-VL-7B-Instruct --port 8000 --host 0.0.0.0 --dtype bfloat16
Les modèles sont automatiquement téléchargés depuis Hugging Face et les services locaux sont lancés.
Comment utiliser les principales fonctionnalités
Après l'installation, Qwen2.5-VL peut être utilisé à partir d'un code ou d'une interface web.
reconnaissance d'images
Vous voulez que le modèle décrive l'image ? Créez un nouveau image_test.py
, entrez le code suivant :
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
from PIL import Image
model = Qwen2VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
messages = [{"role": "user", "content": [{"type": "image", "image": "图片路径或URL"}, {"type": "text", "text": "描述这张图片"}]}]
text = processor.apply_chat_template(messages, tokenize=False)
inputs = processor(text=[text], images=[Image.open("图片路径或URL")], padding=True, return_tensors="pt").to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)
Lorsqu'il est exécuté, le modèle produit une description, par exemple "L'image montre un chat assis sur le rebord d'une fenêtre".
Compréhension vidéo
Des fichiers locaux doivent être préparés pour l'analyse de la vidéo (par ex. video.mp4
). Utilisez le code suivant :
messages = [{"role": "user", "content": [{"type": "video", "video": "video.mp4"}, {"type": "text", "text": "总结视频内容"}]}]
text = processor.apply_chat_template(messages, tokenize=False)
inputs = processor(text=[text], videos=[processor.process_video("video.mp4")], padding=True, return_tensors="pt").to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)
Le résultat pourrait être : "La vidéo montre un concours de cuisine où les concurrents préparent des pizzas".
résolution des documents
Téléchargez un PDF ou une image, utilisez un code similaire à la reconnaissance d'image, changez l'invite en "Extraire les données du tableau", le modèle renverra des résultats structurés, comme par exemple :
[{"列1": "值1", "列2": "值2"}]
Agents intelligents
Vous souhaitez contrôler un appareil ? Utilisez la fonction cookbooks/computer_use.ipynb
Exemple. Après l'avoir lancé, tapez "Ouvrez le bloc-notes et tapez 'Hello'" et le modèle simulera l'opération et renverra le résultat.
Utilisation de l'interface web
être en mouvement web_demo_mm.py
Lancer l'interface web :
python web_demo_mm.py
accès au navigateur http://127.0.0.1:7860
Si vous ne savez pas si vous devez télécharger un fichier ou entrer une commande, le modèle la traitera directement.
optimiser les performances
- Flash Attention 2: Raisonnement accéléré, utilisé après l'installation :
pip install -U flash-attn --no-build-isolation python web_demo_mm.py --flash-attn2
- Ajustement de la résolution: Réglages
min_pixels
répondre en chantantmax_pixels
Contrôlez la taille de l'image, par exemple entre 256 et 1280, pour équilibrer la vitesse et la mémoire.
scénario d'application
- recherche universitaire
Les étudiants téléchargent des images de leur thèse, le modèle extrait des formules et des données et génère une analyse. - clip vidéo
Le créateur saisit une longue vidéo et le modèle extrait les séquences clés pour générer un résumé. - Gestion des documents d'entreprise
L'employé télécharge une copie scannée du contrat, le modèle extrait les clauses et produit le formulaire. - assistant intelligent
L'utilisateur utilise des images et des commandes vocales pour que le modèle recherche des informations sur les vols sur son téléphone portable.
QA
- Quelles sont les langues prises en charge ?
Prend en charge le chinois, l'anglais et plusieurs langues (par exemple, le français et l'allemand), reconnaît les textes multilingues et les contenus manuscrits. - Quelles sont les exigences en matière de matériel ?
Le modèle 3B nécessite 8 Go de mémoire vidéo, le modèle 7B 16 Go et les appareils professionnels avec 24 Go ou plus de mémoire vidéo sont recommandés pour les modèles 32B et 72B. - Comment gérer les vidéos très longues ?
Les modèles sont échantillonnés avec des fréquences d'images dynamiques et sont capables de comprendre des heures de vidéo et de repérer des événements de second niveau.
© 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...