Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

Qwen2.5-VL: um grande modelo multimodal de código aberto para análise de documentos de imagem e vídeo

Introdução geral

O Qwen2.5-VL é um grande modelo multimodal de código aberto desenvolvido pela equipe do Qwen na Alibaba Cloud. Ele pode processar simultaneamente texto, imagens, vídeos e documentos, e é uma versão atualizada do Qwen2-VL, desenvolvido com base no modelo de linguagem Qwen2.5. Oficialmente, ele foi bastante aprimorado nas funções de análise de documentos, compreensão de vídeo e agente inteligente, e suporta quatro escalas de parâmetros, 3B, 7B, 32B e 72B, para atender a uma variedade de necessidades, de computadores pessoais a servidores. O projeto está hospedado no GitHub sob a licença Apache 2.0 e é gratuito e de código aberto. O qwen2.5-VL tem um bom desempenho em vários testes, com algumas métricas superando o modelo de código fechado, o que o torna adequado para que os desenvolvedores criem ferramentas inteligentes, como um extrator de documentos, um analisador de vídeo ou um assistente de operação de dispositivo.

Qwen2.5-VL:支持图像视频文档解析的开源多模态大模型-1


 

Lista de funções

  • Reconheça objetos, textos e layouts em imagens, com suporte para cenas naturais e vários idiomas.
  • Entenda vídeos muito longos (mais de uma hora) e localize clipes de eventos de segundos.
  • Analisa documentos complexos e extrai texto manuscrito, tabelas, gráficos e fórmulas químicas.
  • Controle um computador ou telefone celular por meio de comandos visuais e textuais para executar tarefas de agente inteligente.
  • Emite dados estruturados, como coordenadas ou informações de atributos no formato JSON.
  • Suporta resolução dinâmica e ajuste da taxa de quadros para otimizar a eficiência do processamento de vídeo.

 

Usando a Ajuda

Processo de instalação

Para executar o Qwen2.5-VL localmente, você precisa preparar o ambiente do software. A seguir estão as etapas detalhadas:

  1. Inspeção do ambiente básico
    É necessário ter Python 3.8+ e Git. Verifique o terminal digitando o seguinte comando:
python --version
git --version

Se você não o tiver instalado, poderá baixá-lo nos sites do Python e do Git.

  1. Código de download
    Execute o seguinte comando em um terminal para clonar seu repositório do GitHub:
git clone https://github.com/QwenLM/Qwen2.5-VL.git
cd Qwen2.5-VL
  1. Instalação de dependências
    O projeto requer bibliotecas Python específicas, que são instaladas com a execução do seguinte 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'

Se você tiver uma GPU, instale o PyTorch com suporte a CUDA:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

Observações:decord Para o carregamento acelerado do vídeo, os usuários que não são do Linux podem fazer o download do vídeo no site decord GitHub Instalação do código-fonte.

  1. modelo de priming
    Faça o download e execute o modelo, por exemplo, a versão 7B:
vllm serve Qwen/Qwen2.5-VL-7B-Instruct --port 8000 --host 0.0.0.0 --dtype bfloat16

Os modelos são baixados automaticamente do Hugging Face e os serviços locais são iniciados.

Como usar os principais recursos

Após a instalação, o Qwen2.5-VL pode ser operado a partir do código ou da interface da Web.

reconhecimento de imagens

Deseja que o modelo descreva a imagem? Crie um novo image_test.pyDigite o seguinte 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)

Quando executado, o modelo gera uma descrição, por exemplo, "A imagem mostra um gato sentado no parapeito de uma janela".

Compreensão de vídeo

Os arquivos locais precisam ser preparados para a análise do vídeo (por exemplo video.mp4). Use o código a seguir:

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)

O resultado pode ser: "O vídeo mostra uma competição culinária em que os participantes fazem pizzas".

resolução de documentos

Carregue um PDF ou uma imagem, use um código semelhante ao reconhecimento de imagem, altere o prompt para "Extract table data" (Extrair dados da tabela) e o modelo retornará resultados estruturados, como:

[{"列1": "值1", "列2": "值2"}]

Agentes inteligentes

Deseja controlar um dispositivo? Use cookbooks/computer_use.ipynb Exemplo. Depois de executá-lo, digite "Open Notepad and type 'Hello'" e o modelo simulará a operação e retornará o resultado.

Uso da interface da Web

estar em movimento web_demo_mm.py Inicie a interface da Web:

python web_demo_mm.py

acesso ao navegador http://127.0.0.1:7860Se você não tiver certeza se deve carregar um arquivo ou inserir um comando, o modelo o processará diretamente.

otimizar o desempenho

  • Flash Attention 2Raciocínio acelerado, usado após a instalação:
    pip install -U flash-attn --no-build-isolation
    python web_demo_mm.py --flash-attn2
    
  • Ajuste de resolução: Configurações min_pixels responder cantando max_pixels Controle o tamanho da imagem, como o intervalo de 256 a 1280, para equilibrar velocidade e memória.

 

cenário do aplicativo

  1. pesquisa acadêmica
    Os alunos carregam imagens de seus trabalhos e o modelo extrai fórmulas e dados para gerar uma análise.
  2. clipe de vídeo
    O criador insere um vídeo longo e o modelo extrai os principais clipes para gerar um resumo.
  3. Gerenciamento de documentos corporativos
    O funcionário faz o upload de uma cópia digitalizada do contrato, o modelo extrai as cláusulas e gera o formulário.
  4. assistente inteligente
    O usuário usa imagens e comandos de voz para fazer com que o modelo procure informações de voo em seu telefone celular.

 

QA

  1. Quais são os idiomas suportados?
    Oferece suporte a chinês, inglês e vários idiomas (por exemplo, francês, alemão), reconhece texto multilíngue e conteúdo manuscrito.
  2. Quais são os requisitos de hardware?
    O modelo 3B requer 8 GB de memória de vídeo, o 7B requer 16 GB e os dispositivos profissionais com mais de 24 GB de memória de vídeo são recomendados para o 32B e o 72B.
  3. Como lidar com vídeos muito longos?
    Os modelos são amostrados com taxas de quadros dinâmicas e são capazes de compreender horas de vídeo e identificar eventos de segundo nível.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Qwen2.5-VL: um grande modelo multimodal de código aberto para análise de documentos de imagem e vídeo
pt_BRPortuguês do Brasil