Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Ovis: um modelo de alinhamento visual e textual para retropropagação precisa de palavras-chave de imagem

Introdução geral

O Ovis (Open VISion) é um modelo de linguagem grande multimodal (MLLM) de código aberto desenvolvido pela equipe AIDC-AI do International Digital Commerce Group da Alibaba e hospedado no GitHub, que usa uma técnica inovadora de alinhamento de incorporação estrutural para mesclar dados visuais e textuais com eficiência, oferecer suporte a entradas multimodais, como imagens, texto e vídeo, e gerar o conteúdo de saída correspondente. Em março de 2025, a Ovis lançou a família Ovis2 (escalas de parâmetros de 1B a 34B), que oferece desempenho superior de miniaturização, recursos aprimorados de inferência e a capacidade de processar imagens e vídeos de alta resolução. Voltado para desenvolvedores e pesquisadores, o projeto fornece documentação e código detalhados, enfatiza a colaboração de código aberto e já ganhou força na comunidade.

Ovis: um modelo de alinhamento visual e textual para retropropagação precisa de palavras-chave de imagem-1


 

Lista de funções

  • Suporte a entradas multimodaisManuseio de vários tipos de entrada, como imagens, texto, vídeo etc.
  • Alinhamento visual do textoGerar descrições de texto que correspondam precisamente ao conteúdo da imagem ou do vídeo.
  • Processamento de imagens de alta resoluçãoOtimizado para suportar imagens de alta resolução e reter detalhes.
  • Análise de vídeo e de vários gráficosProcessamento sequencial: suporta o processamento sequencial de sequências de quadros de vídeo e várias imagens.
  • Aprimoramento das habilidades de raciocínioAprimore o raciocínio lógico por meio do ajuste de instruções e do treinamento de DPO.
  • Suporte a OCR em vários idiomasReconhecer e processar texto de imagem multilíngue.
  • Várias opções de modelosModelos com parâmetros de 1B a 34B estão disponíveis para atender a diferentes tipos de hardware.
  • Suporte à versão quantitativaPor exemplo, o modelo GPTQ-Int4 para reduzir o limite operacional.
  • Integração da interface do GradioFornecer uma interface intuitiva para interação com a Web.

 

Usando a Ajuda

Processo de instalação

A instalação do Ovis depende de ambientes e bibliotecas Python específicos, conforme detalhado abaixo:

  1. Preparação ambiental
    • Certifique-se de que o Git e o Anaconda estejam instalados.
    • Clone o repositório do Ovis:
      git clone git@github.com:AIDC-AI/Ovis.git
      
    • Criar e ativar um ambiente virtual:
      conda create -n ovis python=3.10 -y
      conda activate ovis
      
  2. Instalação dependente
    • Vá para o catálogo de projetos:
      cd Ovis
      
    • Instalar dependências (com base em requisitos.txt):
      pip install -r requirements.txt
      
    • Instale o pacote Ovis:
      pip install -e .
      
    • (Opcional) Instalação de bibliotecas de aceleração (como o Flash Attention):
      pip install flash-attn==2.7.0.post2 --no-build-isolation
      
  3. Validação ambiental
    • Verifique a versão do PyTorch (recomenda-se a versão 2.4.0):
      python -c "import torch; print(torch.__version__)"
      

Como usar o Ovis

O Ovis é compatível com as operações de raciocínio da linha de comando e da interface do Gradio:

