Ovis: un modelo de alineación visual y textual para la retropropagación precisa de palabras clave de imágenes

Introducción general

Ovis (Open VISion) es un modelo multimodal de gran lenguaje (MLLM) de código abierto desarrollado por el equipo AIDC-AI del Grupo de Comercio Digital Internacional de Alibaba y alojado en GitHub, que utiliza una innovadora técnica de alineación de incrustación estructural para fusionar eficientemente datos visuales y textuales, admitiendo entradas multimodales como imágenes, texto y vídeo, y generando el contenido de salida correspondiente. A partir de marzo de 2025, Ovis ha lanzado la familia Ovis2 (escalas de parámetros de 1B a 34B), que ofrece un rendimiento de miniaturización superior, capacidades de inferencia mejoradas y la posibilidad de procesar imágenes y vídeo de alta resolución. Dirigido a desarrolladores e investigadores, el proyecto proporciona documentación y código detallados, hace hincapié en la colaboración de código abierto y ya ha ganado adeptos en la comunidad.

Ovis:视觉与文本对齐模型,精准反推图像提示词

 

Lista de funciones

  • Soporte de entrada multimodal: Maneja múltiples tipos de entrada como imágenes, texto, vídeo, etc.
  • Alineación visual del textoGenerar descripciones de texto que coincidan exactamente con el contenido de la imagen o el vídeo.
  • Tratamiento de imágenes de alta resolución: Optimizado para admitir imágenes de alta resolución y conservar los detalles.
  • Análisis de vídeo y multigrafos: Admite el procesamiento secuencial de secuencias de fotogramas de vídeo e imágenes múltiples.
  • Mejora de la capacidad de razonamiento: Mejorar el razonamiento lógico mediante el ajuste de las instrucciones y la formación de RPD.
  • Soporte OCR multilingüe: Reconocer y procesar texto de imagen multilingüe.
  • Múltiples opciones de modelos: Existen modelos con parámetros de 1B a 34B que se adaptan a distintos herrajes.
  • Soporte de versiones cuantitativas: por ejemplo, el modelo GPTQ-Int4 para reducir el umbral operativo.
  • Integración de la interfaz de Gradio: Proporcionar una interfaz intuitiva para la interacción web.

 

Utilizar la ayuda

Proceso de instalación

La instalación de Ovis depende de entornos y bibliotecas Python específicos, como se detalla a continuación:

  1. Preparación medioambiental
    • Asegúrate de que Git y Anaconda están instalados.
    • Clonar el repositorio Ovis:
      git clone git@github.com:AIDC-AI/Ovis.git
      
    • Crear y activar un entorno virtual:
      conda create -n ovis python=3.10 -y
      conda activate ovis
      
  2. Instalación dependiente
    • Vaya al catálogo de proyectos:
      cd Ovis
      
    • Instalar dependencias (basadas en requirements.txt):
      pip install -r requirements.txt
      
    • Instale el paquete Ovis:
      pip install -e .
      
    • (Opcional) Instalación de librerías de aceleración (como Flash Attention):
      pip install flash-attn==2.7.0.post2 --no-build-isolation
      
  3. Validación medioambiental
    • Compruebe la versión de PyTorch (se recomienda la 2.4.0):
      python -c "import torch; print(torch.__version__)"
      

Cómo utilizar Ovis

Ovis soporta tanto el razonamiento de la línea de comandos como las operaciones de la interfaz Gradio, aquí tienes una guía detallada:

razonamiento en línea de comandos

  1. Preparación de modelos e insumos
    • Descargue el modelo de Hugging Face (por ejemplo, Ovis2-8B):
      git clone https://huggingface.co/AIDC-AI/Ovis2-8B
      
    • Preparar archivos de entrada, por ejemplo, imágenes example.jpg y la pregunta "Describe esta imagen".
  2. razonamiento en funcionamiento
    • Creación de guiones run_ovis.py::
      import torch
      from PIL import Image
      from transformers import AutoModelForCausalLM
      # 加载模型
      model = AutoModelForCausalLM.from_pretrained(
      "AIDC-AI/Ovis2-8B",
      torch_dtype=torch.bfloat16,
      multimodal_max_length=32768,
      trust_remote_code=True
      ).cuda()
      # 获取 tokenizer
      text_tokenizer = model.get_text_tokenizer()
      visual_tokenizer = model.get_visual_tokenizer()
      # 处理输入
      image = Image.open("example.jpg")
      text = "描述这张图片"
      query = f"<image>\n{text}"
      prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image])
      attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id)
      # 生成输出
      with 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("输出结果:", output)
      
    • Ejecuta el script:
      python run_ovis.py
      
  3. Ver resultados
    • Ejemplo de salida: "La imagen es de un perro de pie en un campo cubierto de hierba con un cielo azul de fondo".

Funcionamiento de la interfaz de Gradio

  1. Inicio de los servicios
    • Ejecútalo desde el catálogo de Ovis:
      python ovis/serve/server.py --model_path AIDC-AI/Ovis2-8B --port 8000
      
    • Esperando para cargar, accediendo http://127.0.0.1:8000.
  2. funcionamiento de la interfaz
    • Sube una foto a la interfaz.
    • Introduzca preguntas como "¿Qué hay en esta foto?". .
    • Haga clic en Enviar para ver los resultados generados.

Funciones destacadas

Tratamiento de imágenes de alta resolución

  • procedimientoCarga imágenes de alta resolución y el modelo se particiona automáticamente (número máximo de particiones: 9).
  • toma: Adecuado para tareas como el análisis de obras de arte y la interpretación de mapas.
  • Recomendaciones de hardwareLa última incorporación al sistema operativo es la memoria gráfica de 16 GB, que garantiza un funcionamiento fluido.

Análisis de vídeo y multigrafos

  • procedimiento::
    1. Preparar fotogramas de vídeo o imágenes múltiples como [Image.open("frame1.jpg"), Image.open("frame2.jpg")].
    2. Modificar el código de inferencia en el pixel_values El parámetro es una lista de varias imágenes.
  • toma: Analiza videoclips o secuencias de imágenes continuas.
  • Muestra de resultados: "El primer cuadro es una calle, el segundo es un peatón".

Soporte OCR multilingüe

  • procedimiento: Cargue imágenes que contengan texto en varios idiomas y acceda a la consulta "Extraer texto de la imagen".
  • toma: Escaneado de documentos, traducción de texto de imágenes.
  • Ejemplos de resultados: Extrae textos mixtos en chino e inglés y genera descripciones.

Mejora de la capacidad de razonamiento

  • procedimiento: Introduce preguntas complejas como "¿Cuántas personas hay en la foto? Por favor, explíquelo paso a paso".
  • toma:: Educación, tareas de análisis de datos.
  • Muestra de resultados:: "Hay dos personas en la imagen, el primer paso es observar a una persona en el lado izquierdo y el segundo paso es observar a una segunda persona en el lado derecho".

advertencia

  • requisitos de hardwareOvis2-34B: Ovis2-1B requiere 4 GB de memoria de vídeo, Ovis2-34B recomienda varias GPU (48 GB+).
  • Compatibilidad de modelosCompatibilidad con LLM convencionales (por ejemplo, Qwen2.5) y ViT (por ejemplo, aimv2).
  • Comentarios de la comunidadLos problemas se pueden enviar a GitHub Issues.

 

Instalador Ovis2 Image Backpropagation Prompt Word One-Click

Basado en los modelos Ovis2-4B y Ovis2-2B.

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

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

Descomprime la contraseña y encuéntrala tú mismo en jian27.

© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

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