Florence-2: El último modelo de visión-lenguaje de Microsoft

26 de julio de 2024
Conoce Florence-2, el modelo de lenguaje visual de Microsoft que ofrece una detección de objetos, segmentación y rendimiento zero-shot mejorados con gran eficiencia.

26 de julio de 2024
Conoce Florence-2, el modelo de lenguaje visual de Microsoft que ofrece una detección de objetos, segmentación y rendimiento zero-shot mejorados con gran eficiencia.
En junio de 2024, Microsoft presentó Florence-2, un modelo de lenguaje visual (VLM) multimodal que está diseñado para manejar una amplia gama de tareas, incluyendo la detección de objetos, la segmentación, la descripción de imágenes y el grounding. Florence-2 establece un nuevo punto de referencia para el rendimiento zero-shot, lo que significa que puede realizar tareas sin entrenamiento específico previo, y aumenta el tamaño de un modelo más pequeño que otros modelos de lenguaje visual de última generación.
Es más que un simple modelo, la versatilidad y el rendimiento mejorado de Florence-2 tienen el potencial de impactar significativamente en varias industrias al mejorar la precisión y reducir la necesidad de una formación exhaustiva. En este artículo, exploraremos las características innovadoras de Florence-2, compararemos su rendimiento con otros VLM y discutiremos sus posibles aplicaciones.
Florence-2 puede manejar una variedad de tareas dentro de un único marco unificado. Las impresionantes capacidades del modelo se deben en parte a su enorme conjunto de datos de entrenamiento llamado FLD-5B. FLD-5B incluye 5.4 mil millones de anotaciones en 126 millones de imágenes. Este conjunto de datos completo se creó específicamente para habilitar a Florence-2 con las capacidades necesarias para manejar una amplia gama de tareas de visión con alta precisión y eficiencia.
Aquí tiene un análisis más detallado de las tareas que admite Florence-2:
El modelo admite tareas basadas en texto y en regiones. Se añaden tokens de ubicación especiales al vocabulario del modelo para las tareas que implican regiones específicas de una imagen. Estos tokens ayudan al modelo a comprender diferentes formas, como rectángulos alrededor de objetos (representación de caja), formas de cuatro lados (representación de caja cuádruple) y formas de muchos lados (representación de polígono). El modelo se entrena utilizando un método llamado pérdida de entropía cruzada, que le ayuda a aprender comparando sus predicciones con las respuestas correctas y ajustando sus parámetros internos en consecuencia.
El conjunto de datos FLD-5B incluye diferentes tipos de anotaciones: descripciones de texto, pares de regiones y texto, y combinaciones de texto, frases y regiones. Se creó mediante un proceso de dos pasos que implicó la recopilación y anotación de datos. Las imágenes se obtuvieron de conjuntos de datos populares como ImageNet-22k, Object 365, Open Images, Conceptual Captions y LAION. Las anotaciones en el conjunto de datos FLD-5B son en su mayoría sintéticas, lo que significa que se generaron automáticamente en lugar de etiquetarse manualmente.
Inicialmente, modelos especializados y capacitados en tareas específicas, como la detección de objetos o la segmentación, crearon estas anotaciones. A continuación, se utilizó un proceso de filtrado y mejora para garantizar que las anotaciones fueran detalladas y precisas. Tras eliminar cualquier ruido, el conjunto de datos se sometió a un perfeccionamiento iterativo, en el que las salidas de Florence-2 se utilizaron para actualizar y mejorar continuamente las anotaciones.
La arquitectura del modelo de Florence-2 sigue un enfoque de aprendizaje de secuencia a secuencia. Esto significa que el modelo procesa una secuencia de entrada (como una imagen con un mensaje de texto) y genera una secuencia de salida (como una descripción o una etiqueta) de forma gradual. En el marco de secuencia a secuencia, cada tarea se trata como un problema de traducción: el modelo toma una imagen de entrada y un mensaje específico de la tarea y genera la salida correspondiente.
En el núcleo de la arquitectura del modelo se encuentra un transformador encoder-decoder multimodal, que combina un encoder de imagen y un encoder-decoder multimodal. El encoder de imagen, llamado DaViT (Data-efficient Vision Transformer), procesa las imágenes de entrada convirtiéndolas en embeddings de tokens visuales: representaciones compactas de la imagen que capturan tanto la información espacial (dónde están las cosas) como la semántica (qué son las cosas). Estos tokens visuales se combinan luego con embeddings de texto (representaciones del texto), lo que permite al modelo fusionar a la perfección datos textuales y visuales.
Florence-2 se distingue de otros modelos de lenguaje visual debido a sus impresionantes capacidades de zero-shot. A diferencia de modelos como PaliGemma, que dependen de un ajuste fino extenso para adaptarse a diversas tareas, Florence-2 funciona bien desde el primer momento. Además, Florence-2 puede competir con modelos más grandes como GPT-4V y Flamingo, que a menudo tienen muchos más parámetros pero no siempre igualan el rendimiento de Florence-2. Por ejemplo, Florence-2 logra mejores resultados de zero-shot que Kosmos-2, a pesar de que Kosmos-2 tiene más del doble de parámetros.
En las pruebas de referencia, Florence-2 ha demostrado un rendimiento notable en tareas como el captioning de COCO y la comprensión de expresiones referenciales. Superó a modelos como PolyFormer y UNINEXT en tareas de detección y segmentación de objetos en el conjunto de datos COCO. Es una opción altamente competitiva para aplicaciones del mundo real donde tanto el rendimiento como la eficiencia de los recursos son cruciales.
Florence-2 se puede utilizar en muchas industrias diferentes, como entretenimiento, accesibilidad, educación, etc. Repasemos algunos ejemplos para comprenderlo mejor.
Cuando está en una plataforma de streaming tratando de decidir qué ver, puede leer un resumen de una película para ayudarle a elegir. ¿Qué pasaría si la plataforma también pudiera proporcionar una descripción detallada del cartel de la película? Florence-2 puede hacer eso posible a través de la descripción de imágenes, que genera texto descriptivo para las imágenes. Florence-2 puede generar descripciones detalladas de los carteles de películas, lo que hace que las plataformas de streaming sean más inclusivas para los usuarios con discapacidad visual. Al analizar los elementos visuales de un cartel, como los personajes, el escenario y el texto, Florence-2 puede crear descripciones detalladas que transmitan el contenido y el ambiente del cartel. La imagen de abajo muestra el nivel de detalle que Florence-2 puede proporcionar en su descripción.
Estos son otros ejemplos de dónde la descripción de imágenes puede ser útil:
Florence-2 también se puede utilizar para enriquecer las experiencias culinarias. Por ejemplo, un libro de cocina en línea podría usar Florence-2 para anclar visualmente y etiquetar partes de una imagen de receta compleja. El anclaje visual ayuda aquí al vincular partes específicas de la imagen con el texto descriptivo correspondiente. Cada ingrediente y paso se puede etiquetar y explicar con precisión, lo que facilita a los cocineros caseros seguir la receta y comprender el papel de cada componente en el plato.
El OCR con procesamiento basado en regiones, que se centra en extraer texto de áreas específicas dentro de un documento, puede ser muy útil en campos como la contabilidad. Se pueden analizar áreas designadas de documentos financieros para extraer automáticamente información importante, como detalles de transacciones, números de cuenta y fechas de vencimiento. Al reducir la necesidad de la entrada manual de datos, minimiza los errores y acelera los tiempos de procesamiento. Las instituciones financieras pueden utilizarlo para agilizar tareas como el procesamiento de facturas, la conciliación de recibos y la compensación de cheques, lo que conduce a transacciones más rápidas y a un mejor servicio al cliente.
La segmentación basada en regiones, que implica dividir una imagen en partes significativas para un análisis enfocado y una inspección detallada, puede impulsar aplicaciones industriales que mejoran la precisión y la eficiencia en diversos procesos. Al centrarse en áreas específicas dentro de una imagen, esta tecnología permite una inspección y un análisis detallados de los componentes y productos. Con respecto al control de calidad, puede identificar defectos o inconsistencias en los materiales, como grietas o desalineaciones, asegurando que solo los productos de alta calidad lleguen al mercado.
También mejora las líneas de montaje automatizadas al guiar los brazos robóticos hacia piezas específicas y optimizar la colocación y el montaje de los componentes. Del mismo modo, en la gestión de inventario, ayuda a rastrear y supervisar el estado y la ubicación de los productos, lo que conduce a una logística más eficiente y a la reducción del tiempo de inactividad. En general, la segmentación basada en regiones aumenta la precisión y la productividad, lo que se traduce en un ahorro de costes y una mayor calidad del producto en entornos industriales.
Estamos empezando a ver una tendencia en la que los modelos de IA se están volviendo más ligeros sin dejar de mantener un alto rendimiento. Florence-2 marca un gran paso adelante en términos de modelos de lenguaje visual. Puede manejar varias tareas como la detección de objetos, la segmentación, la descripción de imágenes y la conexión a tierra con un rendimiento impresionante de cero disparos. A pesar de su menor tamaño, Florence-2 es eficiente y multifuncional, lo que lo hace extremadamente útil en términos de aplicaciones en diferentes industrias. Modelos como Florence-2 están trayendo más posibilidades a la mesa, ampliando el potencial de las innovaciones de la IA.
Explore más sobre la IA visitando nuestro repositorio de GitHub y uniéndose a nuestra comunidad. Consulte nuestras páginas de soluciones para leer sobre las aplicaciones de la IA en la fabricación y la agricultura. 🚀