Acompáñanos en la revisión de una charla de YOLO Vision 2024 que se centra en explorar cómo las herramientas de código abierto de Hugging FaceFace están haciendo avanzar el desarrollo de la IA.
Elegir 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, afinan los modelos para tareas específicas y optimizan los sistemas de IA para su rendimiento 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 una ponencia sobre Hugging Face, una plataforma de IA de código abierto que agiliza la formación, optimización y despliegue de modelos. Pavel Lakubovskii, Ingeniero de Aprendizaje Automático de Hugging Face, compartió 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 entrenamiento previo en ejemplos específicos (aprendizaje sin disparos).
Hugging Hugging Face Hub aloja y proporciona acceso a varios modelos de IA y visión por ordenador, como Ultralytics YOLO11. En este artículo, recapitularemos los puntos clave de la charla de Pavel y veremos cómo los desarrolladores pueden utilizar las herramientas de código abierto de Hugging FaceFace para crear y desplegar modelos de IA rápidamente.
Pavel empezó 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 1 millón de modelos, y los desarrolladores pueden encontrar fácilmente modelos adecuados para sus proyectos específicos. Hugging Face pretende 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 las aplicaciones del mundo real.
Aunque Hugging Face Face era conocido inicialmente por la 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.
Entrando en más detalles, Pavel explicó cómo las herramientas de Hugging FaceFace facilitan la creación de aplicaciones de visión por ordenador. Los desarrolladores pueden utilizarlas para tareas como la clasificación de imágenes, la detección de objetos y las 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 el Hub de Hugging Face Face, 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: puede que encuentres uno en el Hub que ya haya sido entrenado por alguien de la comunidad".
Con otro ejemplo, Pavel explicó cómo Hugging Face puede ayudar en la detección de objetos, una función clave en la visión por ordenador que se utiliza para identificar y localizar objetos dentro de las imágenes. Incluso con datos etiquetados limitados, los modelos preentrenados disponibles en Hugging Face Hub pueden hacer que la detección de objetos sea más eficaz.
También dio una rápida visión general de varios modelos construidos para esta tarea que puedes encontrar en Hugging Face:
A continuación, Pavel pasó a centrarse en el uso práctico de los modelos de Hugging Face , explicando tres formas en que los desarrolladores pueden aprovecharlos: explorando los modelos, probándolos rápidamente y personalizándolos aún más.
Demostró cómo los desarrolladores pueden examinar los modelos directamente en el Hugging Face Hub sin escribir ningún código, lo que facilita la prueba instantánea de los 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.
Además, la API de Inferencia de Hugging Face 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 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 sólo dos líneas de código, los desarrolladores pueden recuperar un modelo del Hugging 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 IA de Visión.
A continuación, Pavel explicó cómo Hugging Face puede agilizar los flujos de trabajo de la IA. Un tema clave que trató fue la optimización del mecanismo de atención en los Transformadores, una característica central 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, al tiempo que mejora la velocidad. Pavel señaló: "Por ejemplo, cambiando a una implementación de atención más eficiente, podrías 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 Transformadores. Los desarrolladores pueden activar estas optimizaciones simplemente especificando una implementación de atención alternativa al cargar un modelo.
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, haciéndolos más adecuados para dispositivos con una capacidad de procesamiento limitada, como los teléfonos inteligentes y los 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 y desplegar modelos. Con sólo unas pocas líneas de código, los desarrolladores pueden aplicar técnicas de cuantización y convertir modelos en formatos eficientes como ONNX (Open Neural Network Exchange), lo que les permite funcionar sin problemas en distintos tipos de hardware, incluidos servidores en la nube y dispositivos de borde.
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 funcionar más rápida y eficazmente. 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.
A continuación, Pavel se refirió brevemente a cómo los desarrolladores pueden ampliar y desplegar los modelos de IA de Visión utilizando las herramientas 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 que empieces a escribirlo todo desde cero", refiriéndose a las guías, cuadernos de formación y scripts de ejemplo que proporciona Hugging Face . Estos recursos ayudan a los desarrolladores a empezar rápidamente sin tener que construirlo todo desde cero.
Para concluir su discurso, 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 comprender e implementar modelos de IA.
"Ya hay muchos espacios geniales en Hub. Puedes encontrar otros similares, clonar el código compartido, modificar algunas 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.
Durante su charla en YV24, Pavel compartió cómo Hugging Face proporciona herramientas que apoyan 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 la cuantización y el despliegue de bordes 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 por ordenador como Ultralytics YOLO11, son clave para crear aplicaciones de IA de Visión escalables y de alto rendimiento.
¡Únete a nuestra creciente comunidad! Explora nuestro repositorio GitHub para aprender sobre IA, y consulta nuestras licenciasyolo para iniciar tus proyectos de IA de Visión. ¿Te interesan innovaciones como la visión por ordenador en la sanidad o la visión por ordenador en la agricultura? ¡Visita nuestras páginas de soluciones para descubrir más!
Comienza tu viaje con el futuro del aprendizaje automático