raciocínio de linha de comando

  1. Preparação de modelos e insumos
    • Faça o download do modelo do Hugging Face (por exemplo, Ovis2-8B):
      git clone https://huggingface.co/AIDC-AI/Ovis2-8B
      
    • Preparar arquivos de entrada, por exemplo, imagens exemplo.jpg e o prompt "Describe this picture" (Descreva esta imagem).
  2. raciocínio de execução
    • Criação de scripts run_ovis.py::
      importar tocha
      from PIL import Image
      from transformers import AutoModelForCausalLM
      Modelo de carga #
      model = AutoModelForCausalLM.from_pretrained(
      "AIDC-AI/Ovis2-8B",
      torch_dtype=torch.bfloat16,
      multimodal_max_length=32768,
      trust_remote_code=True
      ).cuda()
      # Obter tokenizador
      text_tokenizer = model.get_text_tokenizer()
      visual_tokenizer = model.get_visual_tokenizer()
      # Processar entrada
      image = Image.open("example.jpg")
      text = "Descreva esta imagem"
      consulta = f"\n{texto}"
      prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image])
      attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id)
      # Gerar saída
      com 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("Resultado da saída: ", output)
      
    • Execute o script:
      python run_ovis.py
      
  3. Exibir resultados
    • Exemplo de saída: "A imagem é de um cachorro parado em um campo gramado com um céu azul ao fundo".

Operação da interface do Gradio

  1. Início dos serviços
    • Execute-o a partir do catálogo Ovis:
      python ovis/serve/server.py --model_path AIDC-AI/Ovis2-8B --port 8000
      
    • Aguardando para carregar, acessando http://127.0.0.1:8000.
  2. operação de interface
    • Faça upload de uma imagem para a interface.
    • Digite solicitações como "O que há nesta imagem?" .
    • Clique em Submit para visualizar os resultados gerados.

Funções em destaque

Processamento de imagens de alta resolução

  • procedimentoCarregar imagens de alta resolução e o modelo é particionado automaticamente (número máximo de partições: 9).
  • tomarAdequado para tarefas como análise de obras de arte e interpretação de mapas.
  • Recomendações de hardwareA mais nova adição ao sistema operacional é a memória gráfica de 16 GB, que garante uma operação suave.

Análise de vídeo e de vários gráficos

  • procedimento::
    1. Preparar quadros de vídeo ou várias imagens, como [Image.open("frame1.jpg"), Image.open("frame2.jpg")].
    2. Modifique o código de inferência no valores_de_pixel O parâmetro é uma lista de várias imagens.
  • tomarAnálise de clipes de vídeo ou sequências de imagens contínuas.
  • Saída de amostra: "O primeiro quadro é uma rua, o segundo é um pedestre".

Suporte a OCR em vários idiomas

  • procedimentoExtrair texto da imagem: Carregue imagens que contenham texto em vários idiomas e digite o prompt "Extract text from image" (Extrair texto da imagem).
  • tomarDigitalização de documentos, tradução de textos de imagens.
  • Exemplos de resultadosExtração de textos mistos em chinês e inglês e geração de descrições.

Aprimoramento das habilidades de raciocínio

  • procedimentoDigite perguntas complexas, como "Quantas pessoas estão na foto? Por favor, explique passo a passo".
  • tomar:: Educação, tarefas de análise de dados.
  • Saída de amostraO primeiro passo é observar uma pessoa do lado esquerdo e o segundo passo é observar uma segunda pessoa do lado direito".

advertência

  • Requisitos de hardwareOvis2-1B requer 4 GB de memória de vídeo, enquanto o Ovis2-34B recomenda várias GPUs (mais de 48 GB).
  • Compatibilidade de modelosSuporte para LLM convencional (por exemplo, Qwen2.5) e ViT (por exemplo, aimv2).
  • Feedback da comunidadeProblemas: Os problemas podem ser enviados para o GitHub Issues.

 

Ovis2 Image Backpropagation Prompt Word One-Click Installer

Baseado nos modelos Ovis2-4B e Ovis2-2B.

Quark: https://pan.quark.cn/s/23095bb34e7c

Baidu: https://pan.baidu.com/s/12fWAbshwKY8OYcCcv_5Pkg?pwd=2727

Descompacte a senha e encontre-a você mesmo em jian27.

CDN1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Ovis: um modelo de alinhamento visual e textual para retropropagação precisa de palavras-chave de imagem

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil