OAT ๐ŸŒพ: ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์˜ ์˜จ๋ผ์ธ ์ •๋ ฌ์„ ์œ„ํ•œ ์—ฐ๊ตฌ ์นœํ™”์  ํ”„๋ ˆ์ž„์›Œํฌ (Online Alignment Toolkit for LLMs)

OAT ์†Œ๊ฐœ

OAT(Online Alignment for LLMs) ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋Œ€๊ทœ๋ชจ ์–ธ์–ด๋ชจ๋ธ(LLM, Large Language Model)์˜ ์˜จ๋ผ์ธ ์ •๋ ฌ(Online Alignment) ๊ณผ์ •์„ ์‹คํ—˜ํ•˜๊ณ  ์—ฐ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๊ฐ€๋ณ๊ณ (lightweight) ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹ฑ๊ฐ€ํฌ๋ฅด ๊ตญ๋ฆฝ๋Œ€ํ•™ AI ์—ฐ๊ตฌ ๊ทธ๋ฃน(SAIL-SG) ์ด ์ฃผ๋„ํ•œ ์—ฐ๊ตฌ์˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ, โ€œSample-Efficient Alignment for LLMsโ€ (arXiv:2411.01493)์—์„œ ์ œ์•ˆ๋œ ์•„์ด๋””์–ด๋ฅผ ์‹ค์šฉ์ ์ธ ์ฝ”๋“œ๋ฒ ์ด์Šค๋กœ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ RLHF(Reinforcement Learning from Human Feedback)๋‚˜ DPO(Direct Preference Optimization)์™€ ๊ฐ™์€ LLM ์ •๋ ฌ ๋ฐฉ์‹์€ ์ฃผ๋กœ ์ •์ ์ธ ๋ฐ์ดํ„ฐ์…‹(offline dataset) ์— ๊ธฐ๋ฐ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์‚ฌ์ „์— ์ˆ˜์ง‘๋œ ์ธ๊ฐ„ ํ”ผ๋“œ๋ฐฑ(Human Feedback) ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ๋ชจ๋ธ์„ ํ•œ ๋ฒˆ ํ•™์Šตํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๊ตฌ์กฐ๋กœ, ์ด๋Ÿฌํ•œ ๊ณ ์ • ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์„ ๊ฐ–๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒˆ๋กœ์šด ํ”ผ๋“œ๋ฐฑ์ด๋‚˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ฆ‰์‹œ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜, ํ•™์Šต ํšจ์œจ์ด ๋‚ฎ๊ณ  ์‹คํ—˜ ์žฌํ˜„์„ฑ์ด ๋‚ฎ์€ ๋“ฑ, ๋ชจ๋ธ์ด ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ํ™œ์šฉํ•˜๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

์ด์— ๋ฐ˜ํ•ด, OAT๋Š” LLM ์ •๋ ฌ์„ CDB(Contextual Dueling Bandits) ๋ฌธ์ œ๋กœ ๋ณด๊ณ  ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์„ ์ทจํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, LLM์ด ์ƒ์„ฑํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‘๋‹ต ์ค‘, ์–ด๋– ํ•œ ์‘๋‹ต์ด ๋” ์ธ๊ฐ„์˜ ์„ ํ˜ธ์— ๊ฐ€๊นŒ์šด์ง€๋ฅผ ๋น„๊ต(Pairwise Preference) ํ˜•ํƒœ๋กœ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ํ†ตํ•ด OAT๋Š” ์‹คํ—˜ ์ค‘ ๋ชจ๋ธ์ด ์ƒ์„ฑํ•˜๋Š” ์‘๋‹ต์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ‰๊ฐ€ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ(๋ณด์ƒยท์„ ํ˜ธ)๋ฅผ ์ฆ‰์‹œ ํ•™์Šต์— ๋ฐ˜์˜ํ•˜๋Š” โ€œ์˜จ๋ผ์ธ ์ •๋ ฌโ€ ๋ฐฉ์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ์จ, ๋ชจ๋ธ์€ ๊ณ ์ •๋œ ๋ฐ์ดํ„ฐ์…‹์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ์Šค์Šค๋กœ ํƒ์ƒ‰ํ•˜๋ฉฐ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ๋˜๋Š” โ€œ์ž๊ธฐ ํ•™์Šตํ˜•(Active Learning)โ€ ์ •๋ ฌ ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

LLM Alignment ๊ฐœ๋… ๋ฐ ์—ฐ๊ตฌ ๋™ํ–ฅ

