close
ข้ามไปยังเนื้อหาหลัก
OpenAI

เราได้เทรนโมเดลชื่อ ChatGPT ขึ้น เพื่อให้โต้ตอบกับผู้ใช้ได้อย่างเป็นธรรมชาติ รูปแบบการสนทนานี้ช่วยให้ ChatGPT สามารถตอบคำถามต่อเนื่อง ยอมรับเมื่อทำผิด ท้าทายสมมติฐานที่ไม่ถูกต้อง และปฏิเสธคำขอที่ไม่เหมาะสมได้

ChatGPT เป็นโมเดลในตระกูลเดียวกับ InstructGPT ซึ่งได้รับการเทรนให้ทำตามคำสั่งที่ระบุและให้คำตอบอย่างละเอียด

เรามีความยินดีอย่างยิ่งที่จะแนะนำ ChatGPT เพื่อรวบรวมความคิดเห็นจากผู้ใช้ และศึกษาทั้งจุดแข็งและประเด็นที่ต้องปรับปรุง ทั้งนี้ ในช่วงเปิดทดลองใช้งานเพื่อการวิจัย ผู้ใช้สามารถใช้ ChatGPT ได้ฟรี ลองใช้เลยตอนนี้ที่ chatgpt.com(เปิดในหน้าต่างใหม่)

ตัวอย่าง

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?

วิธีการ

เราเทรนโมเดลนี้ด้วยการเรียนรู้แบบเสริมแรงจากข้อเสนอแนะของมนุษย์ (RLHF) โดยใช้วิธีเดียวกับที่ใช้ใน InstructGPT แต่มีความแตกต่างเล็กน้อยในขั้นตอนการเก็บข้อมูล เราเทรนโมเดลตั้งต้นด้วยการปรับแต่งแบบมีผู้สอน (supervised fine-tuning) โดยให้ผู้สอน AI ที่เป็นมนุษย์สร้างบทสนทนาทั้งในบทบาทผู้ใช้และผู้ช่วย AI เรายังให้ผู้สอนดูตัวอย่างคำตอบที่โมเดลสร้างไว้ล่วงหน้า เพื่อใช้เป็นแนวทางในการตอบ จากนั้น เรานำชุดข้อมูลบทสนทนาใหม่นี้มาผสมกับชุดข้อมูล InstructGPT ซึ่งถูกแปลงให้อยู่ในรูปแบบบทสนทนา

เพื่อสร้างโมเดลประเมินคุณภาพคำตอบ (reward model) สำหรับการเรียนรู้แบบเสริมแรง เราต้องรวบรวมข้อมูลเปรียบเทียบ ซึ่งประกอบด้วยคำตอบจากโมเดลอย่างน้อยสองชุดที่ถูกจัดอันดับตามคุณภาพ กระบวนการนี้ทำโดยเลือกบทสนทนาที่ผู้สอน AI เคยสนทนากับแชตบอต จากนั้นจึงสุ่มข้อความที่โมเดลสร้างขึ้น เลือกตัวเลือกคำตอบอื่นๆ เพิ่มเติม และให้ผู้สอนจัดอันดับคำตอบเหล่านั้น เมื่อได้โมเดลประเมินคุณภาพคำตอบแล้ว เรานำมาใช้ปรับแต่งโมเดลต่อด้วยวิธี Proximal Policy Optimization (PPO) เราทำขั้นตอนนี้แบบวนรอบหลายครั้ง

ไดอะแกรมแสดงกระบวนการเทรน ChatGPT แบบสามขั้นตอน

ChatGPT ได้รับการปรับแต่งเพิ่มเติมจากโมเดลในตระกูล GPT‑3.5 ซึ่งเสร็จสิ้นการเทรนในช่วงต้นปี 2565 สามารถเรียนรู้พิ่มเติมเกี่ยวกับตระกูล 3.5 ได้ ได้ที่นี่(เปิดในหน้าต่างใหม่) ChatGPT และ GPT‑3.5 ได้รับการเทรนบนโครงสร้างพื้นฐานซูเปอร์คอมพิวเตอร์ของ Azure AI

ข้อจำกัด

  • ChatGPT อาจเขียนคำตอบที่ฟังดูน่าเชื่อถือแต่ไม่ถูกต้องหรือไม่สมเหตุสมผลได้ในบางครั้ง การแก้ปัญหานี้เป็นเรื่องท้าทาย เนื่องจาก (1) ระหว่างการเรียนรู้แบบเสริมแรง (RL) ยังไม่มีแหล่งข้อมูลอ้างอิงที่ถือเป็นความจริงแน่นอน (2) ถ้าเทรนให้โมเดลระมัดระวังมากเกินไป โมเดลก็จะปฏิเสธคำถามที่จริงๆ แล้วสามารถตอบได้ถูกต้องและ (3) การเรียนรู้แบบมีผู้สอน (supervised training) อาจทำให้โมเดลเข้าใจผิด เพราะคำตอบที่เหมาะสมที่สุด ขึ้นอยู่กับสิ่งที่โมเดลรู้(เปิดในหน้าต่างใหม่) ไม่ใช่สิ่งที่ผู้สอนซึ่งเป็นมนุษย์รู้
  • ChatGPT อาจแสดงผลลัพธ์ต่างกันเมื่อมีการปรับถ้อยคำหรือใช้คำสั่งเดิมซ้ำหลายครั้ง ตัวอย่างเช่น ในบางถ้อยคำของคำถาม โมเดลอาจระบุว่าไม่ทราบคำตอบ แต่เมื่อเปลี่ยนรูปประโยคเพียงเล็กน้อยกลับสามารถตอบได้อย่างถูกต้อง
  • โมเดลยังมีแนวโน้มตอบเยิ่นเย้อเกินไปและใช้วลีบางอย่างซ้ำบ่อย เช่น การย้ำว่าตนเองเป็นโมเดลภาษาที่ได้รับการเทรนโดย OpenAI ปัญหาเหล่านี้เกิดจากอคติในข้อมูลการเทรน (ผู้สอนมักให้คะแนนสูงกับคำตอบที่ยาวและดูครอบคลุมกว่า) และยังเกี่ยวกับปัญหาการปรับโมเดลมากเกินไป (over optimization) อย่างที่ทราบกันดี1และ2
  • โดยหลักการแล้ว โมเดลควรถามเพื่อขอความชัดเจนเมื่อผู้ใช้ป้อนข้อความที่คลุมเครือ แต่โมเดลปัจจุบันมักจะเดาสิ่งที่ผู้ใช้ต้องการสื่อแทน
  • แม้ว่าเราจะพยายามให้โมเดลปฏิเสธคำสั่งที่ไม่เหมาะสม แต่ก็ยังมีบางกรณีที่โมเดลตอบสนองต่อคำสั่งที่เป็นอันตรายหรือแสดงพฤติกรรมลำเอียงอยู่บ้าง เราใช้ Moderation API เพื่อเตือนหรือบล็อกเนื้อหาที่ไม่ปลอดภัยบางประเภท แต่ในระยะนี้อาจยังมีกรณีที่ระบบตรวจจับพลาดหรือแจ้งเตือนเกินจริงอยู่บ้าง เรามุ่งมั่นที่จะรวบรวมข้อเสนอแนะจากผู้ใช้เพื่อช่วยให้เราพัฒนาระบบนี้อย่างต่อเนื่อง

การปรับใช้แบบวนรอบ

การเปิดตัวเวอร์ชันวิจัยของ ChatGPT ในวันนี้เป็นอีกก้าวหนึ่งในการปรับใช้แบบวนรอบของ OpenAI เพื่อพัฒนาระบบ AI ให้มีความปลอดภัยและเป็นประโยชน์มากยิ่งขึ้น บทเรียนมากมายจากการปรับใช้โมเดลรุ่นก่อนหน้า เช่น GPT‑3 และ Codex ได้ถูกนำมาใช้ในการออกแบบมาตรการด้านความปลอดภัยสำหรับรุ่นนี้ ซึ่งรวมถึงการลดเนื้อหาที่เป็นอันตรายหรือไม่ตรงความจริงอย่างมีนัยสำคัญด้วยการเรียนรู้แบบเสริมแรงจากข้อเสนอแนะของมนุษย์ (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.

เราทราบดีว่ายังมีข้อจำกัดหลายประการดังที่ได้กล่าวไว้ข้างต้น และเราตั้งเป้าที่จะปรับปรุงโมเดลอย่างสม่ำเสมอเพื่อพัฒนาในด้านดังกล่าว แต่เรายังหวังด้วยว่าอินเทอร์เฟซที่ใช้งานง่ายของ ChatGPT จะช่วยให้เรารับรู้ปัญหาหรือข้อเสนอแนะจากผู้ใช้ในประเด็นที่เราอาจยังไม่ทราบมาก่อน

ผู้ใช้สามารถส่งข้อเสนอแนะเกี่ยวกับผลลัพธ์ของโมเดลที่มีปัญหาผ่านทางอินเทอร์เฟซ รวมถึงกรณีที่ตัวกรองเนื้อหาภายนอกผิดพลาด ไม่ว่าจะเป็นการแจ้งเตือนเกินจริงหรือพลาดตรวจจับ ซึ่งถือเป็นส่วนหนึ่งของระบบเดียวกัน เรามีความสนใจเป็นพิเศษต่อข้อเสนอแนะเกี่ยวกับคำตอบที่อาจเป็นอันตรายในสถานการณ์จริงซึ่งไม่ใช่กรณีที่จงใจก่อกวนระบบ รวมถึงข้อมูลที่ช่วยให้เราค้นพบและเข้าใจความเสี่ยงใหม่ๆ และแนวทางลดปัญหาเหล่านั้น คุณสามารถเข้าร่วม การประกวดส่งข้อเสนอแนะเกี่ยวกับ ChatGPT(เปิดในหน้าต่างใหม่)3 เพื่อลุ้นรับเครดิต API มูลค่าสูงสุด 500 ดอลลาร์สหรัฐA สามารถส่งผลงานเข้าร่วมได้ผ่านแบบฟอร์มข้อเสนอแนะที่มีลิงก์อยู่ในอินเทอร์เฟซของ ChatGPT

เรารู้สึกตื่นเต้นที่จะนำบทเรียนจากการเปิดตัวครั้งนี้ไปใช้ปรับปรุงให้ระบบมีความสามารถมากขึ้น เช่นเดียวกับที่ประสบการณ์จากรุ่นก่อนมีส่วนสำคัญต่อการพัฒนาครั้งนี้

เชิงอรรถ

  1. A

    ไม่มีค่าใช้จ่ายในการเข้าร่วม และถือเป็นโมฆะในพื้นที่ที่กฎหมายไม่อนุญาต สำหรับผู้มีอายุ 18 ปีขึ้นไปเท่านั้น สำหรับรายละเอียดการประกวด โปรดดูที่ กติกาอย่างเป็นทางการ(เปิดในหน้าต่างใหม่)

เอกสารอ้างอิง

  1. 1

    Stiennon, Nisan, et al. “Learning to summarize with human feedback(เปิดในหน้าต่างใหม่)” 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(เปิดในหน้าต่างใหม่).“ arXiv preprint arXiv:2210.10760 (2022).

  3. 3

    การประกวดนี้ได้รับแรงบันดาลใจมาจากผลงานส่วนหนึ่งของ Kenway, Josh, Camille François, Sasha Costanza-Chock, Inioluwa Deborah Raji, and Joy Buolamwini. Bug Bounties For Algorithmic Harms? Lessons from Cybersecurity Vulnerability Disclosure for Algorithmic Harms Discovery, Disclosure, and Redress. Washington, DC: Algorithmic Justice League. January 2022. Available at https://ajl.org/bugs(เปิดในหน้าต่างใหม่). See also work by Brundage, Miles, Avin, Shahar, Wang, Jasmine, Belfield, Haydn, and Gretchen Krueger et al. “Toward Trustworthy AI Development: Mechanisms for Supporting Verifiable Claims,” April 2020. Available at https://arxiv.org/abs/2004.07213(เปิดในหน้าต่างใหม่). ดูตัวอย่างก่อนหน้านี้ของการประกวดประเภทเดียวกันได้ที่ HackerOne. 2021b. “Twitter Algorithmic Bias.” HackerOne. https://hackerone.com/twitter-algorithmic-bias?type=team(เปิดในหน้าต่างใหม่). สุดท้ายนี้ ดูผลงานที่ตีพิมพ์ก่อนหน้านี้เกี่ยวกับหัวข้อดังกล่าวจาก Rubinovitz, JB, “Bias Bounty Programs as a Method of Combatting Bias in AI,” August 2018. Available at https://rubinovitz.com/2018/08/01/bias-bounty-programs-as-a-method-of-combatting(เปิดในหน้าต่างใหม่).

ผู้เขียน

OpenAI

คำขอบคุณ

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