Passer au contenu principal
OpenAI
Chargement…

Nous avons entraîné un modèle appelé ChatGPT qui interagit de manière conversationnelle. Le format de dialogue permet à ChatGPT de répondre aux questions de suivi, d'admettre ses erreurs, de contester les prémisses incorrectes et de rejeter les demandes inappropriées.

ChatGPT est un modèle frère de InstructGPT, qui est entraîné à suivre une instruction dans une invite et à fournir une réponse détaillée.

Nous sommes ravis de présenter ChatGPT afin de recueillir les commentaires des utilisateurs et d'en apprendre davantage sur ses forces et ses faiblesses. Pendant la période de prévisualisation, l'utilisation de ChatGPT est gratuite. Essayez-le dès maintenant à chatgpt.com(s'ouvre dans une nouvelle fenêtre).

Échantillons

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éthodes

Nous avons formé ce modèle en utilisant l'apprentissage par renforcement à partir des commentaires humains (RLHF), en appliquant les mêmes méthodes que InstructGPT, mais avec quelques différences dans la configuration de la collecte de données. Nous avons formé un modèle initial en utilisant un affinage supervisé : des formateurs en IA ont fourni des conversations où ils jouaient les deux rôles : l'utilisateur et un assistant IA. Nous avons donné aux formateurs accès à des suggestions rédigées par le modèle pour les aider à composer leurs réponses. Nous avons combiné ce nouveau jeu de données de dialogue avec le jeu de données InstructGPT, que nous avons converti en format de dialogue.

Pour créer un modèle de récompense pour l'apprentissage par renforcement, nous devions recueillir des données de comparaison, qui consistaient en deux réponses de modèle ou plus, classées par qualité. Pour recueillir ces données, nous avons pris des conversations que les formateurs d'IA ont eues avec le robot conversationnel. Nous avons sélectionné au hasard un message rédigé par un modèle, échantillonné plusieurs complétions alternatives, et demandé à des formateurs en IA de les classer. En utilisant ces modèles de récompense, nous pouvons affiner le modèle en utilisant l'optimisation de la politique proximale. Nous avons réalisé plusieurs itérations de ce processus.

Diagramme montrant la méthodologie en trois étapes derrière la formation de ChatGPT.

ChatGPT est une version peaufinée d'un modèle de la série GPT‑3.5, dont la formation s'est terminée au début de 2022. Découvrez-en plus sur la série 3.5 ici(s'ouvre dans une nouvelle fenêtre). ChatGPT et GPT‑3.5 ont été entraînés sur une infrastructure de supercalcul Azure AI.

Limites

  • ChatGPT donne parfois des réponses qui semblent plausibles, mais qui sont incorrectes ou dénuées de sens. Résoudre ce problème est difficile, car : (1) pendant la formation RL, il n'y a actuellement aucune source de vérité; (2) entraîner le modèle à être plus prudent l'amène à refuser les questions auxquelles il peut répondre correctement; et (3) la formation supervisée induit le modèle en erreur parce que la réponse idéale dépend de ce que le modèle sait, plutôt que de ce que le démonstrateur humain sait(s'ouvre dans une nouvelle fenêtre).
  • ChatGPT est sensible aux modifications de la formulation de l'entrée ou à la répétition de la même invite. Par exemple, pour une formulation donnée d'une question, le modèle peut prétendre ne pas connaître la réponse, mais avec une légère reformulation, il peut répondre correctement.
  • Le modèle est souvent excessivement verbeux et abuse de certaines expressions, comme réaffirmer qu'il s'agit d'un modèle de language entraîné par OpenAI. Ces problèmes proviennent de biais dans les données de formation (les formateurs préfèrent des réponses plus longues qui paraissent plus complètes) et de problèmes bien connus de sur-optimisation.1, 2
  • Idéalement, le modèle poserait des questions de clarification lorsque l'utilisateur fournit une requête ambiguë. Au lieu de cela, nos modèles actuels devinent généralement ce que l'utilisateur a l'intention de faire.
  • Bien que nous ayons fait des efforts pour que le modèle refuse les demandes inappropriées, il pourrait parfois répondre à des instructions nuisibles ou manifester un comportement biaisé. Nous utilisons l'API de modération pour avertir ou bloquer certains types de contenu non sécurisé, mais nous nous attendons à ce qu'elle présente des faux négatifs et positifs pour l'instant. Nous sommes impatients de recueillir les commentaires des utilisateurs pour soutenir notre travail continu visant à améliorer ce système.

Déploiement itératif

La publication de recherche d'aujourd'hui sur ChatGPT représente la dernière étape dans le déploiement itératif d'OpenAI de systèmes d'IA de plus en plus sûrs et utiles. De nombreuses leçons tirées du déploiement de modèles antérieurs tels que GPT‑3 et Codex ont éclairé les mesures d'atténuation de la sécurité mises en place pour cette version, y compris des réductions substantielles des sorties nuisibles et mensongères obtenues grâce à l'apprentissage par renforcement à partir des commentaires humains (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.

Nous savons que de nombreuses limitations subsistent, comme mentionné ci-dessus, et nous avons un plan pour effectuer des mises à jour régulières du modèle afin d'améliorer ces aspects. Mais nous espérons également qu'en fournissant une interface accessible à ChatGPT, nous recevrons des commentaires précieux de la part des utilisateurs sur des problèmes dont nous ne sommes pas encore conscients.

Les utilisateurs sont encouragés à fournir des commentaires sur les sorties problématiques du modèle via l'interface utilisateur, ainsi que sur les faux positifs/négatifs du filtre de contenu externe qui fait également partie de l'interface. Nous sommes particulièrement intéressés par les commentaires concernant les sorties néfastes qui pourraient survenir dans des conditions réelles et non conflictuelles, ainsi que par les commentaires qui nous aident à découvrir et à comprendre de nouveaux risques et les mesures d'atténuation possibles. Vous pouvez choisir de participer au Concours de commentaires ChatGPT(s'ouvre dans une nouvelle fenêtre)3 pour avoir la chance de gagner jusqu'à 500 $ en crédits API. A Les contributions peuvent être soumises via le formulaire de commentaires qui est lié dans l'interface ChatGPT.

Nous sommes ravis de tirer parti des leçons de cette version pour le déploiement de systèmes plus performants, tout comme les déploiements antérieurs ont informé celui-ci.

Notes de bas de page

  1. A

    Aucun achat n'est nécessaire, nul là où interdit. Vous devez avoir au moins 18 ans pour entrer. Pour les détails du concours, veuillez consulter le règlement officiel(s'ouvre dans une nouvelle fenêtre).

Références

  1. 1

    Stiennon, Nisan, et al. « Apprendre à résumer avec des commentaires humains(s'ouvre dans une nouvelle fenêtre). » Advances in Neural Information Processing Systems 33 (2020) : 3008–3021.

  2. 2

    Gao, Leo, John Schulman et Jacob Hilton. « Scaling Laws for Reward Model Overoptimization(s'ouvre dans une nouvelle fenêtre). » arXiv preprint arXiv:2210.10760 (2022).

  3. 3

    L'inspiration pour ce concours provient en partie des travaux de Kenway, Josh, Camille François, Sasha Costanza-Chock, Inioluwa Deborah Raji et Joy Buolamwini. Bug Bounties pour les préjudices algorithmiques? Leçons tirées de la divulgation des vulnérabilités en matière de cybersécurité pour la découverte, la divulgation et la réparation des préjudices algorithmiques. Washington, DC : Algorithmic Justice League. janvier 2022. Disponible sur https://ajl.org/bugs(s'ouvre dans une nouvelle fenêtre). Voir aussi les travaux de Brundage, Miles, Avin, Shahar, Wang, Jasmine, Belfield, Haydn et Gretchen Krueger et al. « Toward Trustworthy AI Development: Mechanisms for Supporting Verifiable Claims », avril 2020. Disponible à l'adresse https://arxiv.org/abs/2004.07213(s'ouvre dans une nouvelle fenêtre). Voyez un exemple antérieur d'une telle compétition sur HackerOne. 2021b. « Twitter Algorithmic Bias. » HackerOne. https://hackerone.com/twitter-algorithmic-bias?type=team(s'ouvre dans une nouvelle fenêtre). Enfin, consultez les premiers travaux publiés sur ce sujet par Rubinovitz, JB, « Bias Bounty Programs as a Method of Combatting Bias in AI », août 2018. Disponible à l'adresse suivante https://rubinovitz.com/2018/08/01/bias-bounty-programs-as-a-method-of-combatting(s'ouvre dans une nouvelle fenêtre).

Auteur

OpenAI

Remerciements

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, Christopher Hesse