Vai al contenuto principale
OpenAI
Caricamento in corso...

Abbiamo addestrato un modello chiamato ChatGPT che interagisce in modo colloquiale. Il formato del dialogo consente a ChatGPT di rispondere a domande di approfondimento, ammettere i propri errori, contestare premesse errate, nonché di respingere richieste inappropriate.

ChatGPT è un modello di pari livello di InstructGPT, che è addestrato a seguire un’istruzione in un prompt e a fornire una risposta dettagliata.

Siamo entusiasti di presentare ChatGPT per ottenere il feedback degli utenti e conoscere i suoi punti di forza e di debolezza. Durante l'anteprima della ricerca, l'uso di ChatGPT è gratuito. Provalo ora su chatgpt.com(si apre in una nuova finestra).

Esempi

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?

Metodi

Abbiamo addestrato questo modello mediante l’apprendimento per rinforzo con feedback umano (RLHF), utilizzando gli stessi metodi di InstructGPT, ma con leggere differenze nella configurazione della raccolta dei dati. Abbiamo addestrato un modello iniziale utilizzando un’ottimizzazione monitorata: formatori umani di IA hanno fornito conversazioni in cui interpretavano entrambe le parti, l’utente e l’assistente IA. Abbiamo dato ai formatori la possibilità di accedere a suggerimenti scritti dal modello per aiutarli a comporre le loro risposte. Abbiamo mescolato questo nuovo set di dati di dialoghi con il set di dati di InstructGPT, che abbiamo trasformato in un formato di dialogo.

Per creare un modello di ricompensa per l’apprendimento per rinforzo, era necessario raccogliere dati di confronto, che consistevano in due o più risposte del modello classificate in base alla qualità. Per raccogliere questi dati, abbiamo preso le conversazioni che i formatori di IA hanno avuto con il chatbot. Abbiamo selezionato in modo casuale un messaggio scritto dal modello, abbiamo preso a campione diverse alternative di completamento e le abbiamo fatte classificare da formatori di IA. Mediante questi modelli di ricompensa, possiamo mettere a punto il modello utilizzando l’ottimizzazione delle politiche prossimali. Abbiamo eseguito diverse iterazioni di questo processo.

Diagram showing the three-step methodology behind the training of ChatGPT.

ChatGPT è stato messo a punto a partire da un modello della serie GPT‑3.5, che ha terminato l’addestramento all'inizio del 2022. Puoi scoprire di più sulla serie 3.5, cliccando qui(si apre in una nuova finestra). ChatGPT e GPT‑3.5 sono stati addestrati su un’infrastruttura di supercalcolo Azure AI.

Limiti

  • ChatGPT a volte scrive risposte plausibili ma errate o senza senso. Risolvere questo problema è difficile, poiché: (1) durante l'addestramento RL, attualmente non esiste una fonte di verità; (2) addestrare il modello a essere più cauto fa sì che rifiuti le domande a cui può rispondere correttamente; e (3) l’addestramento supervisionato trae in inganno il modello perché la risposta ideale dipende da ciò che il modello sa(si apre in una nuova finestra), piuttosto che da ciò che sa il dimostratore umano.
  • ChatGPT è sensibile alle modifiche della formulazione dell’input o al tentativo di presentare più volte lo stesso prompt. Per esempio, di fronte alla formulazione di una domanda, il modello può affermare di non conoscere la risposta, ma con una leggera riformulazione può rispondere correttamente.
  • Il modello tende spesso ad essere prolisso e fa un uso eccessivo di alcune frasi, come ad esempio ribadire che si tratta di un modello linguistico addestrato da OpenAI. Questi problemi derivano da distorsioni nei dati di addestramento (i formatori preferiscono risposte più lunghe che appaiono più complete) e da noti problemi di sovra-ottimizzazione.1 e 2
  • Idealmente, il modello dovrebbe porre domande di chiarimento quando l’utente ha fornito una richiesta ambigua. Invece, i nostri modelli attuali di solito suppongono ciò che l’utente intendeva.
  • Nonostante lo sforzo di far sì che il modello rifiuti le richieste inappropriate, a volte risponde a istruzioni dannose o mostra un comportamento distorto. Stiamo applicando l’API di moderazione per segnalare o bloccare alcuni tipi di contenuti non sicuri, ma ci aspettiamo che per il momento ci siano falsi negativi e positivi. Siamo pronti a raccogliere il feedback degli utenti per contribuire al nostro continuo lavoro di miglioramento di questo sistema.

