Long-VITA: un modelo de lenguaje visual para resultados contextuales muy largos

Introducción general

Long-VITA es un macromodelo multimodal de código abierto desarrollado por el equipo VITA-MLLM, centrado en tareas visuales y lingüísticas relacionadas con contextos muy largos. Es capaz de analizar imágenes, vídeo y texto simultáneamente y admite hasta 1 millón de ficha para escenarios como la comprensión de vídeo, el análisis sintáctico de imágenes de alta resolución y el razonamiento multimodal inteligente. En comparación con otros modelos, Long-VITA obtiene buenos resultados en tareas de contexto corto, al tiempo que ofrece ventajas revolucionarias en el procesamiento de secuencias largas. Desarrollado en colaboración con Tencent YouTuber Lab, la Universidad de Nanjing y la Universidad de Xiamen, el proyecto se entrena íntegramente con conjuntos de datos de código abierto, admite plataformas NPU y GPU, y su objetivo es proporcionar a la comunidad de código abierto una potente herramienta para la investigación multimodal de contexto largo. El código del modelo, el método de entrenamiento y los pesos se han hecho públicos, lo que resulta idóneo para que investigadores y desarrolladores exploren las aplicaciones de vanguardia de la IA multimodal.

Long-VITA:支持超长上下文输出的视觉语言模型

 

Lista de funciones

  • Procesamiento de contextos extremadamente largosAdmite entradas de imagen, vídeo y texto de hasta 1 millón de fichas o 4K fotogramas para el análisis de escenas complejas.
  • comprensión multimodalFunciones integradas de tratamiento de imágenes, vídeo y texto para analizar simultáneamente varios tipos de datos.
  • Razonamiento distribuido eficiente:: Razonamiento eficiente para entradas muy largas mediante paralelismo contextual.
  • Formación de conjuntos de datos de código abierto: Utiliza 17 millones de muestras públicas para garantizar la reproducibilidad y la transparencia del modelo.
  • Soporte multiplataformaCompatible con Ascend NPU y Nvidia GPU para una adaptación flexible a diferentes entornos de hardware.
  • Optimización de contextos cortos:: Mantener un rendimiento líder en tareas multimodales tradicionales, adaptándose a los requisitos de secuencias largas y cortas.
  • Modelización lingüística con máscara Logits:: Diseño innovador del cabezal del modelo lingüístico para mejorar el razonamiento de secuencias largas.

 

Utilizar la ayuda

Long-VITA es un proyecto de código abierto que permite a los usuarios obtener pesos de código y modelos a través de un repositorio de GitHub y desplegarlos para su uso local o en un servidor. Aquí tienes una guía detallada para ayudar a los usuarios a iniciarse y explorar sus potentes funciones.

Proceso de instalación

  1. almacén de clones
    Abra un terminal e introduzca el siguiente comando para clonar el repositorio Long-VITA:

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

Esto descargará todo el código y la documentación del proyecto.

  1. Creación de un entorno virtual
    Utiliza Conda para crear un entorno Python separado y asegurar el aislamiento de dependencias:

    conda create -n long-vita python=3.10 -y
    conda activate long-vita
    
  2. Instalación de dependencias
    Instale los paquetes de Python necesarios para su proyecto:

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

    Si se requiere un razonamiento acelerado, puede instalarse adicionalmente Flash Attention:

    pip install flash-attn --no-build-isolation
    
  3. Descargar modelos de pesos
    Long-VITA está disponible en varias versiones (por ejemplo, 16K, 128K, 1M de tokens) que pueden descargarse de Hugging Face:

  4. Configuración del entorno de hardware
    • GPU NvidiaAsegúrese de que CUDA y cuDNN están instalados y configure las variables de entorno:
      export CUDA_VISIBLE_DEVICES=0
      
    • Ascend NPUConfigure su entorno MindSpeed o Megatron de acuerdo con la documentación oficial.

Utilización

Long-VITA admite dos modos principales de funcionamiento, inferencia y evaluación, y se describen los siguientes pasos.

razonamiento en funcionamiento

  1. Preparación de la introducción de datos
    • imágenes: Coloca un archivo de imagen (por ejemplo .jpg tal vez .png(calcular) poner (en) asset Carpeta.
    • vídeoCompatibilidad con los formatos de vídeo más habituales (p. ej. .mp4), situado en la ruta especificada.
    • ejemplaresEscriba preguntas o instrucciones y guárdelas como .txt o introdúzcalo directamente en la línea de comandos.
  2. Ejecutar órdenes de razonamiento
    Como ejemplo de comprensión de imágenes, ejecute el siguiente comando:

    CUDA_VISIBLE_DEVICES=0 python video_audio_demo.py \
    --model_path [模型权重路径] \
    --image_path asset/sample_image.jpg \
    --model_type qwen2p5_instruct \
    --conv_mode qwen2p5_instruct \
    --question "描述这张图片的内容。"
    

    Para la entrada de vídeo, añada --video_path Parámetros:

    --video_path asset/sample_video.mp4
    
  3. Ver salida
    El modelo emitirá resultados en el punto final, como descripciones de imágenes o contenidos de análisis de vídeo.

Evaluación del rendimiento

  1. Preparación de los conjuntos de datos de evaluación
    Descargue el conjunto de datos de referencia (por ejemplo, Video-MME) y organice la estructura de archivos según sea necesario.
  2. Ejecutar el script de evaluación
    Evalúe utilizando el script proporcionado:

    bash script/evaluate.sh [模型路径] [数据集路径]
    

Función destacada Operación

Procesamiento de contextos extremadamente largos

  • procedimiento:
    1. Seleccione el modelo Long-VITA-1M para asegurarse de que el recuento total de tokens de los datos de entrada (por ejemplo, un vídeo largo o varias imágenes HD) no supera 1 millón.
    2. utilizar --max_seq_len 1048576 establece la longitud máxima de la secuencia.
    3. Ejecute la inferencia y observe cómo maneja el modelo las tareas de secuencias largas (por ejemplo, la generación de resúmenes de vídeo).
  • ejemplo típicoIntroduzca un vídeo de una hora de duración, formule la pregunta "Resuma el argumento principal del vídeo" y el modelo emitirá un resumen de texto conciso.

comprensión multimodal

  • procedimiento:
    1. Prepare entradas multimodales como imagen + texto o vídeo + pregunta.
    2. Especifique ambos en la línea de comandos --image_path responder cantando --questionComo:
      --image_path asset/sample_image.jpg --question "图片中的人物是谁?"
      
    3. El modelo combinará información visual y textual para generar respuestas.
  • ejemplo típico:: Introduce una foto de un famoso y la pregunta "¿Qué está haciendo? , el modelo describirá la acción que aparece en la foto.

inferencia distribuida

  • procedimiento:
    1. Para configurar un entorno multi-GPU, modifique la directiva CUDA_VISIBLE_DEVICES=0,1,2,3.
    2. Ejecutar con la opción paralela contextual:
      python -m torch.distributed.launch --nproc_per_node=4 video_audio_demo.py [参数]
      
    3. El modelo asignará automáticamente tareas a varios dispositivos para aumentar la velocidad de procesamiento.
  • ejemplo típico:: El razonamiento distribuido puede reducir el tiempo empleado de horas a minutos cuando se trata de vídeos muy largos.

advertencia

  • Asegúrate de que tu hardware tiene suficiente memoria, 1M de entrada de token puede requerir más de 32GB de memoria de vídeo.
  • Es necesario preprocesar los datos de entrada (por ejemplo, extracción de fotogramas de vídeo) para adaptarlos a los requisitos del modelo.
  • Comprueba tu conexión a Internet, necesitas una conexión estable de alta velocidad para descargar pesos.

Con estos pasos, los usuarios pueden desplegar fácilmente Long-VITA y experimentar su contexto ultralargo y sus capacidades de comprensión multimodal para la investigación, el desarrollo o la prueba de aplicaciones de IA multimodal.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...