Ir al contenido principal
OpenAI
Cargando…

Hemos entrenado ChatGPT, un modelo que interactúa con los usuarios como si mantuviera una conversación. Gracias a este formato, ChatGPT puede responder a las preguntas aclaratorias de los usuarios, admitir errores, cuestionar las premisas que considera incorrectas y rechazar solicitudes inapropiadas.

ChatGPT es un modelo hermano de InstructGPT que hemos entrenado para seguir instrucciones en forma de prompt y proporcionar respuestas detalladas.

Estamos deseando lanzar ChatGPT y conocer la opinión de los usuarios; en definitiva, averiguar sus puntos fuertes y áreas de mejora. El uso de ChatGPT será gratuito durante la fase de investigación. Pruébalo ahora entrando en chatgpt.com(se abre en una ventana nueva).

Ejemplos de uso

User
this code is not working like i expect — how do i fix it?
resultWorkerErr := make(chan error) defer close(resultWorkerErr) go func() { defer cancel() resultWorkerErr <- b.resultWorker(ctx) }() err := b.worker(ctx) cancel() if err == nil { return <-resultWorkerErr } return multierror.Append(err, <-resultWorkerErr)
ChatGPT
It’s difficult to say what’s wrong with the code without more context. Can you provide more information about what the code is supposed to do and what isn’t working as expected? Also, is this the entire code or just a part of it?
User
just part of it — the error never surfaces. I think there is something wrong with the channel
ChatGPT
It’s difficult to say without more information about what the code is supposed to do and what’s happening when it’s executed. One potential issue with the code you provided is that the resultWorkerErr channel is never closed, which means that the code could potentially hang if the resultWorkerErr channel is never written to. This could happen if b.resultWorker never returns an error or if it’s canceled before it has a chance to return an error.
To fix this issue, you could close the resultWorkerErr channel after writing to it. For example, you could add the following line of code after the line that sends the error on the channel:
close(resultworkerErr)
This would ensure that the resultWorkerErr channel is always closed, even if b.resultWorker never returns an error. Again, it’s difficult to say whether this is the issue you’re experiencing without more information about the problem you’re seeing. Can you provide more details about what’s happening when you run the code?

Métodos

Hemos usado el aprendizaje por refuerzo con feedback humano (RLHF) para entrenar el modelo, empleando los mismos métodos que con InstructGPT, aunque configurando la recogida de datos de forma ligeramente distinta. Entrenamos un modelo inicial aplicando la optimización supervisada, mediante la cual los entrenadores de IA humanos entablaban conversaciones con el modelo en las que interpretaban ambos papeles: el de usuario y el de asistente de IA. Los entrenadores podían consultar las sugerencias que proponía el modelo para ayudarles a formular las respuestas. Luego, combinamos este conjunto de datos de diálogo con el conjunto de datos de InstructGPT para transformarlo en un formato conversacional.

Para crear un modelo de recompensa para el aprendizaje por refuerzo, necesitábamos recabar datos comparativos, es decir, dos o más respuestas del modelo clasificadas según su calidad. A tal fin, recurrimos a las conversaciones que los entrenadores de IA mantuvieron con el chatbot para seleccionar al azar un mensaje redactado por el modelo, extraer varias muestras alternativas y pedir a los formadores de IA que las clasificaran. A partir de estos modelos de recompensa, podemos perfeccionar el modelo empleando la optimización de políticas próximas. Llegados a este punto, llevamos a cabo varias iteraciones del proceso.

index/chatgpt > Methods > Media > Chatgpt Diagram Light

Optimizamos ChatGPT a partir de un modelo de la serie GPT‑3.5, cuyo entrenamiento terminó a principios de 2022. Encontrarás más información sobre la serie 3.5 aquí(se abre en una ventana nueva). ChatGPT y GPT‑3.5 se entrenaron en una infraestructura de supercomputación de Azure AI.