Implementazione iterativa

L’attuale release di ricerca di ChatGPT è l’ultimo passo nell’implementazione iterativa di OpenAI di sistemi di IA sempre più sicuri e utili. L’esperienza tratta dall’impiego di modelli precedenti, come GPT‑3 e Codex, ha informato le mitigazioni di sicurezza adottate per questa versione, tra cui una sostanziale riduzione di output dannosi e non veritieri ottenuti grazie all’uso dell'apprendimento rinforzato dal feedback umano (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.

Siamo consapevoli che restano molti limiti, come quelli discussi in precedenza, e prevediamo di aggiornare regolarmente il modello per migliorare queste aree. Speriamo inoltre che, fornendo un’interfaccia accessibile a ChatGPT, otterremo un prezioso feedback dagli utenti su questioni di cui non siamo ancora a conoscenza.

Gli utenti sono invitati a fornire un feedback sugli output problematici del modello attraverso l’interfaccia utente, nonché sui falsi positivi/negativi del filtro dei contenuti esterni, anch’esso parte dell'interfaccia. Siamo particolarmente interessati a ricevere feedback sugli output dannosi che potrebbero verificarsi nel mondo reale, in condizioni non contraddittorie, e a ricevere feedback che ci aiutino a scoprire e comprendere nuovi rischi e possibili mitigazioni. È possibile partecipare al concorso ChatGPT Feedback Contest(si apre in una nuova finestra)3 per vincere fino a 500 dollari in crediti API.A Le iscrizioni possono essere inviate tramite il modulo di feedback collegato all'interfaccia di ChatGPT.

Siamo entusiasti di trarre insegnamento da questa release per l’implementazione di sistemi più efficienti, così come le implementazioni precedenti hanno influenzato questa.

Note di riferimento

  1. A

    Nessun acquisto necessario, nullo dove proibito. È necessario avere almeno 18 anni per partecipare. Per i dettagli del concorso, consulta il Regolamento ufficiale(si apre in una nuova finestra).

Riferimenti

  1. 1

    Stiennon, Nisan, et al. “Learning to summarize with human feedback(si apre in una nuova finestra).” Advances in Neural Information Processing Systems 33 (2020): 3008-3021.

  2. 2

    Gao, Leo, John Schulman, and Jacob Hilton. “Scaling Laws for Reward Model Overoptimization(si apre in una nuova finestra)”. Preprint arXiv arXiv:2210.10760 (2022).

  3. 3

    L’ispirazione per questo concorso deriva in parte dal lavoro di Kenway, Josh, Camille François, Sasha Costanza-Chock, Inioluwa Deborah Raji e Joy Buolamwini. Bug Bounties For Algorithmic Harms? Lessons from Cybersecurity Vulnerability Disclosure for Algorithmic Harms Discovery, Disclosure, and Redress. Washington, DC: Algorithmic Justice League. Gennaio 2022. Disponibile all'indirizzo https://ajl.org/bugs(si apre in una nuova finestra). Consulta anche il lavoro di Brundage, Miles, Avin, Shahar, Wang, Jasmine, Belfield, Haydn e Gretchen Krueger et al. “Toward Trustworthy AI Development: Mechanisms for Supporting Verifiable Claims”, aprile 2020. Disponibile all'indirizzo https://arxiv.org/abs/2004.07213(si apre in una nuova finestra). Puoi consultare un'edizione precedente di una competizione simile è consultabile su HackerOne. 2021b. “Twitter Algorithmic Bias”. HackerOne. https://hackerone.com/twitter-algorithmic-bias?type=team(si apre in una nuova finestra). Infine, puoi consultare il lavoro iniziale pubblicato su questo argomento da Rubinovitz, JB, “Bias Bounty Programs as a Method of Combatting Bias in AI”, agosto 2018. Disponibile all'indirizzo https://rubinovitz.com/2018/08/01/bias-bounty-programs-as-a-method-of-combatting(si apre in una nuova finestra).

Autore

OpenAI

Ringraziamenti

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