Bases del Hackathon #Somos600M

Todo lo que necesitas saber para presentar un buen proyecto al hackathon


El Hackathon #Somos600M ya ha finalizado, puedes revisar losproyectosde los equipos participantes y las grabaciones de lostalleres y charlasde especialistas.

Si quieres colaborar con un proyecto abierto de PLN en español no te preocupes, seguimos teniendo muchas propuestas interesantes, echa un ojo al Proyecto #Somos600M y pregúntanos en Discord 🤗


Cada equipo participante generará un corpus de instrucciones, entrenará su LLM y creará una demo para compartir su gran trabajo con la comunidad. Este año el enfoque son proyectos que representen la riqueza del español y la diversidad de las personas hispanohablantes. Como siempre, os animamos a que los proyectos tengan impacto social y estén relacionados con alguno de los Objetivos de Desarrollo Sostenibles de la ONU. ¡Gracias por participar! ✨

Cartel del Hackathon 2024

📝 Formularios importantes

Sube tus proyectos a la orghf.co/somosnlpy rellena elformulario de entrega de proyectos. Recuerda leer en la sección a continuación todas las recomendaciones para conseguir una mejor valoración por parte del jurado!

Ayúdanos a mejorar para el año que viene puntuando con estrellas diferentes aspectos eneste mini formulario. ¡Gracias!


👀 Maneras de participar

Como sabes, la iniciativa #Somos600M tiene dos objetivos:

✅ Crear la primera leaderboard de LLMs

Ayúdanos a validar en comunidad las traducciones hechas por el grupo de PLN de la Universidad de Oregon de las bases de datos utilizadas en la famosaOpen LLM Leaderboardde Hugging Face. ¡Ganarás premios si validas más de 50 traducciones!

Pasos para participar

Gracias al apoyo de Argilla y Hugging Face, en concreto de Álvaro Bartolomé, Ignacio Talavera, Daniel Vila y Omar Sanseviero, colaborar es muy sencillo:

  1. Crea una cuenta enHugging Facey únete a la organización de SomosNLP conesta invitación
  2. Entra en elentorno de validacióny elige un dataset (ahora mismo estamos priorizando RAC-C y HellaSwag)
  3. Valida la traducción de un párrafo del inglés al español (la traducción ya está hecha, solo tienes que verificar que está bien y corregirla en caso necesario)
  4. Repite el paso 3 cuantas veces quieras y mira cómo subes en elranking de colaboraciones
  5. Tu nombre aparecerá como parte del equipo que creó las bases de datos de la futura leaderboard de LLMs en español 🙌

🌎 Crear el mayor corpus de instrucciones

Participar en nuestro hackathon y aplicar tus conocimientos a democratizar el PLN en español es muy sencillo, ¡anímate!

Pasos para participar
  1. Únete a nuestra comunidad deDiscord. Auto-asígnate el rol “Hackathon24”: en el servidor, vete al comienzo de la barra lateral izquierda, haz click en “Canales y roles”, selecciona “Participar en el hackathon 2024”.
  2. Crea una cuenta enHugging Facey únete a la organización deSomosNLP.
  3. Regístrate enEventbrite.
  4. Crea tu equipo o únete a uno (equipos de 1 a 5 personas). Hay que inscribir los equipos en el canal#encuentra-equipo(más info en el README del canal).
  5. Crea tu corpus de instrucciones y súbelo a la org dehf.co/SomosNLP. Te recomendados utilizar la libreríadistilabel(ver recursos abajo).
  6. Escribe laDataset Cardde tu dataset: describe el proceso de creación y curación (incluye el script/notebook), inspecciona el dataset, evalúa y mitiga sesgos.
  7. Fine-tune un LLM (hasta 7B) para la tarea que hayas elegido y súbelo a la org dehf.co/SomosNLP. Recomendamos técnicas tipo QLoRA. Pondremos a vuestra disposición GPU VMs para el entrenamiento.
  8. Escribe laModel Cardde tu modelo: describe el proceso de entrenamiento (incluye el script/notebook), evalúa su calidad, sesgos y huella de carbono.
  9. Crea una demo para mostrar tu proyecto a la comunidad y súbela a la org dehf.co/SomosNLP. Puedes utilizar GPUs Nvidia T4 - small.
  10. Entrega tu proyecto rellenandoeste formulario. Puedes seguir haciendo modificaciones hasta las 23h59Anywhere on Earthdel miércoles 10 de abril (revisaremos la hora de los commits 👀).
  1. Graba un vídeo de 5 minutos para presentar tu proyecto ante el jurado y la comunidad.