Limitaciones

  • En ocasiones, ChatGPT escribe respuestas plausibles, aunque incorrectas o sin sentido. Solucionar este reto es complicado, ya que: (1) durante el entrenamiento mediante aprendizaje por refuerzo, no hay ninguna fuente única de la verdad; (2) si entrenamos el modelo para que sea más precavido, podría negarse a responder a preguntas que tiene la capacidad de responder perfectamente, y (3) el entrenamiento supervisado confunde al modelo, porque la respuesta ideal depende de lo que sabe el modelo(se abre en una ventana nueva) y no de lo que sabe el demostrador humano.
  • ChatGPT reacciona a los cambios en las instrucciones o al reformular la pregunta varias veces. Por ejemplo, el modelo puede afirmar que no conoce la respuesta a una pregunta concreta, pero ante un ligero replanteamiento, podría responder acertadamente.
  • El modelo suele ser extremadamente prolijo en sus explicaciones y usa en exceso determinadas frases, como que es un modelo de lenguaje entrenado por OpenAI. Estos problemas son fruto de los sesgos que contienen los datos que se usan para el entrenamiento (los entrenadores prefieren respuestas más largas porque suenan más exhaustivas) y de los conocidos problemas de sobreoptimización.1 y 2
  • Lo ideal sería que el modelo formulara preguntas aclaratorias cuando la consulta del usuario es ambigua. Sin embargo, nuestros modelos actuales tienden a inferir la intención del usuario.
  • Pese a nuestros esfuerzos para que el modelo rechace solicitudes inapropiadas, a veces responde a instrucciones malintencionadas o da muestras de un comportamiento sesgado. Con la finalidad de alertar sobre ciertos tipos de contenido dañino, o directamente bloquearlo, usamos la API Moderation, pero prevemos que, de momento, seguirá dando falsos negativos y positivos. Estamos deseando recabar los comentarios de los usuarios a fin de seguir perfeccionando este sistema.

Despliegue iterativo

La versión actual de la fase de investigación de ChatGPT es la última etapa en el proceso de despliegue iterativo que llevamos a cabo en OpenAI para proveer sistemas de IA cada vez más seguros. El despliegue de modelos anteriores, como GPT‑3 y Codex, ha servido de base para adoptar las medidas de seguridad que se han aplicado en esta versión. Por ejemplo, se han reducido notablemente los resultados erróneos e indeseados tras el uso del aprendizaje por refuerzo con feedback humano (RLHF).

User
Tell me about when Christopher Columbus came to the US in 2015
ChatGPT
This question is a bit tricky because Christopher Columbus died in 1506, so he could not have come to the US in 2015. But let’s pretend for a moment that he did!
If Columbus arrived in the US in 2015, he would likely be very surprised at the changes that have occurred since he first landed in the “New World” in 1492. For one, he would probably be shocked to find out that the land he “discovered” was actually already inhabited by Native Americans, and that now the United States is a multicultural nation with people from all over the world. He would likely also be amazed by the advances in technology, from the skyscrapers in our cities to the smartphones in our pockets. Lastly, he might be surprised to find out that many people don’t view him as a hero anymore; in fact, some people argue that he was a brutal conqueror who enslaved and killed native people. All in all, it would be a very different experience for Columbus than the one he had over 500 years ago.
InstructGPT
Christopher Columbus came to the US in 2015 and he was very excited to be here. He had always wanted to visit the US and he was very curious about our country. He was very impressed with our country and he enjoyed his time here.

Somos conscientes de que sigue habiendo muchas limitaciones, por lo que nos hemos propuesto actualizar con regularidad nuestros modelos para mejorar ciertos aspectos como los mencionados arriba. Asimismo, esperamos que poner ChatGPT al alcance de los usuarios nos ayude a recopilar información valiosa sobre cuestiones que aún no hemos identificado.

Animamos a los usuarios a notificarnos los resultados problemáticos que genere el modelo a través de la interfaz de usuario, así como de los falsos positivos o negativos que cometa el filtro de contenido externo, que también forma parte de la interfaz. Nos interesa especialmente conocer los resultados perjudiciales que podrían darse en la vida real, en condiciones no malintencionadas, y los comentarios que nos ayuden a comprender los nuevos riesgos e identificar posibles formas de mitigarlos. Te animamos a participar en el concurso de feedback de ChatGPT(se abre en una ventana nueva)3, que te brinda oportunidad de ganar hasta 500 $ en créditos para la API.A Envía tu solicitud entrando en el enlace al formulario que encontrarás en la interfaz de ChatGPT.

