Impulsar proyectos de CV con las herramientas de código abierto de Hugging Face

Abirami Vina

5 minutos de lectura

11 de febrero de 2025

Acompáñenos en una nueva charla de YOLO Vision 2024 centrada en explorar cómo las herramientas de código abierto de Hugging Face hacen avanzar el desarrollo de la IA.

La elección de los algoritmos adecuados es sólo una parte de la creación de soluciones de visión por ordenador impactantes. Los ingenieros de IA trabajan a menudo con grandes conjuntos de datos, ajustan los modelos a tareas específicas y optimizan los sistemas de IA para que funcionen en el mundo real. A medida que las aplicaciones de IA se adoptan con mayor rapidez, 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 por ordenador. El evento suscitó debates sobre diversos temas, como las formas de acelerar el desarrollo de aplicaciones de IA.

Uno de los aspectos más destacados del evento fue la ponencia sobre Hugging Face, una plataforma de IA de código abierto que agiliza la formación, optimización e implantación de modelos. Pavel Lakubovskii, ingeniero de aprendizaje automático de Hugging Face, explicó cómo sus herramientas mejoran los flujos de trabajo para tareas de visión por ordenador 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 formación previa sobre ejemplos específicos (aprendizaje sin disparos).

Hugging Face Hub aloja y proporciona acceso a varios modelos de IA y visión por ordenador como Ultralytics YOLO11. En este artículo, resumiremos los puntos clave de la charla de Pavel y veremos cómo los desarrolladores pueden utilizar las herramientas de código abierto de Hugging Face para crear y desplegar modelos de IA rápidamente.

__wf_reserved_inherit
Fig. 1. Pavel en el escenario de YV24.

Hugging Face Hub facilita un desarrollo más rápido de la IA

Pavel comenzó su charla presentando Hugging Face como una plataforma de IA de código abierto que ofrece modelos preentrenados para diversas aplicaciones. Estos modelos están diseñados para diversas ramas de la IA, como el procesamiento del lenguaje natural (PLN), la visión por ordenador y la IA multimodal, lo que permite a los sistemas procesar distintos tipos de datos, como texto, imágenes y audio.

Pavel mencionó que Hugging Face Hub ha albergado ya más de un millón de modelos, y los desarrolladores pueden encontrar fácilmente modelos adecuados para sus proyectos específicos. El objetivo de Hugging Face es simplificar el desarrollo de la IA ofreciendo herramientas para la formación, el ajuste y la implantación de modelos. Cuando los desarrolladores pueden experimentar con distintos modelos, se simplifica el proceso de integración de la IA en aplicaciones del mundo real.

Aunque Hugging Face era conocido inicialmente por su PNL, desde entonces se ha ampliado a la visión por ordenador y 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 ayuda a través de foros, Discord y GitHub.

Exploración de modelos de caras abrazadas para aplicaciones de visión por ordenador

Pavel explicó con más detalle cómo las herramientas de Hugging Face facilitan la creación de aplicaciones de visión por ordenador. Los desarrolladores pueden utilizarlas para tareas como clasificación de imágenes, detección de objetos y aplicaciones de lenguaje de visión.

También señaló que muchas de estas tareas de visión por ordenador pueden realizarse con modelos preentrenados 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 preentrenados para tareas de clasificación de imágenes, incluidos los de clasificación de alimentos, 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 - puedes encontrar uno en el Hub que ya ha sido entrenado por alguien de la comunidad". 

Modelos de caras abrazadas para la detección de objetos 

Con otro ejemplo, Pavel explicó cómo Hugging Face puede ayudar a detectar objetos, una función clave de la visión por ordenador que se utiliza para identificar y localizar objetos en imágenes. Incluso con datos etiquetados limitados, los modelos preentrenados disponibles en Hugging Face Hub pueden hacer más eficiente la detección de objetos. 

También hizo un rápido repaso de varios modelos construidos para esta tarea que puedes encontrar en Hugging Face:

  • Modelos de detección de objetos en tiempo real: Para entornos dinámicos en los que la velocidad es crucial, modelos como Detection Transformer (DETR) ofrecen capacidades de detección de objetos en tiempo real. DETR se ha entrenado con el conjunto de datos COCO y se ha diseñado para procesar eficazmente características multiescala, lo que lo hace adecuado para aplicaciones en las que el tiempo es un factor crucial.
  • Modelos de visión-lenguaje: Estos modelos combinan el procesamiento de imágenes y textos, lo que permite a los sistemas de IA relacionar 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 imágenes y permiten a las soluciones de IA identificar nuevos objetos comprendiendo su contexto.
  • Modelos de detección de objetos sin disparos: Pueden identificar objetos que no han visto antes entendiendo la relación entre imágenes y texto. Algunos ejemplos son OwlVit, GroundingDINO y OmDet, que utilizan el aprendizaje de disparo cero para detectar nuevos objetos sin necesidad de datos de entrenamiento etiquetados.

Cómo utilizar los modelos Hugging Face

A continuación, Pavel se centró en el uso práctico de los modelos Hugging Face y explicó tres maneras en que los desarrolladores pueden aprovecharlos: explorando los modelos, probándolos rápidamente y personalizándolos.

