Insight ๐Ÿ˜Ž

Fine-tuning method์˜ ๋ฐœ์ „ ๊ณผ์ •!! Fine-tuning๋ถ€ํ„ฐ RLHF๊นŒ์ง€ ๐Ÿฆ–โžก๏ธ๐Ÿง‘

Cartinoe 2023. 8. 7. 16:53

A new spectrum of model learning, Fine-tuning โœจ

 ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ค„๋ณด๊ณ ์ž ํ•˜๋Š” ๋‚ด์šฉ์€ ๋ชจ๋ธ์˜ fine-tuning ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ์ด๋‹ค. ์‚ฌ์‹ค ํฌ์ŠคํŒ…์˜ ์ˆœ์„œ๊ฐ€ ๋ฌด์–ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋А๋ผ๊ณ  ์žˆ๊ธฐ๋Š” ํ•œ๋ฐ, ๊ทธ ์ ์€ ์–‘ํ•ด๋ฅผ ๋ถ€ํƒํ•œ๋‹ค..!! ๐Ÿ˜… ์ €๋ฒˆ ์‹œ๊ฐ„์— ํŒŒ๋ผ๋ฏธํ„ฐ ํšจ์œจ์ ์ธ fine-tuning์„ ์•Œ์•„๋ณด๋ฉด์„œ fine-tuning์„ ํšจ์œจ์ ์œผ๋กœ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ดค๋Š”๋ฐ, ๊ทธ๋ ‡๋‹ค๋ฉด fine-tuning์„ ์ข€ ๋” ํšจ๊ณผ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ? ๋‹น์—ฐํžˆ ์žˆ๋‹ค!! ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” fine-tuning method๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™” ํ•ด๋‚˜๊ฐ”๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

 ์ž, ๊ทธ๋ ‡๋‹ค๋ฉด fine-tuning์ด ๋ฌด์—‡์ผ๊นŒ? ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ๋งํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์ง€๊ธˆ์˜ ์ˆ˜๋งŽ์€ language model๋“ค์€ pre-training & fine-tuning์ด๋ผ๋Š” ๋ฐฉ์‹์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ์—์„œ pre-training์„ ๊ฑฐ์น˜๊ณ  ๋‚˜์˜จ ๋ชจ๋ธ์— pre-training ๋•Œ๋ณด๋‹ค๋Š” ํ›จ์”ฌ ๋” ์ ์€ ์–‘์˜ domain-specificํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์žฌ์กฐ์ •ํ•ด๋‚˜๊ฐ€๋ฉฐ ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ fine-tuning์ด๋ผ ํ•œ๋‹ค. ๐Ÿ˜Š ๊ทธ๋ ‡๋‹ค๋ฉด ์•ˆ ๊ทธ๋ž˜๋„ ๋น„๊ต์  ์งง์€ fine-tuning์„ ์ข€ ๋” ํšจ๊ณผ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ? ์ด์™€ ๊ฐ™์€ ๊ณ ๋ฏผ์„ ํ†ตํ•ด ๋‚˜์˜จ method๋“ค์ด in-context learning, instruction-tuning, RLHF ๊ฐ™์€ ๋ฐฉ์‹๋“ค์ด๋‹ค. 

 

