logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Necesitamos vuestra ayuda. Imagínate tener un chat GPT open source, un sistema como el de OpenAI
pero que todo el mundo pueda acceder y utilizar de forma abierta y al igual que ha pasado con
stable diffusion cuando se ha puesto a disposición de la comunidad y está empezado a construir y a
desarrollar un montón de herramientas, esto permita desarrollar mucho más rápido el campo
de la inteligencia artificial y a darnos acceso a un montón de herramientas mucho más potentes.
Bueno, pues esta idea no está loca y ya se está empezando a trabajar en ello. Hace unos días el
youtuber Yannick Kilcher subió a su canal de YouTube un vídeo anunciando Open Assistant,
un proyecto que está coordinado por la comunidad open source Lyon, quienes también han contribuido
en otros proyectos que hemos escuchado, pues por ejemplo como stable diffusion y que lo que buscan
es crear no sólo una réplica de chat GPT, sino algo mucho más potente, un sistema que como vimos
en el último directo donde estuvimos hablando de cómo podrían evolucionar estas tecnologías,
pues pueda tener acceso a internet, pueda trabajar integrado con otras herramientas a través del uso
de APIs, bueno, un sistema chat GPT vitaminado y que sea de libre acceso. Claro, hacer todo esto no
es sencillo, pero tampoco es tan complicado. El principal problema que tienen es que no contamos
con una receta para poder hacer un modelo similar a chat GPT. El paper más actualizado que ha sacado
OpenAI sobre esto, pues es el paper de Instract GPT que tenemos aquí y donde se cuenta un poco
cómo ha sido este proceso de entrenamiento, donde una de las piezas fundamentales es este proceso
de RLHF, el aprendizaje reforzado con retroalimentación humana, este proceso que te permite coger a un
enorme modelo del lenguaje como GPT-3 que de partida no tiene por qué actuar como un chatbot
y convertirlo a algo parecido a chat GPT que todos vosotros habéis probado y este es el punto en el
que nos encontramos. Para poder crear un sistema como Open Assistant, que va a ser este sistema chat
GPT Open Source, lo que necesitamos actualmente es cumplir esta fase de entrenamiento del RLHF, es
decir, necesitamos entrenar a la Inteligencia Artificial para que entienda por un lado lo
que sería una interacción normal de diálogo entre un usuario que plantea una duda y lo que
el asistente tendría que responder y por otro lado también un sistema que aprenda a evaluar,
pues si una respuesta de alta calidad o de baja calidad. Es a partir de este dataset que la
Inteligencia Artificial puede aprender a dar forma a este modelo del lenguaje, a GPT-3,
a Bloom, al que estemos utilizando, para que se vaya aproximando cada vez más a un chatbot de
diálogo y es en este punto donde se encuentra actualmente el proyecto de Open Assistant.
Y la buena noticia es que no hacen falta tantos datos, han estimado que con 50.000 muestras ya
sería suficiente para poder empezar a entrenar un sistema de este tipo, pero claro, yo me planteo,
si un vídeo mío de media lo ven 100.000-150.000 personas, si cada uno de vosotros contribuye en
una sola muestra ya triplicaríamos la cantidad de datos que necesitamos para este entrenamiento.
Y aquí está lo interesante, creo que tenemos la capacidad de hacer historia en una herramienta
que puede cambiar el rumbo de la Inteligencia Artificial y que puede ser muy muy valiosa para
el progreso inmediato de la humanidad. Aquí es donde nosotros creo que podemos jugar un papel
súper interesante y además creo que tenemos pues la responsabilidad desde este canal,
ya que somos uno de los líderes de opinión de Inteligencia Artificial de habla hispana,
de poder integrar en este dataset un gran número de muestras en español.
Pensad que muchas veces el rendimiento de estos sistemas en diferentes idiomas depende de la
cantidad de muestras que haya incluida en el dataset de ese idioma. Entonces,
si queremos que Open Assistant hable bien español, pues ¿qué vamos a hacer?
Vamos entre todos a ayudar a entrenarlo. Y bueno, si esto no es motivo suficiente ya
con esta gráfica os termino de convencer y es que me han pasado estos datos internos,
donde se puede ver que se está produciendo una gran batalla entre la cantidad de datos
de habla francesa y de habla hispana que hay, así que yo creo que esto ya es motivo suficiente
para ponernos todos a trabajar. Y para ello vamos a utilizar esta herramienta,
esta página web, está perfectamente diseñada para hacer este proceso de recopilación de datos
para el RLHF. Y una vez estéis en la web, lo primero que vais a tener que hacer es aceptar
los términos de servicio de Open Assistant. Os recomiendo que cada uno a nivel individual le
echéis un vistazo y consideréis si realmente aceptáis o no aceptáis estos términos de uso.
Y también quiero que hagáis un poco un proceso de valoración personal sobre lo que implica
participar en el entrenamiento de una herramienta como esta. A nivel individual, cada uno pensad
si esta herramienta pues servirá, favorecerá al futuro de la humanidad o por el contrario,
si está favoreciendo a pérdidas de trabajo, si a lo mejor te puede perjudicar, si puede perjudicar
a tus comunidades. Haced una valoración personal, porque aquí estamos tratando con tecnologías
revolucionarias que a cada uno le puede afectar de manera diferente. Pensad también que estos
datasets en los que nosotros vamos a contribuir a favor de la comunidad Open Source también van
a servir para que grandes empresas se lucren. Pensad que OpenAI se estará frotando las manos
para entrenar a una siguiente versión de chat GPT con todos los datos que se recopilan aquí.
Entonces pensad en todo ello y una vez lo tengáis pues que cada uno tome la decisión que quiera.
Y una vez estáis logueados, lo primero que vais a hacer es venir aquí arriba y en esta pestaña vais
a seleccionar el idioma, el lenguaje con el que queráis vosotros contribuir. Yo en mi caso tengo
marcado español porque estoy contribuyendo al dataset de habla hispana, si queréis participar
con otro lenguaje como en el inglés, el francés, el alemán que dominéis, pues podéis contribuir
también a ello. De hecho me han informado que se van a seguir añadiendo nuevos lenguajes y que la
comunidad puede contribuir a través de github para proponer nuevas lenguas, por ejemplo podéis
proponer catalán, euskera, gallego, lengua de vuestros países, de vuestras regiones y creo
que esto puede ayudar a enriquecer incluso más este dataset. Así que, bueno, pues coordinaros
para que estos idiomas acaben llegando a la versión final de Open Assistant. Una vez lo tengáis,
vais a estar en esta página web de aquí, cuya mejor funcionalidad, tal cual dijo Janik, es que
podéis poner modo oscuro. No, es broma, no es el modo oscuro, es todo esto que veis aquí. Lo han
diseñado muy bien, está genial, porque distribuyen diferentes tareas, lo que sería el proceso de
entrenamiento de chat gpt. Fijaos, aquí lo que estamos intentando es entrenar un sistema similar
al chatbot de OpenAI. En ese sentido, pensad que las diferentes tareas se van a distribuir en la
interacción que un usuario y el asistente va a tener a lo largo de una conversación. Vosotros
podéis contribuir proponiendo prompts iniciales, pues por ejemplo, una pregunta ¿cuáles son los
diferentes planetas del sistema solar? Eso podría ser una contribución al dataset. Otra contribución
al dataset podría ser valorar el prompt que otro usuario ha hecho, pues la pregunta de ¿cuántos
planetas hay en el sistema solar? Vosotros podéis etiquetarlo para decir, oye, este prompt es de
buena calidad, o es de mala calidad, es original, es menos original, es educado o hace daño, es
violento, ¿vale? Podéis etiquetar todo este prompt. Podéis participar también como si fuerais el
asistente. Oye, alguien ha preguntado que ¿cuáles son los diferentes planetas del sistema solar?
Pues una respuesta al asistente sería, los diferentes planetas del sistema solar serían esto,
esto, esto y esto. Y también otra tarea pues sería evaluar la respuesta que otro usuario ha dado
mientras jugaba el rol de asistente. Así de esta forma vamos a ir configurando el dataset y de
forma comunitaria, pues vamos a ir filtrando aquellos prompts y aquellas respuestas que sean
de alta calidad. Y os voy a enseñar unos cuantos ejemplos para que vayáis pillándole el truco a
la interfaz. Voy a empezar por aquí porque voy a tener suerte que lo que te hace es una selección
aleatoria de tareas y así es un poco más variado. Vamos a darle a ir y por ejemplo dice etiqueta
respuesta del asistente. Aquí estamos evaluando, alguien ha hecho una pregunta y nosotros estamos
evaluando la respuesta que otro usuario ha escrito a esa pregunta. Lo que está marcado aquí en azul,
el mensaje que está marcado es el que estamos evaluando. Entonces dice crear un asistente de
juego en el que el usuario tenga que tomar decisiones críticas para resolver una situación
de crisis. Vale, en este caso es interesante porque dice le pregunté a chat gpt y esto fue lo que
respondió sistema de juego escape de la crisis introducción el jugador bla bla bla bla. Aquí lo
que estoy viendo es que el usuario que ha respondido no se ha sentado a generar una respuesta original
sino que se ha ido a chat gpt y de ahí ha tomado la respuesta del output que le ha dado el chatbot
de OpenAI. No queremos eso, no queremos coger y copiar la respuesta de otro sistema para aquí.
Entonces yo lo que voy a hacer es lo siguiente. Aquí nos dice, contesta las siguientes preguntas.
El mensaje es spam, no es spam porque en realidad si es una respuesta que da la pregunta original.
¿Es una mala respuesta según la tarea pedida? Sí. ¿Por qué? Porque lo ha copiado de la respuesta
de otro chatbot. Selecciona cualquiera que sea adecuada para el mensaje resaltado. ¿El idioma
es incorrecto? No, estoy trabajando en español, la respuesta está en español, esto está bien. ¿No
es apropiado para un asistente de cliente? Creo que se refiere a apropiado respecto a si es una
respuesta de aducada, entonces yo creo que eso sí está bien. ¿Contiene información personal? No.
¿Incitación al odio? No. ¿Contenido sexual? No. ¿Low quality? Low quality. ¿De poca ayuda?
Neutral. ¿Creativo ordinario? Neutral. ¿Serio? ¿Humoroso? Vamos a darle más serio. Bueno,
incluso aquí no tenéis por qué marcarlas todas, a veces es ambigua así que lo vamos a dejar así.
Voy a dar la review, vamos a dar la Submit y ya habría contribuido con una muestra al
entrenamiento de Open Assistant. Ya he hecho un poquito más de historia. Vamos a ver esta.
Etiquetar instrucciones iniciales. Esto sería evaluar la calidad de un prompt que un usuario
daría inicialmente al hablar con chat GPT. Pues dice, dime los tres colores primarios. Me parece
una pregunta que está bien. ¿Es el mensaje spam? No. ¿Idioma incorrecto? No, es correcto,
es apropiado, contiene información personal no, incita al odio no, contenido sexual no. ¿De alta
calidad? Es una buena pregunta, es interesante, de alta calidad. ¿Es creativo? Bueno, tampoco es
súper creativo, es serio, es amable y no genera ningún daño. Le damos a review, le damos a Submit
y ha contribuido un poquito más a la historia. Siguiente. Etiqueta respuesta del apuntador. Aquí
vemos que tenemos un prompt inicial escrito por el usuario, la respuesta que otro usuario ha escrito
como si fuera el asistente y ahora tenemos una respuesta que continúa esta conversación. Esta
es otra de las tareas con las que podemos contribuir y es para una conversación dada si el prompt con
el que continúa el usuario pues es interesante de cara a la conversación que se está dando. Y dice,
¿puedes decirme cinco palabras que acaben con la U? Vale, esta es una buena pregunta y dice bambú,
iglú, perú, ímpetu y menú. Me gusta la respuesta porque no ha ido a poner todas las palabras agudas,
sino que aquí ha puesto ímpetu de repente. Me gusta, está todo muy bien. Y dice ahora, cambia
el listado de tal manera que ninguna de las palabras tenga tilde en la U. Toma ya, vale. Es
una muy buena conversación en general. No es spam, el idioma es correcto y dice, califica el mensaje
resaltado. Aquí el mensaje a calificar es este, el que está resaltado entonces. Aquí la calidad
me parece que es bastante alta porque está muy en concordancia de lo que está haciendo esta
conversación. Pero es que no me parece que la respuesta sea solo buena, sino que toda la
conversación en sí me parece buena. Entonces podéis incluso entrar a valorar los diferentes
mensajes. Aunque tu tarea aquí sea etiquetar la respuesta del apuntador, tú puedes decir,
oye, me parece que esta está muy bien. Aquí fijaos que la pregunta a la gente le está gustando y
están marcando con dedito arriba. Podéis marcarlo vosotros también. Podéis entrar incluso aquí y
podéis darle a etiquetar y podéis hacer el proceso de etiquetado de esta pues. No es spam, todo esto
es correcto. High quality y creative y el resto también polite y harmless. Es una pregunta seria,
bueno, un poquito menos seria. Vale, le doy a enviar. He valorado esta. Hemos hecho otra
tarea diferente en este punto y esta también la podemos valorar. Son buenas palabras. Podemos
enriquecer, podemos participar en el proceso de etiquetado en las diferentes fases, aunque sea para
una misma conversación. Entonces vamos a darle a submit, review, submit y otro paso más a la
historia. Es que estamos en racha. Punto importante. Fijaos en esta conversación de aquí. Dice, me
puedes dar una receta que no sea muy complicada para cocinar chili con carne? Y aquí un usuario,
fijaos, se ha currado una respuesta que dice, claro, aquí tienes la receta sencilla para cocinar chili
con carne. Ingredientes ta ta ta ta ta. Te hace todo el proceso y al final, bueno, pues la conversación
sigue. Esto es interesante. Imaginad que vosotros estáis en el proceso de etiquetado y os sale este
prompt y vosotros tenéis que redactar esta respuesta. Aquí pensad que lo que queremos es
que el asistente que se entrene, pues tenga una muy buena calidad de las respuestas. Entonces vamos
a cuidar todos que las respuestas estén bien redactadas, no tengan faltas de ortografía,
tengan un buen formato, pero además que sean rigurosas. Si no tienes ni idea de cocinar,
no te metas a proponer una receta. Vale? Aquí este es un proceso que Janik comentaba y la verdad que
es cierto que es bastante divertido, porque cuando te das cuenta estás incluso aprendiendo cosas. No?
Si tú quieres entrar a valorar si esta respuesta es correcta, pues lo que vas a tener que hacer es
irte a internet o aprender o preguntarle a algún amigo que sea cocinero y decirle oye esta receta
tiene sentido. Esta receta realmente representa lo que sería el plato de chili con carne y ahí
entonces vas a ir aprendiendo si esa respuesta es mejor o es peor. Es decir, tú también te vas a
entrenar a ti mismo en este proceso de generar datos, pero si no sabéis, no intentéis generar
una respuesta por generarla. Dejadla y ya llegará otra persona que sepa responderla mejor y la
valorará, porque si no lo que va a pasar es que tú vas a currarte una respuesta y luego el resto
de la comunidad de usuarios va a empezar a votarla como una mala respuesta y tú tampoco quieres estar
perdiendo el tiempo y hacer perder tiempo a la comunidad. Entonces tenemos la pregunta,
tenemos la respuesta, el usuario le corrige, le dice me puede volver a dar la receta? Me parece
que el chili con carne también lleva frijoles y entonces aquí vemos cómo el usuario ha vuelto a
generar la respuesta. Yo como no voy a entrar a valorar ahora si es una buena o mala receta,
pues esta la voy a saltar. No le de ningún feedback y listo. Igualmente si os gusta alguna
tarea en particular, pues podéis estar toda la tarde si queréis dedicándose a clasificar
instrucciones iniciales o a crear instrucciones iniciales o por ejemplo, si consideráis que el
asistente tiene que dar buenas respuestas de programación, pues cread muchas instrucciones
iniciales de programación. Y una cosa importante a entender, aquí nos estamos creando una base de
datos de respuesta donde el futuro Open Assistant vaya a venir a consultar y si no la encuentra no
te la va a poder dar. No, esta base de conocimiento que estamos generando servirá para darle forma a
cómo Open Assistant va a dialogar en el futuro y esto lo va a poder generalizar a otras preguntas
y a otras respuestas. Es decir, no por no estar una respuesta incluida en este dataset significa
que Open Assistant en el futuro no podrá responderla, pero si tenemos más ejemplos de
pues cómo se responde en preguntas de programación será más fácil para este asistente generalizar
sus conocimientos de programación y adaptarlos a un diálogo más cercano a lo que un humano
estaría buscando. Eso es lo que estamos haciendo aquí. Y otra tarea que nos ha salido y que creo
que es muy importante es esta de aquí, ordenar respuestas del asistente. Vamos a darle para que
lo veáis y básicamente lo que nos dice es lo siguiente, tenemos una conversación dame el
código para unir dos pdf en latex, te da la respuesta donde puedo introducir esto y entonces
ahora lo que tenemos que hacer es valorar de mejor a peor las diferentes respuestas que otros
usuarios han dado. Entonces tendríamos que primero entender del latex, tendríamos que entender qué
hace este comando y tendríamos que entender cuál es la respuesta de esto y sobre esto nosotros vamos
a valorar cuál es el mejor resultado de los tres que tenemos aquí. Esta se me hace un poco rara
entonces yo creo que el orden efectivamente sería esta la última y entre estas dos yo creo que esta
respuesta es más completa. A lo mejor vosotros valoráis mejor esta respuesta de aquí porque es
más concisa, va más al grano pues podéis marcar esta de aquí. Esto un poco de nuevo a criterio
personal y será toda la comunidad la que le vaya dando forma a este open assistant que creo que es
una muy buena manera de construir a un sistema así. Vamos a darle a review y le damos a continuar.
Y creo que nunca habéis tenido tan cerca el poder ser protagonistas de esta revolución de la
inteligencia artificial. La construcción de este dataset es un recurso súper interesante para
investigadores, para empresas, para organizaciones y para la creación de esta herramienta y desde aquí
desde DOTS SV pues voy a impulsar que este dataset cuente con una gran muestra de ejemplos en español
porque creo que es importante que también nosotros ayudemos a construir un asistente que tenga la
forma que nosotros nos gustaría y que si queremos que hable bien en español pues tenemos que
contribuir a ello. Como digo desde este canal lo vamos a estar impulsando, invito a otros
creadores de contenidos que estén hablando de chat GPT, de todas estas tecnologías, que hablen de
tecnología en sus canales, que hablen de programación, que apoyen esta iniciativa,
que compartan este vídeo, que compartan directamente la página web o el vídeo de Yannick, pero que se
contribuya a hacer este dataset que originalmente el objetivo era de 50.000 muestras, pues algo
enorme y que de verdad sea un recurso valioso para la comunidad open source y para el futuro de la
humanidad. Si vosotros también queréis colaborar y tenéis contacto con gente que pueda apoyarlo,
incluso creéis que difundiéndolo por redes sociales podéis ayudar, pues podéis compartir
este vídeo, podéis compartir la iniciativa y nada más agradecer a la gente de Lion que haya
coordinado esto, a Yannick por impulsarlo y chicos chicas nos vemos con más inteligencia
artificial en un próximo vídeo. Tenéis un par de vídeos por aquí, el directo de la semana
pasada muy interesante y relacionado con todo esto y nos vemos con más en un próximo vídeo.