LLM Alignment(๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ ์ •๋ ฌ) ์ด๋ž€, ์–ธ์–ด ๋ชจ๋ธ์ด ์ธ๊ฐ„์˜ ์˜๋„์™€ ๊ฐ€์น˜, ๋…ผ๋ฆฌ์  ์ผ๊ด€์„ฑ์— ๋งž๊ฒŒ ํ–‰๋™ํ•˜๋„๋ก ํ•™์Šต์‹œํ‚ค๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

LLM์€ ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ™•๋ฅ ์ ์œผ๋กœ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ›ˆ๋ จ๋˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๋ฐฉ์‹๋งŒ์œผ๋กœ๋Š” โ€˜์ธ๊ฐ„์ด ๊ธฐ๋Œ€ํ•˜๋Š” ๋ฐฉ์‹โ€™์˜ ์‘๋‹ต์„ ๋ณด์žฅํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋ธ์ด ์œ ํ•ดํ•˜๊ฑฐ๋‚˜ ํŽธํ–ฅ๋œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ๋…ผ๋ฆฌ์ ์œผ๋กœ ํƒ€๋‹นํ•˜์ง€ ์•Š์€ ๊ฒฐ๋ก ์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด RLHF(Reinforcement Learning from Human Feedback), DPO(Direct Preference Optimization), RLAIF(Reinforcement Learning from AI Feedback) ๋“ฑ์˜ ์ •๋ ฌ ๊ธฐ๋ฒ•์ด ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ๋ฒ•๋“ค์€ ์ธ๊ฐ„(๋˜๋Š” AI)์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ณด์ƒ ์‹ ํ˜ธ๋กœ ํ™œ์šฉํ•ด ๋ชจ๋ธ์ด ๋ฐ”๋žŒ์งํ•œ ์‘๋‹ต์„ ์„ ํƒํ•˜๋„๋ก ํ›ˆ๋ จํ•ฉ๋‹ˆ๋‹ค.

์ตœ๊ทผ ์—ฐ๊ตฌ ๊ฒฝํ–ฅ์€ ์˜คํ”„๋ผ์ธ ์ •๋ ฌ(offline alignment) ์—์„œ **์˜จ๋ผ์ธ ์ •๋ ฌ(online alignment)**๋กœ ์ง„ํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์—๋Š” ๊ณ ์ •๋œ ๋ฐ์ดํ„ฐ์…‹์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ชจ๋ธ์„ ์ผ๊ด„ ํ•™์Šตํ–ˆ์ง€๋งŒ, ์ตœ์‹  ์—ฐ๊ตฌ๋“ค์€ ๋ชจ๋ธ์ด ํ•™์Šต ์ค‘ ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์ด๋ฅผ ์ฆ‰์‹œ ๋ฐ˜์˜ํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„(online feedback loop) ์— ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, LLM-as-a-Judge(๋ชจ๋ธ์ด ์Šค์Šค๋กœ ๋ณด์ƒ ํ‰๊ฐ€์ž ์—ญํ• ์„ ํ•˜๋Š” ๊ตฌ์กฐ), ์ž๊ธฐ๊ฐ•ํ™”(Self-play), ๋Šฅ๋™์  ํƒ์ƒ‰(Active Exploration), ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ๋ณด์ƒ(Verifiable Reward) ๋“ฑ์˜ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ•˜๋ฉฐ, ์ธ๊ฐ„ ์˜์กด๋„๋ฅผ ์ค„์ด๊ณ  ํšจ์œจ์ ์ธ ์ •๋ ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ํ™œ๋ฐœํžˆ ์ง„ํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

OAT์˜ ์„ค๊ณ„ ์ฒ ํ•™ ๋ฐ ๋ชฉํ‘œ

