InternVL: grandes modelos multimodales de código abierto para el tratamiento de imágenes, vídeos y textos
Últimos recursos sobre IAPublicado hace 4 meses Círculo de intercambio de inteligencia artificial 1.6K 00
Introducción general
InternVL es un proyecto de gran modelo multimodal de código abierto desarrollado por el Laboratorio de Inteligencia Artificial de Shanghai (OpenGVLab) y alojado en GitHub. El objetivo de InternVL es construir una alternativa de código abierto comparable a los modelos comerciales (por ejemplo, GPT-4o) para una amplia gama de tareas como la percepción visual, la recuperación intermodal y los diálogos multimodales. El proyecto es conocido por sus potentes codificadores visuales, su soporte dinámico de alta resolución y sus eficientes estrategias de entrenamiento, con tamaños de modelo que oscilan entre 1B y 78B parámetros, adecuados para una amplia gama de escenarios de aplicación, desde dispositivos edge hasta servidores de alto rendimiento. El código, los modelos y los conjuntos de datos están abiertos bajo licencia MIT, y se anima a investigadores y desarrolladores a utilizarlos y mejorarlos libremente.

Lista de funciones
- diálogo multimodal: Admite entradas de imagen, vídeo y texto para generar respuestas en lenguaje natural para chats, preguntas y respuestas e instrucciones de tareas.
- tratamiento de imágenes: Procesa dinámicamente imágenes de hasta 4K de resolución y admite la clasificación de imágenes, la segmentación y la detección de objetos.
- Comprensión del vídeoAnálisis del contenido de vídeo para la clasificación de vídeos con muestra cero y la recuperación de texto-vídeo.
- resolución de documentos: Gestiona documentos complejos y está especializada en OCR, reconocimiento de formularios y cuestionamiento de documentos para tareas como DocVQA.
- Soporte multilingüeCodificador de texto multilingüe integrado compatible con más de 110 tareas de generación de idiomas.
- Razonamiento eficientePermite un proceso de inferencia simplificado a través de LMDeploy, compatible con el procesamiento de múltiples imágenes y contextos largos.
- Apertura de los conjuntos de datos: Proporciona conjuntos de datos multimodales a gran escala, como ShareGPT-4o, que contienen imágenes, vídeo y audio.
Utilizar la ayuda
Proceso de instalación
Para utilizar InternVL localmente, debe configurar su entorno Python e instalar las dependencias pertinentes. A continuación se detallan los pasos de instalación:
- almacén de clones
Ejecute el siguiente comando en el terminal para obtener el código fuente de InternVL:git clone https://github.com/OpenGVLab/InternVL.git cd InternVL
- Creación de un entorno virtual
Crea un entorno Python 3.9 con conda y actívalo:conda create -n internvl python=3.9 -y conda activate internvl
- Instalación de dependencias
Instale las dependencias necesarias para el proyecto, que por defecto incluyen las bibliotecas necesarias para el diálogo multimodal y el procesamiento de imágenes:pip install -r requirements.txt
Si se requieren funciones adicionales (como segmentación o clasificación de imágenes), pueden instalarse manualmente dependencias específicas:
pip install -r requirements/segmentation.txt pip install -r requirements/classification.txt
- Instalar Flash-Attention (opcional)
Para acelerar la inferencia del modelo, se recomienda instalar Flash-Attention:pip install flash-attn==2.3.6 --no-build-isolation
O compilar desde el código fuente:
git clone https://github.com/Dao-AILab/flash-attention.git cd flash-attention git checkout v2.3.6 python setup.py install
- Instalar MMDeploy (opcional)
Si necesita desplegar el modelo en un entorno de producción, instale MMDeploy:pip install -U openmim mim install mmdeploy
Utilización
InternVL proporciona múltiples formas de uso, incluyendo razonamiento en línea de comandos, servicios API y demostraciones interactivas. A continuación se presenta un ejemplo del modelo InternVL2_5-8B para introducir el flujo de operación de las funciones principales:
1. Diálogo multimodal
InternVL admite diálogos con entrada de imagen y de texto. A continuación se muestra un ejemplo de razonamiento utilizando LMDeploy:
- Preparación de modelos e imágenes: Asegúrese de que se ha descargado el modelo (p. ej.
OpenGVLab/InternVL2_5-8B
) y preparar una imagen (por ejemplotiger.jpeg
). - razonamiento en funcionamientoEjecuta el siguiente código Python que describe el contenido de la imagen:
from lmdeploy import pipeline, TurbomindEngineConfig from lmdeploy.vl import load_image model = 'OpenGVLab/InternVL2_5-8B' image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg') pipe = pipeline(model, backend_config=TurbomindEngineConfig(session_len=8192)) response = pipe(('描述这张图片', image)) print(response.text)
- al finalEl modelo proporciona una descripción detallada de la imagen, por ejemplo: "La imagen es de un tigre de pie con hierba verde de fondo".
2. Tratamiento multiimagen
InternVL admite el procesamiento simultáneo de varias imágenes, lo que resulta idóneo para realizar comparaciones o análisis exhaustivos:
- ejemplo de código::
from lmdeploy.vl.constants import IMAGE_TOKEN image_urls = [ 'https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/human-pose.jpg', 'https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/det.jpg' ] images = [load_image(url) for url in image_urls] prompt = f'Image-1: {IMAGE_TOKEN}\nImage-2: {IMAGE_TOKEN}\n描述这两张图片' response = pipe((prompt, images)) print(response.text)
- al finalEl modelo describirá el contenido de cada imagen por separado y posiblemente resumirá las relaciones entre ellas.
3. Análisis sintáctico de documentos
InternVL obtiene buenos resultados en las tareas de cuestionamiento de documentos (DocVQA) y reconocimiento de formas. El flujo de operaciones es el siguiente:
- Preparación de imágenes de documentosCarga imágenes que contengan texto, tablas o gráficos.
- hacer preguntasUtilice indicaciones como "Extraer datos de una tabla" o "Resumir el contenido de un documento".
- ejemplo de código::
image = load_image('document.jpg') response = pipe(('提取图片中表格的内容', image)) print(response.text)
- al finalEl modelo devuelve un resumen de los datos estructurados de la tabla o documento.
4. Despliegue de servicios API
InternVL soporta el despliegue de APIs RESTful a través de LMDeploy para entornos de producción:
- Inicio de los servicios::
lmdeploy serve api_server OpenGVLab/InternVL2_5-8B --server-port 23333
- Acceso a la API: Utiliza interfaces compatibles con OpenAI para enviar solicitudes, por ejemplo a través de la interfaz
curl
o el modelo de llamada al cliente de Python.
5. Presentación en línea
OpenGVLab ofrece una plataforma de demostración en línea (https://internvl.opengvlab.com/
), no es necesario instalarlo para experimentarlo:
- Visite el sitio web, cargue una imagen o un vídeo e introduzca una pregunta.
- El modelo devuelve los resultados en tiempo real, lo que lo hace adecuado para pruebas rápidas.
Función destacada Operación
- Alta resolución dinámicaInternVL divide automáticamente las imágenes en trozos de 448x448 y admite resoluciones de hasta 4K. Los usuarios no necesitan cambiar manualmente el tamaño de las imágenes, basta con subirlas.
- Comprensión del vídeoAl cargar un archivo de vídeo, combinado con una pregunta (por ejemplo, "resuma el contenido del vídeo"), el modelo analiza los fotogramas clave y genera una descripción.
- Generación multilingüeRespuesta en francés: Especifique el idioma en la pregunta (por ejemplo, "Responda en francés") y el modelo generará una respuesta en el idioma correspondiente.
advertencia
- Asegúrate de que dispones de suficiente memoria GPU (los modelos 8B requieren unos 16 GB de memoria GPU).
- Aumenta la ventana contextual al procesar varias imágenes o vídeos largos (
session_len=16384
). - Compruebe las versiones dependientes para evitar problemas de compatibilidad.
escenario de aplicación
- investigación académica
Los investigadores utilizan InternVL para analizar diagramas científicos, procesar imágenes experimentales o analizar datos tabulares de documentos. El OCR de alta precisión y las capacidades de comprensión de documentos del modelo aumentan drásticamente la eficacia de la extracción de datos. - Ayudas educativas
Profesores y alumnos utilizan InternVL para resolver problemas de tareas relacionadas con la imagen, como la interpretación de imágenes históricas o el análisis de diagramas geográficos. El soporte multilingüe del modelo es adecuado para escenarios educativos internacionalizados. - Procesamiento de documentos de empresa
Las organizaciones utilizan InternVL para automatizar el tratamiento de documentos escaneados, contratos o facturas, extraer información clave y generar informes, ahorrando costes de mano de obra. - creación de contenidos
Los creadores de contenidos utilizan InternVL para analizar secuencias de vídeo y generar guiones o subtítulos para mejorar la eficacia creativa. - Atención al cliente inteligente
El sistema de atención al cliente integra InternVL para procesar las imágenes cargadas por los usuarios (por ejemplo, fotos de fallos del producto), diagnosticar rápidamente los problemas y ofrecer soluciones.
CONTROL DE CALIDAD
- ¿Qué tamaños de modelo admite InternVL?
InternVL ofrece modelos con parámetros que van de 1B a 78B, adecuados para diferentes dispositivos. Los modelos 1B son adecuados para dispositivos de borde, mientras que los modelos 78B tienen un rendimiento comparable al GPT-4o. - ¿Cómo se gestionan las imágenes de alta resolución?
El modelo divide automáticamente la imagen en trozos de 448x448 y admite resolución 4K. Carga imágenes directamente sin procesamiento previo. - ¿Es compatible con el análisis de vídeo?
Sí, InternVL admite la clasificación de vídeos con muestra cero y la recuperación texto-vídeo. Solo tiene que cargar un vídeo e introducir la palabra clave. - ¿El modelo es de código abierto?
InternVL es completamente de código abierto, con código y pesos del modelo disponibles en GitHub bajo la licencia MIT. - ¿Cómo optimizar la velocidad de razonamiento?
Instala Flash-Attention y utiliza la aceleración por GPU. Ajustessession_len
para adaptarse a contextos largos.
© declaración de copyright
文章版权归 Círculo de intercambio de inteligencia artificial 所有,未经允许请勿转载。
Artículos relacionados
Sin comentarios...