Verano en Hugging Face
'Verano en Hugging Face'
El verano ha terminado oficialmente y estos últimos meses han sido bastante ocupados en Hugging Face. Desde nuevas características en el Hub hasta investigación y desarrollo de código abierto, nuestro equipo ha estado trabajando arduamente para empoderar a la comunidad a través de tecnología abierta y colaborativa.
En esta publicación del blog te pondrás al día con todo lo que sucedió en Hugging Face en junio, julio y agosto.
Esta publicación cubre una amplia gama de áreas en las que nuestro equipo ha estado trabajando, así que no dudes en saltar a las partes que más te interesen 🤗
- Nuevas características
- Comunidad
- Código abierto
- Soluciones
- Investigación
Nuevas características
En los últimos meses, ¡el Hub ha pasado de tener 10,000 repositorios de modelos públicos a más de 16,000 modelos! Felicitaciones a nuestra comunidad por compartir tantos modelos increíbles con el mundo. Y más allá de los números, ¡tenemos un montón de nuevas y geniales características para compartir contigo!
- Acelere la inferencia de BERT con Hugging Face Transformers y AWS I...
- La Era del Aprendizaje Automático Como Código Ha Llegado
- Entrenar un Modelo de Incrustación de Frases con 1B Pares de Entren...
Spaces Beta ( hf.co/spaces )
Spaces es una solución simple y gratuita para alojar aplicaciones de demostración de aprendizaje automático directamente en tu perfil de usuario o en el perfil hf.co de tu organización. Soportamos dos increíbles SDKs que te permiten construir aplicaciones geniales fácilmente en Python: Gradio y Streamlit . ¡En cuestión de minutos puedes implementar una aplicación y compartirla con la comunidad! 🚀
Spaces te permite configurar secretos , permite requisitos personalizados , e incluso puede ser gestionado directamente desde repositorios de GitHub . Puedes registrarte para la beta en hf.co/spaces . ¡Aquí tienes algunos de nuestros favoritos!
- Crea recetas con la ayuda de Chef Transformer
- Transcribe el habla a texto con HuBERT
- Haz segmentación en un video con el modelo DINO
- Utiliza Paint Transformer para hacer pinturas a partir de una imagen dada
- ¡O simplemente puedes explorar cualquiera de los más de 100 Spaces existentes!
Comparte un poco de amor
Ahora puedes darle “me gusta” a cualquier modelo, conjunto de datos o Space en http://huggingface.co , lo que significa que puedes compartir un poco de amor con la comunidad ❤️. También puedes ver quién le da “me gusta” a qué haciendo clic en la caja de “me gusta” 👀. Adelante y dale “me gusta” a tus propios repositorios, no te juzgamos 😉.
Integración con TensorBoard
A finales de junio, lanzamos una integración con TensorBoard para todos nuestros modelos. Si hay trazas de TensorBoard en el repositorio, se lanzará automáticamente una instancia gratuita de TensorBoard para ti. ¡Esto funciona tanto con repositorios públicos como privados y para cualquier biblioteca que tenga trazas de TensorBoard!
Métricas
En julio, añadimos la capacidad de listar métricas de evaluación en repositorios de modelos agregándolas a su tarjeta de modelo📈. Si añades una métrica de evaluación en la sección model-index
de la tarjeta de tu modelo, se mostrará con orgullo en tu repositorio de modelos.
Si eso no fuera suficiente, estas métricas estarán automáticamente vinculadas al correspondiente cuadro de líderes de Papers With Code. Eso significa que tan pronto como compartas tu modelo en el Hub, podrás comparar tus resultados lado a lado con otros de la comunidad. 💪
Echa un vistazo a este repositorio como ejemplo, presta atención a la sección model-index
de su tarjeta de modelo para ver cómo puedes hacer esto tú mismo y encontrar las métricas en Papers with Code automáticamente .
Nuevos Widgets
El Hub cuenta con 18 widgets que permiten a los usuarios probar modelos directamente en el navegador.
Con nuestras últimas integraciones en Sentence Transformers, también hemos introducido dos nuevos widgets: extracción de características y similitud de frases.
El último widget de clasificación de audio permite muchos casos de uso interesantes: identificación de idioma, detección de sonidos en la calle 🚨, reconocimiento de comandos , identificación de hablantes y ¡mucho más! ¡Puedes probar esto con modelos de transformers
y speechbrain
hoy mismo! 🔊 (Ten en cuenta que cuando pruebes algunos de los modelos, es posible que necesites ladrar en voz alta)
Puedes probar nuestra demo temprana de clasificación de datos estructurados con Scikit-learn. Y finalmente, también hemos introducido nuevos widgets para modelos relacionados con imágenes: texto a imagen, clasificación de imágenes y detección de objetos. ¡Prueba la clasificación de imágenes con el modelo ViT de Google aquí y la detección de objetos con el modelo DETR de Facebook AI aquí!
Más características
Eso no es todo lo que ha sucedido en el Hub. Hemos introducido una documentación nueva y mejorada del Hub. También hemos introducido dos características ampliamente solicitadas: los usuarios ahora pueden transferir o renombrar repositorios y subir nuevos archivos directamente al Hub.
Comunidad
Curso de Hugging Face
¡En junio, lanzamos la primera parte de nuestro curso gratuito en línea! El curso te enseña todo sobre el ecosistema 🤗: Transformers, Tokenizers, Datasets, Accelerate y el Hub. También puedes encontrar enlaces a las lecciones del curso en la documentación oficial de nuestras bibliotecas. Las sesiones en vivo de todos los capítulos se pueden encontrar en nuestro canal de YouTube. ¡Estén atentos para la próxima parte del curso, que lanzaremos más adelante este año!
JAX/FLAX Sprint
¡En julio organizamos nuestro evento comunitario más grande hasta ahora con casi 800 participantes! En este evento coorganizado con los equipos de JAX/Flax y Google Cloud, los proyectos de Procesamiento del Lenguaje Natural, Visión por Computadora y Habla intensivos en cómputo se hicieron accesibles a una audiencia más amplia de ingenieros e investigadores al proporcionar TPUv3 gratuitas. Los participantes crearon más de 170 modelos, 22 conjuntos de datos y 38 demostraciones de Spaces 🤯. Puedes explorar todas las increíbles demostraciones y proyectos aquí.
¡Hubo charlas sobre JAX/Flax, Transformers, modelado de lenguaje a gran escala y más! Puedes encontrar todas las grabaciones aquí.
¡Estamos muy emocionados de compartir el trabajo de los 3 equipos ganadores!
-
Dall-e mini. ¡DALL·E mini es un modelo que genera imágenes a partir de cualquier indicación que le des! DALL·E mini es 27 veces más pequeño que el DALL·E original y aún así produce resultados impresionantes.
-
DietNerf. DietNerf es un modelo de síntesis de vistas neurales en 3D diseñado para el aprendizaje de reconstrucción de escenas en 3D con pocas muestras utilizando vistas en 2D. Esta es la primera implementación de código abierto del artículo “Putting Nerf on a Diet”.
-
CLIP RSIC. CLIP RSIC es un modelo CLIP afinado con datos de imágenes de teledetección para permitir la clasificación y descripción de imágenes de satélite sin necesidad de muestras. Este proyecto demuestra la efectividad de los modelos CLIP afinados para dominios especializados.
Aparte de estos proyectos geniales, estamos entusiasmados con cómo estos eventos comunitarios permiten entrenar modelos grandes y multimodales para múltiples idiomas. Por ejemplo, vimos los primeros grandes modelos de lenguaje de código abierto para algunos idiomas de recursos limitados como el suajili, polaco y maratí.
Bono
Además de todo lo que acabamos de compartir, nuestro equipo ha estado haciendo muchas otras cosas. Aquí hay algunas de ellas:
- 📖 Esta serie de videos de 3 partes muestra la teoría sobre cómo entrenar modelos de incrustación de oraciones de última generación.
- Presentamos en PyTorch Community Voices y participamos en una sesión de preguntas y respuestas (video).
- Hugging Face ha colaborado con NLP en español y SpainAI en un curso de español que enseña conceptos y arquitecturas de última generación, así como sus aplicaciones a través de casos de uso.
- Presentamos en MLOps World Demo Days.
Código abierto
Novedades en Transformers
¡El verano ha sido un momento emocionante para 🤗 Transformers! La biblioteca alcanzó las 50,000 estrellas, 30 millones de descargas totales y casi 1000 contribuyentes. 🤩
¿Entonces qué hay de nuevo? ¡JAX/Flax es ahora el tercer framework compatible con más de 5000 modelos en el Hub! Puedes encontrar ejemplos mantenidos activamente para diferentes tareas como la clasificación de texto. También estamos trabajando arduamente en mejorar nuestro soporte para TensorFlow: todos nuestros ejemplos han sido revisados para ser más robustos, idiomáticos de TensorFlow y más claros. Esto incluye ejemplos como resumen, traducción y reconocimiento de entidades nombradas.
Ahora puedes publicar fácilmente tu modelo en el Hub, incluyendo tarjetas de modelo generadas automáticamente, métricas de evaluación e instancias de TensorBoard. También hay un mayor soporte para exportar modelos a ONNX con el nuevo módulo transformers.onnx
.
python -m transformers.onnx --model=bert-base-cased onnx/bert-base-cased/
¡Las últimas 4 versiones introdujeron muchos modelos nuevos y geniales!
- DETR puede realizar detección de objetos y segmentación de imágenes de extremo a extremo de manera rápida. ¡Echa un vistazo a algunos de nuestros tutoriales de la comunidad!
- ¡ByT5 es el primer modelo sin tokenizador en el Hub! Puedes encontrar todos los puntos de control disponibles aquí.
- CANINE es otro modelo solo codificador sin tokenizador de Google AI, que opera directamente a nivel de caracteres. Puedes encontrar todos los puntos de control (multilingües) aquí.
- HuBERT muestra resultados emocionantes para tareas de audio secundarias como la clasificación de comandos y el reconocimiento de emociones. Revisa los modelos aquí.
- LayoutLMv2 y LayoutXLM son dos modelos increíbles capaces de analizar imágenes de documentos (como PDF) incorporando información de texto, diseño e información visual. Hemos creado una demostración de Space para que puedas probarlo directamente. Los cuadernos de demostración se pueden encontrar aquí.
- BEiT de Microsoft Research mejora a los Vision Transformers auto-supervisados, utilizando un objetivo de pre-entrenamiento ingenioso inspirado en BERT.
- RemBERT, un Transformer multilingüe grande que supera a XLM-R (y mT5 con un número similar de parámetros) en transferencia sin datos.
- Splinter, que se puede utilizar para preguntas y respuestas con pocos ejemplos. Con solo 128 ejemplos, Splinter puede alcanzar ~73% de F1 en SQuAD, ¡superando a los modelos basados en MLM en 24 puntos!
El Hub ahora está integrado en transformers
, ¡con la capacidad de enviar la configuración del Hub, el modelo y los archivos del tokenizador sin salir del tiempo de ejecución de Python! El Trainer
ahora puede enviar directamente al Hub cada vez que se guarda un punto de control:
Novedades en Datasets
Puedes encontrar 1400 conjuntos de datos públicos en https://huggingface.co/datasets gracias a las increíbles contribuciones de toda nuestra comunidad. 💯
El soporte para datasets
sigue creciendo: puede ser utilizado en JAX, procesar archivos parquet, utilizar archivos remotos y tiene un mayor soporte para otros dominios como el reconocimiento automático de voz y la clasificación de imágenes.
Los usuarios también pueden alojar y compartir directamente sus conjuntos de datos con la comunidad simplemente cargando sus archivos de datos en un repositorio en el Dataset Hub.
¿Cuáles son los aspectos más destacados de los nuevos conjuntos de datos? Los conjuntos de datos Microsoft CodeXGlue para múltiples tareas de codificación (completado de código, generación, búsqueda, etc.), conjuntos de datos enormes como C4 y MC4, y muchos más como RussianSuperGLUE y DISFL-QA.
Dando la bienvenida a nuevas bibliotecas al Hub
Además de tener una integración profunda con modelos basados en transformers
, el Hub también está construyendo grandes asociaciones con bibliotecas de ML de código abierto para proporcionar alojamiento y versionado gratuito de modelos. Hemos logrado esto con nuestra biblioteca de código abierto huggingface_hub, así como con la nueva documentación del Hub.
Todos los flujos de trabajo canónicos de spaCy ahora se pueden encontrar en la organización oficial de spaCy, y cualquier usuario puede compartir sus flujos de trabajo con un solo comando python -m spacy huggingface-hub
. Para leer más al respecto, visita https://huggingface.co/blog/spacy. ¡Puedes probar todos los modelos canónicos de spaCy directamente en el Hub en el demo de Space!
Otra integración emocionante es Sentence Transformers. Puedes leer más al respecto en el anuncio del blog: puedes encontrar más de 200 modelos en el Hub, compartir fácilmente tus modelos con el resto de la comunidad y reutilizar modelos de la comunidad.
¡Pero eso no es todo! Ahora puedes encontrar más de 100 Adapter Transformers en el Hub y probar modelos de Speechbrain con widgets directamente en el navegador para diferentes tareas, como clasificación de audio. Si estás interesado en nuestras colaboraciones para integrar nuevas bibliotecas de ML en el Hub, puedes leer más sobre ellas aquí.
Soluciones
Próximamente: Infinity
¿Latencia de Transformers de solo 1 ms? 🤯🤯🤯
Hemos estado trabajando en una solución realmente elegante para lograr una eficiencia incomparable para los modelos Transformer de última generación, para que las empresas los implementen en su propia infraestructura.
- Infinity viene como un único contenedor y se puede implementar en cualquier entorno de producción.
- Puede lograr una latencia de 1 ms para modelos similares a BERT en GPU y de 4 a 10 ms en CPU 🤯🤯🤯
- Infinity cumple con los requisitos de seguridad más altos y se puede integrar en tu sistema sin necesidad de acceso a Internet. Tienes control sobre todo el tráfico entrante y saliente.
⚠️ ¡Únete a nosotros para un anuncio en vivo y una demostración el 28 de septiembre, donde presentaremos Infinity por primera vez al público!
NUEVO: Aceleración de hardware
Hugging Face se ha asociado con los principales aceleradores de hardware de IA, como Intel, Qualcomm y GraphCore, para hacer que el rendimiento de producción de última generación sea accesible y ampliar las capacidades de entrenamiento en hardware SOTA. Como primer paso en este viaje, hemos introducido una nueva biblioteca de código abierto: 🤗 Optimum, el kit de herramientas de optimización de ML para rendimiento de producción 🏎. Obtén más información en esta publicación de blog.
NUEVO: Inferencia en SageMaker
Lanzamos una nueva integración con AWS para facilitar aún más la implementación de 🤗 Transformers en SageMaker 🔥. ¡Obtén el fragmento de código directamente desde la página del modelo del Hub de 🤗! Obtén más información sobre cómo aprovechar transformers en SageMaker en nuestra documentación o consulta estos tutoriales en video.
Para preguntas, contáctanos en el foro: https://discuss.huggingface.co/c/sagemaker/17
NUEVO: AutoNLP en tu navegador
Lanzamos una nueva experiencia de AutoNLP: ¡una interfaz web para entrenar modelos directamente desde tu navegador! Ahora solo necesitas unos clics para entrenar, evaluar e implementar modelos de 🤗 Transformers en tus propios datos. ¡Pruébalo, NO SE REQUIERE CÓDIGO!
API de inferencia
Seminario web:
Realizamos un seminario web en vivo para mostrar cómo agregar capacidades de aprendizaje automático con solo unas pocas líneas de código. También construimos una extensión de VSCode que aprovecha la API de inferencia de Hugging Face para generar comentarios que describen el código de Python.
Hugging Face + Demo de Zapier
¿Más de 20,000 modelos de aprendizaje automático conectados a más de 3,000 aplicaciones? 🤯 Al aprovechar la API de inferencia, ahora puedes conectar fácilmente modelos directamente a aplicaciones como Gmail, Slack, Twitter y más. En este video de demostración, creamos un zap que utiliza este fragmento de código para analizar tus menciones en Twitter y te alerta en Slack sobre las menciones negativas.
Hugging Face + Demo de Google Sheets
Con la API de inferencia, puedes usar fácilmente la clasificación de cero disparos directamente en tus hojas de cálculo en Google Sheets. Simplemente agrega este script en Herramientas -> Editor de secuencias de comandos:
Aprendizaje de pocos disparos en la práctica
Escribimos una publicación de blog sobre qué es el aprendizaje de pocos disparos y cómo se utilizan GPT-Neo y la API de inferencia acelerada de 🤗 para generar tus propias predicciones.
Programa de aceleración de expertos
Echa un vistazo al nuevo hogar del Programa de Aceleración de Expertos; ahora puedes obtener soporte directo y premium de nuestros expertos en Aprendizaje Automático y construir mejores soluciones de ML más rápido.
Investigación
En BigScience, celebramos nuestro primer evento en vivo (desde el inicio) en julio, BigScience Episodio #1. Nuestro segundo evento, BigScience Episodio #2, se llevó a cabo el 20 de septiembre de 2021 con charlas técnicas y actualizaciones de los grupos de trabajo de BigScience y charlas invitadas de Jade Abbott (Masakhane), Percy Liang (Stanford CRFM), Stella Biderman (EleutherAI) y más. Hemos completado el primer entrenamiento a gran escala en Jean Zay, un modelo decodificador solo en inglés de 13B (puedes encontrar los detalles aquí), y actualmente estamos decidiendo la arquitectura del segundo modelo. El grupo de trabajo de organización ha presentado la solicitud para la segunda mitad del presupuesto de cómputo: Jean Zay V100: 2,500,000 horas de GPU. 🚀
En junio, compartimos el resultado de nuestra colaboración con el equipo de investigación de Yandex: DeDLOC, un método para entrenar colaborativamente tus redes neuronales grandes, es decir, sin usar un clúster HPC, pero con varios recursos accesibles como Google Colaboratory o cuadernos de Kaggle, computadoras personales o VMs preemptibles. ¡Gracias a este método, pudimos entrenar sahajBERT, un modelo de lenguaje en bengalí, con la ayuda de 40 voluntarios! Y nuestro modelo compite con el estado del arte, e incluso es el mejor para la tarea posterior de clasificación en el conjunto de datos de clasificación de artículos de noticias de Soham. Puedes leer más al respecto en esta publicación de blog. ¡Esta es una línea de investigación fascinante porque haría que la pre-entrenamiento de modelos sea mucho más accesible (financieramente hablando)!
En junio, nuestro artículo “¿Cuántos puntos de datos vale una indicación?” ¡obtuvo el premio al Mejor Artículo en NAACL! En él, reconciliamos y comparamos enfoques tradicionales y de indicación para adaptar modelos pre-entrenados, encontrando que las indicaciones escritas por humanos valen hasta miles de puntos de datos supervisados en nuevas tareas. También puedes leer su publicación en el blog.
¡Estamos ansiosos por EMNLP de este año, donde tenemos cuatro artículos aceptados!
- Nuestro artículo “Datasets: una biblioteca comunitaria para el procesamiento del lenguaje natural” documenta el proyecto de conjuntos de datos de Hugging Face que cuenta con más de 300 colaboradores. Este proyecto comunitario proporciona un fácil acceso a cientos de conjuntos de datos para investigadores. Ha facilitado nuevos casos de uso de NLP entre conjuntos de datos y tiene características avanzadas para tareas como la indexación y transmisión de conjuntos de datos grandes.
- Nuestra colaboración con investigadores de TU Darmstadt llevó a otro artículo aceptado en la conferencia (“Evitando heurísticas de inferencia en la afinación basada en indicaciones de pocos ejemplos”). En este artículo, mostramos que los modelos de lenguaje afinados mediante indicaciones (que logran un rendimiento sólido en configuraciones de pocos ejemplos) aún sufren de aprendizaje de heurísticas superficiales (a veces llamadas sesgos de conjuntos de datos), una trampa que los modelos de cero ejemplos no presentan.
- Nuestra contribución “Poda de bloques para transformadores más rápidos” también ha sido aceptada como un artículo extenso. En este artículo, mostramos cómo usar la esparsidad de bloques para obtener modelos Transformer rápidos y pequeños. Nuestros experimentos producen modelos que son un 2.4 veces más rápidos y un 74% más pequeños que BERT en SQuAD.
Últimas palabras
😎 🔥 ¡El verano fue divertido! ¡Han sucedido tantas cosas! Esperamos que hayas disfrutado leyendo esta publicación en el blog y estamos ansiosos por compartir los nuevos proyectos en los que estamos trabajando. ¡Nos vemos en el invierno! ❄️