OAT์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” 'Sample-Efficient Alignment for LLMs' ๋…ผ๋ฌธ์—์„œ๋Š” ๋‹ค์Œ 3๊ฐ€์ง€ ์•„์ด๋””์–ด๋ฅผ ์ œ์•ˆํ•˜์˜€์Šต๋‹ˆ๋‹ค:

  1. ๋Šฅ๋™์  ํƒ์ƒ‰(Active Exploration): ๋‹จ์ˆœํžˆ ๋ฌด์ž‘์œ„ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,๋ชจ๋ธ์ด โ€œ๋ถˆํ™•์‹ค์„ฑ์ด ๋†’์€ ์˜์—ญ(uncertain region)โ€์—์„œ ๋” ๋งŽ์€ ์ƒ˜ํ”Œ์„ ์š”์ฒญํ•˜์—ฌ ํ•™์Šต ํšจ์œจ์„ ๋†’์ด๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” OAT์—์„œ๋Š” Active Alignment ๋ชจ๋“ˆ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ, ํ•™์Šต ์ค‘ ๋ถˆํ™•์‹ค์„ฑ์ด ๋†’์€ ๋ฐ์ดํ„ฐ์— ๋” ๋†’์€ ์ฟผ๋ฆฌ ํ™•๋ฅ ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

  2. ํ˜ผํ•ฉ ์„ ํ˜ธ ํ•™์Šต(Mixed Preference Learning): SEA๋Š” ๋ชจ๋ธ์˜ ํ˜„์žฌ ์ •์ฑ…(policy)์™€ ๊ณผ๊ฑฐ์˜ ํ”ผ๋“œ๋ฐฑ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ, ๋ณด์ƒ ์˜ˆ์ธก๊ธฐ์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ด๋Š” OAT์—์„œ๋Š” Learner๊ฐ€ Oracle์˜ ํ”ผ๋“œ๋ฐฑ ๋กœ๊ทธ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ˆ„์ ํ•˜๋ฉฐ '์ฆ‰์‹œ ํ•™์Šต + ์žฅ๊ธฐ ํ‰๊ท  ๋ณด์ƒ'์„ ํ•จ๊ป˜ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  3. ์ƒ˜ํ”Œ ํšจ์œจ์„ฑ(Sample Efficiency): ๋ชฉํ‘œ๋Š” ๊ฐ€๋Šฅํ•œ ์ ์€ ํ”ผ๋“œ๋ฐฑ(์˜ˆ: 1,000ํšŒ ์ดํ•˜์˜ ํ‰๊ฐ€)์œผ๋กœ ์ตœ๋Œ€์˜ ์ •๋ ฌ ํšจ๊ณผ๋ฅผ ๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. OAT์˜ ๋ถ„์‚ฐ ํ•™์Šต ์—”์ง„์€ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋™์ผํ•œ ํ”ผ๋“œ๋ฐฑ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์ •์ฑ… ์—…๋ฐ์ดํŠธ์— ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•œ OAT๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ค๊ณ„ ์ฒ ํ•™์„ ๊ฐ–์Šต๋‹ˆ๋‹ค:

  1. Simple but Scalable (๋‹จ์ˆœํ•˜์ง€๋งŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ) LLM ์ •๋ ฌ ์‹คํ—˜์˜ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋‹จ์ˆœํ™”ํ•˜์—ฌ, ์—ฐ๊ตฌ์ž๊ฐ€ ๋น ๋ฅด๊ฒŒ ์‹คํ—˜์„ ์„ค๊ณ„ํ•˜๊ณ  ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  2. Online by Design (๋ณธ์งˆ์ ์œผ๋กœ ์˜จ๋ผ์ธ ์ค‘์‹ฌ) ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์ฆ‰, ๋ชจ๋ธ์˜ ์ถœ๋ ฅ๊ณผ ๋ณด์ƒ ์‹ ํ˜ธ๊ฐ€ ๋Š์ž„์—†์ด ์ˆœํ™˜ํ•˜๋ฉฐ ํ•™์Šต๋ฉ๋‹ˆ๋‹ค.

  3. Research-Friendly (์—ฐ๊ตฌ ์นœํ™”์„ฑ ๊ทน๋Œ€ํ™”) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ณด์ƒ ๋ชจ๋ธ, ํƒ์ƒ‰ ์ „๋žต ๋“ฑ์„ ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๊ต์ฒดยทํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, PPO, DPO, GRPO ๋“ฑ ์ตœ์‹  ์ •๋ ฌ ๊ธฐ๋ฒ•์„ ์ง์ ‘ ์‹คํ—˜ํ•˜๊ฑฐ๋‚˜ ๋ณ€ํ˜•ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ํšจ์œจ ๋ถ„์‚ฐ Actorโ€“Learnerโ€“Oracle ๊ตฌ์กฐ