Ayúdanos en 2 mins a mejorar para el año que viene puntuando con estrellas diferentes aspectos eneste mini formulario. ¡Gracias!

Nota: Un proyecto completo consiste en corpus de instrucciones + modelo + demo. Igualmente dado el enfoque del hackathon en los datos aceptamos también proyectos que solo hayan creado corpus (más info sobre las evaluaciones a continuación).

A continuación también puedes encontrar una guía para desarrollar un buen proyecto, con requisitos, recomendaciones y recursos.

Si tienes cualquier duda sobre las bases estamos a tu disposición en el canal #pide-ayuda, escribe un título descriptivo y utiliza la etiqueta “hackathon”.

¡Mucho éxito! 🚀


📝 Guía y recursos para desarrollar un buen proyecto

Recuerda que el objetivo del hackathon es representar la diversidad de las personas hispanohablantes, te animamos a crear corpus que reflejen la riqueza del español, en la medida de lo posible divídelo por países/regiones e incluye ejemplos de diferentes variedades del español.

📚 Corpus

Los datos son lo más importante en el desarrollo de un modelo y también le daremos mayor importancia a la hora de evaluar los proyectos 👀

  • En español o lenguas cooficiales.
  • Corpus de instrucciones, i.e.: pregunta + respuesta.
  • Sube el corpus ahf.co/somosnlp.
  • Crea una Dataset Card
  • Sube al repo todos los scripts/notebooks utilizados y explica en la Dataset Card qué es qué.
  • Estructura el corpus como explicamos a continuación.
Recomendaciones

Notación:

  • Si vas a crear primero un corpus para una tarea clásica y después lo vas a convertir en instrucciones, llámalos igual añadiendo el sufijoital corpus de instrucciones.
  • Si quieres ir un paso más allá y también vas a adaptar el corpus para DPO, sube el corpus de instrucciones con el sufijoity el DPO con el sufijodpo.

Recomendaciones:

  • Para crear el corpus te recomendamos utilizardistilabel.
  • Puedes utilizar los endpoints PRO de Hugging Face como se explica en el notebook de ejemplo (recuerda que tienes que pertenecer ahf.co/somosnlp).
  • Si te animas a etiquetar un corpus te recomendamos utilizarArgilla.
  • Sube el corpus directamente ahf.co/somosnlpe itera ahí.
  • Cumplimenta bien la Dataset Card: detalla el proceso de creación y curación, describe el dataset, evalúa y mitiga sesgos. Tendremos en cuenta a la hora de evaluar los proyectos si la documentación está completa e incluye temas como una evaluación de los sesgos (e.g., se ha prestado atención a que las clases estén balanceadas).
  • También recomendamos incluir la motivación e impacto del proyecto.
  • Si además del corpus de instrucciones, has creado un corpus anotado para otra tarea o uno con formato DPO, enlázalos también en la Dataset Card.
  • La Dataset Card puede estar en español aunque recomendamos que sea en inglés para que la comunidad internacional pueda utilizar vuestro dataset. Teniendo en cuenta que somos una comunidad hispanohablante la opción más inclusiva sería escribirla en un idioma y traducirla (automáticamente?) al otro. En el repo entonces habría unREADME.md(Dataset Card en inglés) que enlazaría a unREADME_ES.md(Dataset Card en español).
Estructura del corpus

Por ser corpus de instrucciones cada corpus contará con las siguientes columnas:

  • pregunta
  • respuesta