Demostró cómo los desarrolladores pueden navegar por los modelos directamente en el 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 línea de código ni descargar el modelo en tu ordenador", añadió Pavel. Como algunos modelos son grandes, ejecutarlos en el Hub ayuda a evitar las limitaciones de almacenamiento y procesamiento.

__wf_reserved_inherit
Fig. 2. Cómo utilizar los modelos Hugging Face.

Además, la API Hugging Face Inference permite a los desarrolladores ejecutar modelos de IA con sencillas llamadas a la API. Es ideal para pruebas rápidas, proyectos de prueba de concepto y creación rápida de prototipos sin necesidad de una configuración compleja.

Para casos de uso más avanzados, los desarrolladores pueden utilizar el marco Hugging Face Transformers, una herramienta de código abierto que proporciona modelos preentrenados para tareas de texto, visión y audio y 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 los flujos de trabajo de IA con Hugging Face

A continuación, Pavel explicó cómo Hugging Face puede agilizar los flujos de trabajo de IA. Un tema clave que trató fue la optimización del mecanismo de atención en Transformers, una característica básica de los modelos de aprendizaje profundo que ayuda a centrarse en las partes más relevantes de los datos de entrada. Esto mejora la precisión de las tareas relacionadas con el procesamiento del lenguaje y la visión por ordenador. Sin embargo, puede consumir muchos recursos.

Optimizar el mecanismo de atención puede reducir significativamente el uso de memoria y mejorar la velocidad. Pavel señaló: "Por ejemplo, cambiando a una implementación de atención más eficiente, se 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 activar 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 hace más pequeños los modelos de IA reduciendo la precisión de los números que utilizan sin afectar demasiado al rendimiento. Esto ayuda a que los modelos utilicen menos memoria y se ejecuten más rápido, lo que los hace más adecuados para dispositivos con una capacidad de procesamiento limitada, como smartphones y sistemas integrados.

Para mejorar aún más la eficiencia, Pavel presentó la biblioteca Hugging Face Optimum, un conjunto de herramientas diseñadas para optimizar y desplegar modelos. Con solo unas pocas líneas de código, los desarrolladores pueden aplicar técnicas de cuantización y convertir modelos a formatos eficientes como ONNX (Open Neural Network Exchange), lo que les permite funcionar sin problemas en diferentes tipos de hardware, incluidos servidores en la nube y dispositivos edge.

__wf_reserved_inherit
Fig. 3. Pavel habló sobre la biblioteca Optimum y sus características.

Por último, Pavel mencionó las ventajas de Torch Compile, una función de PyTorch que optimiza la forma en que los modelos de IA procesan los datos, haciéndolos más rápidos y eficientes. Hugging Face integra Torch Compile en 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 la velocidad de fotogramas de 29 a 150 fotogramas por segundo sin comprometer la precisión ni la calidad.

Despliegue de modelos con herramientas Hugging Face

A continuación, Pavel se refirió brevemente a cómo los desarrolladores pueden ampliar y desplegar modelos de Vision AI utilizando las herramientas de Hugging Face tras seleccionar el modelo adecuado y elegir el mejor enfoque para el desarrollo.

Por ejemplo, los desarrolladores pueden desplegar 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 crear aplicaciones de datos interactivas con sencillos scripts de Python. 

Pavel también señaló: "No hace falta empezar a escribir todo desde cero", refiriéndose a las guías, cuadernos de formación y scripts de ejemplo que ofrece Hugging Face. Estos recursos ayudan a los desarrolladores a empezar rápidamente sin tener que construirlo todo desde cero.

__wf_reserved_inherit
Fig. 4. Pavel habla de las posibilidades de Hugging Face en YV24.

Beneficios de abrazar a Face Hub 

Para concluir, Pavel resumió las ventajas de utilizar Hugging Face Hub. Destacó 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 entender e implementar modelos de IA.

"Ya hay muchos espacios interesantes en Hub. Puedes encontrar otros similares, clonar el código compartido, modificar unas pocas líneas, sustituir el modelo por el tuyo propio y enviarlo de vuelta", explicó, animando a los desarrolladores a aprovechar la flexibilidad de la plataforma.

Principales conclusiones 

Durante su charla en YV24, Pavel explicó cómo Hugging Face proporciona herramientas que facilitan la formación, optimización y despliegue de modelos de IA. Por ejemplo, innovaciones como Transformers, Optimum y Torch Compile pueden ayudar a los desarrolladores a mejorar el rendimiento de los modelos.

A medida que los modelos de IA se hacen más eficientes, los avances en cuantificación y despliegue de bordes facilitan su ejecución en dispositivos con recursos limitados. Estas mejoras, combinadas con herramientas como Hugging Face y modelos avanzados de visión por ordenador como Ultralytics YOLO11, son fundamentales para crear aplicaciones de IA de visión escalables y de alto rendimiento.

¡Únase a nuestra creciente comunidad! Explore nuestro repositorio de GitHub para aprender sobre IA y consulte nuestras licencias yolo para iniciar sus proyectos de IA de visión. ¿Le interesan innovaciones como la visión por ordenador en la sanidad o la visión por ordenador en la agricultura? Visite nuestras páginas de soluciones para obtener más información.

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Empezar gratis
Enlace copiado en el portapapeles