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

Long-VITA: um modelo de linguagem visual que suporta saídas contextuais muito longas

Introdução geral

O Long-VITA é um macromodelo multimodal de código aberto desenvolvido pela equipe do VITA-MLLM, com foco em tarefas visuais e linguísticas que lidam com contextos muito longos. Ele é capaz de analisar imagens, vídeos e textos simultaneamente e suporta até 1 milhão de token O Long-VITA é um modelo de entrada para cenários como compreensão de vídeo, análise de imagens de alta resolução e raciocínio de inteligência multimodal. Em comparação com outros modelos, o Long-VITA tem um bom desempenho em tarefas de contexto curto, ao mesmo tempo em que oferece vantagens revolucionárias no processamento de sequências longas. Desenvolvido em colaboração com o Tencent YouTuber Lab, a Universidade de Nanjing e a Universidade de Xiamen, o projeto é treinado inteiramente em conjuntos de dados de código aberto, é compatível com plataformas NPU e GPU e tem como objetivo fornecer à comunidade de código aberto uma ferramenta avançada para pesquisas multimodais de contexto longo. O código do modelo, o método de treinamento e os pesos foram tornados públicos, o que é adequado para que pesquisadores e desenvolvedores explorem os aplicativos de ponta da IA multimodal.

Long-VITA: um modelo de linguagem visual que suporta saída contextual ultralonga-1


 

Lista de funções

  • Processamento de contexto extremamente longoSuporte a entradas de imagem, vídeo e texto de até 1 milhão de tokens ou quadros de 4K para análise de cenas complexas.
  • compreensão multimodalRecursos integrados de processamento de imagem, vídeo e texto para analisar vários tipos de dados simultaneamente.
  • Raciocínio distribuído eficiente:: raciocínio eficiente para entradas muito longas por meio de paralelismo contextual.
  • Treinamento em conjunto de dados de código abertoUse 17 milhões de amostras públicas para garantir a reprodutibilidade e a transparência do modelo.
  • Suporte a várias plataformasCompatível com Ascend NPU e GPU Nvidia para adaptação flexível a diferentes ambientes de hardware.
  • Otimização de contexto curtoDescrição: manter o melhor desempenho em tarefas multimodais tradicionais, acomodando requisitos de sequências longas e curtas.
  • Modelagem de linguagem com máscara de Logits:: Projeto inovador de cabeça de modelo de linguagem para aprimorar o raciocínio de sequências longas.

 

Usando a Ajuda

O Long-VITA é um projeto de código aberto que permite aos usuários obter pesos de código e modelos por meio de um repositório do GitHub e implantá-los para uso local ou em um servidor. Aqui está um guia detalhado para ajudar os usuários a começar e explorar seus recursos avançados.

Processo de instalação

  1. armazém de clones
    Abra um terminal e digite o seguinte comando para clonar o repositório Long-VITA:

    git clone https://github.com/VITA-MLLM/Long-VITA.git
    cd Long-VITA

Isso fará o download de todo o código e da documentação do projeto.

  1. Criação de um ambiente virtual
    Use o Conda para criar um ambiente Python separado e garantir o isolamento de dependências:

    conda create -n long-vita python=3.10 -y
    conda activate long-vita
    
  2. Instalação de dependências
    Instale os pacotes Python necessários para seu projeto:

    pip install --upgrade pip
    pip install -r requirements.txt
    

    Se for necessário um raciocínio acelerado, o Flash Attention poderá ser instalado adicionalmente:

    pip install flash-attn --no-build-isolation
    
  3. Download dos pesos do modelo
    O Long-VITA está disponível em várias versões (por exemplo, 16K, 128K, 1M tokens) que podem ser baixadas do Hugging Face:

  4. Configuração do ambiente de hardware
    • GPUs da NvidiaVerifique se o CUDA e o cuDNN estão instalados e se as variáveis de ambiente estão definidas:
      exportar CUDA_VISIBLE_DEVICES=0
      
    • Ascend NPUConfigure seu ambiente MindSpeed ou Megatron de acordo com a documentação oficial.

Uso

O Long-VITA oferece suporte a dois modos principais de operação, inferência e avaliação, e as etapas a seguir são descritas.