Además, dado el enfoque en las variedades de la lengua del hackathon, también incluiremos las siguientes columnas:

  • idioma(variedad geográfica): código ISO del idioma (“catalán” =ca, “quechua” =qu), en caso de ser español hay que especificar la variedad geográfica (“español de México” =es_mx, “español de Ecuador” =es_ec).
  • registro(variedad funcional):coloquial,mediooculto
  • periodo(variedad histórica): si es un corpus en español elegir entreactual,moderno(ss. XVIII-XIX),clásico(ss. XVI-XVII) omedieval, si es en otro idioma rellenar si tenéis conocimiento.

Para completar la información de los ejemplos incluiremos también:

  • dominio:legal,salud(clínico, biomédico, farmacia),literatura(poesía, música, teatro),sociales(historia, geografía, etc),exactas(física, mates, etc),prensa,cocina,filosofia(ética, lógica, etc),seguros, …,miscelaneo(última opción). Si puedes, especifica el subdominio, e.g.literatura_poesia,sociales_historia.
  • tarea:pregunta,clasificacion,traduccion,resumen,similitud_semantica. Si puedes, especifica también la subtarea, e.g.pregunta_abierta,pregunta_opcion_multiple.
  • país_origen: país de origen de los datos.
  • país_referencia: país al que hace referencia la pregunta, si procede.

Si tienes dudas, ¡#pide-ayuda! Si crees que nos hemos dejado alguna categoría avísanos para que la añadamos :)

Si tienes que añadir columnas puedes hacerlo automáticamente utilizando los mismos endpoints que para crear los datasets sintéticos. Acuérdate de revisar las anotaciones automáticas.

Recursos

⚙️ Modelo

  • En español o lenguas cooficiales.
  • Haz fine-tuning de un modelo ya existente (no pre-entrenes uno desde cero), con las máquinas disponibles puedes ajustar un LLM de hasta 7B.
  • Sube el modelo ahf.co/somosnlp.
  • Crea laModel Card.
  • Incluye en el repo todos los scripts/notebooks utilizados y explica en la Model Card qué es qué.
  • En la Model Card enlaza el corpus utilizado.
Recomendaciones
  • Os animamos a entrenar vuestros modelos directamente desde el hub de Hugging Face, ¡tenemos créditos patrocinados por HF! Podéis utilizarautotrain (no-code)yjupyterlab, con GPUs hastaT4 medium.
  • Configura el tiempo de “auto-sleep” a 5 minutos para evitar sustos por gastos innecesarios!
  • Recuerda que es muy importante siempre hacer pruebas en máquinas humildes para verificar que el código es correcto y no encontrar bugs después de varias horas de entrenamiento.
  • Sube el modelo directamente ahf.co/somosnlpe itera ahí.
  • Cumplimenta bien la Model Card: detalla el proceso de entrenamiento, evalúa su calidad, sesgos y huella de carbono.
  • También recomendamos incluir la motivación del proyecto e impacto.
  • Este año la evaluación corre a nuestro cargo, ¡vuestros modelos inaugurarán la primera leaderboard abierta de LLMs en español!
Recursos

🖼️ Demo

Crea una demo para que todo el mundo pueda interactuar con tu nuevo modelo.

  • Si es tu primera demo, te recomendamos utilizar Gradio ya que es más sencillo.
  • Crea la demo directamente enhf.co/somosnlpe itera ahí.
  • Puedes utilizar GPUsNvidia T4 - smallpatrocinadas por Hugging Face.
  • Qué incluir en la demo: motivación del proyecto, impacto, ideas futuras, número de ODS si procede, enlace al dataset y modelo utilizados, miembros del equipo, todo lo que consideres necesario para promocionar tu proyecto :)
  • Crea una demo clara e intuitiva.
Recursos

📝 Paper

Te ayudamos a presentar tu proyecto al Workshop de LatinX in AI @NAACL, una de las conferencias internacionales más importantes de PLN.

📸 Entrega y presentación

  • Graba una presentación de tu proyecto, súbela a Drive y compártela con mariagrandury [at] gmail [dot] com
  • Ayúdanos en 2 mins a mejorar para el año que viene puntuando con estrellas diferentes aspectos eneste mini formulario. ¡Gracias!

