Qwen2.5-VL: un gran modelo multimodal de código abierto para el análisis sintáctico de documentos de imagen y vídeo
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 11.3K 00
Introducción general
Qwen2.5-VL es un gran modelo multimodal de código abierto desarrollado por el equipo Qwen en Alibaba Cloud. Puede procesar simultáneamente texto, imágenes, vídeos y documentos, y es una versión mejorada de Qwen2-VL, construida sobre el modelo de lenguaje Qwen2.5. Oficialmente, ha mejorado considerablemente las funciones de análisis sintáctico de documentos, comprensión de vídeo y agente inteligente, y admite cuatro escalas de parámetros, 3B, 7B, 32B y 72B, para satisfacer una gran variedad de necesidades, desde ordenadores personales hasta servidores. El proyecto está alojado en GitHub bajo licencia Apache 2.0 y es gratuito y de código abierto. qwen2.5-VL obtiene buenos resultados en varias pruebas, con algunas métricas que superan al modelo de código cerrado, lo que lo hace adecuado para que los desarrolladores construyan herramientas inteligentes, como un extractor de documentos, un analizador de vídeo o un asistente de funcionamiento de dispositivos.

Lista de funciones
- Reconozca objetos, texto y diseños en imágenes, con compatibilidad con escenas naturales y varios idiomas.
- Comprender vídeos muy largos (más de una hora) y localizar clips de eventos de un segundo.
- Analiza documentos complejos y extrae texto manuscrito, tablas, gráficos y fórmulas químicas.
- Controlar un ordenador o un teléfono móvil mediante órdenes visuales y textuales para realizar tareas de agente inteligente.
- Emite datos estructurados, como coordenadas o información de atributos en formato JSON.
- Admite el ajuste dinámico de la resolución y la frecuencia de imagen para optimizar la eficacia del procesamiento de vídeo.
Utilizar la ayuda
Proceso de instalación
Para ejecutar Qwen2.5-VL localmente, es necesario preparar el entorno de software. A continuación se detallan los pasos a seguir:
- Inspección del entorno básico
Se requiere Python 3.8+ y Git. Compruebe el terminal introduciendo el siguiente comando:
python --version
git --version
Si no lo tienes instalado, puedes descargarlo de los sitios web de Python y Git.
- Descargar código
Ejecuta el siguiente comando en un terminal para clonar tu repositorio de GitHub:
git clone https://github.com/QwenLM/Qwen2.5-VL.git
cd Qwen2.5-VL
- Instalación de dependencias
El proyecto requiere librerías Python específicas, que se instalan ejecutando el siguiente comando:
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 tienes una GPU, instala PyTorch con soporte CUDA:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
Notas:decord
Para acelerar la carga del vídeo, los usuarios que no sean de Linux pueden descargarlo de la página decord GitHub Instalación del código fuente.
- modelo de cebado
Descargue y ejecute el modelo, por ejemplo, la versión 7B:
vllm serve Qwen/Qwen2.5-VL-7B-Instruct --port 8000 --host 0.0.0.0 --dtype bfloat16
Los modelos se descargan automáticamente de Hugging Face y se inician los servicios locales.
Cómo utilizar las principales funciones
Tras la instalación, Qwen2.5-VL puede manejarse desde código o interfaz web.
reconocimiento de imágenes
¿Quieres que el modelo describa la imagen? Crea una nueva image_test.py
introduce el siguiente código:
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)
Cuando se ejecuta, el modelo emite una descripción, por ejemplo, "La imagen muestra un gato sentado en el alféizar de una ventana".
Comprensión del vídeo
Es necesario preparar archivos locales para analizar el vídeo (por ejemplo video.mp4
). Utilice el siguiente código:
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)
La salida podría ser: "El vídeo muestra un concurso de cocina en el que los concursantes hacen pizzas".
resolución de documentos
Cargue un PDF o una imagen, utilice un código similar al de reconocimiento de imágenes, cambie el prompt a "Extraer datos de tabla", el modelo devolverá resultados estructurados, como:
[{"列1": "值1", "列2": "值2"}]
Agentes inteligentes
¿Quieres controlar un dispositivo? Utilice cookbooks/computer_use.ipynb
Ejemplo. Después de ejecutarlo, escriba "Open Notepad and type 'Hello'" y el modelo simulará la operación y devolverá el resultado.
Uso de la interfaz web
estar en movimiento web_demo_mm.py
Inicie la interfaz web:
python web_demo_mm.py
acceso al navegador http://127.0.0.1:7860
Si no está seguro de si debe cargar un archivo o introducir un comando, el modelo lo procesará directamente.
optimizar el rendimiento
- Flash Atención 2: Razonamiento acelerado, utilizado después de la instalación:
pip install -U flash-attn --no-build-isolation python web_demo_mm.py --flash-attn2
- Resolución Ajuste: Ajustes
min_pixels
responder cantandomax_pixels
Controla el tamaño de la imagen, como el rango 256-1280, para equilibrar velocidad y memoria.
escenario de aplicación
- investigación académica
Los estudiantes suben imágenes de sus trabajos y el modelo extrae fórmulas y datos para generar un análisis. - videoclip
El creador introduce un vídeo largo y el modelo extrae los clips clave para generar un resumen. - Gestión de documentos de empresa
El empleado carga una copia escaneada del contrato, el modelo extrae las cláusulas y genera el formulario. - asistente inteligente
El usuario utiliza imágenes y comandos de voz para que el modelo busque información sobre vuelos en su teléfono móvil.
CONTROL DE CALIDAD
- ¿Qué idiomas se admiten?
Admite chino, inglés y varios idiomas (por ejemplo, francés, alemán), reconoce texto multilingüe y contenido manuscrito. - ¿Cuáles son los requisitos de hardware?
El modelo 3B requiere 8 GB de memoria de vídeo, el 7B requiere 16 GB y para los modelos 32B y 72B se recomiendan dispositivos profesionales con más de 24 GB de memoria de vídeo. - ¿Cómo lidiar con vídeos superlargos?
Los modelos se muestrean con frecuencias de cuadro dinámicas y son capaces de comprender horas de vídeo y localizar eventos de segundo nivel.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...