Original Fine-tuning method (GPT & BERT)๐Ÿ†

 ์•ž์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ง€๊ธˆ์˜ ๋งŽ์€ ๋ชจ๋ธ๋“ค์€ pre-training & fine-tuning method๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด pre-training & fine-tuning mechanism์€ ์–ด๋””์„œ ์ฒ˜์Œ ์†Œ๊ฐœ๋˜์—ˆ์„๊นŒ? NLP๋ฅผ ์ ‘ํ•ด๋ณธ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์•ˆ ๋“ค์–ด๋ณธ ์ ์ด ์—†์„ ์ •๋„๋กœ ์œ ๋ช…ํ•œ ๋ชจ๋ธ์ธ GPT์™€ BERT๋กœ๋ถ€ํ„ฐ ์ฒ˜์Œ ์†Œ๊ฐœ๋˜์—ˆ๋‹ค! ๐Ÿฅณ GPT์˜ ๋…ผ๋ฌธ์ธ 'Improving Language Understanding by Generative Pretraining(2018)'๊ณผ BERT์˜ ๋…ผ๋ฌธ์ธ 'Bidirectional Encoder Representations from Transformers(2018)'์—์„œ๋Š” ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ fine-tuning์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค.

 

  • GPT(Generative Pretraining Transformer): ๋‹จ๋ฐฉํ–ฅ Transformer Decoder architecture๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•˜๋Š” LM์œผ๋กœ, ๋งŽ์€ ์–‘์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ pre-trainํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ language task์—์„œ fine-tuning์„ ์ˆ˜ํ–‰ํ•˜์˜€์Œ.
  • BERT(Bi-directional Encoder Representation Transformer): ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋ฌธ๋งฅ์„ ํ•™์Šตํ•˜๋Š” Transformer Encoder architecture๋กœ pre-trained model์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ task์—์„œ fine-tuning์„ ์ˆ˜ํ–‰ํ•จ.

 

 ์ด๋ ‡๊ฒŒ ๊ธ€๋กœ๋งŒ ๋ณด๋ฉด ์ œ๋Œ€๋กœ ์ดํ•ด๊ฐ€ ๊ฐ€์งˆ ์•Š์œผ๋‹ˆ ๊ฐ ๋…ผ๋ฌธ์—์„œ ์†Œ๊ฐœํ•œ ๊ทธ๋ฆผ๋“ค๊ณผ ํ•จ๊ป˜ ๋ณด๋ฉด์„œ ์ข€ ๋” ์ž์„ธํžˆ ์ดํ•ดํ•ด๋ณด์ž. ๋จผ์ € GPT ๋…ผ๋ฌธ์—์„œ ์†Œ๊ฐœ๋œ ๊ทธ๋ฆผ๋ถ€ํ„ฐ ๋ด๋ณด๋„๋ก ํ•˜์ž. ์ด ๊ทธ๋ฆผ์ด ๋”ฑํžˆ GPT์˜ pre-training & fine-tuning mecahnism์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๊ทธ๋ฆผ์€ ์•„๋‹ˆ์ง€๋งŒ, ๋Œ€๊ฐ• ๊ทธ์™€ ๋น„์Šทํ•œ ๋А๋‚Œ์€ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฆผ์ด๊ธฐ์— ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•œ๋‹ค! ๐Ÿ˜Š ์•„๋ž˜ ์‚ฌ์ง„์˜ ์™ผ์ชฝ ๋ถ€๋ถ„์—์„œ๋Š” GPT ๋ชจ๋ธ์˜ architecture๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๊ณ , ์˜ค๋ฅธ์ชฝ์—์„œ๋Š” ๊ฐ task์— ๋”ฐ๋ฅธ ์„œ๋กœ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ input์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค. ์ด๋ ‡๋“ฏ ์—ฌ๋Ÿฌ ์ž์—ฐ์–ด ๋ฐ์ดํ„ฐ์—์„œ ํ•™์Šต์„ ๊ฑฐ์นœ ๋’ค ํŠน์ • task์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํ•™์Šต์„ ํ•จ์œผ๋กœ์จ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์žฌ์กฐ์ •ํ•˜๋Š” ๊ณผ์ •์„ fine-tuning์ด๋ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค! ๐Ÿคฉ

 

GPT Pre-training & Fine-tuning mechanism (์ถœ์ฒ˜: GPT paper)

 

 BERT์˜ fine-tuning์€ GPT์˜ fine-tuning๊ณผ ์ƒ๋‹นํžˆ ์œ ์‚ฌํ•œ๋ฐ... ๊ฐ€ ์•„๋‹ˆ๋ผ ์‚ฌ์‹ค fine-tuning ์ž์ฒด๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ ๋น„์Šทํ•œ ๋ชจ์–‘์ƒˆ๋ฅผ ๊ฐ–์ถ˜๋‹ค. fine-tuning ํ•˜๋Š” task์™€ ๋ชจ๋ธ architecture์— ๋”ฐ๋ผ์„œ ์กฐ๊ธˆ์กฐ๊ธˆ์”ฉ์˜ ์ฐจ์ด์ ์„ ๊ฐ€์งˆ ๋ฟ์ด์ง€, ๊ทธ ๋ผˆ๋Œ€ ์ž์ฒด๋Š” ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜๋„ BERT์˜ fine-tuning์„ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. GPT์˜ fine-tuning๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ pre-trained model์„ ํŠน์ • task ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ fine-tuning ์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์žฌ์กฐ์ •ํ•ด๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์ด๋‹ค! ๐Ÿ˜Š

 

BERT Pre-training & Fine-tuning (์ถœ์ฒ˜: BERT paper)

 

 GPT์™€ BERT์— ๋Œ€ํ•ด์„œ ๋”์šฑ ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋‹ค์Œ์˜ ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค! ๐Ÿ˜‰

 

 

 In-context Learning (GPT-2 & GPT-3) ๐Ÿ“ƒ

 original fine-tuning์˜ ๋’ค๋ฅผ ์ด์€ fine-tuning ๋ฐฉ์‹์€ ๋ฐ”๋กœ in-context learning์ด๋‹ค. in-context learning์€ GPT-2๋ฅผ ์†Œ๊ฐœํ•œ ๋…ผ๋ฌธ 'Language Models are Unsupervised Multitask Learners(2019)'์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœ๋˜์—ˆ๋‹ค. ์ด in-context learning์€ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ฃผ์–ด์ง„ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•˜๊ณ  ์ดํ•ดํ•˜์—ฌ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์ด๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. in-context learning์„ ํ•˜๋Š” ๋ฐฉ์‹์€ ์–ด๋ ต์ง€ ์•Š์€๋ฐ task์— ๋Œ€ํ•œ task์— ๋Œ€ํ•œ ์˜ˆ์‹œ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ํ•จ๊ป˜ ์ฃผ๋ฉด ๋œ๋‹ค. ๐Ÿ˜„ (n-shot learning์— ๋”ฐ๋ผ์„œ ์˜ˆ์‹œ๋ฅผ ์ฃผ๋Š”์ง€ ์•ˆ ์ฃผ๋Š”์ง€๋Š” ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค!)

 

in-context learning. LM์€ in-context learning ์ค‘์— ๋‹ค์–‘ํ•œ ์Šคํ‚ฌ์…‹๊ณผ ํŒจํ„ด ์ธ์ง€ ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฆ„. (์ถœ์ฒ˜: GPT-3 paper)

 

 In-context Learning์€ ๋ชจ๋ธ์—๊ฒŒ ์ฃผ์–ด์ง€๋Š” example์˜ ์ˆ˜์— ๋”ฐ๋ผ์„œ ๋ถ€๋ฅด๋Š” ์ด๋ฆ„์ด ๋‹ฌ๋ผ์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์šฐ์„  GPT-2์—์„œ๋Š” unsupervised learning์„ ์‚ฌ์šฉํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ž์—ฐ์Šค๋ ˆ zero-shot learning์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์ด๋ฅผ ํ† ๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด๋ฆ„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค!

 

  • Zero-shot Learning: example์˜ ์ˆ˜๊ฐ€ 0์ธ in-context learning 0๏ธโƒฃ
  • One-shot Learning: example์˜ ์ˆ˜๊ฐ€ 1์ธ in-context learning 1๏ธโƒฃ
  • Few-shot Learning: example์˜ ์ˆ˜๊ฐ€ 1๋ณด๋‹ค๋Š” ๋งŽ์ง€๋งŒ ์ ์€ ์ˆ˜์ธ in-context learning ๐Ÿค

 

 GPT-2์˜ ํ›„์† ๋ชจ๋ธ์ธ GPT-3์˜ ๋…ผ๋ฌธ 'Language Models are Few-shot Learners(2020)' ์—์„œ๋Š” GPT-2์˜ zero-shot learning์—์„œ ๋ฒ—์–ด๋‚˜ few-shot learning์„ ์„ ๋ณด์ด๋ฉฐ ๋ณธ๊ฒฉ์ ์ธ in-context learning์˜ ๋ฌธ์„ ์—ด์—ˆ๋‹ค! ๐Ÿšช GPT-2์™€ GPT-3์—์„œ ์„ ๋ณด์ธ in-context learning์€ ์•„์ง๊นŒ์ง€๋„ ๋งŽ์€ language model๋“ค์˜ ํ•™์Šต ๋ฐฉ์‹์œผ๋กœ ๊ตณ๊ฑดํ•˜๊ฒŒ ์ž๋ฆฌ๋ฅผ ๋งค๊น€ํ•˜๊ณ  ์žˆ๋‹ค.

 