✨ Visibilidad

  • Te recomendamos que subas tus datasets, modelos y demos desde el principio a la orghf.co/somosnlppara que aparezcan en la nueva❤️ leaderboardy todo el mundo pueda verlo y darle likes. ¡Habrá una mención de honor para el proyecto con más ❤️!
  • Puedes compartir tu proyecto en el canal #comparte-tu-proyecto.
  • Si quieres compartir tu proyecto en redes utiliza el hashtag #Somos600M y menciona a SomosNLP, ¡será un placer darle más visibilidad!

👏 Evaluación y premios

🗓️ Fechas importantes
  • 10 de abril 23h59Anywhere On Earth: Fecha límite paraentregar proyectosal Hackathon #Somos600M y al workshop deLatinX in NLP @NAACL.
  • 11 de abril: Presentación en directo de los proyectos, 5 mins por equipo.
  • 18 de abril: Anuncio de los equipos ganadores y envío de los comentario del jurado.
  • Próximamente: Presentación en directo de los proyectos ganadores, 30 mins por equipo.
🏆 Beneficios y premios

Todas las personas participantes 👏

  • Acceso a los endpoints PRO en Hugging Face para la creación de corpus sintéticos.
  • Acceso a GPUs de hasta 25GB de RAM en Hugging Face para el entrenamiento de modelos y la demo.
  • Acceso a “persistent storage” en Hugging Face para la creación de espacios de anotación de Argilla.
  • Apoyo para presentar tu proyecto al workshop LatinX in NLP @NAACL 2024, una de las conferencias internacionales más importantes de PLN. Explicamos cómo eneste taller.

Todas las personas que presenten un proyecto 🚀

  • Certificado de participación o de equipo ganador del “Hackathon SomosNLP 2024: #Somos600M” (verificado en nuestra web).
  • Descuento del 60% en el curso de LenguajeNaturalAI“La revolución del NLP: LLMs y más allá”.
  • Descuento de 20% para laWomenTech Global Conference 2024.
  • Posibilidad de conseguir una entrada completamente gratis para asistir a la WomenTech Global Conference 2024 (dinos que te interesa en el formulario de entrega de proyectos).
  • Posibilidad de conseguir una nominación para unirse aNova(dinos que te interesa en el formulario de entrega de proyectos).
  • Posibilidad de continuar desarrollando tu proyecto con nuestro apoyo, ¡contáctanos!

Equipo 3er puesto (premios por persona) 🥉

Equipo 2o puesto (premios por persona) 🥈

Equipo 1er puesto (premios por persona) 🥇

✅ Evaluación de los proyectos

Un proyecto completo está formado por corpus de instrucciones + modelo + demo. Igualmente, dado el enfoque del hackathon en los datos, aceptamos también proyectos que se hayan centrado en la creación de los corpus (máx puntuación: 7 ptos).

Corpus (4 ptos):

  • Enfoque en las variedades lingüísticas
  • Correcta estructura del corpus
  • Técnica de creación del corpus
  • Claridad y reproducibilidad de los scripts
  • Completitud de la Dataset Card
  • Calidad del corpus

Modelo (3 ptos):

  • Método de entrenamiento utilizado
  • Claridad y reproducibilidad de los scripts
  • Completitud de la Model Card
  • Evaluación del modelo

Demo (1 pto):

  • Claridad y UX de la demo

Proyecto y presentación (2 ptos):

  • Motivación, originalidad e impacto social
  • Claridad y calidad de la exposición

Pto extra:

  • Cada miembro del jurado puede asignar un punto extra a un proyecto que le haya llamado especialmente la atención.

❓ Preguntas frecuentes

¿Por qué debería participar?

Al unirte a este hackathon tendrás la oportunidad de:

  • ✅ Comprender cómo funcionan los grandes modelos del lenguaje (LLMs) y descubrir los retos de cada etapa de su desarrollo: creación del corpus, entrenamiento y evaluación
  • ✅ Participar en la creación del mayor corpus de calidad y diverso que incluya las distintas variedades del español y lenguas cooficiales (top como experiencia y top para el CV)
  • ✅ Ser parte del equipo que cree algunas de las bases de datos de la primera leaderboard pública de LLMs en español
  • ✅ Resolver todas tus dudas sobre PLN durante sesiones de mentoría “Ask My Anything”
  • ✅ Recibir apoyo para presentar tu trabajo en un paper
  • ✅ Ganar premios para seguir creciendo como profesional y conseguir un certificado que poder compartir en LinkedIn
  • ✅ Unirte a la mayor comunidad de hispanohablantes que estudian, trabajan e investigan en PLN
