Ovis: un modelo de alineación visual y textual para la retropropagación precisa de palabras clave de imágenes
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 1.6K 00
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.

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:
- 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
- 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
- Vaya al catálogo de proyectos:
- Validación medioambiental
- Compruebe la versión de PyTorch (se recomienda la 2.4.0):
python -c "import torch; print(torch.__version__)"
- Compruebe la versión de PyTorch (se recomienda la 2.4.0):
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
- 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".
- Descargue el modelo de Hugging Face (por ejemplo, Ovis2-8B):
- 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
- Creación de guiones
- 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
- 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
.
- Ejecútalo desde el catálogo de Ovis:
- 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::
- Preparar fotogramas de vídeo o imágenes múltiples como
[Image.open("frame1.jpg"), Image.open("frame2.jpg")]
. - Modificar el código de inferencia en el
pixel_values
El parámetro es una lista de varias imágenes.
- Preparar fotogramas de vídeo o imágenes múltiples como
- 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
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...