Skip to content

MEMOZY/Memozy_AI_RL

Repository files navigation

0.RLHF

์ธ๊ฐ„์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฐ•ํ™”ํ•™์Šต(Reinforcement Learning from Human Feedback, RLHF)์„ ์ ์šฉํ•˜์—ฌ ์ตœ์ ์˜ ํ”„๋กฌํฌํŠธ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

์œ ์ €์˜ DB๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ ์ €์—๊ฒŒ ์ตœ์ ํ™”๋œ ํ”„๋กฌํฌํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋งž์ถคํ˜• ์ผ๊ธฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ ์ž ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

1. Abstract

  • ๋ฌธ์ œ ์ƒํ™ฉ
    • ๋” ๋‚˜์€ ์ผ๊ธฐ ์„œ๋น„์Šค๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด GPT API์˜ ์„ฑ๋Šฅ์„ ํ•œ์ธต ๋” ์ด๋Œ์–ด๋‚ผ ๋ฐฉ์•ˆ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์ œ ์ •์˜
    • GPT API๋ฅผ ํ™œ์šฉํ•  ๊ฒฝ์šฐ, ๋ชจ๋ธ ์ž์ฒด๋ฅผ ์„œ๋ฒ„์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์—†๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด์— ๋”ฐ๋ผ, ๋ชจ๋ธ ํ•™์Šต์ด ์•„๋‹Œ **'ํ”„๋กฌํฌํŠธ(Prompt)๋ฅผ ๊ฐœ์„ '**ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์žฌ์ •์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ํ›„๋ณด ํ”„๋กฌํฌํŠธ A, B, C, D๋ฅผ ์„ค์ •ํ•˜๊ณ , ์ด ์ค‘ ๊ฐ€์žฅ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ํ”„๋กฌํฌํŠธ๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ ๊ตฌ์กฐ๋กœ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ ‘๊ทผ ๋ฐฉ์‹
    • ์ด ๋ฌธ์ œ๋ฅผ ๊ฐ•ํ™”ํ•™์Šต(Reinforcement Learning)์˜ **๋‹ค์ค‘ ์„ ํƒ ๋ฌธ์ œ(Multi-Armed Bandit, MAB)**๋กœ ์ •์˜ํ•˜์—ฌ ์ ‘๊ทผํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กฌํฌํŠธ(A, B, C, D)๋ฅผ ์Šฌ๋กฏ๋จธ์‹ ์˜ 'Arm'์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ , ์ธ๊ฐ„์˜ ํ”ผ๋“œ๋ฐฑ์„ '๋ณด์ƒ(Reward)'์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ์˜ ํ”„๋กฌํฌํŠธ(Arm)๋ฅผ ์ฐพ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

2. Experiment

  • ์‹คํ—˜ ์„ค๊ณ„
    • ์ผ๊ธฐ ์ƒ์„ฑ์˜ ํ’ˆ์งˆ์„ ๋‹ค๋ฅด๊ฒŒ ์œ ๋„ํ•˜๋Š” 4๊ฐœ์˜ ํ›„๋ณด ํ”„๋กฌํฌํŠธ(A, B, C, D)๋ฅผ ์ •์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํƒ์ƒ‰ ๊ณผ์ •
    • MAB ์•Œ๊ณ ๋ฆฌ์ฆ˜(์˜ˆ: Epsilon-greedy, UCB ๋“ฑ)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กฌํฌํŠธ๋ฅผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ผ๊ธฐ ๊ฒฐ๊ณผ๋ฌผ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž์˜ ํ”ผ๋“œ๋ฐฑ(์˜ˆ: "์ข‹์•„์š”", "๋‹ค์‹œ ์ƒ์„ฑ")์„ ๋ณด์ƒ ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐ ํ”„๋กฌํฌํŠธ์˜ ๊ฐ€์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ˆ„์  ๋ณด์ƒ์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š”, ์ฆ‰ ๊ฐ€์žฅ ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กฌํฌํŠธ๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

2-1. Architecture

  • ์‹คํ—˜ ์„ค๊ณ„:

    1. ์ด์ „์— ์šฐ๋ฆฌ๊ฐ€ ์ตœ์„ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ž‘์„ฑํ•œ ํ”„๋กฌํฌํŠธ๋ฅผ "A"๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    2. ํ”„๋กฌํฌํŠธ A๋ฅผ ์ด์šฉํ•˜์—ฌ GPT API๊ฐ€ ์ผ๊ธฐ(text)๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    3. GPT API๊ฐ€ ์ƒ์„ฑํ•œ text๋“ค์— ๋Œ€ํ•ด -1(๋งค์šฐ ๋‚˜์จ), -0.5(๋‚˜์จ), 0(๋ณดํ†ต), +0.5(์•ฝ๊ฐ„ ์ข‹์Œ), +1(๋งค์šฐ ์ข‹์Œ)์œผ๋กœ ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ‰๊ฐ€(rate)๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. (์‚ฌ๋žŒ์˜ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜)
    4. ์‚ฌ๋žŒ์˜ ํ”ผ๋“œ๋ฐฑ์ด ๋ฐ˜์˜๋œ (text, rate) ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ด์šฉํ•˜์—ฌ, text๊ฐ€ ์ž…๋ ฅ๋˜์—ˆ์„ ๋•Œ -1~+1 ๊ฐ’์œผ๋กœ ์ผ๊ธฐ๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ reward๋ฅผ ๋ถ€์—ฌํ•˜๋Š” **๋ณด์ƒ ๋ชจ๋ธ(Reward Model)**์„ ํ•™์Šต์‹œํ‚ต๋‹ˆ๋‹ค.
    5. 1~+1์— ํ•ด๋‹นํ•˜๋Š” text๋“ค์„ ์ฐธ๊ณ ํ•˜์—ฌ GPT๊ฐ€ ๊ธฐ์กด์˜ ํ”„๋กฌํฌํŠธ A๋ฅผ ๊ฐœ์„ ์‹œํ‚จ ์ƒˆ๋กœ์šด ํ”„๋กฌํฌํŠธ B, C, D๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    6. ํ”„๋กฌํฌํŠธ A, B, C, D์™€ ํ•™์Šต๋œ ๋ณด์ƒ ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ๋‹ค์ค‘ ์„ ํƒ ๋ฌธ์ œ(MAB)๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    7. ์ตœ์ ์˜ ํ”„๋กฌํฌํŠธ๋ฅผ ์ฑ„ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ œ ์•„ํ‚คํ…์ฒ˜ ์‹œ๊ฐํ™”:

image image 1