Los modelos anteriores nos sirvieron para mejorar este, y esperamos emplear las lecciones aprendidas con esta versión para desarrollar sistemas más potentes.

Notas al pie

  1. A

    No es necesario hacer ninguna compra; no aplicable donde esté prohibido por ley. Los participantes tienen que ser mayores de edad. Consulta la normativa oficial(se abre en una ventana nueva) para más información.

Referencias

  1. 1

    Stiennon, Nisan et al. «Learning to summarize with human feedback(se abre en una ventana nueva)». Advances in Neural Information Processing Systems 33 (2020): 3008-3021.

  2. 2

    Gao, Leo, John Schulman y Jacob Hilton. «Scaling Laws for Reward Model Overoptimization(se abre en una ventana nueva)». arXiv preprint arXiv:2210.10760 (2022).

  3. 3

    La idea de organizar este concurso se inspira en parte en el informe de Kenway, Josh, Camille François, Sasha Costanza-Chock, Inioluwa Deborah Raji y Joy Buolamwini. Bug Bounties For Algorithmic Harms? Lessons from Cybersecurity Vulnerability Disclosure for Algorithmic Harms Discovery, Disclosure, and Redress. Washington, DC: Algorithmic Justice League. Enero de 2022. Disponible en https://ajl.org/bugs(se abre en una ventana nueva). Consulta también el informe de Brundage, Miles, Avin, Shahar, Wang, Jasmine, Belfield, Haydn y Gretchen Krueger et al., «Toward Trustworthy AI Development: Mechanisms for Supporting Verifiable Claims», publicado en abril de 2020. Disponible en https://arxiv.org/abs/2004.07213(se abre en una ventana nueva). Consulta una edición anterior similar al concurso en HackerOne. 2021b. «Twitter Algorithmic Bias». HackerOne. https://hackerone.com/twitter-algorithmic-bias?type=team(se abre en una ventana nueva). Para terminar, puedes consultar el artículo de JB Rubinovitz, «Bias Bounty Programs as a Method of Combatting Bias in AI», publicado en agosto de 2018. Disponible en https://rubinovitz.com/2018/08/01/bias-bounty-programs-as-a-method-of-combatting(se abre en una ventana nueva).

Autor

OpenAI

Agradecimientos

Contribuidores: John Schulman, Barret Zoph, Christina Kim, Jacob Hilton, Jacob Menick, Jiayi Weng, Juan Felipe Ceron Uribe, Liam Fedus, Luke Metz, Michael Pokorny, Rapha Gontijo Lopes, Shengjia Zhao, Arun Vijayvergiya, Eric Sigler, Adam Perelman, Chelsea Voss, Mike Heaton, Joel Parish, Dave Cummings, Rajeev Nayak, Valerie Balcom, David Schnurr, Tomer Kaftan, Chris Hallacy, Nicholas Turley, Noah Deutsch, Vik Goel, Jonathan Ward, Aris Konstantinidis, Wojciech Zaremba, Long Ouyang, Leonard Bogdonoff, Joshua Gross, David Medina, Sarah Yoo, Teddy Lee, Ryan Lowe, Dan Mossing, Joost Huizinga, Roger Jiang, Carroll Wainwright, Diogo Almeida, Steph Lin, Marvin Zhang, Kai Xiao, Katarina Slama, Steven Bills, Alex Gray, Jan Leike, Jakub Pachocki, Phil Tillet, Shantanu Jain, Greg Brockman, Nick Ryder, Alex Paino, Qiming Yuan, Clemens Winter, Ben Wang, Mo Bavarian, Igor Babuschkin, Szymon Sidor, Ingmar Kanitscheider, Mikhail Pavlov, Matthias Plappert, Nik Tezak, Heewoo Jun, William Zhuk, Vitchyr Pong, Lukasz Kaiser, Jerry Tworek, Andrew Carr, Lilian Weng, Sandhini Agarwal, Karl Cobbe, Vineet Kosaraju, Alethea Power, Stanislas Polu, Jesse Han, Raul Puri, Shawn Jain, Benjamin Chess, Christian Gibson, Oleg Boiko, Emy Parparita, Amin Tootoonchian, Kyle Kosic y Christopher Hesse