OAT ๋Š” ๊ฐ•ํ™”ํ•™์Šต(RL) ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” Actorโ€“Learnerโ€“Oracle ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” LLM ์ •๋ ฌ์˜ ๊ฐ ๋‹จ๊ณ„๋ฅผ ๋…๋ฆฝ๋œ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ๋ณ‘๋ ฌํ™”์™€ ๋ถ„์‚ฐ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • Actor: Actor๋Š” ๋ชจ๋ธ์˜ ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๊ณ , ์‹คํ—˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. vLLM์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ ์† ์ƒ˜ํ”Œ๋ง ๋ฐ ๋ฐฐ์นญ์„ ์ง€์›ํ•˜๋ฉฐ, ๋‹ค์ค‘ GPU(Multi-GPU) ํ™˜๊ฒฝ์—์„œ ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ƒ์„ฑ๋œ ์‘๋‹ต์€ Learner์™€ Oracle๋กœ ์ „๋‹ฌ๋˜์–ด ๋ณด์ƒ ํ‰๊ฐ€ ๋ฐ ํ•™์Šต์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • Learner: Learner๋Š” Actor๊ฐ€ ์ƒ์„ฑํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. DeepSpeed์˜ ZeRO ์ „๋žต์„ ํ†ตํ•ด GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ์‹ค์‹œ๊ฐ„ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋น„๋™๊ธฐ ํ•™์Šต(Asynchronous Training) ๊ตฌ์กฐ๋ฅผ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. Learner๋Š” PPO, DPO, SimPO, IPO, GRPO ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์˜จ๋ผ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • Oracle: Oracle์€ ๋ชจ๋ธ์˜ ์‘๋‹ต์„ ํ‰๊ฐ€ํ•˜๊ณ  ๋ณด์ƒ ์‹ ํ˜ธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. Mosec์„ ์›๊ฒฉ ์„œ๋น„์Šค๋กœ ํ™œ์šฉํ•˜๋ฉฐ, ๋™์  ๋ฐฐ์นญ ๋ฐ ๋ณ‘๋ ฌ ํ‰๊ฐ€๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Oracle์€ LLM์„ ํ‰๊ฐ€์ž๋กœ ์‚ฌ์šฉํ•˜๋Š” LLM-as-a-Judge ํ˜•ํƒœ๋กœ, OpenAI API๋‚˜ ์ž์ฒด ๋ชจ๋ธ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ทœ์น™ ๊ธฐ๋ฐ˜(rule-based) ๋˜๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋กœ์ปฌ ๋ณด์ƒ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ Actor-Learner-Oracle์˜ ๊ตฌ์กฐ๋Š” ๋ชจ๋ธ์˜ ํ•™์Šต, ํ‰๊ฐ€, ๋ณด์ƒ ๊ณ„์‚ฐ์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ, ์„œ๋ฒ„ ์ž์›์ด ๋ถ„์‚ฐ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ๋‹ค์–‘ํ•œ ์—ฐ๊ตฌ ํ™˜๊ฒฝ์—์„œ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ์ •๋ ฌ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ๋น„๊ต

OAT๋Š” Hugging Face์˜ TRL(Transformers Reinforcement Learning) , OpenRLHF , DeepSpeed-Chat ๋“ฑ ๊ธฐ์กด RLHF ๊ตฌํ˜„๊ณผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ์—์„œ ์ฐจ๋ณ„ํ™”๋ฉ๋‹ˆ๋‹ค:

๊ตฌ๋ถ„ ๊ธฐ์กด RLHF/DPO OAT
ํ•™์Šต ๋ฐฉ์‹ ์˜คํ”„๋ผ์ธ (์ •์  ๋ฐ์ดํ„ฐ์…‹ ๊ธฐ๋ฐ˜) ์˜จ๋ผ์ธ (์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ๊ธฐ๋ฐ˜)
๋ณด์ƒ ๋ชจ๋ธ ๊ณ ์ •๋œ reward model ๋™์  reward/oracle ๊ตฌ์กฐ
์•„ํ‚คํ…์ฒ˜ ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค ์ค‘์‹ฌ ๋ถ„์‚ฐ Actorโ€“Learnerโ€“Oracle
์‹คํ—˜ ํŽธ์˜์„ฑ ์ˆ˜๋™ ํ‰๊ฐ€ ๋ฐ checkpoint ๊ด€๋ฆฌ ํ•„์š” ์‹ค์‹œ๊ฐ„ wandb ์‹œ๊ฐํ™” ๋ฐ ์ž๋™ ํ‰๊ฐ€
ํ™•์žฅ์„ฑ ์ œํ•œ์  ๋ชจ๋“ˆํ˜• ๊ตฌ์กฐ๋กœ ์‹คํ—˜ ์ž์œ ๋„ ๋†’์Œ
์—ฐ์‚ฐ ํšจ์œจ์„ฑ ํ‘œ์ค€ HuggingFace ํŠธ๋ ˆ์ด๋„ˆ TRL ๋Œ€๋น„ ์ตœ๋Œ€ 2.5๋ฐฐ ํšจ์œจ์  (๋…ผ๋ฌธ ๊ธฐ์ค€)