2-2. Data

  • ๋ฐ์ดํ„ฐ ์ƒ์„ฑ:

    • ๋ณด์ƒ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ด 500๊ฐœ์˜ ์ผ๊ธฐ ๋‚ด์šฉ์„ GPT API๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ์ƒ์„ฑ ๋ฐฉ๋ฒ•: 100์žฅ์˜ ์ด๋ฏธ์ง€์™€ ๋žœ๋คํ•œ ์žฅ์†Œ, ์ธ๋ฌผ, ๊ธฐ๋ถ„์„ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ์กฐํ•ฉํ•œ ๋ฌธ๋งฅ์„ ์ƒ์„ฑํ•˜์—ฌ GPT API์˜ ์ž…๋ ฅ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    image 2
  • ๋ฐ์ดํ„ฐ ํ‰๊ฐ€ (Human Feedback):

    • ์ƒ์„ฑ๋œ 500๊ฐœ์˜ ์ผ๊ธฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ‰๊ฐ€๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

    • ํ‰๊ฐ€ ๊ธฐ์ค€:

      +1 : ํ‘œํ˜„์ด ํ’๋ถ€ํ•˜๊ณ , ๋ฌธ์žฅ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ์–ด์ƒ‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ธธ์ด๊ฐ€ ํ’๋ถ€ํ•œ ์ผ๊ธฐ. 0.5 : ํ‘œํ˜„์ด ๋ถ€์กฑํ•˜์ง€ ์•Š๊ณ , ๋ฌธ์žฅ์ด ์–ด์ƒ‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ ๋‹นํ•œ ๊ธธ์ด์˜ ์ผ๊ธฐ. 0 : ๋ฌธ๋ฒ•์ƒ ๋ฌธ์ œ ์—†๊ณ , ๋ฌด๋‚œํ•˜์ง€๋งŒ ํŠน๋ณ„ํžˆ ํ’๋ถ€ํ•˜์ง€๋„ ์•Š์€ ์ผ๊ธฐ. -0.5 : ๋ฌธ๋งฅ์ด ์–ด์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๋ฌธ๋ฒ•์— ์•ฝ๊ฐ„ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ธธ์ด๊ฐ€ ์งง์€ ์ผ๊ธฐ. -1 : ์ผ๊ธฐ ํ˜•์‹์—์„œ ๋ฒ—์–ด๋‚˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ๋งŽ์€ ์ผ๊ธฐ. ๋„ˆ๋ฌด ์งง์€ ์ผ๊ธฐ.

    • ์œ„ ๊ธฐ์ค€์— ๋”ฐ๋ผ 500๊ฐœ ์ผ๊ธฐ์— ๋Œ€ํ•œ ํ‰๊ฐ€๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    image 3
  • ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ:

    • 500๊ฐœ์˜ (์ผ๊ธฐ, ํ‰๊ฐ€) ๋ฐ์ดํ„ฐ๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์„ž์€ ํ›„, Train data 450๊ฐœ์™€ Test data 50๊ฐœ๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋ถ„์„:

    • Train data์˜ ๋ถ„ํฌ๋ฅผ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
    image 4
    • ๋ถ„์„ ๊ฒฐ๊ณผ:
      • ์‚ฌ์ „์— ์ตœ์ ์ด๋ผ๊ณ  ํŒ๋‹จ๋œ ํ”„๋กฌํฌํŠธ(A)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๊ธฐ๋ฅผ ์ƒ์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ 0์  ์ด์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
      • ๊ฐ„ํ˜น ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ๋ฒ• ์˜ค๋ฅ˜๋‚˜ ํ™•๋ฅ ์ ์œผ๋กœ ์ƒ์„ฑ๋œ ์—‰๋šฑํ•œ ์ผ๊ธฐ์— ๋Œ€ํ•ด -0.5, -1์ ์ด ๋ถ€์—ฌ๋˜์–ด ์Œ์ˆ˜ ํ‰๊ฐ€(rate)์˜ ๋น„์œจ์ด ๋งค์šฐ ์ ์Šต๋‹ˆ๋‹ค.
      • ๊ฒฐ๋ก ์ ์œผ๋กœ, **๋ฐ์ดํ„ฐ๊ฐ€ ๊ธ์ •์ ์ธ ํ‰๊ฐ€์— ํŽธํ–ฅ(biased)**๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ (Oversampling):
      • ๋ชจ๋ธ ํ•™์Šต ์‹œ ๋ฐ์ดํ„ฐ ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด Oversampling ๊ธฐ๋ฒ•์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
      • ๋ฐ์ดํ„ฐ ์ˆ˜๊ฐ€ ์ ์€ rate์˜ ๋ฐ์ดํ„ฐ๋“ค์„ **๋‹จ์ˆœ ๋ณต์ œ(duplication)**ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
      • (์ด์œ : ๋ถ€์กฑํ•œ rate์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ ๋ณ€์ด(augmentation)๋ฅผ ์ผ์œผ์ผœ ์ฆ์‹ํ•˜๋Š” ๊ธฐ๋ฒ•์€ ์›๋ณธ์˜ ๋ฌธ๋งฅ์ด ํŒŒ๊ดด๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ๋‹จ์ˆœ ๋ณต์ œ ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.)

2-3. Reward Model

๋ณด์ƒ ๋ชจ๋ธ์€ GPT API๊ฐ€ ์ƒ์„ฑํ•œ ์ผ๊ธฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ -1~+1 ์‚ฌ์ด์˜ ์ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํšŒ๊ท€(Regression) ๋ฌธ์ œ๋กœ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ž„๋ฒ ๋”ฉ: ์ผ๊ธฐ๋Š” ํ•œ๊ตญ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ(distiluse-base-multilingual-cased-v2)์„ ์ด์šฉํ•˜์—ฌ ์ž„๋ฒ ๋”ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์€ ํ•™์Šต ๊ณผ์ •์—์„œ freeze์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ์„ ์ •: ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ 450๊ฐœ๋กœ ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์€ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋‹ค์–‘ํ•œ ๋จธ์‹ ๋Ÿฌ๋‹(ML) ๋ชจ๋ธ์„ ์ ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต: ๋ฐ์ดํ„ฐ ํŽธํ–ฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 2-2์—์„œ ์–ธ๊ธ‰ํ•œ ์˜ค๋ฒ„์ƒ˜ํ”Œ๋ง(Oversampling)๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์— ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

1. ๋จธ์‹ ๋Ÿฌ๋‹(ML)์„ ์ด์šฉํ•œ ๊ฒฐ๊ณผ

  • ๋‹ค์–‘ํ•œ ML ๋ชจ๋ธ์„ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ, RandomForestRegressor๊ฐ€ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.
image 5
  • RandomForestRegressor๋Š” Valid dataset์— ๋Œ€ํ•ด MSE=0.2288, MAE=0.4002์˜ ์˜ค์ฐจ๋ฅผ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.
  • (๊ตฌ์กฐ: ์ผ๊ธฐ ํ…์ŠคํŠธ โ†’ ์ž„๋ฒ ๋”ฉ โ†’ Layer โ†’ RandomForestRegressor)
  • Valid dataset ์˜ˆ์ธก ์‹œ๊ฐํ™”:
image 6
  • Test dataset ์„ฑ๋Šฅ:
    • Test dataset์— ๋Œ€ํ•ด MSE=0.2711, MAE=0.4126์„ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Test dataset ์˜ˆ์ธก ์‹œ๊ฐํ™”:
image 7
  • ML ๋ชจ๋ธ์˜ ํ•œ๊ณ„:
    1. Test MSE 0.2711, MAE 0.4126์€ -1~+1 ์‚ฌ์ด์˜ ์ ์ˆ˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฌธ์ œ์—์„œ ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ €์กฐํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    2. ๋ชจ๋ธ์ด ์ž„๋ฒ ๋”ฉ๋œ ๋ฌธ์žฅ์„ ์ž…๋ ฅ๋ฐ›์•˜์„ ๋•Œ, ์‹ค์ œ ํ‰๊ฐ€ ๊ธฐ์ค€(ํ‘œํ˜„์˜ ํ’๋ถ€ํ•จ, ๋ฌธ๋งฅ ๋“ฑ)์„ ๋ฐ˜์˜ํ•ด ์ ์ˆ˜๋ฅผ ๋งค๊ธฐ๋Š”์ง€ ํ•ด์„ํ•˜๊ฑฐ๋‚˜ ์‹ ๋ขฐํ•˜๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.
    3. ์ด๋Š” ๋‹จ์ˆœํžˆ ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ ์ •ํ•ด์ง„ ์ถœ๋ ฅ๊ฐ’์„ ๋ฑ‰์–ด๋‚ด๋Š” ์ˆ˜์ค€์˜ **"์ค‘๊ตญ์–ด ๋ฐฉ ๋ฌธ์ œ(Chinese Room Problem)"**์™€ ๊ฐ™์€ ํ•œ๊ณ„๋ฅผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ์ •: ์‹ ๊ฒฝ๋ง ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ๋ณด์ƒ ๋ชจ๋ธ ๊ตฌ์ถ•์„ ํฌ๊ธฐํ•˜๊ณ , GPT API ์ž์ฒด๋ฅผ ๋ณด์ƒ ๋ชจ๋ธ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

2. GPT API๋ฅผ ์ด์šฉํ•œ ๊ฒฐ๊ณผ (์ตœ์ข… ์ฑ„ํƒ)

  • ์‹คํ—˜ ์„ค๊ณ„:

    • GPT API๋ฅผ ๋ณด์ƒ ๋ชจ๋ธ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๊ธฐ ํ‰๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Prompting: ํ‰๊ฐ€ ๊ธฐ์ค€์„ ํ”„๋กฌํ”„ํŠธ์— ๋ช…์‹œํ•˜๊ณ , Few-shot ๋ฐฉ์‹์œผ๋กœ ๊ฐ ๊ธฐ์ค€(Rate)์— ๋ถ€ํ•ฉํ•˜๋Š” ์ผ๊ธฐ ์˜ˆ์‹œ๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ถœ๋ ฅ ์„ค์ •: ์ถœ๋ ฅ๊ฐ’์€ 1, -0.5, 0, +0.5, +1์˜ **์ด์‚ฐ ๊ฐ’(Discrete values)**์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. (์ดˆ๊ธฐ์— ์—ฐ์†์ ์ธ ์‹ค์ˆ˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋„๋ก ์‹œ๋„ํ–ˆ์œผ๋‚˜, ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜์–ด ์ด์‚ฐ ๊ฐ’ ๋ฐฉ์‹์œผ๋กœ ํšŒ๊ท€ ๋ฌธ์ œ๋ฅผ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.)
  • ์„ฑ๋Šฅ:

    • ์ด ๋ฐฉ์‹์œผ๋กœ ํ‰๊ฐ€ํ•œ GPT API์˜ Test dataset์— ๋Œ€ํ•œ ์˜ค์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • MSE=0.2650, MAE=0.3500์„ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Test dataset ์˜ˆ์ธก ์‹œ๊ฐํ™”:
    image 10
  • ๊ฒฐ๋ก :

    • ML ๋ชจ๋ธ(RandomForest)๋ณด๋‹ค MSE๊ฐ€ ์†Œํญ ๊ฐ์†Œํ–ˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ ์„ฑ๋Šฅ์ด ์ถฉ๋ถ„ํžˆ ํ™•๋ณด๋˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. (์ด ๋ถ€๋ถ„์€ "ํ•œ๊ณ„ ๋ถ„์„" ์„น์…˜์—์„œ ์ž์„ธํžˆ ๋‹ค๋ฃน๋‹ˆ๋‹ค.)
    • ์šฐ์„ , ์ตœ์ข…์ ์œผ๋กœ ์ผ๊ธฐ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” GPT API๋ฅผ ๋ณด์ƒ ๋ชจ๋ธ๋กœ ์ฑ„ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

2-4. MAB ์ˆ˜ํ–‰

  • Arms (ํ”„๋กฌํ”„ํŠธ):

    • ํ”„๋กฌํ”„ํŠธ A: ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๋ฒ ์ด์Šค๋ผ์ธ ํ”„๋กฌํ”„ํŠธ
    • ํ”„๋กฌํ”„ํŠธ B, C, D: ๊ธฐ์กด ์ผ๊ธฐ์™€ ํ‰๊ฐ€ ์ ์ˆ˜(Reward)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, GPT๊ฐ€ '๋” ๋‚˜์€ ์ผ๊ธฐ'๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ๊ฐœ์„ ํ•˜์—ฌ ์ƒ์„ฑํ•œ ์‹ ๊ทœ ํ”„๋กฌํ”„ํŠธ๋“ค
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜:

    • 4๊ฐœ์˜ ํ”„๋กฌํ”„ํŠธ(A, B, C, D) ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ๋ณด์ƒ ๋ชจ๋ธ(GPT API)๋กœ๋ถ€ํ„ฐ ํ‰๊ท ์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜(Reward)๋ฅผ ๋ฐ›๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด **MAB(๋‹ค์ค‘ ์„ ํƒ ๋ฌธ์ œ)**๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ํƒ์ƒ‰(Exploration)๊ณผ ํ™œ์šฉ(Exploitation)์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด UCB(Upper Confidence Bound) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹คํ–‰ ๋ฐ ๊ฒฐ๊ณผ:

    • Iteration = 200์œผ๋กœ ์„ค์ • ํ›„ MAB๋ฅผ ์ˆ˜ํ–‰ํ•œ ์ตœ์ข… ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    image 11
    • ๊ฐ ํ”„๋กฌํ”„ํŠธ์˜ Reward ๋ถ„ํฌ ์‹œ๊ฐํ™”:
    image 12

3. Result & Limitation

3-1. Result

  • ๋ณด์ƒ ๋ชจ๋ธ ์„ฑ๋Šฅ ๋น„๊ต:
    • RandomForest ๊ธฐ๋ฐ˜ ๋ณด์ƒ ๋ชจ๋ธ (Test): MSE=0.2711, MAE=0.4126
    • GPT API ๊ธฐ๋ฐ˜ ๋ณด์ƒ ๋ชจ๋ธ (Test): MSE=0.2650, MAE=0.3500
  • ์ตœ์  ํ”„๋กฌํ”„ํŠธ:
    • MAB ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ(Iteration 200), ํ”„๋กฌํ”„ํŠธ C๊ฐ€ ํ‰๊ท  ๋ณด์ƒ 0.81์„ ํš๋“ํ•˜์—ฌ ์ตœ์ ์˜ ํ”„๋กฌํฌํŠธ๋กœ ๊ฒฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ ํ•ด์„:
    • ์ˆ˜์น˜์ƒ์œผ๋กœ๋Š” ํ”„๋กฌํ”„ํŠธ C๊ฐ€ ๊ฐ€์žฅ ์šฐ์ˆ˜ํ–ˆ์œผ๋‚˜, ๋ณด์ƒ ๋ชจ๋ธ ์ž์ฒด์˜ ์„ฑ๋Šฅ(MSE 0.2650)์— ํ•œ๊ณ„๊ฐ€ ๋ช…ํ™•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ •๋ง๋กœ ์ตœ์ ์˜ ํ”„๋กฌํฌํŠธ์ธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ์‹ ๋ขฐํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

3-2. Limitation

  • ๋ชจ๋ธ์˜ ํ•œ๊ณ„ (๋ณด์ƒ ๋ชจ๋ธ)
    1. ๋ณด์ƒ ๋ชจ๋ธ์€ ์ธ๊ฐ„์˜ ํ”ผ๋“œ๋ฐฑ(๋ฌธ๋งฅ, ๋ฌธ๋ฒ•, ํ‘œํ˜„์˜ ํ’๋ถ€ํ•จ)์„ ๋ฐ˜์˜ํ•ด ํ‰๊ฐ€๋ฅผ ๋‚ด๋ ค์•ผ ํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋ณต์žกํ•œ ๋งฅ๋ฝ์„ ์ถฉ๋ถ„ํžˆ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋‹จ์ˆœํžˆ ์ž…๋ ฅ(Input)์— ๋Œ€ํ•ด ์ˆซ์ž ๊ฐ’(Output)์„ ๋ฑ‰๋Š” ์ˆ˜์ค€์— ๊ทธ์ณค์Šต๋‹ˆ๋‹ค.
    2. ์ธ๊ฐ„์˜ ํ‰๊ฐ€๋Š” ๊ธฐ๊ณ„์ฒ˜๋Ÿผ ์ผ๊ด€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ‰๊ฐ€ ๊ธฐ์ค€์ด ์กด์žฌํ•˜๋”๋ผ๋„, ๋•Œ๋กœ๋Š” ์ง๊ด€์ด๋‚˜ ๊ฐ๊ฐ์— ๋”ฐ๋ผ ํ‰๊ฐ€๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์ƒ ๋ชจ๋ธ์€ ์ด๋Ÿฌํ•œ **์ธ๊ฐ„์˜ ๋ณ€์น™์„ฑ(inconsistency)**๊นŒ์ง€๋Š” ํ•™์Šตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
    3. ๊ฒฐ๋ก ์ ์œผ๋กœ, ์ผ๊ธฐ ํ‰๊ฐ€์— ๋ฐ˜์˜๋˜์–ด์•ผ ํ•  ๋ณต์žกํ•œ ๋งฅ๋ฝ, ๋ฏธ๋ฌ˜ํ•œ ๋ฌธ๋ฒ• ์˜ค๋ฅ˜, ๊ทธ๋ฆฌ๊ณ  ์ธ๊ฐ„์˜ ์ง๊ด€์„ ํ•™์Šตํ•˜๊ธฐ์— ํ˜„ ๋ฐฉ์‹์€ ๋„ˆ๋ฌด ๋‹จ์ˆœํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋น„์šฉ ํ•œ๊ณ„
    1. ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋น„์šฉ: ๋ณด์ƒ ๋ชจ๋ธ ํ•™์Šต์„ ์œ„ํ•œ ์ดˆ๊ธฐ ์ผ๊ธฐ 500๊ฐœ ์ƒ์„ฑ์— GPT API ์‚ฌ์šฉ์œผ๋กœ ์ธํ•ด 1~2๋‹ฌ๋Ÿฌ์˜ ๋น„์šฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
    2. ์ธ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ๋น„์šฉ (Labor cost): 500๊ฐœ์˜ ์ผ๊ธฐ ํ•˜๋‚˜ํ•˜๋‚˜์— ์ˆ˜๋™์œผ๋กœ rate๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ณผ์ •์€ ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ๋“œ๋Š” ์ž‘์—…์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    3. MAB ์ˆ˜ํ–‰ ๋น„์šฉ: MAB ๊ณผ์ •์—์„œ ๊ฐ ํ”„๋กฌํฌํŠธ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ณด์ƒ ๋ชจ๋ธ๋กœ GPT API๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, Iteration์ด ์ฆ๊ฐ€ํ• ์ˆ˜๋ก API ํ˜ธ์ถœ ๋น„์šฉ์ด ์ง€์†์ ์œผ๋กœ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
    4. ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•˜๋ฉด ๋ณด์ƒ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๊ฒ ์ง€๋งŒ, ์œ„์™€ ๊ฐ™์€ ์‹œ๊ฐ„์ , ๊ธˆ์ „์  ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ํ™•์žฅ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

3-3. ๊ฐœ์„  ๋ฐฉํ–ฅ (Future Work)

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ํ”ผ๋“œ๋ฐฑ ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ์„ ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์ž๋™ํ™”:
    • GPT API๊ฐ€ ์ƒ์„ฑํ•œ ์ดˆ๊ธฐ ์ผ๊ธฐ(Draft)์™€ ์œ ์ €๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ์ˆ˜์ •ํ•œ ๋’ค ์ €์žฅํ•œ ์ผ๊ธฐ(Final) ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ž๋™ ํ”ผ๋“œ๋ฐฑ(Rate) ๋ถ€์—ฌ:
    • ์ด ์œ ์‚ฌ๋„ ์ ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™์ ์œผ๋กœ rate๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋กœ์ง์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: ์œ ์‚ฌ๋„ 90% ์ด์ƒ = +1, ์œ ์‚ฌ๋„ 50% ๋ฏธ๋งŒ = -0.5)
    • ์ด (text, auto-rate) ์Œ์„ ์ง€์†์ ์œผ๋กœ DB์— ์ €์žฅํ•˜์—ฌ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.
  3. ์žฌ์‹œ๋„:
    • ์œ„์™€ ๊ฐ™์€ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ์ˆ˜ ์ฒœ ๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ™•๋ณด๋œ๋‹ค๋ฉด, ๋” ๋ณต์žกํ•˜๊ณ  ์ •๊ตํ•œ ๋ณด์ƒ ๋ชจ๋ธ(์˜ˆ: API๊ฐ€ ์•„๋‹Œ LLM ๋ชจ๋ธ)์„ ํ•™์Šต์‹œ์ผœ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

About

Serving A Best Prompt with user preference

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors