ํด๋น ๊ฒ์๊ธ์
(1) ChatGPT, ๊ทธ๋ฆฌ๊ณ InstructGPT๊ฐ ๊ฐ๋ฅํ๋ ์ค์ ๊ธฐ์ ๊ณผ
(2) ํด๋น ๊ธฐ์ ์ด ์ ์ฉ๋ ์๋ฆฌ์ ์์ฌํ๋ ์
์ ๋ํ ๋ด์ฉ์ ๋ด๊ณ ์์ต๋๋ค.
Chapter #1 - ChatGPT๋ฅผ ์ฑ๊ณต์ผ ๋ง๋ ์ค์ ๊ธฐ์ ์ ๋ฌด์์ผ๊น
์ GPT-3๋ ์๋๋ ๊ฑธ ChatGPT๋ ๊ฐ๋ฅํ๊ฒ ๋ ๊ฒ์ธ๊ฐ์?
์ต๊ทผ ํ์ ๊ฐ ๋๊ณ ์๋ chatGPT
ChatGPT ๊ฐ ๊ณต๊ฐ๋์ง 2๋ฌ์ด ๋ค ๋์ด๊ฐ๊ณ ์์ต๋๋ค. ChatGPT๋ ์ถ์ 5์ผ๋ง์ ์ฌ์ฉ์ 100๋ง๋ช ์ ๋ฌ์ฑํ๊ณ , ๋๋๋๋ก ์ ํํ ์ธ์ด ๊ตฌ์ฌ๋ฅ๋ ฅ๊ณผ ์ ๋ง ๋์์ด ๋ ๋ฒํ ๋ต๋ณ๋ค์ ๋ณด์ฌ์ฃผ๋ฉด์ ๊ตฌ๊ธ ๊ฒ์์ ๋์ฒดํ ์๋ ์๋ค๋ ์ด์ผ๊ธฐ๊ฐ ๋์ค๋ฉด์ ๋ง์ ํ์ ๋ฅผ ๋ถ๋ฌ์ผ์ผ์ผฐ๋๋ฐ์. ์ต๊ทผ์๋ ์ํ๋ ผ๋ฌธ ์ฌ์ ๊ณต๊ฐ ๋๋ฆฌ์ง ๋ฉ๋์์นด์ด๋ธ(MedRxiv)์ ์ฑ์งํผํฐ๊ฐ ๋ ผ๋ฌธ ๊ณต์ ์๋ก ์ ํ ๋ ผ๋ฌธ์ด ๋ฑ๋ก๋๊ธฐ๋ ํ๊ณ , ๋ฏธ๊ตญ ์์ฌ๋ฉดํ ์ํ์ ํต๊ณผํ๋ค๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๊น์ง ์ฌ๋ผ์ค๋ ๋ฑ ์๋ฐ๋ผ ํ์ ๋ฅผ ๋ณ๊ณ ์์ต๋๋ค. ๋ฏธ๊ตญ์ ์ผ๋ถ ํ๊ต๋ ํ์๋ค์ด ์ํ·๊ณผ์ ๋ฑ์ ์ฑ์งํผํฐ๋ฅผ ์ฐ์ง ๋ชปํ๋๋ก ๊ต๋ด ์ ์์ ์ฐจ๋จํ๊ณ ๋ชฐ๋ ์ฌ์ฉํ๋ ํ์๋ฅผ ์์ถํ๋ ์ํํธ์จ์ด๊น์ง ๊ฐ๋ฐํด ํ์ฉํ๊ณ ์์ ์ ๋๋ก, ChatGPT๊ฐ ์ฐ๋ฆฌ ์ฌํ์ ์ฃผ๊ณ ์๋ ์ํฉํธ๋ ์์ฒญ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
ChatGPT์ ์๋ฆฌ๋ ์ฌ์ค InstrucGPT์ ๋ฐฉ์๊ณผ ๋น์ทํ๋ค
chatGPT๊ฐ ํ์ ๊ฐ ๋ ์์ธ์ผ๋ก ์ฌ๋ฌ๊ฐ์ง๋ฅผ ๋ค ์ ์๊ฒ ์ต๋๋ค๋ง, ๊ทธ ์ค์ฌ์๋ ์ฌ๋๋ค์ด ๋๋ผ๊ธฐ์๋ ๊ทธ๋ด๋ฏํ ๋ง์ ๋ง๋ค์ด๋ด๋ ๋ฅ๋ ฅ๊ณผ, ์ง๋ฌธ์ ๋ํ ์ ํํ ๋ต๋ณ์ด ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ค chatGPT์ ์๋ฆฌ๋ ๊ทธ ์ด์ ์ ๋ฐํ๋ InstructGPT์ ๊ต์ฅํ ๋น์ทํ๋ฉฐ, openai ๋ณธ์ธ๋ค๋ ์๋งค ๋ชจ๋ธ์ด๋ผ๊ณ ์ด์ผ๊ธฐ ํ๊ณ ์์ต๋๋ค.
InstructGPT๋ OpenAI์์ ๊ฐ๋ฐํ ๊ธฐ๊ณ ํ์ต ๋ชจ๋ธ๋ก, ํ ์คํธ ์ ๋ ฅ์ ๋ฐ์ ์์ ์ง์๋ฌธ(instructions)์ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ์์ ์ง์๋ฌธ์ ์๋์ prompt์ ๊ฐ์ ์ง๋ฌธ๋ค์ ๋งํฉ๋๋ค.
์์์์๋ ๋ณผ ์ ์๋ฏ, InstructGPT๋ ๊ธฐ์กด ๋ชจ๋ธ์ธ GPT-3์ ๋น๊ตํ์๋ ๋๋ผ์ธ ์ ๋๋ก ํ๋ถํ๊ณ ์ ํํ ์ธ์ด ์์ฑ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ openAI์ ๋ ผ๋ฌธ์์ ์์น์ ์ผ๋ก๋ ๋ช ํํ๊ฒ ๋ณด์ฌ์ง๊ณ ์์ต๋๋ค.
ChatGPT์, InstructGPT๊ฐ GPT-3์ ๋น๊ตํ์๋ ํจ์ฌ ๋ ์ข์ ๋ต๋ณ ์์ฑ ๋ฅ๋ ฅ์ ์ป์ ๋ฐ์๋ ์ฌ๋ฌ ์ด์ ๊ฐ ์๊ฒ ์ง๋ง, ์ ๋ chatGPT ๋ณธ์ธ์๊ฒ ๋ฌผ์ด๋ณด๋ ๊ฒ์ด ๊ฐ์ฅ ์ ํํ ๋ต๋ณ์ผ ๊ฒ ๊ฐ์์ ์ง์ https://chat.openai.com/chat ๋ฅผ ํตํด์ ๋ฌผ์ด๋ณด์์ต๋๋ค!
chatGPT ๋ณธ์ธ์ ์ค๋ช ์ผ๋ก๋ chatGPT์ instructGPT ๋ชจ๋์ ์ฌ์ฉ๋ ์ฃผ์ํ ๊ธฐ์ ๋ก ๊ฐํํ์ต๊ณผ Interactive learning์ ๊ผฝ๊ณ ์์ต๋๋ค. ๋ ๊ธฐ์ ์ ๋ํ chatGPT์ ์ค๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Reinforcement Learning: As we discussed earlier, RL can be used to train the model to make decisions about the next word to generate in a sentence. The model is given a prompt or context and generates a response. The response is then evaluated by a reward function, which assigns a score based on how well the response fits with the prompt or context. The model uses this feedback to adjust its parameters and improve its performance over time. This technique can be used in combination with pre-training and fine-tuning to improve the performance of the model. This technique is not used in GPT-3 to train the model.
Interactive learning: The model can be placed in a virtual environment and can be trained to take actions and make decisions based on the feedback it receives. This allows the model to learn from its own experience and improve its performance over time. This technique is not used in GPT-3 to train the model.
๋์ด์ผ ์๊ฐํด๋ณด๋ฉด, Interactive learning ๋ํ ๊ฒฐ๊ตญ ๊ฐํํ์ต ์์์์ ํ๊ฒฝ์ ์ด์ฉํ๋ ํ์ต์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ chatGPT์ instructGPT์์ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ ์ ๊ธฐ์ฌ๋๊ฐ ํฐ ๋ถ๋ถ์ ๊ฐํํ์ต์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋, ๊ฐํํ์ต์ด ์ด๋ป๊ฒ ๋ ๋ชจ๋ธ์ chatbot์ผ๋ก์์ ์ฑ๋ฅ ํฅ์์ ๋น์ฝ์ ์ผ๋ก ์ด๋์ด๋ผ ์ ์์์๊น์ ๋ํด์ ๊ณฑ์น์ด๋ณผ ์ ์์ต๋๋ค.
๊ฐํํ์ต์ ๊ธฐ์ฌ์ , ๊ทธ๋ฆฌ๊ณ ์์ฌ์
๊ฐํํ์ต์ด ์ด๋ ๊ธธ๋ ํฐ ์ฑ๋ฅ ํฅ์์ ์ด๋ฃฌ ๊ฒ์ผ๊น?
Reward model์ ํตํด ์ฌ๋์ ํ๋ด๋ด๋ค
ChatGPT๊ฐ ํ์ต๋๋ ๊ณผ์ ์ openai์์๋ ๋ค์ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช ํฉ๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ํต์ฌ์ด ๋๋ ๋ถ๋ถ์ Step 2์์ reward model์ ๋ง๋๋ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. Reward model์ ์ง๋ฌธ์ ๋ํ ChatGPT์ ๋ต๋ณ์ ๋ํด์ ์ฌ๋์ด ๋งค๊ธด ์ ์๋ฅผ ํ์ตํ๊ฒ ๋๋๋ฐ์. ํ์ต๋ reward model์ Step 3์์ chatGPT ๋ชจ๋ธ์ด ๋ด๋ฑ์ ๋ต๋ณ์ ๋ํ human preference, ์ฆ ์ค์ ์ฌ๋์ด ๋ต๋ณ์ ๋ํด์ ์ผ๋ง๋ ๋ง์กฑํ๋์ง์ ๋ํ ์ ์๋ฅผ ์์ธกํ๊ฒ ๋ฉ๋๋ค. ์ด reward model์ด ๊ฐํํ์ต ์์์ ํ๊ฒฝ(environment)์ผ๋ก์ ์์ฉํ๊ฒ ๋์ด chatGPT๊ฐ ์ ์ ๋ ๋์ ์ ์๋ฅผ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ด ๋๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก๋ ์ด reward model์ด ์ค์ํ๋ค๊ณ ์๊ฐํ๋๋ฐ์. ์ด๋ป๊ฒ ๋ณด๋ฉด reward model์ chatGPT์ ํ์ต ๊ณผ์ ์์ label์ ์ ๊ณตํ๋ ์ญํ ์ ํ๊ณ ์์ด์ reward model์ด ์ ์๋ฅผ ์ ๊ณตํ๋ ๋ฐฉํฅ์ด ๋ฌ๋ผ์ง๋ค๋ฉด chatGPT์ด ํ์ต๋๋ ๋ฐฉํฅ ๋ํ ์์ ํ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ, chatGPT์ ๋ชจ๋ ๋ต๋ณ์ ๋ํด์ human preference ์ ์๋ฅผ ์ฌ๋์ด ์ค ์ ์๋ ์ํฉ์์, ์ด๋ฅผ ์ด๋์ ๋ reward model์ด ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด ์ฃผ์๋ค๋ ์ ์ด ์ธ์์ ์ด์์ต๋๋ค.
ChatGPT๊ฐ ์์ฌํ๋ ์
chatGPT์ ๋ณด๋ฉด์ ์ ๊ฐ ์ฐธ์ ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ํฌ๊ฒ ๋ ๊ฐ์ง์ธ๋ฐ์. ์ฒซ๋ฒ์งธ๋ chatGPT์ ๋ชจ๋ ๋ต๋ณ์ ๋ํ human preference ์ ์๋ฅผ ์ฌ๋์ด ์ค์ ๋ก ์ค ์ ์๋ ์ํฉ์์, reward model์ด preference ์ ์์ ๋ถํฌ๋ฅผ ํ์ตํ์ฌ ๋ชจ๋ ๋ต๋ณ์ ๋ํ ์ ์๋ฅผ ๋ถ์ฌํ๊ณ ์ด๋ค ๋ต๋ณ์ด ์๋์ ์ผ๋ก ๋ ์ข์ ๋ต๋ณ์ธ์ง chatGPT ๋ชจ๋ธ์ด ํ์ตํ๊ฒ ๋ ์ , ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ํตํด์ ์ค์ inference ๊ณผ์ ์์ chatGPT๊ฐ ๊ฐ์ฅ ์ข์ ๋ต๋ณ์ outputํ ์ ์๊ฒ ๋ ์ ์ ๋๋ค.
๋๋ฒ์งธ๋, ๊ธฐ์กด language model(LM)์ ํ์ต ๋ฐฉ๋ฒ์ด statistical structure of language, ์ฆ ์ธ์ด ๋ด ํต๊ณ์ ๊ตฌ์กฐ ํน์ ๋ถํฌ๋ฅผ ์ด์ฉํด์ ํ์ต๋๋ ๊ณผ์ ์์ ์๊ธด ๋ฌธ์ ์ ๋ค์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ ์ํ๋ค๋ ์ ์ ๋๋ค. ๊ธฐ์กด language model๋ค์ ๋ณดํต ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ์ต์ด ๋๋๋ฐ์. ์๋ฅผ ๋ค์ด, "I love cheese burger" ๋ผ๊ณ ํ๋ ๋ฌธ์ฅ์ด ์กด์ฌํ ๋ language model๋ค์ "I love [MASK] burger" ๋ก ๋ฌธ์ฅ์ ๋ฐ๊พธ๊ณ [MASK] ์๋ฆฌ์ ๋ฌด์จ ๋จ์ด๊ฐ ์ค๋ฉด ์ข์๊น? ๋ผ๋ ์ง๋ฌธ์ ๋ํด์ cheese๋ผ๋ ๋จ์ด๊ฐ ์ค๋๋ก ํ์ต์ด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๋ฌธ์ฅ๋ค์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ wikipedia๋ ์น ์์ ์์ฐ์ด ๋ฐ์ดํฐ๋ก๋ถํฐ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด, language model์ [MASK] ์๋ฆฌ์ cheese๋ beef์ ๊ฐ์ด ์ค์ ์ฌ๋๋ค์ด ๋ง์ด ๋ฃ์๋งํ ๋จ์ด๋ฅผ ์ง์ด๋ฃ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ด ๋ ๊ฒ๋๋ค. ์ด๋ฅผ ํตํด์ language model์ด ์์ฑํ๋ ๋ฌธ์ฅ์ด ์ค์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ด ์์ฐ์ค๋ฌ์ด ๋ฌธ์ฅ์ด ๋ง๋ค์ด์ง๊ฒ ๋๋ ๊ฒ์ด์ฃ .
๋จ, ์ด๋ฌํ ๋ฐฉ์์ ๋ฌธ์ ์ ๋ ์กด์ฌํ๋๋ฐ์. Language model์ด ์์ฑํ๋ ๋ฌธ์ฅ์ ์์ฐ์ด์ ๋ถํฌ์ '์์ฃผ' ๋ฑ์ฅํ๋ ์์ฐ์ค๋ฌ์ด ๋ฌธ์ฅ์ด์ง ์ด๋ ํ ํ์คํฌ๋ ์ง๋ฌธ์ ๋ํ ์ ์ ํ ๋ฌธ์ฅ์ด ์๋ ์ ์๋ค๋ ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, "Admiral Yi Sun-shin [MASK] in the battle of Noryang" ์ด๋ผ๋ ๋ฌธ์ฅ์ ๋ํด์, language model์ด [MASK]์ ๋ค์ด๊ฐ ๋งํ ๋จ์ด๋ก์ ๋ชจ๋ ๋จ์ด๋ค์ ๋ํด์ ํ๋ฅ ์ ๋งค๊ธธ ๋ 'died' ์ 'won'์ด๋ผ๋ ๋ ๋จ์ด ๋ชจ๋ ๋์ ํ๋ฅ , likelihood๋ฅผ ๋งค๊ธฐ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง, "When did Admiral Yi Sun-shin died?"๋ผ๋ ์ง๋ฌธ์ด ๋ค์ด์จ๋ค๋ฉด ๋ ๋จ์ด์ ๋งค๊ฒจ์ง๋ likelihood๋ ํ์ฐํ ๋ฌ๋ผ์ ธ์ผ๊ฒ ์ง์.์ด๋ ๋ฏ ํน์ ์ง๋ฌธ์ ๋ํ ๋ต์ ํ ๋๋ ์์ฐ์ด์ ๋ถํฌ ์์ ์ ๋ณด๋ง์ผ๋ก๋ ๋ถ์กฑํ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ ๋ค๊ณ ๋ชจ๋ ์ง๋ฌธ์ ๋ํด์ label์ ๋งค๊ฒจ์ language model์ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์๋ ์๋ ๊ฒ์ด๊ตฌ์. InstructGPT, ๊ทธ๋ฆฌ๊ณ chatGPT๋ ์ด๋ฌํ ๋ฌธ์ ์ ๋ํด์ reward model์ ํตํด language model์ด ๋ต๋ณ์ ํ ๋ ํ์ํ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, chatGPT์์ ๋์ง ์์ฌ์ ์ ํตํด์ ๋ฌด์์ด ๋ ๊ฐ๋ฅํ ๊น์ ๋ํด์ ๊ณ ๋ฏผํด ๋ณผ ์ ์์๊น์? reward model์ ๊ฒฐ๊ตญ ์ฌ๋์ด ์ฃผ๊ด์ ์ผ๋ก ์ฃผ๋ ์ ์๋ฅผ label๋ก ์ผ์์ ํ์ตํ๊ณ , ์ฌ๊ธฐ์ ์ป์ ์ ๋ณด๋ฅผ chatGPT์ ์ฃผ์ ํ๊ฒ ๋ฉ๋๋ค. ์ฆ, reward model์ ์ฃผ์ด์ง๋ label์ ์ด๋ ํ ๋ฐฉ์์ผ๋ก ์ค๊ณํ๋์ง์ ๋ฐ๋ผ์ chatGPT๋ ์๋ก์ด ๋ฐฉํฅ์ผ๋ก ํ์ต๋ ์ ์๋ค๋ ์ ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด, ์ด๋ฆฐ์ด๋ค์ด ์ดํดํ๊ธฐ ์ฌ์ด ๋ต๋ณ์ ๋ํด์ ๋์ ์ ์๋ฅผ ์ฃผ๋ฉด ์ด๋ฆฐ์ด๋ค์ด ์ฌ์ฉํ๊ธฐ ์ข์ chatGPT๊ฐ ๋ ์๋ ์๊ฒ ์ฃ . ํน์ ์ผ๋ฐ์ธ๋ค ๋ณด๋ค๋ ๋ณํธ์ฌ๋ ์์ฌ์ ๊ฐ์ด ์ ๋ฌธ ์ง์ข ์ ์ดํ๋ ๋ฌธ์ฒด๋ฅผ ๋ง์ด ํ์ฉํ ๋ต๋ณ์ ๋ํด์ ๋์ ์ ์๋ฅผ ์ฃผ๋ฉด, ํด๋น ์ ๋ฌธ์ง ์ข ์ฌ์๋ค์๊ฒ ํฐ ๋์์ด ๋ ์๋ ์์ ๊ฒ์ด๊ตฌ์.
์ ๋ฆฌํ์๋ฉด, InstructGPT ์ด์ ๊น์ง ๋๋ถ๋ถ์ language model๋ค์ ๋ ๋ง์ ๋ฐ์ดํฐ, ๋ ํฐ ๋ชจ๋ธ์ ์ถ๊ตฌํ๋ฉด์ ์ฑ๋ฅ์ ๋์ด์ฌ๋ ค์๋ ๋ถ๋ถ์ด ์์์ต๋๋ค. GPT-1~3๊น์ง ๋ง๋ OpenAI๋ํ ๊ทธ๋ฌ์ต๋๋ค. ํ์ง๋ง instructGPT์ chatGPT ๊ธฐ์ ์ผ๋ก OpenAI๋ ๋ชจ๋ธ์ ๊ฑฐ๋ํ๋ฅผ ํตํด ์ฑ๋ฅํฅ์์ ์ด๋ค๋ด๋ ํธ๋ ๋์ ์๋ก์ด ๋ฐฉํฅ์ ์ ์์ฌํ์ต๋๋ค. ์ด๋ฌํ ๋ฐฉํฅ์ ์ค์ ๋ก ๋๋ผ์ด ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉด์ ์ด๋ ์ ๋ ์ฌ๋ฐ๋ฅธ ์ ๊ทผ๋ฒ์ด๋ผ๋ ์ฌ์ค์ ์ฆ๋ช ํ๊ณ , ์ถ๊ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ language model์ ๋ค์ํ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ ์์ผ ๋ณผ ์ ์๋ค๋ ์ ์ ์์ฌํ๊ณ ์์ต๋๋ค.
[References]
[1] Ouyang et al., "Training language models to follow instructions with human feedback", https://arxiv.org/pdf/2203.02155.pdf
