[์ฑ ์คํฐ๋] 4. GPT-3๊ฐ ์ฑGPT๋ก ๋ฐ์ ํ ์ ์์๋ ๋ฐฉ๋ฒ
๐ ํ์ฌ์ ์ฑGPT๊ฐ ํ์ํ ์ ์์๋ ๋ฐฐ๊ฒฝ
1. ์ง์ ๋ฐ์ดํฐ์ ์ ํ์ฉํด Supervised fine tuning ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ์์ ์์ฒญ์ ๋ง๋ ์๋ต์ ํ ์ ์๋๋ก ํ์ตํจ
2. ์ฌ์ฉ์์๊ฒ ๋ ๋์์ด๋๊ณ ๋ ์ ํธํ๋ ์๋ต์ ํ ์ ์๋๋ก, ๊ฐํํ์ต๋ฐฉ๋ฒ(RLHF, PPO)์ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐํํ์ต์ ์ฌ์ฉํ์ง ์๋ ๋ฐฉ๋ฒ (Rejective sampling, DPO) ๋ฐฉ๋ฒ์ ์ฌ์ฉํจ
1. ์ฌ์ ํ์ต๊ณผ ์ง๋ ๋ฏธ์ธ ์กฐ์
1.1 LLM์ ์ฌ์ ํ์ต
โ LLM์ ๋ธ๋ก๊ทธ, ๊ธฐ์ฌ, ์ฝ๋ ๋ฑ ์ธํฐ๋ท์์ ์๋ ๋ค์ํ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์งํ ๋์ฉ๋์ ํ ์คํธ๋ก ์ฌ์ ํ์ต์ ํ๋ค.
โช๏ธ ์ฐ๋ฆฌ๊ฐ ์ฑ , ๊นํ๋ธ์ฝ๋ ๋ฑ ๋ค์ํ ์๋ฃ๋ฅผ ํตํด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฌธ๋ฒ์ด๋ ์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๊ณต๋ถํ๋ ๊ณผ์ ๊ณผ ์ ์ฌํ๋ค
โ ์ฌ์ ํ์ต์ ํตํด LLM์ ์ธ์ด์ ๋ํ ์ ์ฒด์ ์ธ ์ดํด๋๊ฐ ๋์์ง๊ณ , ๋ฐ๋ก ๋ค์์ ์ฌ ๋จ์ด๋ฅผ ์ ์ ๋ ์ ์์ธกํ๊ฒ ๋๋ค.
โช๏ธ ์ธ์ด๋ชจ๋ธ์ "๋ค์ ๋จ์ด๋ก ์ ๋ต ํ ํฐ์ด ์ฌ ํ๋ฅ ์ ๋์ด๋ ๋ฐฉ์์ผ๋ก ํ์ตํ๋ค"
1.2 ์ง๋ ๋ฏธ์ธ ์กฐ์
โ ์ฌ์ ํ์ต ํ, LLM์ ์ฌ์ฉ์์ ์์ฒญ์ ์ ์ ํ ์๋ตํ๊ธฐ ์ํด, ์์ฒญ์ ํ์์ ์ ์ ํ ํด์ํ๊ณ , ์๋ต์ ํํ๋ฅผ ์ ์ ํ ์์ฑํ๋ฉฐ, ์์ฒญ๊ณผ ์๋ต์ด ์ ์ฐ๊ฒฐ๋๋๋ก ์ถ๊ฐ ํ์ตํ๋ '์ง๋ ๋ฏธ์ธ ์กฐ์ ' ๊ณผ์ ์ ๊ฑฐ์น๋ค.
โช๏ธ ์ฐ๋ฆฌ๊ฐ ์ด๋์ ๋ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ตํ ํ, ๋ฌธ์ ์ํฉ์ ๋ง๋ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ ์ฝ๋ฉํ ์คํธ ์ฐ์ต ๋ฌธ์ ๋ฅผ ํธ๋ ๊ณผ์ ๊ณผ ์ ์ฌํ๋ค
โ ์ ๋ ฌ (alignment) : ์ฌ์ฉ์์ ์์ฒญ์ ๋ง์ถฐ ์๋ตํ๋๋ก ํ์ตํ๋ ๊ฒ
โ ์ง์ ๋ฐ์ดํฐ์ (Instruction dataset) : ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ๊ณผ ๊ทธ์ ๋ํ ์๋ต์ ๊ตฌ์กฐํํ ๋ฐ์ดํฐ์
โช๏ธ ex. OpenAI๋ ์ฑGPT๋ฅผ ๊ฐ๋ฐํ๋ฉฐ, ๋ฐ์ดํฐ ๋ ์ด๋ธ๋ฌ๋ฅผ ๊ณ ์ฉํด 13,000๊ฐ๊ฐ ๋๋ ์ง์ ๋ฐ์ดํฐ์ ์ ๊ตฌ์ถํด ๋ชจ๋ธ์ ํ์ต์์ผฐ๋ค ๐ท๐ปโ๏ธ
1.3 ์ข์ ์ง์ ๋ฐ์ดํฐ์
โ ์ผ๋งํผ ํ์ํ๊ฐ : ์์ ๊ท๋ชจ์ ๋ฐ์ดํฐ์ ์ด๋๋ผ๋ ๊ด์ฐฎ๋ค (ex. ๋ฉํ์ LIMA๋ชจ๋ธ์ 1000๊ฐ ์ ๋์ ๋ฐ์ดํฐ๋ก๋ ์ฌ์ฉ์ ์์ฒญ์ ์๋ต์ด ๊ฐ๋ฅํ ๋ชจ๋ธ์ ๋ง๋ค์๋ค)
โ ์ด๋์ ๋์ ํ์ง์ธ๊ฐ : ์ง์์ฌํญ์ด ๋ค์ํ ํํ์ด๊ณ ๋ต๋ณ์ ํ์ง์ด ๋์์๋ก ๋ชจ๋ธ ํ์ง๋ ๋์์ง๋ฉฐ, ํ์ง์ ๋์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ต์ฌ์ ์์ ๋ฐ์ดํฐ์ฒ๋ผ ๊ต์ก์ ๊ฐ์น๊ฐ ๋์ ๋ฐ์ดํฐ์ด๋ฉด ๋๋ค. (ex. ์ฝ๋ ์์ )
2. ๋ ์ ํธํ๋ ์๋ต ๋ง๋ค๊ธฐ
โฏ 2.1 ์ ํธ ๋ฐ์ดํฐ์ ์ ์ฌ์ฉํ ์ฑ์ ๋ชจ๋ธ ๋ง๋ค๊ธฐ
โ ์ ํธ ๋ฐ์ดํฐ์ (preference dataset) : ๋ ๋ฐ์ดํฐ ์ค ์ฌ๋์ด ๋ ์ ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ ๋ฐ์ดํฐ์
โช๏ธ ์ฑ์ ๋ชจ๋ธ์ด ์ ํธ ๋ฐ์ดํฐ์ ๋น์ ํธ ๋ฐ์ดํฐ๋ณด๋ค ๋์ ์ ์๋ฅผ ์ฃผ๋๋ก ์ฑ์ ๋ชจ๋ธ์ ํ์ต์ํจ๋ค (๊ต์ฌ ์ฝ๋ ๊ฐ๋ ์ฑ ์์)
โช๏ธ OpenAI๋ ์ฑGPT๋ฅผ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์, ์ง๋๋ฏธ์ธ์กฐ์ ์ดํ ์์ฑํด๋ด๋ ๋ต๋ณ์์ ์ฌ์ฉ์์๊ฒ ํด๊ฐ๋๊ฑฐ๋ ์ฐจ๋ณ์ ์ธ ๋ต๋ณ์ ์์ฑํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์์ฑ๋ ๋ต๋ณ์ ์ ์๋ฅผ ํ๊ฐํ๋ Reward model์ ๋ง๋ค์๋ค.
๐ก ์ ํธ ๋ฐ์ดํฐ์ ์ ๋ณดํต ์ง์ ๊ตฌ์ถํ๋ค! ์ ํธ ๋ ์ด๋ธ๋ง ์์ ์ ์ํํด ๋ฐ์ดํฐ์ ์ ๋ง๋ ๋ค. ํ๊น ํ์ด์ค ๋ฑ์ ๊ณต๊ฐ๋ ์ผ๋ถ ๋ฐ์ดํฐ์ ๋ค์ ์ฐธ๊ณ ํ ์ ์์ง๋ง, ๋๋ถ๋ถ ๊ณ ํ์ง ํ๋์ ๋๋ฉ์ธ ํนํ ์ง์ ๊ตฌ์ถ์ด ํ์ํ๋ค.
โฏ 2.2 ๊ฐํํ์ต์ ์ ๋ชฉ์ํค์
โ OpenAI๋ ๊ฐํํ์ต์ ์ฌ์ฉํด LLM์ด ๋ฆฌ์๋ ๋ชจ๋ธ๋ก๋ถํฐ ๋ ๋์ ์ ์๋ฅผ ๋ฐ๋๋ก ํ์ต์ํจ ๊ณผ์ ์ ๊ณต๊ฐํ๋ค ๐ RLHF (์ฌ๋์ ํผ๋๋ฐฑ์ ํ์ฉํ ๊ฐํํ์ต)
โ ์ธ์ด๋ชจ๋ธ์ด RLHF๋ฅผ ํตํด ํ์ตํ๋ ๊ณผ์
โช๏ธ Action : ๋ค์๋จ์ด ์์ธก ํ ํฐ ์์ฑ
โช๏ธ Reward model : ์ด๋ค ๋ต๋ณ์ด ๋ ์ข์์ง ์ ์๋ฅผ ๋งค๊ธฐ๋๋ก ํ์ตํ ๋ชจ๋ธ
โช๏ธ ์ธ์ด๋ชจ๋ธ์ ํ๋์ ์ทจํ ๋๋ง๋ค ๋ณด์๋ฐ๋ ํ์์ด ์๋๋ผ, ์ ์ฒด ์์ฑ ๊ฒฐ๊ณผ์ ๋ํด ๋ฆฌ์๋ ๋ชจ๋ธ์ ์ ์๋ฅผ ๋ฐ๋๋ค
โ Reward Hacking : ๋ณด์์ ๋๊ฒ ๋ฐ๋๋ฐ์๋ง ์ง์คํ์ฌ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก, ๊ฐ๋ น ์ฝ๋ ๊ฐ๋ ์ฑ ์ ์๋ฅผ ๋๊ฒ ๋ฐ๊ธฐ ์ํด ๊น๋ํ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฒ ์๋๋ผ ์์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ฑฐ๋ print๋ฌธ ๊ฐ์ ๊ฐ๋จํ ์ฝ๋๋ง ์์ฑํ๋ ค๋ ํํ
โช๏ธ OpenAI๋ ๋ณด์ํดํน์ ํผํ๊ธฐ ์ํด PPO๋ผ๋ ๊ฐํํ์ต ๋ฐฉ๋ฒ์ ์ฌ์ฉ
โฏ 2.3 PPO : ๋ณด์ํดํน ํผํ๊ธฐ
โ Proximal Preference Optimization (๊ทผ์ ์ ์ฑ ์ต์ ํ) : ์ง๋๋ฏธ์ธ์กฐ์ ๋ชจ๋ธ(=Reference Model)์ ๊ธฐ์ค์ผ๋ก, ํ์ตํ๋ ๋ชจ๋ธ์ด ๋๋ฌด ๋ฉ์ง ์๊ฒ ๊ฐ๊น์ด ๋ฒ์์์ ๋ฆฌ์๋ ๋ชจ๋ธ์ ๋์ ์ ์๋ฅผ ์ฐพ๋๋ก ํ๋ค๋ ์๋ฏธ
โ RLHF๋ฅผ ์ฑGPT ๊ฐ๋ฐ์ ๋์ ํ๋ฉด์ ํธํฅ์ฑ, ๊ณต๊ฒฉ์ฑ ๋ฑ ์ฌ๋ฌ ๋ฌธ์ ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ์ดํ ์ ์์์ผ๋, RLHF๋ ๋ฆฌ์๋๋ชจ๋ธ์ ์ฑ๋ฅ ๋ํ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์ด ์ด๋ ต๋ค. ๋ํ ์ฐธ๊ณ ๋ชจ๋ธ/ํ์ต๋ชจ๋ธ/๋ฆฌ์๋๋ชจ๋ธ ์ด 3๊ฐ์ ๋ชจ๋ธ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ์์ค๊ฐ ๋ง์ด ํ์ํ๊ณ , ๊ฐํํ์ต ์์ฒด๊ฐ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋ฏผ๊ฐํ๊ณ ํ์ต์ด ๋ถ์์ ํด ๋ง์ ๊ฐ๋ฐ์๋ค์ด RLHF๋ฅผ ํ์ฉํด LLM์ ํ์ตํ๋๋ฐ ์ด๋ ค์์ ๊ฒช์๋ค.
3. ๊ฐํํ์ต ์์ด ์ ํธํ๋ ๋ต๋ณ์ ์์ฑํ๋๋ก ํ๋ ๋ฐฉ๋ฒ
โฏ 3.1 ๊ธฐ๊ฐ ์ํ๋ง
โ Rejection Sampling : ์ง๋๋ฏธ์ธ์กฐ์ ๋ LLM์ ํตํด ์ฌ๋ฌ ์๋ต์ ์์ฑํ๊ณ , ๊ทธ์ค์์ ๋ฆฌ์๋ ๋ชจ๋ธ์ด ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ์ค ์๋ต์ ๋ชจ์ ๋ค์ ์ง๋ ๋ฏธ์ธ์กฐ์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
โ ๊ธฐ๊ฐ ์ํ๋ง ์์ฒด๋ก ์ฌ๋์ ์ ํธ๋ฅผ ํ์ตํ ์ ์์ผ๋, ๋ฉํ์ ๋ผ๋ง-2์ ํ์ต๊ณผ ๊ฐ์ด ๊ฐํํ์ต ์ ์ ํ์ฉํ์ฌ ํ์ต์ ๋ ์์ ์ ์ผ๋ก ๋ง๋๋ ๋ฐฉ์์ผ๋ก๋ ํ์ฉํ ์ ์๋ค.
๐ฆ ๋ผ๋ง-2 ํ์ต๊ณผ์
[1] ์ฌ์ ํ์ต
- ์๊ธฐ์ง๋ํ์ต (๋น์ง๋ํ์ต) : ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋ ์ธ์ด ๋ชจ๋ธ๋ง
[2] ์ง๋๋ฏธ์ธ์กฐ์
[3] ์ฌ๋ ํผ๋๋ฐฑ (์ฌ๋ ์ ํธ ๋ฐ์ดํฐ์ ๊ตฌ์ถ)
[4] RLHF : ๊ธฐ๊ฐ์ํ๋ง ํ PPO
๐ก RLHF๋ ๋ชจ๋ธ์ด ์ค์ค๋ก ๋ฆฌ์๋๋ฅผ ์ต๋ํ ํ๋๋ก ๊ณ์ ํํํ๊ณ ๊ฐ์ ํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ '์ข์ ๋ต๋ณ์ ์ค์ค๋ก ์ฐพ๋' ๋ฐฉ์์ด๋ผ ํ๋ค๋ฉด, ๊ธฐ๊ฐ์ํ๋ง์ ๋์ผํ ์ง๋ฌธ์ ์ฌ๋ฌ ๋ต๋ณ ํ๋ณด๋ค์ ๋ฝ์ ๋ค์ ๋ฆฌ์๋๋ชจ๋ธ์ด ๋ฎ์ ์ ์๋ ๊ธฐ๊ฐํ๊ณ ์ข์๊ฒ๋ง ์ฑํํด์ ๊ณ ๋ฅด๋ ๋ฐฉ์ (์ฌ๋ฌ ๋ต๋ณ ์ค ์ข์ ๊ฒ๋ง ๊ณ ๋ฅด๋ ๋ฐฉ์)
โฏ 3.2 DPO
โ Directed Preference Optimization : ๊ฐํํ์ต์ ์ฌ์ฉํ์ง ์๊ณ ์ ํธ ๋ฐ์ดํฐ์ ์ ์ง์ ํ์ตํ๋ ๋ฐฉ๋ฒ
โช๏ธ ์ ํธ ๋ฐ์ดํฐ์ ์ ์ง์ ์ธ์ด๋ชจ๋ธ์ ํ์ต์ํจ๋ค (์ด๋์ ๋ชจ๋ธ์ ์ง๋๋ฏธ์ธ์กฐ์ ์ ๊ฑฐ์น ๋ชจ๋ธ์ด์ด์ผ ํ๋ค). ์ธ์ด๋ชจ๋ธ์ ํด๋น ๊ณผ์ ์ ํตํด ์ ์ฐจ ์ ํธ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ์์ฑํ๋ ๋ชจ๋ธ์ด ๋๋ค. RLHF๋ ์ ํธ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์๋ ๋ชจ๋ธ์ด ํ์ตํ๊ณ ๊ฐํํ์ต ๋ฐฉ์์ผ๋ก ์ธ์ด๋ชจ๋ธ์ ์ถ๋ ฅ์ ํ๊ฐํ๋ค๋ฉด, DPO๋ ํจ์ฌ ๋ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ชจ๋ธ์ ์ฌ๋์ ์ ํธ๋ฅผ ๋ฐ์ํ ์ ์๋ค. (ํ์ฌ ๊ฐ์ฅ ์ ํธ๋๋ ๋ฐฉ์)