OpenFlamingo, para procesar y razonar sobre imágenes, videos y texto

Publicado el

openflamingo

El proyecto OpenFlamingo ha anunciado recientemente el lanzamiento de su marco de trabajo de código abierto para entrenar y evaluar modelos visión-lenguaje multimodales (MVMLs) con aprendizaje en contexto. Este proyecto busca desarrollar un sistema multimodal capaz de abordar una amplia gama de tareas de visión-lenguaje y alcanzar la potencia y versatilidad de GPT-4 en el procesamiento de entradas visuales y de texto.

El objetivo de OpenFlamingo es crear una versión de código abierto del modelo Flamingo de DeepMind, que es capaz de procesar y razonar sobre imágenes, videos y texto.

Contribuciones de OpenFlamingo

OpenFlamingo es un marco de trabajo de Python que permite el entrenamiento y evaluación de MVMLs al estilo Flamingo, basado en la implementación de Lucidrains y en el repositorio flamingo-mini de David Hansmair. El proyecto incluye las siguientes contribuciones:

Dataset multimodal

Un conjunto de datos multimodal a gran escala con secuencias intercaladas de imágenes y texto. El conjunto de datos multimodal C4 es una ampliación del conjunto de datos C4, que fue utilizado para entrenar modelos T5. Para cada documento en el conjunto de datos en.clean de C4, se recupera la página web original de Common Crawl y se coleccionan las imágenes descargables. La limpieza de datos se lleva a cabo a través de la eliminación de duplicados y el filtrado de contenido, que busca eliminar imágenes no seguras para el trabajo (NSFW) y aquellas que no están relacionadas, como anuncios. Además, se lleva a cabo la detección de rostros y se descartan las imágenes con identificaciones positivas. Finalmente, se entrelazan imágenes y frases utilizando el emparejamiento bipartito dentro de un documento: las similitudes de imagen y texto de CLIP ViT/L-14 sirven como pesos de borde. Multimodal-C4 consta de aproximadamente 75 millones de documentos, que abarcan alrededor de 400 millones de imágenes y 38 mil millones de tokens.

Evaluación de tareas en contexto

Un conjunto de evaluaciones de tareas visión-lenguaje que mide el rendimiento de OpenFlamingo en una amplia gama de tareas. Actualmente, se incluyen tareas como pregunta-respuesta visual, descripción de imágenes y clasificación de imágenes. El objetivo final es crear una versión de código abierto del conjunto de evaluación de Flamingo y extenderlo para estandarizar la evaluación de tareas visión-lenguaje.

Modelo OpenFlamingo-9B

Una primera versión del modelo OpenFlamingo-9B, basado en LLaMA, se ha publicado como parte de la primera versión del proyecto. Aunque el modelo todavía no está completamente optimizado, demuestra el potencial de este proyecto. El modelo se ha entrenado en 5 millones de muestras del conjunto de datos Multimodal C4 y 10 millones de muestras de LAION-2B.

Detalles técnicos

La implementación de OpenFlamingo sigue en gran medida la arquitectura de Flamingo. Los modelos Flamingo se entrenan a gran escala, y contienen texto e imágenes intercalados, lo que es crucial para dotarlos de capacidades de aprendizaje en contexto con pocos ejemplos. OpenFlamingo implementa la misma arquitectura propuesta en el artículo original de Flamingo. Sin embargo, dado que los datos de entrenamiento de Flamingo no están disponibles al público, se utilizan conjuntos de datos de código abierto para entrenar los modelos en OpenFlamingo.

La inclusión de datasets multimodales como Multimodal C4 es esencial para el entrenamiento de MVMLs, ya que la combinación de datos visuales y de texto es fundamental para abordar tareas de visión-lenguaje. Además, la evaluación de tareas en contexto es una herramienta valiosa para medir el rendimiento de los modelos, ya que permite medir su capacidad para aprender de ejemplos limitados en un contexto determinado.

Ética y consideraciones de seguridad

Es importante destacar que OpenFlamingo-9B es un artefacto de investigación y no un producto terminado. Como tal, puede producir resultados inapropiados, ofensivos e inexactos. También es necesario tener en cuenta las consideraciones éticas y de seguridad al utilizar modelos MVML a gran escala, ya que pueden tener efectos no deseados y perpetuar sesgos y discriminación. OpenFlamingo hereda los problemas de sus modelos parentales, y por lo tanto, es necesario realizar evaluaciones exhaustivas para mitigar estos problemas en futuros modelos.