¿Cuál es el nivel necesario?

Desde el equipo de SomosNLP queremos animarte a participar independientemente de tus conocimientos actuales. En ediciones anteriores hemos contado con grupos de institutos de investigación y grupos de estudiantes de grado, ¡todos los proyectos suman!

  • 📖 Impartiremos una serie detalleres prácticosmostrándote cómo desarrollar un proyecto para que tengas un ejemplo de referencia. Para calentar puedes visualizar los de la edición anterior:

  • ❓ OrganizaremosAMAs(del inglés, Ask Me Anything) con expertas y mentores para que puedan solucionar tus dudas.

¿De qué depende la complejidad de los proyectos?

Proporcionaremos un ejemplo de cómo crear un dataset, entrenar un modelo y crear una demo. Depende de ti y tu equipo elegir cuánto investigar y trabajar para mejorar la versión base. La dificultad también depende del caso de uso, el origen de los datos, el tiempo que dediquéis a su curación, la técnica de entrenamiento, las iteraciones que hagáis y lo elaborada que queráis que sea vuestra demo. ¡Sois libres de elegir todo!

¿Cómo se elige la temática de las bases de datos/modelos?

La temática de los proyectos es siempre libre. Este año el enfoque es representar la riqueza del español, por lo que os animamos a crear proyectos relacionados con vuestro país (leyes, manera de hablar, cultura, …). Además, como es habitual, os animamos a que los proyectos tengan impacto social y estén relacionados con alguno de los Objetivos de Desarrollo Sostenibles de la ONU. Si buscas inspiración, en el canal #encuentra-equipo de Discord puedes encontrar temas propuestos.

¿De verdad se necesitan 3 semanas?

No, depende de tu disponibilidad, puedes desarrollar un buen proyecto en una semana. Tenemos en cuenta que las personas estudian y trabajan, por lo que dejamos más tiempo del necesario para que todo el mundo pueda participar. También queremos daros tiempo extra para que disfrutéis la oportunidad de asistir en directo a las ponencias y mentorías celebradas durante el hackathon.

¿Hasta cuándo puedo crear un equipo?

EDITADO: Damos la bienvenida a nuevos equipos hasta el 7 de abril.

¿Cómo me uno a un equipo?

Lee el README en el canal #encuentra-equipo de nuestro servidor de Discord :)

¿Puede haber equipos de 1 persona?

Sí, aceptamos equipos de 1 a 5 personas.

¿Cómo nos recomendáis organizarnos?
  • Utilizar el canal de vuestro proyecto en Discord para comunicaros y organizaros.
  • Dado que es un hackathon internacional recomendamos una comunicación asíncrona o que os repartáis el trabajo y hagáis reuniones de menos personas
  • Fijar reuniones o hablar espontáneamente utilizando los nuevos canales de voz de la categoría “SALAS DE REUNIÓN” de Discord
  • Fijar en el canal del proyecto los mensajes importantes, e.g.: repartición de tareas, día de la próxima reunión, … Para fijar un mensaje haz click en los tres puntitos y selecciona “Fijar mensaje”
  • Para mayor claridad también podéis crear un documento compartido con las personas del equipo en el que escribir el objetivo del proyecto, repartir tareas y demás (y fijar el enlace en el chat)

Si te hemos dicho que en esta página hay info que no encuentras, borra las cookies y recarga la página.


🙌 Otras maneras de apoyar el Proyecto #Somos600M

¿Cómo puedo colaborar?
  • Comparte los posts de las cuentas de @SomosNLP (LinkedIn,Twitter), ¡invita a tus colegas del trabajo, compañeros y compañeras de clase a crear un equipo!