Pasar al contenido principal
OpenAI
Cargando...

Entrenamos un modelo denominado ChatGPT, que interactúa con los usuarios a modo de conversación. Este formato de diálogo le permite a ChatGPT responder las preguntas que hacen los usuarios a posteriori, admitir errores, cuestionar las premisas que considera incorrectas y rechazar solicitudes inapropiadas.

ChatGPT es un modelo muy similar al de InstructGPT, que entrenamos para que siga las instrucciones de las solicitudes y responda de forma detallada.

Nos entusiasma mucho lanzar ChatGPT para que los usuarios puedan darnos su opinión al respecto, así como sobre sus virtudes y defectos. Durante la etapa de investigación, usar ChatGPT será gratuito. ¡Pruébalo en chatgpt.com(se abre en una nueva ventana)!

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

Entrenamos este modelo usando el aprendizaje por refuerzo a partir de feedback humano (RLHF), empleando los mismos métodos que en InstructGPT, pero con algunos ajustes distintos sobre la recopilación de datos. Inicialmente, entrenamos el modelo con un sistema de optimización supervisada: los entrenadores de IA humanos entablaron conversaciones en los que hacían ambos papeles: el de usuario y el de asistente de IA. Les dimos acceso a las sugerencias propuestas por el modelo para que lo ayudaran a articular las respuestas. Luego, combinamos el conjunto de datos basado en las conversaciones con el de InstructGPT para darle un formato de diálogo.

Para crear un modelo de recompensa y aplicar el aprendizaje por refuerzo, necesitábamos recopilar datos comparativos; a saber, dos o más respuestas del modelo clasificadas según su calidad. Con el objetivo de recabar estos datos, usamos las conversaciones de los entrenadores de IA con el chatbot. Seleccionábamos al azar un mensaje redactado por el modelo, producíamos varias respuestas alternativas y les pedíamos a los entrenadores de IA que las clasificaran. A partir de estos modelos de recompensa, podemos refinar el modelo aplicando la optimización de políticas próximas. Repetimos este proceso varias veces.

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 nueva ventana). ChatGPT y GPT‑3.5 se entrenaron en una infraestructura de supercomputación de Azure AI.

Limitaciones

  • A veces ChatGPT da respuestas convincentes pero incorrectas o sin sentido. Solucionar este problema es complicado, ya que: (1) durante el entrenamiento mediante el aprendizaje por refuerzo (RL), no se accede a ninguna fuente de información verídica; (2) entrenar al modelo para que sea más cauto podría hacer que rechazara preguntas que podría responder correctamente; y (3) el entrenamiento supervisado induce a errores porque la respuesta ideal debe basarse en lo que sabe el modelo(se abre en una nueva ventana), no en lo que sabe el usuario humano.
  • ChatGPT reacciona a las modificaciones que se hace en la redacción o si se reescribe un mismo prompt varias veces. Por ejemplo, ante una pregunta, el modelo quizás responda que no sabe la respuesta; pero si se la formula de otra forma, podría responder adecuadamente.
  • Por lo general, el modelo tiene un estilo muy pomposo y usa en demasía ciertas frases, como repetir que es un modelo de lenguaje entrenado por OpenAI. Estos problemas se desprenden de los sesgos que presentan los datos de entrenamiento (los entrenadores prefieren las respuestas más largas porque parecen más detalladas) y de los conocidos problemas de sobreoptimización.1 y 2
  • Lo ideal sería que el modelo formulara preguntas para esclarecer las consultas ambiguas que hacen los usuarios; pero generalmente los modelos actuales infieren la intención subyacente.
  • Pese a nuestros esfuerzos para que rechacen las solicitudes inapropiadas, a veces responden a instrucciones malintencionadas o evidencian un comportamiento sesgado. A fin de alertar o bloquear ciertos tipos de contenido inseguro, usamos la API de Moderation; pero por ahora prevemos que dará bastantes falsos negativos y positivos. No vemos la hora de recibir los comentarios de los usuarios para poder seguir perfeccionando este sistema.

Despliegue iterativo

La versión actual del modelo de ChatGPT para fines investigativos es la última etapa del despliegue iterativo que OpenAI ha llevado a cabo para ofrecer sistemas de IA cada vez más seguros y provechosos. El despliegue de modelos anteriores, como GPT‑3 y Codex, ha servido para proponer las medidas de seguridad que se aplicaron en esta versión, como reducir notablemente los resultados perjudiciales y engañosos que proponía 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.

Teniendo en cuenta los planteos anteriores, los modelos aún presentan muchas limitaciones; pero nuestro plan es actualizarlos con regularidad para mejorar estos aspectos. Asimismo, dado que hemos puesto ChatGPT a disposición de todo el mundo, esperamos que los usuarios nos proporcionen información valiosa sobre cuestiones que aún no hemos tenido en cuenta.

Los invitamos a hacernos llegar su opinión sobre los resultados problemáticos que genere el modelo a través de la interfaz de usuario y también sobre los falsos positivos y negativos que dé el filtro de contenido externo, que también forma parte de la interfaz. Nos interesan especialmente los comentarios sobre los resultados perjudiciales que podrían darse en la vida real, en condiciones no malintencionadas, así como aquellos que nos ayuden a identificar y comprender riesgos nuevos y las posibles formas de mitigarlos. Puedes participar en el concurso de feedback de ChatGPT(se abre en una nueva ventana) 3 y ganar hasta 500 USD en créditos API.A Envía tus comentarios mediante el formulario de feedback incluido en la interfaz de ChatGPT.

Así como los modelos anteriores nos sirvieron para mejorar este, vamos a incorporar los aprendizajes que nos llevamos de esta versión para desarrollar sistemas más potentes.

Notas al pie

  1. A

    No es necesario hacer ninguna compra; condición nula donde esté prohibido por ley. Los participantes deben tener como mínimo 18 años de edad. Para más información, consulta las reglas oficiales(se abre en una nueva ventana).

Referencias

  1. 1

    Stiennon, Nisan, et al. “Learning to summarize with human feedback(se abre en una nueva ventana)”. 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 nueva ventana).” arXiv preprint arXiv:2210.10760 (2022).

  3. 3

    La idea de organizar este concurso se inspira en parte en la obra 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 nueva ventana). Consulta también la obra de Brundage, Miles, Avin, Shahar, Wang, Jasmine, Belfield, Haydn y Gretchen Krueger et al. “Toward Trustworthy AI Development: Mechanisms for Supporting Verifiable Claims”, abril de 2020. Disponible en https://arxiv.org/abs/2004.07213(se abre en una nueva ventana). Consulta la edición anterior del concurso en HackerOne. 2021b. “Twitter Algorithmic Bias.” HackerOne. https://hackerone.com/twitter-algorithmic-bias?type=team(se abre en una nueva ventana). Para terminar, puedes consultar el artículo de JB Rubinovitz, “Bias Bounty Programs as a Method of Combatting Bias in AI”, agosto de 2018. Disponible en https://rubinovitz.com/2018/08/01/bias-bounty-programs-as-a-method-of-combatting(se abre en una nueva ventana).

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