raciocínio de execução

  1. Preparação para inserir dados
    • imagens: Coloque um arquivo de imagem (por exemplo .jpg talvez .png(computação) colocar (em) ativo Pasta.
    • vídeoSuporte para formatos de vídeo comuns (por exemplo, vídeo de alta qualidade) .mp4), colocado no caminho especificado.
    • cópiasEscreva perguntas ou instruções e salve como .txt ou digite-o diretamente na linha de comando.
  2. Executar comandos de raciocínio
    Como exemplo de compreensão de imagem, execute o seguinte comando:

    CUDA_VISIBLE_DEVICES=0 python video_audio_demo.py \
    ---model_path [caminho do peso do modelo] \
    --image_path asset/sample_image.jpg \
    ---model_type qwen2p5_instruct \
    --conv_mode qwen2p5_instruct \
    --question "Descreva sobre o que é essa imagem."
    

    Para entrada de vídeo, adicione --caminho_do_vídeo Parâmetros:

    --video_path asset/sample_video.mp4
    
  3. Exibir saída
    O modelo produzirá resultados no endpoint, como descrições de imagens ou conteúdo de análise de vídeo.

Avaliação de desempenho

  1. Preparação de conjuntos de dados de avaliação
    Faça o download do conjunto de dados de referência (por exemplo, Video-MME) e organize a estrutura de arquivos conforme necessário.
  2. Executar o script de avaliação
    Avalie usando o script fornecido:

    bash script/evaluate.sh [caminho do modelo] [caminho do conjunto de dados]
    

Operação da função em destaque

Processamento de contexto extremamente longo

  • procedimento:
    1. Selecione o modelo Long-VITA-1M para garantir que a contagem total de tokens dos dados de entrada (por exemplo, vídeo longo ou várias imagens HD) não exceda 1 milhão.
    2. fazer uso de --max_seq_len 1048576 define o comprimento máximo da sequência.
    3. Execute a inferência e observe como o modelo lida com tarefas de sequência longa (por exemplo, geração de resumo de vídeo).
  • exemplo típicoInsira um vídeo de uma hora de duração, faça a pergunta "Resuma o enredo principal do vídeo" e o modelo produzirá um resumo de texto conciso.

compreensão multimodal

  • procedimento:
    1. Prepare entradas multimodais, como imagem + texto ou vídeo + pergunta.
    2. Especifique ambos na linha de comando --image_path responder cantando --perguntaComo:
      --image_path asset/sample_image.jpg --question "Quem é o personagem na imagem?"
      
    3. O modelo combinará informações visuais e textuais para gerar respostas.
  • exemplo típicoDescrição: Insira uma foto de uma celebridade e a pergunta "What is he doing?" (O que ele está fazendo?). O modelo descreverá a ação na foto.

inferência distribuída

  • procedimento:
    1. Para configurar um ambiente com várias GPUs, modifique o CUDA_VISIBLE_DEVICES=0,1,2,3.
    2. Execute com a opção paralela contextual:
      python -m torch.distributed.launch --nproc_per_node=4 video_audio_demo.py [argumentos]
      
    3. O modelo atribuirá automaticamente tarefas a vários dispositivos para aumentar a velocidade de processamento.
  • exemplo típico:: O raciocínio distribuído pode reduzir o tempo gasto de horas para minutos ao lidar com vídeos muito longos.

advertência

  • Certifique-se de que seu hardware tenha memória suficiente. Uma entrada de token de 1M pode exigir mais de 32 GB de memória de vídeo.
  • Os dados de entrada precisam ser pré-processados (por exemplo, extração de quadros de vídeo) para atender aos requisitos do modelo.
  • Verifique sua conexão com a Internet. Você precisa de uma conexão estável e de alta velocidade para baixar pesos.

Com essas etapas, os usuários podem implementar facilmente o Long-VITA e experimentar seus recursos de compreensão multimodal e de contexto ultralongo para pesquisa, desenvolvimento ou teste de aplicativos de IA multimodal.

CDN1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Long-VITA: um modelo de linguagem visual que suporta saídas contextuais muito longas

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