์ฆ‰, OAT๋Š” ๋‹จ์ˆœํžˆ ๋น ๋ฅธ RLHF ๊ตฌํ˜„ ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ๋ผ, LLM์˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋ฅผ ํƒ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ์‹คํ—˜ ํ”Œ๋žซํผ(Research Framework) ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

LLM ์ •๋ ฌ ์‹คํ—˜ ์˜ˆ์ œ

Oat๋Š” ๋‹ค์–‘ํ•œ LLM ์ •๋ ฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  1. ์ˆ˜ํ•™์  ์ถ”๋ก  ๊ฐ•ํ™”๋ฅผ ์œ„ํ•œ Dr.GRPO (R1-Zero ์Šคํƒ€์ผ)

  2. ๋‹ค์ค‘ ํ„ด SFT(Multi-turn Supervised Fine-Tuning)

  3. ์˜จ๋ผ์ธ ์„ ํ˜ธ ํ•™์Šต(Active Preference Learning)

์ด์™ธ์—๋„ ์ €์žฅ์†Œ์˜ examples/ ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” ๋‹ค์–‘ํ•œ ์‹คํ—˜ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ์˜ˆ์ œ๋“ค์„ ์ฐธ๊ณ ํ•˜์—ฌ ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OAT์˜ ์‹ค์ œ ํ™œ์šฉ ์‚ฌ๋ก€

OAT๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์—ฐ๊ตฌ ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

  • Understanding R1-Zero-Like Training: GRPO์˜ ์ตœ์ ํ™” ํŽธํ–ฅ ๋ฌธ์ œ๋ฅผ ๋ถ„์„

  • VeriFree: Verifier ์—†์ด ๊ฐ•ํ™” ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณด์ƒ ๋ชจ๋ธ๋ง ์—ฐ๊ตฌ

  • SPIRAL: ๋‹ค์ค‘ ์—์ด์ „ํŠธ ์ž๊ธฐ๊ฒฝ์Ÿ(Self-play) ๊ฐ•ํ™”ํ•™์Šต

  • GEM: LLM ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ํ™˜๊ฒฝ

๋ผ์ด์„ ์Šค

OAT ํ”„๋กœ์ ํŠธ๋Š” Apache 2.0 ๋ผ์ด์„ ์Šค ํ•˜์— ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์—…์  ์ด์šฉ, ์ˆ˜์ • ๋ฐ ์žฌ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ €์ž‘๊ถŒ ํ‘œ์‹œ์™€ ๋ผ์ด์„ ์Šค ๊ณ ์ง€๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

:scroll: OAT ๊ด€๋ จ ๋…ผ๋ฌธ: Sample-Efficient Alignment for LLMs

:github: OAT ํ”„๋กœ์ ํŠธ GitHub ์ €์žฅ์†Œ




์ด ๊ธ€์€ GPT ๋ชจ๋ธ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ๊ฒƒ์œผ๋กœ, ์›๋ฌธ์˜ ๋‚ด์šฉ ๋˜๋Š” ์˜๋„์™€ ๋‹ค๋ฅด๊ฒŒ ์ •๋ฆฌ๋œ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€์‹ฌ์žˆ๋Š” ๋‚ด์šฉ์ด์‹œ๋ผ๋ฉด ์›๋ฌธ๋„ ํ•จ๊ป˜ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! ์ฝ์œผ์‹œ๋ฉด์„œ ์–ด์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ๋‚ด์šฉ์„ ๋ฐœ๊ฒฌํ•˜์‹œ๋ฉด ๋ง๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๊ธฐ๋ฅผ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :hugs:

:pytorch:ํŒŒ์ดํ† ์น˜ ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๋ชจ์ž„:south_korea:์ด ์ •๋ฆฌํ•œ ์ด ๊ธ€์ด ์œ ์šฉํ•˜์…จ๋‚˜์š”? ํšŒ์›์œผ๋กœ ๊ฐ€์ž…ํ•˜์‹œ๋ฉด ์ฃผ์š” ๊ธ€๋“ค์„ ์ด๋ฉ”์ผ:love_letter:๋กœ ๋ณด๋‚ด๋“œ๋ฆฝ๋‹ˆ๋‹ค! (๊ธฐ๋ณธ์€ Weekly์ง€๋งŒ Daily๋กœ ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.)

:wrapped_gift: ์•„๋ž˜:down_right_arrow:์ชฝ์— ์ข‹์•„์š”:+1:๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์‹œ๋ฉด ์ƒˆ๋กœ์šด ์†Œ์‹๋“ค์„ ์ •๋ฆฌํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š”๋ฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค~ :star_struck: