Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Únete a nosotros mientras revisamos una charla magistral de YOLO Vision 2024 que se centra en explorar cómo las herramientas de código abierto de Hugging Face están impulsando el desarrollo de la IA.
Elegir los algoritmos correctos es solo una parte de la creación de soluciones de visión artificial impactantes. Los ingenieros de IA a menudo trabajan con grandes conjuntos de datos, ajustan los modelos para tareas específicas y optimizan los sistemas de IA para el rendimiento en el mundo real. A medida que las aplicaciones de IA se adoptan más rápidamente, también crece la necesidad de herramientas que simplifiquen estos procesos.
En YOLO Vision 2024 (YV24), el evento híbrido anual impulsado por Ultralytics, expertos en IA y entusiastas de la tecnología se reunieron para explorar las últimas innovaciones en visión artificial. El evento generó debates sobre diversos temas, como las formas de acelerar el desarrollo de aplicaciones de IA.
Un punto clave destacado del evento fue una presentación sobre Hugging Face, una plataforma de IA de código abierto que agiliza el entrenamiento, la optimización y el despliegue de modelos. Pavel Lakubovskii, ingeniero de aprendizaje automático en Hugging Face, compartió cómo sus herramientas mejoran los flujos de trabajo para tareas de visión artificial, como la detección de objetos en imágenes, la categorización de imágenes en diferentes grupos y la realización de predicciones sin entrenamiento previo en ejemplos específicos (aprendizaje zero-shot).
Hugging Face Hub aloja y proporciona acceso a varios modelos de IA y visión artificial como Ultralytics YOLO11. En este artículo, recapitularemos las conclusiones clave de la charla de Pavel y veremos cómo los desarrolladores pueden usar las herramientas de código abierto de Hugging Face para construir e implementar modelos de IA rápidamente.
Fig. 1. Pavel en el escenario en YV24.
Hugging Face Hub admite un desarrollo de IA más rápido
Pavel comenzó su charla presentando Hugging Face como una plataforma de IA de código abierto que ofrece modelos pre-entrenados para una variedad de aplicaciones. Estos modelos están diseñados para varias ramas de la IA, incluyendo el procesamiento del lenguaje natural (PNL), la visión artificial y la IA multimodal, lo que permite a los sistemas procesar diferentes tipos de datos, como texto, imágenes y audio.
Pavel mencionó que Hugging Face Hub ahora alberga más de 1 millón de modelos, y los desarrolladores pueden encontrar fácilmente modelos adecuados para sus proyectos específicos. Hugging Face tiene como objetivo simplificar el desarrollo de la IA ofreciendo herramientas para el entrenamiento, el ajuste fino y el despliegue de modelos. Cuando los desarrolladores pueden experimentar con diferentes modelos, se simplifica el proceso de integración de la IA en aplicaciones del mundo real.
Aunque Hugging Face era inicialmente conocido por el PNL, desde entonces se ha expandido a la visión artificial y a la IA multimodal, lo que permite a los desarrolladores abordar una gama más amplia de tareas de IA. También cuenta con una sólida comunidad en la que los desarrolladores pueden colaborar, compartir ideas y obtener soporte a través de foros, Discord y GitHub.
Explorando modelos de Hugging Face para aplicaciones de visión artificial
Entrando en más detalles, Pavel explicó cómo las herramientas de Hugging Face facilitan la creación de aplicaciones de visión artificial. Los desarrolladores pueden utilizarlas para tareas como la clasificación de imágenes, la detección de objetos y las aplicaciones de visión-lenguaje.
También señaló que muchas de estas tareas de visión artificial se pueden gestionar con modelos pre-entrenados disponibles en Hugging Face Hub, lo que ahorra tiempo al reducir la necesidad de entrenar desde cero. De hecho, Hugging Face ofrece más de 13.000 modelos pre-entrenados para tareas de clasificación de imágenes, incluidos los de clasificación de alimentos, clasificación de mascotas y detección de emociones.
Haciendo hincapié en la accesibilidad de estos modelos, dijo: "Probablemente ni siquiera necesites entrenar un modelo para tu proyecto; es posible que encuentres uno en el Hub que ya haya sido entrenado por alguien de la comunidad".
Modelos de Hugging Face para la detección de objetos
Dando otro ejemplo, Pavel explicó cómo Hugging Face puede ayudar con la detección de objetos, una función clave en la visión artificial que se utiliza para identificar y localizar objetos dentro de las imágenes. Incluso con datos etiquetados limitados, los modelos pre-entrenados disponibles en Hugging Face Hub pueden hacer que la detección de objetos sea más eficiente.
También ofreció una breve descripción general de varios modelos creados para esta tarea que se pueden encontrar en Hugging Face:
Modelos de detección de objetos en tiempo real: Para entornos dinámicos donde la velocidad es crucial, modelos como Detection Transformer (DETR) ofrecen capacidades de detección de objetos en tiempo real. DETR está entrenado en el conjunto de datos COCO y está diseñado para procesar características multiescala de manera eficiente, lo que lo hace adecuado para aplicaciones sensibles al tiempo.
Modelos de visión-lenguaje: Estos modelos combinan el procesamiento de imágenes y texto, lo que permite a los sistemas de IA hacer coincidir imágenes con descripciones o reconocer objetos más allá de sus datos de entrenamiento. Algunos ejemplos son CLIP y SigLIP, que mejoran la búsqueda de imágenes vinculando texto a elementos visuales y permiten que las soluciones de IA identifiquen nuevos objetos comprendiendo su contexto.
Modelos de detección de objetos zero-shot: Pueden identificar objetos que no han visto antes comprendiendo la relación entre imágenes y texto. Algunos ejemplos son OwlVit, GroundingDINO y OmDet, que utilizan el aprendizaje zero-shot para detectar nuevos objetos sin necesidad de datos de entrenamiento etiquetados.
¿Cómo usar los modelos de Hugging Face?
Pavel luego cambió el enfoque a la práctica con los modelos de Hugging Face, explicando tres formas en que los desarrolladores pueden aprovecharlos: explorar modelos, probarlos rápidamente y personalizarlos aún más.
Demostró cómo los desarrolladores pueden buscar modelos directamente en Hugging Face Hub sin escribir ningún código, lo que facilita la prueba instantánea de modelos a través de una interfaz interactiva. "Puedes probarlo sin escribir ni una sola línea de código ni descargar el modelo en tu ordenador", añadió Pavel. Dado que algunos modelos son grandes, ejecutarlos en el Hub ayuda a evitar las limitaciones de almacenamiento y procesamiento.
Fig. 2. Cómo utilizar los modelos de Hugging Face.
Además, la API Inference de Hugging Face permite a los desarrolladores ejecutar modelos de IA con simples llamadas a la API. Es ideal para pruebas rápidas, proyectos de prueba de concepto y prototipos rápidos sin necesidad de una configuración compleja.
Para casos de uso más avanzados, los desarrolladores pueden utilizar el framework Hugging Face Transformers, una herramienta de código abierto que proporciona modelos pre-entrenados para tareas de texto, visión y audio, a la vez que es compatible con PyTorch y TensorFlow. Pavel explicó que con solo dos líneas de código, los desarrolladores pueden recuperar un modelo del Hugging Face Hub y vincularlo a una herramienta de preprocesamiento, como un procesador de imágenes, para analizar datos de imágenes para aplicaciones de Vision AI.
Optimización de flujos de trabajo de IA con Hugging Face
A continuación, Pavel explicó cómo Hugging Face puede optimizar los flujos de trabajo de IA. Un tema clave que cubrió fue la optimización del mecanismo de atención en Transformers, una característica central de los modelos de aprendizaje profundo que le ayuda a centrarse en las partes más relevantes de los datos de entrada. Esto mejora la precisión de las tareas que involucran el procesamiento del lenguaje y la visión artificial. Sin embargo, puede consumir muchos recursos.
Optimizar el mecanismo de atención puede reducir significativamente el uso de memoria al tiempo que mejora la velocidad. Pavel señaló: "Por ejemplo, al cambiar a una implementación de atención más eficiente, podría ver un rendimiento hasta 1.8 veces más rápido".
Hugging Face proporciona soporte integrado para implementaciones de atención más eficientes dentro del marco de Transformers. Los desarrolladores pueden habilitar estas optimizaciones simplemente especificando una implementación de atención alternativa al cargar un modelo.
Optimum y Torch Compile
También habló de la cuantización, una técnica que reduce el tamaño de los modelos de IA al disminuir la precisión de los números que utilizan sin que afecte demasiado al rendimiento. Esto ayuda a que los modelos utilicen menos memoria y se ejecuten más rápido, haciéndolos más adecuados para dispositivos con potencia de procesamiento limitada, como smartphones y sistemas integrados.
Para mejorar aún más la eficiencia, Pavel introdujo la biblioteca Hugging Face Optimum, un conjunto de herramientas diseñadas para optimizar e implementar modelos. Con solo unas pocas líneas de código, los desarrolladores pueden aplicar técnicas de cuantificación y convertir modelos en formatos eficientes como ONNX (Open Neural Network Exchange), lo que les permite ejecutarse sin problemas en diferentes tipos de hardware, incluidos servidores en la nube y dispositivos perimetrales.
Fig 3. Pavel habló sobre la librería Optimum y sus características.
Finalmente, Pavel mencionó los beneficios de Torch Compile, una función de PyTorch que optimiza la forma en que los modelos de IA procesan los datos, haciéndolos funcionar más rápido y de forma más eficiente. Hugging Face integra Torch Compile dentro de sus bibliotecas Transformers y Optimum, lo que permite a los desarrolladores aprovechar estas mejoras de rendimiento con cambios mínimos en el código.
Al optimizar la estructura de cálculo del modelo, Torch Compile puede acelerar los tiempos de inferencia y aumentar las velocidades de fotogramas de 29 a 150 fotogramas por segundo sin comprometer la precisión ni la calidad.
Implementación de modelos con herramientas de Hugging Face
Pasando a otro tema, Pavel mencionó brevemente cómo los desarrolladores pueden extender e implementar modelos de Vision AI utilizando las herramientas de Hugging Face después de seleccionar el modelo adecuado y elegir el mejor enfoque para el desarrollo.
Por ejemplo, los desarrolladores pueden implementar aplicaciones interactivas de IA utilizando Gradio y Streamlit. Gradio permite a los desarrolladores crear interfaces basadas en web para modelos de aprendizaje automático, mientras que Streamlit ayuda a construir aplicaciones de datos interactivas con scripts simples de Python.
Pavel también señaló: “No es necesario empezar a escribir todo desde cero”, refiriéndose a las guías, los cuadernos de formación y los scripts de ejemplo que proporciona Hugging Face. Estos recursos ayudan a los desarrolladores a empezar rápidamente sin tener que construir todo desde cero.
Fig. 4. Pavel hablando de las capacidades de Hugging Face en YV24.
Ventajas de Hugging Face Hub
Para concluir su discurso de apertura, Pavel resumió las ventajas de usar Hugging Face Hub. Enfatizó cómo simplifica la gestión de modelos y la colaboración. También llamó la atención sobre la disponibilidad de guías, cuadernos y tutoriales, que pueden ayudar tanto a principiantes como a expertos a comprender e implementar modelos de IA.
"Ya hay muchos espacios interesantes en el Hub. Puedes encontrar otros similares, clonar el código compartido, modificar algunas líneas, reemplazar el modelo con el tuyo y volver a publicarlo", explicó, animando a los desarrolladores a aprovechar la flexibilidad de la plataforma.
Conclusiones clave
Durante su charla en YV24, Pavel compartió cómo Hugging Face proporciona herramientas que facilitan el entrenamiento, la optimización y el despliegue de modelos de IA. Por ejemplo, innovaciones como Transformers, Optimum y Torch Compile pueden ayudar a los desarrolladores a mejorar el rendimiento del modelo.
A medida que los modelos de IA se vuelven más eficientes, los avances en la cuantización y el despliegue en el borde están facilitando su ejecución en dispositivos con recursos limitados. Estas mejoras, combinadas con herramientas como Hugging Face y modelos avanzados de visión artificial como Ultralytics YOLO11, son clave para construir aplicaciones de Visión Artificial escalables y de alto rendimiento.