in-context learning์˜ ์ข…๋ฅ˜ (์ถœ์ฒ˜: GPT-3 paper)

 

 ์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ in-context learning์€ task description์ด ์ฃผ์–ด์ง€๊ณ , ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋ธ๋กœ๋ถ€ํ„ฐ output์„ ์–ป๊ธฐ ์œ„ํ•œ input์ธ prompt๊ฐ€ ํ•จ๊ป˜ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  zero-shot, one-shot, few-shot์— ๋”ฐ๋ผ์„œ ๊ทธ์— ๊ฑธ๋งž์€ example๋“ค์ด ์ฃผ์–ด์ง์œผ๋กœ์จ ๋ชจ๋ธ์€ ์ด๋ฅผ ์ฐธ๊ณ ํ•ด output์„ ์ถœ๋ ฅํ•ด ๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. 

 

 ๊ทธ๋ ‡๋‹ค๋ฉด ๊ณผ์—ฐ ๋ช‡ ๊ฐœ์˜ ์ž์—ฐ์–ด๋ฅผ ํฌํ•จํ•œ prompt๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” in-context learning์€ ์ข‹์€ ํšจ๊ณผ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์—ˆ์„๊นŒ? ๊ฒฐ๊ณผ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด,, ๊ทธ๋ ‡๋‹ค!! ๋‹ค์Œ์˜ GPT-3 ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด in-context learning์„ ํ†ตํ•ด ํ™•์‹คํžˆ ๋” ๊ฐœ์„ ๋œ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๊ณ , one-shot์˜ ๊ฒฝ์šฐ์—๋Š” ์ž์—ฐ์–ด prompt๊ฐ€ ์žˆ์„ ๋•Œ์™€ ์—†์„ ๋•Œ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์คฌ๋‹ค! ๐Ÿ˜ฒ

 

in-context learning์˜ ํšจ๊ณผ. ๋ฌผ๋ก  ์ž์—ฐ์–ด prompt์˜ ์œ ๋ฌด์— ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ์ด ์ฐจ์ด๊ฐ€ ๋‚˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ, few-shot์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๊ทธ ์„ฑ๋Šฅ ์ฐจ์ด๋Š” ์ขํ˜€์ง (์ถœ์ฒ˜: GPT-3 paper)

 

 ์ด๋ฒˆ ์„น์…˜์—์„œ ์•Œ์•„๋ณธ in-context learning์€ fine-tuning์„ ๋Œ€์ฒดํ•  ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๊ณ , ๊ธฐ์กด์˜ fine-tuning์— ๋ถ€๊ฐ€์ ์œผ๋กœ ์ž์—ฐ์–ด prompt๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ข€ ๋” ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ fine-tuning์ด๋ผ๊ธฐ ๋ณด๋‹ค๋Š” prompt-tuning์— ๋” ๊ฐ€๊น๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. in-context learning์„ ํ†ตํ•ด prompt-tuning์˜ ํšจ๊ณผ๋ฅผ ์•Œ๊ฒŒ ๋˜๊ณ , ๋‚˜์ค‘์— prompt-tuning์„ ํ†ตํ•ด LM์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ์‹œํ‚ค๊ณ ์ž ํ•œ ๋งŽ์€ ๋…ผ๋ฌธ๋“ค์ด ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค. (๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์ด ํฌ์ŠคํŒ…์„ ํ™•์ธํ•ด๋ณด์‹œ๊ธธ!) ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ in-context learning์€ ํ–ฅํ›„์— ์ œ์•ˆ๋œ instruction-tuning์˜ ๋ฐœํŒ์ด ๋˜์–ด์ฃผ์—ˆ๋‹ค! ๐Ÿ˜‰

 

 GPT-2์™€ GPT-3์— ๋Œ€ํ•ด์„œ ๋”์šฑ ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋‹ค์Œ์˜ ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค! ๐Ÿ˜‰

 

 

Instruction-tuning (FLAN) ๐Ÿ“

 ์•ž์„œ ์„ค๋ช…ํ•œ original fine-tuning method๋Š” ์ƒ๋‹นํžˆ ํšจ๊ณผ์ ์ธ ๋ชจ์Šต์„ ๋ณด์—ฌ์คฌ๊ณ , ์—ฌ๊ธฐ์— ์ถ”๊ฐ€์ ์œผ๋กœ prompting์„ ๊ฑฐ์นœ in-context learning์€ ๊ธฐ์กด์˜ fine-tuning์— ๋น„ํ•ด ์ข€ ๋” ๊ฐœ์„ ๋œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์คฌ๋‹ค. ํ•˜์ง€๋งŒ, ์ด method๋“ค์„ ๋ณด๋ฉด ํ•œ ๊ฐ€์ง€ ๊ณตํ†ต์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ test๋ฅผ ์ˆ˜ํ–‰ํ•  task์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ fine-tuning์„ ํ•˜์˜€๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋งŒ์•ฝ fine-tuning ์‹œ์— target task์— ๋Œ€ํ•ด์„œ ํ•™์Šต์„ ํ•˜์ง€ ์•Š๊ณ ๋„ target task๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด๋–จ๊นŒ? '์ด๊ฑด ๋˜ ๋ฌด์Šจ ๋šฑ๋”ด์ง€๊ฐ™์€ ์†Œ๋ฆฌ์ง€? fine-tuning์€ target task์— ๋Œ€ํ•ด์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šตํ•จ์œผ๋กœ์จ target task๋ฅผ ๋” ์ž˜ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ง€๊ธˆ๊นŒ์ง€ ์„ค๋ช…ํ•œ ๊ฑฐ ์•„๋‹ˆ์•ผ?'๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์šฐ๋ฆฌ์˜ LM์€ ์šฐ๋ฆฌ์˜ ์ƒ๊ฐ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์œ ๋Šฅํ•˜๊ธฐ์— ์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค!

 

 ์œ„์—์„œ ๋งํ•œ ์ด๋Ÿฐ ๋Šฅ๋ ฅ์„ ์–ป๊ธฐ ์œ„ํ•ด์„œ ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์ด Instruction-tuning์ด๋‹ค. ์ด instruction-tuning์€ ๊ตฌ๊ธ€์—์„œ ์†Œ๊ฐœํ•œ ๋ชจ๋ธ์ธ FLAN์„ ์†Œ๊ฐœํ•œ ๋…ผ๋ฌธ 'FLAN: Finetuned Language Models Are Zero-Shot Learners(2021)' ์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœ๋˜์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด instruction-tuning์€ ์ž์„ธํ•˜๊ฒŒ ๋ฌด์—‡์ธ ๊ฑธ๊นŒ? FLAN ๋…ผ๋ฌธ์— ์žˆ๋Š” ๊ธฐ์กด fine-tuning๊ณผ in-context learning, instruction-tuning ๋น„๊ต ๊ทธ๋ฆผ์„ ๋ณด๋ฉด์„œ ํ•œ ๋ฒˆ ํŒŒ์•…ํ•ด ๋ณด๋„๋ก ํ•ด๋ณด์ž! ๐Ÿ˜‹

 

Pretrain-finetune, Prompting(in-context learning), Instruction-tuning (์ถœ์ฒ˜: FLAN paper)

 

 ๋จผ์ € ๊ธฐ์กด์˜ fine-tuning ๋ฐฉ์‹์€ target task์— ๋Œ€ํ•ด์„œ fine-tuning์„ ๊ฑฐ์นจ์œผ๋กœ์จ LM์˜ target task์— ๋Œ€ํ•œ ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฅด๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋‘ ๋ฒˆ์งธ๋กœ Prompting(in-context learning)์€ few-shot prompting๊ณผ prompt engineering์„ ํ†ตํ•ด target task์— ๋Œ€ํ•ด์„œ ์ถ”๋ก ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ instruction-tuning์€ target task๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ task๋“ค์— ๋Œ€ํ•ด์„œ instruction + input + output ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ tuning ํ•จ์œผ๋กœ์จ target task์— ๋Œ€ํ•ด ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค. ํ•œ ๋งˆ๋””๋กœ ์—ฌ๋Ÿฌ task๋ฅผ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ target task๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฅผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ธ ๊ฒƒ์ด๋‹ค. FLAN์—์„œ ์ œ์•ˆํ•œ instruction-tuning ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ๋‹ค์Œ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ๋”์šฑ ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

 

FLAN์˜ instruction-tuning ์˜ˆ์‹œ (์ถœ์ฒ˜: FLAN paper)

 

 instruction-tuning ์ด๋ฆ„์— ๊ฑธ๋งž๊ฒŒ task์— ๋Œ€ํ•œ instruction, input, target์„ ์ œ๊ณตํ•˜๊ณ , ์ด ๋ฐ์ดํ„ฐ๋“ค์— ๋Œ€ํ•ด ํ•™์Šต์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ instruction-tuning์€ ์ง„ํ–‰๋œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ target task์™€ ๋‹ค๋ฅธ task์— ๋Œ€ํ•œ instruction, input, target ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด์„œ ํ•™์Šต์‹œํ‚จ๋‹ค๊ณ  ํ•ด์„œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ •๋ง ํ–ฅ์ƒ๋˜์—ˆ์„๊นŒ? ๊ทธ ์ •๋‹ต์€ ๋‹ค์Œ์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค! ๐Ÿ˜Š

 

FLAN์˜ ์„ฑ๋Šฅ ํ™•์ธ ๊ทธ๋ž˜ํ”„ (์ถœ์ฒ˜: FLAN paper)

 

 ์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด FLAN์˜ instruction-tuning์€ ํ™•์‹คํžˆ ํšจ๊ณผ์ ์ธ method๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ๋Š” ๊ธฐ์กด์˜ fine-tuning์—์„œ ๋ฒ—์–ด๋‚˜ instruction-tuning์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค. (ex. Alpaca, WizardLM, etc.) FLAN์— ๋Œ€ํ•ด ๋”์šฑ ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋‹ค์Œ์˜ ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

 

 

Reinforcement Learning from Human Feedback(RLHF) ๐Ÿง‘‍๐Ÿซ

 ์ง€๊ธˆ๊นŒ์ง€๋Š” LM์—๊ฒŒ ๊ธฐ๋ณธ์ ์ธ ์ƒ์‹์„ ๊ฐ€๋ฅด์น˜๋Š” ๋А๋‚Œ์ด์—ˆ๋‹ค๋ฉด, ์ด๋ฒˆ์— ์•Œ์•„๋ณด๊ณ ์ž ํ•˜๋Š” RLHF๋Š” ์‚ด์ง ๋‹ค๋ฅธ ๋ชฉํ‘œ๋ฅผ ๊ฐ€์ง€๊ณ  ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๋‹ค. RLHF๋ฅผ ํ’€์–ด์„œ ์จ๋ณด๋ฉด 'Reinforcement Learning from Human Feedback', ์ฆ‰ ์‚ฌ๋žŒ์˜ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ•ํ™”ํ•™์Šต์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ธฐ์กด์˜ fine-tuning method๋“ค์€ ์‚ฌ๋žŒ์˜ ๊ฐ„์„ญ์—†์ด ๋ชจ๋ธ ์Šค์Šค๋กœ ํ•™์Šตํ•œ ๊ฒƒ์— ๋ฐ˜ํ•ด, RLHF๋Š” ์‚ฌ๋žŒ์˜ ํ”ผ๋“œ๋ฐฑ์„ ํ•„์š”๋กœ ํ•œ๋‹ค. ์™œ ๊ทธ๋ž˜์•ผ ํ–ˆ๋˜ ๊ฑธ๊นŒ? ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ RLHF๊ฐ€ ๋ชจ๋ธ์ด ์ฑ„ํŒ…์— ๋”์šฑ ํŠนํ™”๋˜๋„๋ก ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 RLHF๋ฅผ ์ฒ˜์Œ์œผ๋กœ ์†Œ๊ฐœํ•˜๊ณ  ๋ฐœ์ „๋œ ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด ๋” ๋งŽ์€ ๋…ผ๋ฌธ๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์œ ๋ช…ํ•˜๊ฒŒ ์•Œ๋ ค์ ธ ์žˆ๋Š” ChatGPT ์ง์ „์˜ ๋ชจ๋ธ์ธ InstructGPT์„ ์†Œ๊ฐœํ•œ ๋…ผ๋ฌธ์ธ 'Training language models to follow instructions with human feedback(2022)'์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐํ•ด๋ณด๋ฉฐ RLHF์— ๋Œ€ํ•ด ์–˜๊ธฐํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. InstructGPT์—์„œ ์‚ฌ์šฉ๋œ RLHF์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.

 

RLHF process. 1: SFT / 2: RM training / 3: RL with PPO (์ถœ์ฒ˜: InstructGPT paper)

 

 InstructGPT์˜ ์ „์ฒด์ ์ธ RLHF ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๋ช…ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

  1. SFT: labeler๋กœ๋ถ€ํ„ฐ prompt์— ๋Œ€ํ•œ answer๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด์„œ ๋ชจ๋ธ์„ ์ง€๋„ ํ•™์Šตํ•จ.
  2. Reward Modeling: ํ•˜๋‚˜์˜ prompt์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋ชจ๋ธ๋“ค์˜ output์„ ์ˆ˜์ง‘ํ•˜๊ณ , ์ด output์„ labeler๋“ค์ด ํ‰๊ฐ€ํ•˜๊ฒŒ ํ•˜์—ฌ, ์ด ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด reward model์„ ํ•™์Šต์‹œํ‚ด.
  3. RL with PPO: policy๊ฐ€ output์„ ์ƒ์„ฑํ•˜๊ณ , ํ•™์Šต๋œ reward model์€ output์— ๋Œ€ํ•œ reward๋ฅผ ๊ณ„์‚ฐํ•œ ๋’ค, ์ด reward์™€ PPO๋ฅผ ํ™œ์šฉํ•˜์—ฌ policy๋ฅผ ์—…๋ฐ์ดํŠธํ•จ.

 

 ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋‹ค์‹œ ์ƒ๊ฐํ•ด ๋ณด๋ฉด ๊ฒฐ๊ตญ, ์‚ฌ๋žŒ์˜ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ํ•™์Šต๋œ reward model์„ ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋ธ์˜ output์— reward๋ฅผ ๋งค๊ธฐ๊ณ , ์ด reward๋ฅผ PPO๋ฅผ ํ™œ์šฉํ•˜์—ฌ policy ์—…๋ฐ์ดํŠธ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ์ด ๋” ๋‚˜์€ output์„ ๋‚ด๋†“์„ ์ˆ˜ ์žˆ๋„๋ก ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋‹น์—ฐํ•˜๊ฒŒ๋„ RLHF๋ฅผ ๊ฑฐ์นœ ๋ชจ๋ธ์€ ์ฑ„ํŒ… ๋Šฅ๋ ฅ์ด ํ›จ์”ฌ ๋” ์šฐ์ˆ˜ํ•œ๋ฐ, ์ด๋Š” ์‚ฌ๋žŒ์ด reward model์„ ํ•™์Šต์‹œํ‚ค๋Š” ๊ณผ์ •์—์„œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•  ๋•Œ, ์ข€ ๋” ์ž˜ ๋งŒ๋“ค์–ด์ง„ output์— ๋Œ€ํ•ด ๋†’์€ reward๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์™„๋ฒฝํ•ด ๋ณด์ด๋Š” RLHF์—๋„ ๋‹จ์ ์ด ์žˆ์—ˆ์œผ๋‹ˆ,, ์ผ๋‹จ RLHF๋ฅผ ๊ฑฐ์นœ ๋ชจ๋ธ๋“ค์˜ ๊ณตํ†ต์ ์ธ ํŠน์ง•์€ benchmark์—์„œ๋Š” ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค๋Š” ์ ์ด๋‹ค! ๐Ÿ˜ฅ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ Alignment Problem์ด๋ผ ์นญํ•œ๋‹ค. ์‹ค์ œ๋กœ RLHF model๊ณผ ์ผ๋ฐ˜ SFT ๋ชจ๋ธ์˜ benchmark ์„ฑ๋Šฅ์„ ๋ณด๋ฉด ๋น„์Šทํ•˜๊ฑฐ๋‚˜, ์˜คํžˆ๋ ค ๋” ๋–จ์–ด์ง€๋Š” ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๊ธฐ๋„ ํ•œ๋‹ค. ๋ฌผ๋ก  human preference์™€ benchmark ๋‘˜ ์ค‘ ๋ฌด์—‡์ด ๋” ์ค‘์š”ํ•œ ๊ฐ€๋ƒ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅด๊ฒŒ ๊ฐ€์น˜ ํŒ๋‹จ์ด ๊ฐ€๋Šฅํ•˜๊ฒ ์ง€๋งŒ, ์ด ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ๋ชจ๋‘ ์žก์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐœ๋ฐœ๋˜๊ธธ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์ด๋‹ค. ๐Ÿฅฒ

 

 RLHF์™€ InstructGPT์— ๋Œ€ํ•ด ๋”์šฑ ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋‹ค์Œ ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

 

 

What should be the next step of Fine-tuning? ๐Ÿง

 ์ด ํฌ์ŠคํŒ…์˜ ๋งˆ์ง€๋ง‰์„ ์žฅ์‹ํ•  ์ด ์„น์…˜์˜ ์ œ๋ชฉ์€ ์–ด์ฐŒ๋ณด๋ฉด ์ž˜๋ชป๋์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ˜„์žฌ์˜ ํ•„์ž๊ฐ€ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ๊ทธ๋ ‡๊ฒŒ ๋˜์–ด์•ผ๋งŒ ํ•œ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ์ž˜๋ชป๋์„ ์ˆ˜๋„ ์žˆ์œผ๋‚˜, ๋งŒ์•ฝ RLHF์™€ instruction-tuning์ด ๋ฏธ๋ž˜์˜ fine-tuning ํŒ๋„๋ฅผ ์ด๋Œ์–ด๋‚˜๊ฐˆ method๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ํ‹€๋ฆฐ ๋ง๋„ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด ๋‘˜์€ ๋ช…ํ™•ํ•œ ํ•œ๊ณ„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค! ๋‘ method๋Š” ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋ฐฉํ–ฅ์ด ์‚ด์ง์€ ๋‹ค๋ฅธ๋ฐ, ํ•˜๋‚˜๋Š” ๋ชจ๋ธ์ด benchmark์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋ชจ๋ธ์ด ์ฑ„ํŒ…์— ๋”์šฑ ํŠนํ™”๋˜๋„๋ก ๋•๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋‘˜์€ alignment problem์„ ๊ฐ€์ง€๋Š”๋ฐ, ์ด ๋ง์ธ์ฆ‰์Šจ, benchmark ์„ฑ๋Šฅ๊ณผ ์ฑ„ํŒ… ๋Šฅ๋ ฅ, ์ด ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ํ•จ๊ป˜ ์žก์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

 

 RLHF์™€ instruction-tuning์ด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๋Š” ํ•œ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€์•ผ ํ•  ๋ฐฉํ–ฅ์€ ๋ช…ํ™•ํ•˜๋‹ค๊ณ  ํ•„์ž๋Š” ์ƒ๊ฐํ•œ๋‹ค. ์ด alignmnet problem์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค! ๐Ÿ”ฅ ๋ฌผ๋ก  ์ •ํ™•ํžˆ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ•ด์•ผํ•˜๋Š”์ง€๋Š” ํ•„์ž๋„ ์ž˜ ๋ชจ๋ฅด์ง€๋งŒ, alignmnet problem์„ ํ•ด๊ฒฐํ•˜๊ณ , ๋” ๋‚˜์€ performance๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” fine-tuning method๊ฐ€ ๊ฐœ๋ฐœ๋˜๊ธฐ๋ฅผ ์ง„์‹ฌ์œผ๋กœ ๋ฐ”๋ผ๋ฉฐ ํฌ์ŠคํŒ…์„ ๋งˆ์นœ๋‹ค. ์ด ํฌ์ŠคํŒ…์„ ๋๊นŒ์ง€ ์ฝ์–ด์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๐Ÿ™‡