๐Ÿค– 2โ€1๋‹จ๊ณ„ : ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๋ชจ๋ธ ์ถ”๋ก  ์„ฑ๋Šฅ ์ตœ์ ํ™” - 100-hours-a-week/7-team-ddb-wiki GitHub Wiki

๐Ÿ“˜ ํ‚ค์›Œ๋“œ ์ถ”์ถœ์šฉ ๊ฒฝ๋Ÿ‰ LLM ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ๋ฐ ์ถ”๋ก  ์ตœ์ ํ™” ๊ณ„ํš

1. ๊ธฐ์กด ๋ชจ๋ธ ์ถ”๋ก  ์„ฑ๋Šฅ ์ง€ํ‘œ

ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด 6๊ฐœ์˜ ์˜คํ”ˆ์†Œ์Šค LLM๊ณผ Gemini API๋ฅผ ๋น„๊ต ํ…Œ์ŠคํŠธํ•จ
ํ‚ค์›Œ๋“œ ์ถ”์ถœ์€ ์žฅ์†Œ ์ •๋ณด ํ‚ค์›Œ๋“œ ์ถ”์ถœ, ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๋‘ ๊ฐ€์ง€ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•จ
ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์€ ๋™์ผํ•œ GPU ํ™˜๊ฒฝ(Colab Pro + T4 ๊ธฐ์ค€)์—์„œ ์šฉ๋„ ๋ณ„ ํ…Œ์ŠคํŠธ ์ž…๋ ฅ์œผ๋กœ ๋ชจ๋ธ๋ณ„ ์ง€์—ฐ ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ์‘๋‹ต ํ’ˆ์งˆ์„ ์ธก์ •ํ•จ

๐Ÿ“Œ 1.1 ์žฅ์†Œ ์ •๋ณด ํ‚ค์›Œ๋“œ ์ถ”์ถœ

๐Ÿ“ฅ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ

input_info = {
  "placeName": "์˜๋•๊ฐ•๊ตฌํ•ญ",
  "category": "'์Œ์‹์  > ํ•œ์‹ > ํ•ด๋ฌผ,์ƒ์„  > ํšŒ",
  "originKey": "์˜ˆ์•ฝ๊ฐ€๋Šฅ, ๋ฐฐ๋‹ฌ๊ฐ€๋Šฅ, ํฌ์žฅ๊ฐ€๋Šฅ, ์™€์ดํŒŒ์ด, ์ฃผ์ฐจ๊ฐ€๋Šฅ, ํšŒ์‹์žฅ์†Œ",
  "menus": [
    {"name": "์ฐธ๊ฐ€์ž๋ฏธ", "price": "75,000์›"},
    {"name": "ํ†ต๋ฌธ์–ด", "price": "70,000์›"},
    ...
  ],
  "reviews": [
    "ํ•ด์‚ฐ๋ฌผ ์‹ ์„ ํ•จ์€ ์ •๋ง ๋ฏธ์ณค์–ด์š”~ ๋ฐ‘๋ฐ˜์ฐฌ๋„ ๋งŽ์ง€๋Š” ์•Š์ง€๋งŒ...",
    "๊ฐ€์„ฑ๋น„ ์ข‹์Šต๋‹ˆ๋‹ค ์ž์ฃผ ๊ฐˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค",
    ...
  ]
}
keyword_list = ['์˜ˆ์•ฝ ๊ฐ€๋Šฅ', '์ฃผ์ฐจ ๊ฐ€๋Šฅ', 'ํšŒ์‹ ์žฅ์†Œ', '๋ฐ์ดํŠธ ์žฅ์†Œ', '๊ฐ€์กฑ ๋ชจ์ž„', '์†Œ๊ณ ๊ธฐ', 'ํ•ด์‚ฐ๋ฌผ', '์ผ์‹', 'ํ•œ์‹', '์–‘์‹', '๋ถ„์œ„๊ธฐ ์ข‹์Œ', '์กฐ์šฉํ•จ']

๐Ÿงพ ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ

๋‹น์‹ ์€ ์žฅ์†Œ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ ์ถ”์ถœ AI์ž…๋‹ˆ๋‹ค.
์žฅ์†Œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์žฅ์†Œ ์ •๋ณด์—์„œ ํ•ด๋‹น ์žฅ์†Œ์˜ ํŠน์ง•์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜์„ธ์š”.

**์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์„ค๋ช…**
input_info : ์žฅ์†Œ์˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” json
keyword_list : AI๊ฐ€ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ

**์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ์„ค๋ช…**
place_keyword : AI๊ฐ€ input_info ๊ธฐ๋ฐ˜์œผ๋กœ keyword_list์—์„œ ์ถ”์ถœํ•œ ํ‚ค์›Œ๋“œ ๋ชฉ๋ก
place_introduce : AI๊ฐ€ input_info๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•œ ํ•ด๋‹น ์žฅ์†Œ๋ฅผ ์ถ”์ฒœํ•˜๋Š” ํ•œ ์ค„ ์†Œ๊ฐœ๊ธ€

**์œ ์˜์‚ฌํ•ญ**
place_keyword ์žฅ์†Œ์˜ ์ •๋ณด๋“ค์„ ์ž˜ ๋‚˜ํƒ€๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
keyword_list์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค์›Œ๋“œ๋Š” ๋ฐ˜ํ™˜ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ ํ˜•์‹์„ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์„œ ์‘๋‹ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

**์ž…๋ ฅ ๋ฐ์ดํ„ฐ**
input_info : {input_info}

keyword_list : {keyword_list}

**์ถœ๋ ฅ ํ˜•์‹**
{{
    user_keyword: ['ํ‚ค์›Œ๋“œ1', 'ํ‚ค์›Œ๋“œ2', 'ํ‚ค์›Œ๋“œ3', ...],
    place_introduce: 'ํ•œ ์ค„ ์†Œ๊ฐœ๊ธ€'
}}

๐Ÿ“Š ๋ชจ๋ธ๋ณ„ ์ถ”๋ก  ์„ฑ๋Šฅ ๋น„๊ต

์žฅ์†Œ ์ •๋ณด ํ‚ค์›Œ๋“œ ์ถ”์ถœ์€ DB ๊ตฌ์ถ• ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ์— GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•จ

๋ชจ๋ธ๋ช… ์‘๋‹ต ์‹œ๊ฐ„ (์ดˆ) GPU ๋ฉ”๋ชจ๋ฆฌ (MB) CPU ๋ฉ”๋ชจ๋ฆฌ (MB)
tinyllama-1.1b 13.185 2212.7 1.05
polyglot-ko-1.3b 10.314 2950.21 0.03
stablelm-2-1_6b-chat 6.774 3560.68 0.1
gemma-2b-it 2.541 5788.27 0.34
phi-2 1.467 6128.13 0.26
gpt-neo-2.7B 2.086 6524.11 2.44
gemini-2.0-flash-lite 1.394 - -

๐Ÿง  ๋ชจ๋ธ๋ณ„ ํ‚ค์›Œ๋“œ ์‘๋‹ต ํ’ˆ์งˆ ๋ฐ ํฌ๋งท ๋น„๊ต

๋ชจ๋ธ๋ช… ์‘๋‹ต ๋‚ด์šฉ ์‘๋‹ต ํ’ˆ์งˆ ์‘๋‹ต ํ˜•์‹ ์œ ์ง€ ์—ฌ๋ถ€
tinyllama-1.1b - ์ •์ƒ ์‘๋‹ต X, ์ž์—ฐ์–ด ์‘๋‹ต X โŒ
polyglot-ko-1.3b keyword_list : ['์˜ˆ์•ฝ ๊ฐ€๋Šฅ', '์ฃผ์ฐจ ๊ฐ€๋Šฅ', 'ํšŒ์‹ ์žฅ์†Œ', '๋ฐ์ดํŠธ ์žฅ์†Œ', '๊ฐ€์กฑ ๋ชจ์ž„', '์†Œ๊ณ ๊ธฐ', 'ํ•ด์‚ฐ๋ฌผ', '์ผ์‹', 'ํ•œ์‹', '์–‘์‹', '๋ถ„์œ„๊ธฐ ์ข‹์Œ', '์กฐ์šฉํ•จ']}}}.. ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ, ํ•œ ์ค„ ์†Œ๊ฐœ๊ธ€ X, ๋‹ซ๋Š” ์ค‘๊ด„ํ˜ธ๊ฐ€ max_token๊นŒ์ง€ ์ถœ๋ ฅ๋จ โŒ
stablelm-2-1_6b-chat place_keyword : ['์˜๋•๊ฐ•๊ตฌํ•ญ', '์˜ˆ์•ฝ๊ฐ€๋Šฅ', '์ฃผ์ฐจ๊ฐ€๋Šฅ', '๊ฐ€์กฑ ๋ชจ์ž„', '์†Œ๊ณ ๊ธฐ', 'ํ•ด์‚ฐ๋ฌผ', '์ผ์‹', 'ํ•œ์‹', '์–‘์‹', '๋‹ค ๋„ˆ๋ฌด ๋ง›์žˆ์–ด์š”', '์ข‹์€๋ฐ...ใ… ใ… '], place_introduce : '์˜๋•๊ฐ•๊ตฌํ•ญ์€ ํ•œ๊ตญ์˜ ์ฒ ํ•™์ˆ  ๊ณต์›์„ ์œ„ํ•œ ๊ฐ€์„ฑ๋น„ ์ข‹์€ ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค. ์ฃผ๋ฌด๋ถ€์— ์•„๋ž˜์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๋ธŒ๋žœ๋“œ๋ฅผ ์„ ๋ณ„ํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ณ ๊ฐ๋“ค๊ณผ ๋‹ค์–‘ํ•œ ์Œ์‹์„ ๋งŒ๋“ค์–ด ์„ ๋ณ„ํ•˜๋Š” ๊ธฐํšŒ๊ฐ€ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์žฅ์†Œ๋Š” 2015๋…„ ์ถœ์‹œ๋œ ์ธ๊ธฐ๊ฐ€ ๋†’์€ ๊ณ ๊ฐ๋“ค์ด ๋งŽ์ด ์ฐพ์•„๋“ค์–ด ์™”์œผ๋ฉฐ, ์ถ”์ฒœํ•ด๋“œ๋ฆด๊ฒŒ ์—†์ด ๋˜ ๋‹ค์–‘ํ•œ ๋ง›์„ ์˜๊ฐ–์„ ๋งˆ์‹ ๋‹ค๋ฉด ๋‹ค์–‘ํ•œ ๋ง›์„ ๋ˆ„๋ฆฌ์…œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.' ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ ๋ฐ˜์˜ X โš ๏ธ
gemma-2b-it user_keyword: ['์˜ˆ์•ฝ ๊ฐ€๋Šฅ', '์ฃผ์ฐจ ๊ฐ€๋Šฅ', 'ํšŒ์‹ ์žฅ์†Œ'], place_introduce: '์˜๋•๊ฐ•๊ตฌํ•ญ์€ ์Œ์‹์ ๊ณผ ํ•œ์‹์ ์ด ํ˜ผ์žฌํ•ด ์žˆ๋Š” ๊ณณ์œผ๋กœ, ์˜ˆ์•ฝ ๊ฐ€๋Šฅํ•œ ์ž๋ฆฌ์™€ ์ฃผ์ฐจ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ž๋ฆฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.' ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ ๋ฐ˜์˜, ํ•œ ์ค„ ์†Œ๊ฐœ๊ธ€ ๋ฌธ๋งฅ ์šฐ์ˆ˜ โœ…
phi-2 **์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์„ค๋ช… ์ •์ƒ ์‘๋‹ต X โŒ
gpt-neo-2.7B ์œ ์˜์‚ฌํ•ญ`(keyword_ ์ •์ƒ ์‘๋‹ต X โŒ
gemini-2.0-flash-lite (API) "user_keyword": ["์˜ˆ์•ฝ ๊ฐ€๋Šฅ", "์ฃผ์ฐจ ๊ฐ€๋Šฅ", "ํšŒ์‹ ์žฅ์†Œ", "ํ•ด์‚ฐ๋ฌผ", "ํ•œ์‹"], "place_introduce": "์‹ฑ์‹ฑํ•œ ํ•ด์‚ฐ๋ฌผ์„ ๋ง›๋ณผ ์ˆ˜ ์žˆ๋Š” ์˜๋• ๊ฐ•๊ตฌํ•ญ! ํšŒ์‹ ์žฅ์†Œ๋กœ๋„ ์ข‹๊ณ , ์˜ˆ์•ฝ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค." ์‘๋‹ต ํ’ˆ์งˆ ๊ฐ€์žฅ ์šฐ์ˆ˜ โœ…

gemini-2.0-flash-lite (API)์˜ ์‘๋‹ต ํ’ˆ์งˆ์ด ๊ฐ€์žฅ ์ข‹์•˜์œผ๋ฉฐ, ๊ทธ ๋‹ค์Œ์œผ๋กœ gemma-2b-it ๋ชจ๋ธ์˜ ์‘๋‹ต ํ’ˆ์งˆ์ด ์ข‹์•˜์Œ
์žฅ์†Œ ์ •๋ณด ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๊ธฐ๋Šฅ์€ ์‹ค์‹œ๊ฐ„์„ฑ์„ ๊ฐ–์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋ฆฌํ‹ฐ์–ด์˜ ๋ถ„๋‹น ์š”์ฒญ ์ˆ˜ ์ œํ•œ ๋‚ด์—์„œ Gemini API ์‚ฌ์šฉ ์˜ˆ์ •

๐Ÿ“Œ 1.2 ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ์ถ”์ถœ

๐Ÿ“ฅ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ

input_query = "๋‚ด์ผ ์ €๋…์— ์˜ˆ์•ฝ ๋˜๋Š” ํšŒ์‹ ์žฅ์†Œ ์•Œ์•„๋ด์ค˜, ํ•ด์‚ฐ๋ฌผ ๋ฉ”๋‰ด๋กœ."
keyword_list = ['์˜ˆ์•ฝ ๊ฐ€๋Šฅ', '์ฃผ์ฐจ ๊ฐ€๋Šฅ', 'ํšŒ์‹ ์žฅ์†Œ', '๋ฐ์ดํŠธ ์žฅ์†Œ', '๊ฐ€์กฑ ๋ชจ์ž„', '์†Œ๊ณ ๊ธฐ', 'ํ•ด์‚ฐ๋ฌผ', '์ผ์‹', 'ํ•œ์‹', '์–‘์‹', '๋ถ„์œ„๊ธฐ ์ข‹์Œ', '์กฐ์šฉํ•จ']

๐Ÿงพ ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ

๋‹น์‹ ์€ ์žฅ์†Œ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ ์ถ”์ถœ AI์ž…๋‹ˆ๋‹ค.
์žฅ์†Œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜์„ธ์š”.

**์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์„ค๋ช…**
input_query : ์‚ฌ์šฉ์ž๊ฐ€ ์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ฒ€์ƒ‰ํ•œ ์ž…๋ ฅ์–ด
keyword_list : AI๊ฐ€ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ

**์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ์„ค๋ช…**
user_keyword : AI๊ฐ€ input_query๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ keyword_list์—์„œ ์ถ”์ถœํ•œ ํ‚ค์›Œ๋“œ ๋ชฉ๋ก

**์œ ์˜์‚ฌํ•ญ**
user_keyword๋Š” ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ๋ฅผ ์ž˜ ํ‘œํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
keyword_list์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค์›Œ๋“œ๋Š” ๋ฐ˜ํ™˜ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ ํ˜•์‹์„ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์„œ ์‘๋‹ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

**์ž…๋ ฅ ๋ฐ์ดํ„ฐ**
input_query : {input_query}

keyword_list : {keyword_list}

**์ถœ๋ ฅ ํ˜•์‹**
{{
    user_keyword: ['ํ‚ค์›Œ๋“œ1', 'ํ‚ค์›Œ๋“œ2', 'ํ‚ค์›Œ๋“œ3', ...],
}}

๐Ÿ“Š ๋ชจ๋ธ๋ณ„ ์ถ”๋ก  ์„ฑ๋Šฅ ๋น„๊ต

์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ์ถ”์ถœ์€ ์‹ค์ œ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ์— ์‘๋‹ต ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•จ

๋ชจ๋ธ๋ช… ์‘๋‹ต ์‹œ๊ฐ„ (์ดˆ) GPU ๋ฉ”๋ชจ๋ฆฌ (MB) CPU ๋ฉ”๋ชจ๋ฆฌ (MB)
gemini-2.0-flash-lite 1.168 - -
gemma-2b-it 2.125 5788.27 0.01
tinyllama-1.1b 2.489 2160.26 0.03
stablelm-2-1_6b-chat 9.599 3560.68 0.46
polyglot-ko-1.3b 10.201 2724.23 0.59
phi-2 17.956 5798.37 0
gpt-neo-2.7B 23.293 5724.17 0.05

๐Ÿง  ๋ชจ๋ธ๋ณ„ ํ‚ค์›Œ๋“œ ์‘๋‹ต ํ’ˆ์งˆ ๋ฐ ํฌ๋งท ๋น„๊ต

๋ชจ๋ธ๋ช… ์‘๋‹ต ๋‚ด์šฉ ์‘๋‹ต ํ’ˆ์งˆ ์‘๋‹ต ํ˜•์‹ ์œ ์ง€ ์—ฌ๋ถ€
gemini-2.0-flash-lite "user_keyword": ["์˜ˆ์•ฝ ๊ฐ€๋Šฅ", "ํšŒ์‹ ์žฅ์†Œ", "ํ•ด์‚ฐ๋ฌผ"] ์‘๋‹ต ํ’ˆ์งˆ ์šฐ์ˆ˜ โœ…
gemma-2b-it AI ์ถ”์ถœ ํ‚ค์›Œ๋“œ- ์˜ˆ์•ฝ ๊ฐ€๋Šฅ- ์ฃผ์ฐจ ๊ฐ€๋Šฅ- ํšŒ์‹ ์žฅ์†Œ- ๋ฐ์ดํ„ฐ ์žฅ์†Œ- ๊ฐ€์กฑ ๋ชจ์ž„- ์†Œ๊ณ ๊ธฐ- ํ•ด์‚ฐ๋ฌผ- ์ผ์‹- ํ•œ์‹- ์–‘์‹- ๋ถ„์œ„๊ธฐ ์ข‹์Œ- ์กฐ์šฉํ•จ ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ, ๋ฆฌ์ŠคํŠธ ํ˜•์‹ X โŒ
tinyllama-1.1b ์ถœ๋ ฅ ํ˜•์‹์€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋งž๊ฒŒ ์ถ”์ถœ๋œ ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ์™€ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ๋‹ด์€ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ์ •์ƒ ์‘๋‹ต X โŒ
stablelm-2-1_6b-chat - ์ •์ƒ ์‘๋‹ต X โŒ
polyglot-ko-1.3b - ์ •์ƒ ์‘๋‹ต X โŒ
phi-2 - ์ •์ƒ ์‘๋‹ต X โŒ
gpt-neo-2.7B - ์ •์ƒ ์‘๋‹ต X โŒ

gemini-2.0-flash-lite (API)์˜ ์‘๋‹ต ํ’ˆ์งˆ์€ ์ƒ๋‹นํžˆ ์ข‹์œผ๋ฉฐ, ์˜คํ”ˆ์†Œ์Šค LLM๋“ค์€ ์‘๋‹ต ํ’ˆ์งˆ์ด ์ข‹์ง€ ์•Š์Œ
ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๊ธฐ๋Šฅ์€ ์‹ค์‹œ๊ฐ„์„ฑ์„ ๊ฐ–๊ธฐ์— API ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•ด ์˜คํ”ˆ์†Œ์Šค LLM์˜ ํ•™์Šต์ด ํ•„์š”ํ•จ
ํ…Œ์ŠคํŠธ ๋ชจ๋ธ ๊ธฐ์ค€์œผ๋กœ๋Š” gemma-2b-it์„ ์ตœ์ข… ๋ชจ๋ธ๋กœ ์„ ์ •ํ•˜๋‚˜, ์•ˆ์ข‹์€ ์‘๋‹ต ํ’ˆ์งˆ์„ ๋ณด์ด๊ธฐ์— ํƒ€ ๋ชจ๋ธ๋กœ์˜ ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ
ํ•˜์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋˜ํ•œ ๊ณ ๋ คํ•œ ์„ ํƒ์ด๊ธฐ์— ๋” ํฐ ๋ชจ๋ธ๋กœ์˜ ๋ณ€๊ฒฝ์€ ์–ด๋ ค์›Œ๋ณด์ž„


2. ์‹๋ณ„๋œ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ์š”์†Œ ๋ฐ ์›์ธ ๋ถ„์„

์‹ค์ œ ๋ชจ๋ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ๋ฅผ ๊ณ ๋ คํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ณผ์ •์—์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์œ ํ˜•๋ณ„ ๋ณ‘๋ชฉ ์š”์†Œ๊ฐ€ ์‹๋ณ„๋จ
์ด๋Š” ์ž…๋ ฅ ์ฒ˜๋ฆฌ, ์‘๋‹ต ํ˜•์‹, ์‹œ์Šคํ…œ ์šด์˜ ๊ด€์ ์œผ๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ, ๊ฐ๊ฐ์˜ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์›์ธ ๋ฐ ๊ฐœ์„  ๋ฐฉํ–ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”ํ›„ ์ตœ์ ํ™”์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Œ

๐Ÿ“Œ 2.1 ์ž…๋ ฅ ๊ตฌ์กฐ๋กœ ์ธํ•œ ๋ณ‘๋ชฉ

โœ… ์ž…๋ ฅ ๊ธธ์ด ์ดˆ๊ณผ๋กœ ์ธํ•œ ์ถ”๋ก  ์‹คํŒจ (์žฅ์†Œ ํ‚ค์›Œ๋“œ ์ถ”์ถœ)

๋ชจ๋“  LLM์€ ์ž…๋ ฅ ํ† ํฐ ์ˆ˜์— ๋Œ€ํ•œ ์ƒํ•œ(์˜ˆ: 2048, 4096, 8192 ๋“ฑ)์ด ์กด์žฌํ•˜๋ฉฐ, ์ด๋ฅผ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ์ถ”๋ก ์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ GPU ์ปค๋„ ์˜ค๋ฅ˜(CUDA error)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
์„œ๋น„์Šค ํŠน์„ฑ์ƒ ์žฅ์†Œ ์ •๋ณด ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ฆฌ๋ทฐ, ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ๊ฐ€ ํ•จ๊ป˜ ์ž…๋ ฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ† ํฐ ์ˆ˜๊ฐ€ ์‰ฝ๊ฒŒ ์ฆ๊ฐ€ํ•˜๋Š” ๊ตฌ์กฐ์ด๋ฉฐ, ์‹ค์ œ ํ…Œ์ŠคํŠธ์—์„œ๋„ ์ž…๋ ฅ ์ดˆ๊ณผ๋กœ ์ธํ•œ ์ถ”๋ก  ์‹คํŒจ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Œ

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ ์ „ ์‚ฌ์ „ ํ† ํฐ ๊ธธ์ด ์ธก์ •
  • ๋ชจ๋ธ๋ณ„ ์ œํ•œ์— ๋งž์ถฐ ํ…์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ ๋˜๋Š” ์š”์•ฝ ์ฒ˜๋ฆฌ
  • ๋ชจ๋ธ๋ณ„ max_length ์ž๋™ ์กฐ์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ๋Š” ๋ณ„์  ์ƒ์œ„ ๊ธฐ์ค€์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ์ •๋ ฌ ํ›„ ์ƒ์œ„ 10๊ฐœ๋งŒ ์‚ฌ์šฉ
  • ๋ฉ”๋‰ด ํ•ญ๋ชฉ์€ ๋Œ€ํ‘œ๋ฉ”๋‰ด ์œ„์ฃผ๋กœ ์••์ถ•ํ•˜๊ฑฐ๋‚˜, ๊ฐ€๊ฒฉ ์ •๋ณด ์ œ์™ธ ๋“ฑ ๊ฐ„์†Œํ™” ์ฒ˜๋ฆฌ

โœ… API ํ˜ธ์ถœ ์ œํ•œ ๋ฐ ์‘๋‹ต ์‹œ๊ฐ„ ์ง€์—ฐ (์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ ํ‚ค์›Œ๋“œ ์ถ”์ถœ)

Gemini API ๋“ฑ ์™ธ๋ถ€ LLM ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ํ”„๋ฆฌํ‹ฐ์–ด ํ™˜๊ฒฝ์—์„œ๋Š” ๋ถ„๋‹น ์š”์ฒญ ์ˆ˜(์˜ˆ: 30ํšŒ), **์ผ์ผ ์ด ํ˜ธ์ถœ ์ˆ˜(์˜ˆ: 1500ํšŒ)**์— ๋Œ€ํ•œ ์ œํ•œ์ด ์กด์žฌํ•˜๋ฉฐ,
์ด๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์š”์ฒญ์ด ๊ฑฐ์ ˆ๋˜๊ฑฐ๋‚˜ ์‘๋‹ต ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ. ํŠนํžˆ ํŠธ๋ž˜ํ”ฝ์ด ์ง‘์ค‘๋˜๋Š” ํ”ผํฌ ํƒ€์ž„(์˜ˆ: ์ ์‹ฌ, ์ €๋… ์‹œ๊ฐ„๋Œ€)์—๋Š” ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ์„œ๋น„์Šค ์ „์ฒด๋กœ ํ™•์‚ฐ๋  ์œ„ํ—˜์ด ์žˆ์Œ

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ํ”„๋ฆฌํ‹ฐ์–ด์˜ Rate Limit์„ ๊ณ ๋ คํ•œ ์š”์ฒญ ๋ถ„์‚ฐ ์„ค๊ณ„
  • ์ž๋™ ์žฌ์‹œ๋„(backoff) ๋ฐ ์—๋Ÿฌ ์‘๋‹ต ์ฒ˜๋ฆฌ ๋ฃจํ‹ด ๊ตฌ์ถ•
  • ์œ ๋ฃŒ ํ”Œ๋žœ ์ „ํ™˜ ์‹œ ํ˜ธ์ถœ ์ œํ•œ ์™„ํ™” ๊ณ ๋ ค
  • ๋™์ผ ์žฅ์†Œ์— ๋Œ€ํ•œ ํ‚ค์›Œ๋“œ ์š”์ฒญ์€ ์ผ์ • ์‹œ๊ฐ„ ๋‚ด ์ค‘๋ณต ์š”์ฒญ ์‹œ ์บ์‹œ๋œ ์‘๋‹ต ๋ฐ˜ํ™˜
  • ํ‚ค์›Œ๋“œ ์ถ”์ถœ์€ ๊ฒ€์ƒ‰ ์‹œ์ ์ด ์•„๋‹Œ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ง„์ž… ์‹œ ๋น„๋™๊ธฐ ํ˜ธ์ถœ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ UX ์ตœ์ ํ™”

๐Ÿ“Œ 2.2 ์‘๋‹ต ํ’ˆ์งˆ๋กœ ์ธํ•œ ๋ณ‘๋ชฉ

โœ… ์‘๋‹ต ์ผ๊ด€์„ฑ ๋ถ€์กฑ

์˜คํ”ˆ์†Œ์Šค LLM ๋ฐ Gemini API ๋ชจ๋‘์—์„œ ์‘๋‹ต์˜ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๋Š” ํ˜„์ƒ์ด ๊ด€์ฐฐ๋˜์—ˆ์Œ
์˜คํ”ˆ์†Œ์Šค LLM์€ ํ”„๋กฌํ”„ํŠธ์— ๋ช…์‹œํ•œ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์‘๋‹ตํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜, ํ‚ค์›Œ๋“œ ๋Œ€์‹  ํ•ด์„คํ˜• ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Œ
๋ฐ˜๋ฉด, Gemini API๋Š” ํ”„๋กฌํ”„ํŠธ์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ, ์œ ์‚ฌ ์˜๋ฏธ ํ‚ค์›Œ๋“œ ๋ฐ˜ํ™˜ ๋˜๋Š” ์ค‘๋ณต ์š”์ฒญ์— ๋Œ€ํ•ด ์ผ๊ด€์„ฑ์ด ๋‚ฎ์€ ๊ฒฐ๊ณผ๊ฐ€ ์ž์ฃผ ์ถœ๋ ฅ๋˜์—ˆ์Œ

์ด๋Ÿฌํ•œ ์‘๋‹ต ์ผ๊ด€์„ฑ์˜ ๋ฌธ์ œ๋Š” ์ถ”์ฒœ ๋กœ์ง์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ ์ •์ œ ๋ฐ ์‚ฌ์ „ ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜ ์•ˆ์ •ํ™”
  • ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฐ˜ ์ถ”์ถœ์ด ์•„๋‹Œ, ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์ถ”๋ก ์„ ์œ„ํ•œ RAG ๊ตฌ์กฐ ๋„์ž…
  • ํ‚ค์›Œ๋“œ ํ›„๋ณด๊ตฐ์„ ์‚ฌ์ „์— ์ •์˜ํ•˜๊ณ , ๋ชจ๋ธ์ด ์ด ์•ˆ์—์„œ ์ถ”์ถœํ•˜๋„๋ก ์ œ์•ฝํ•˜๋Š” ๋ฐฉ์‹ ์‚ฌ์šฉ
  • ์ผ๊ด€๋˜์ง€ ์•Š์€ ์‘๋‹ต์— ๋Œ€ํ•ด์„œ๋Š” ํ›„์ฒ˜๋ฆฌ ํ•„ํ„ฐ๋ง ๋กœ์ง ์ ์šฉ ๋ฐ ๋Œ€์ฒด ํ‚ค์›Œ๋“œ๋กœ ๋ณด์™„

โœ… ์˜คํ”ˆ์†Œ์Šค LLM์˜ ๋‚ฎ์€ ์‘๋‹ต ํ’ˆ์งˆ

๋‹ค์ˆ˜์˜ ์˜คํ”ˆ์†Œ์Šค LLM์€ ํ•œ๊ตญ์–ด ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๋ฐ ํ‘œํ˜„๋ ฅ์—์„œ ๋‚ฎ์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€์œผ๋ฉฐ, ์‹ค์ œ ์šด์˜ ์ˆ˜์ค€์—์„œ์˜ ํ™œ์šฉ์ด ์–ด๋ ค์šด ์ˆ˜์ค€์ด์—ˆ์Œ
์ด๋Š” ์„œ๋น„์Šค ํ’ˆ์งˆ์˜ ์‹ ๋ขฐ๋„ ์ €ํ•˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ์˜คํ”ˆ์†Œ์Šค LLM์˜ fine-tuning์„ ํ†ตํ•ด ์ถ”๋ก  ํ’ˆ์งˆ ๋ณด์™„ ํ•„์š”
  • ์ดˆ๊ธฐ ์šด์˜์€ Gemini ๋“ฑ ์™ธ๋ถ€ API ๊ธฐ๋ฐ˜์œผ๋กœ ์•ˆ์ •์ ์ธ ์„ฑ๋Šฅ ํ™•๋ณด
  • API ํ™œ์šฉํ•œ ์‹ค ์„œ๋น„์Šค ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ โ†’ ์˜คํ”ˆ์†Œ์Šค LLM์— ๋Œ€ํ•œ ํ›„์† fine-tuning ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์ถ•
  • ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ๋กœ์ปฌ ๊ฒฝ๋Ÿ‰ํ™” ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ•ด ์šด์˜๋น„ ์ตœ์ ํ™” ์ถ”์ง„

๐Ÿ“Œ 2.3 ์‹œ์Šคํ…œ ์ž์› ๋ฐ ์šด์˜ ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ์ œ์•ฝ

โœ… ๋‹จ์ผ ๋ชจ๋ธ ์šด์˜ ํ•œ๊ณ„

LLM ๋ชจ๋ธ์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ GPU ๋ฉ”๋ชจ๋ฆฌ์™€ ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ๋งŽ์ด ์†Œ๋ชจํ•˜๋ฏ€๋กœ,
์šด์˜ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹จ์ผ ๋ชจ๋ธ๋งŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ
ํŠนํžˆ Jetson Orin, Colab๊ณผ ๊ฐ™์€ ์ €์‚ฌ์–‘ ํ™˜๊ฒฝ์—์„œ๋Š” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ชจ๋ธ๋งŒ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜,
๋ชจ๋ธ ๋กœ๋”ฉ/์‚ญ์ œ ์‹œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด ํ…Œ์ŠคํŠธ ๋ฐ ์šด์˜์˜ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Œ

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ์ดˆ๊ธฐ ํ…Œ์ŠคํŠธ ๋ฐ ๋‹จ์ผ ๋ชฉ์  ์ถ”๋ก ์€ ๋ชจ๋ธ๋ณ„ ๋…๋ฆฝ ์‹คํ–‰ ๊ตฌ์กฐ ์œ ์ง€
  • ๊ฒฝ๋Ÿ‰ํ™” ๋ชจ๋ธ(2B ์ดํ•˜)์„ ์šฐ์„  ์‚ฌ์šฉํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ถ”๋ก  ์—ญํ•  ๋ถ„๋ฆฌ (์˜ˆ: ์ฟผ๋ฆฌ vs ์žฅ์†Œ ์ •๋ณด)
  • ์ž์ฃผ ํ˜ธ์ถœ๋˜๋Š” ์ถ”๋ก  ๊ฒฝ๋กœ(API)๋Š” ์ƒ์‹œ ๋กœ๋”ฉ,
    ๋น„๋™๊ธฐ ๋˜๋Š” ๋‚ฎ์€ ๋นˆ๋„์˜ ์ž‘์—…์€ On-Demand ๋กœ๋”ฉ ๊ตฌ์กฐ ๊ณ ๋ ค

โœ… ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๋ฐ ๋™์‹œ ์š”์ฒญ ์ฒ˜๋ฆฌ ํ•œ๊ณ„

์ผ๋ถ€ ๊ธฐ๋Šฅ(์˜ˆ: ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ํ‚ค์›Œ๋“œ ์ถ”์ถœ)์€ ๋น ๋ฅธ ์‘๋‹ต์ด ํ•„์ˆ˜์ ์ด๋‚˜,
๋ชจ๋ธ ๋กœ๋”ฉ ๋˜๋Š” ์ถ”๋ก  ์ง€์—ฐ์œผ๋กœ ์ธํ•ด ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ๋ณ‘๋ชฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
๋˜ํ•œ ๋‹ค์ˆ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ•  ๊ฒฝ์šฐ, ๋‹จ์ผ ๋ชจ๋ธ ๊ตฌ์กฐ์—์„œ๋Š” ์š”์ฒญ์ด ์ง๋ ฌ๋กœ ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ, ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธ‰์ฆํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•จ

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ์‹ค์‹œ๊ฐ„ ์‘๋‹ต์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ์™ธ๋ถ€ API ๊ธฐ๋ฐ˜ LLM์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ ,
    ๋น„์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ(์˜ˆ: ์žฅ์†Œ ์ •๋ณด ์š”์•ฝ)์€ ์„œ๋ฒ„ ๋‚ด ์„ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ๋กœ ๋ถ„๋ฆฌ
  • ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” ํ‚ค์›Œ๋“œ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•˜๊ณ ,
    ์‘๋‹ต ์ง€์—ฐ ์‹œ ๊ธฐ๋ณธ ์ถ”์ฒœ fallback์„ ์ œ๊ณตํ•˜์—ฌ UX ์•ˆ์ •ํ™”
  • ๋™์‹œ ์š”์ฒญ ๋Œ€์‘์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์ถ”๋ก  ์„œ๋ฒ„๋ฅผ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜,
    ๋ชจ๋ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ถ„์‚ฐ ๋ฐฐ์น˜ํ•˜๋Š” ๊ตฌ์กฐ ๊ณ ๋ ค

3. ์ ์šฉํ•  ์ตœ์ ํ™” ๊ธฐ๋ฒ•์˜ ๊ตฌ์ฒด์  ๊ณ„ํš

๐ŸŽฏ ์ตœ์ ํ™” ๋ชฉํ‘œ

  • ์ง€์—ฐ ์‹œ๊ฐ„ ๊ฐ์†Œ: ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์„ 1์ดˆ ์ดํ•˜๋กœ ๋‹จ์ถ•
  • ์‘๋‹ต ์•ˆ์ •์„ฑ ํ™•๋ณด: ๋น„์ผ๊ด€๋œ ์‘๋‹ต ํฌ๋งท ์ œ๊ฑฐ ๋ฐ ํ‚ค์›Œ๋“œ ์ถ”์ถœ ์ •ํ™•๋„ ํ–ฅ์ƒ
  • ์šด์˜ ๋น„์šฉ ์ ˆ๊ฐ: API ํ˜ธ์ถœ ๋นˆ๋„ ์ตœ์†Œํ™” ๋ฐ GPU ์ž์› ํšจ์œจ์  ์‚ฌ์šฉ

โœ… ์ ์šฉ ์ „๋žต

๐Ÿ”น 1๋‹จ๊ณ„: Gemini API ๊ธฐ๋ฐ˜ MVP ๊ฐœ๋ฐœ

  • ์•ˆ์ •์ ์ธ ํ‚ค์›Œ๋“œ ํฌ๋งท ์ƒ์„ฑ๊ณผ ๋น ๋ฅธ ์‘๋‹ต ์†๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ MVP ์‹œ์Šคํ…œ ๊ตฌ์ถ•
  • ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฐ˜ ํ‚ค์›Œ๋“œ ์ถ”์ถœ ๊ธฐ๋Šฅ์„ ์šฐ์„ ์ ์œผ๋กœ API์— ์—ฐ๊ฒฐํ•˜์—ฌ ์„œ๋น„์Šค ์šด์˜
  • ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ ์ถ”์ฒœ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์‘๋‹ต ์ด๋ ฅ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ์…‹ ์ž๋™ ์ถ•์ 

๐Ÿ”น 2๋‹จ๊ณ„: ์šฉ๋„๋ณ„ API โ†’ ์ž์ฒด ๋ชจ๋ธ ์ „ํ™˜ ์ „๋žต

  • LLM ํ™œ์šฉ ๋ชฉ์ ์„ ์žฅ์†Œ ํ‚ค์›Œ๋“œ ์ถ”์ถœ๊ณผ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ์ถ”์ถœ๋กœ ๋ถ„๋ฆฌ
  • ์žฅ์†Œ ํ‚ค์›Œ๋“œ ์ถ”์ถœ์€ ๋น„์‹ค์‹œ๊ฐ„์„ฑ ๊ธฐ๋Šฅ์œผ๋กœ ํ”„๋ฆฌํ‹ฐ์–ด ๋‚ด์—์„œ Gemini API ์ง€์† ํ™œ์šฉ ์˜ˆ์ •
  • ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ์ถ”์ถœ์€ ์‹ค์‹œ๊ฐ„ ์‘๋‹ต์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ,
    Gemini API์˜ ๋ถ„๋‹น ํ˜ธ์ถœ ์ˆ˜ ์ œํ•œ์œผ๋กœ ์ธํ•ด ์„œ๋น„์Šค ๋ณ‘๋ชฉ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•œ ์ž์ฒด ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ•˜๊ณ ,
    ์ˆ˜์ง‘๋œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ/์‘๋‹ต ๋กœ๊ทธ ๊ธฐ๋ฐ˜์œผ๋กœ gemma-2b-it, polyglot-ko ๋“ฑ ๊ฒฝ๋Ÿ‰ ๋ชจ๋ธ์— fine-tuning ์ˆ˜ํ–‰

๐Ÿ”น 3๋‹จ๊ณ„: ์„œ๋น„์Šค ๋‹จ์œ„ ์ตœ์ ํ™” ๋ฐ ํšจ์œจ์  ๋ฆฌ์†Œ์Šค ์šด์˜ ๊ตฌ์กฐ ๊ตฌ์ถ•

  • LLM ์‘๋‹ต ํ’ˆ์งˆ ํŽธ์ฐจ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด, MVP ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ถ€ํ„ฐ
    ์‚ฌ์ „ ์ •์˜๋œ ํ‚ค์›Œ๋“œ ํ›„๋ณด๊ตฐ ๊ธฐ๋ฐ˜์˜ ์‘๋‹ต ์ •์ œ ๋กœ์ง์„ ๋„์ž…
    โ†’ soft-matching ๋ฐ post-filtering์„ ํ†ตํ•ด ์‘๋‹ต ์ผ๊ด€์„ฑ ํ™•๋ณด
  • ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์š”์ฒญ์€ ์บ์‹œ ํ™œ์šฉ + fallback ๋Œ€์‘ ์‹œ๋‚˜๋ฆฌ์˜ค ๋„์ž…์œผ๋กœ UX ์•ˆ์ •ํ™”
  • ๊ธฐ๋Šฅ๋ณ„ ์‘๋‹ต ๋Œ€๊ธฐ ํ—ˆ์šฉ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ถ”๋ก  ๋ชจ๋ธ์„ ์—ญํ•  ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌ ๋ฐฐ์น˜
    ์˜ˆ:
    • ์žฅ์†Œ ์ •๋ณด ์š”์•ฝ โ†’ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ + ๊ณ ์„ฑ๋Šฅ ๋ชจ๋ธ
    • ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ ๋ถ„์„ โ†’ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ + ์ €์ง€์—ฐ ๋ชจ๋ธ
  • ์‹ค ์„œ๋น„์Šค ๊ธฐ์ค€์—์„œ ๋ชจ๋ธ ์Šค์ผ€์ผ ์กฐ์ •์„ ๊ณ ๋ คํ•˜์—ฌ,
    On-Demand ์ถ”๋ก  ๊ตฌ์กฐ ๋˜๋Š” ๋‹ค์ค‘ ์—”๋“œํฌ์ธํŠธ ๋ถ„์‚ฐ ๋กœ๋”ฉ ์ „๋žต ์„ค๊ณ„ ์˜ˆ์ •



4. ์ตœ์ ํ™” ์ ์šฉ ํ›„์˜ ๊ธฐ๋Œ€ ์„ฑ๋Šฅ ์ง€ํ‘œ

ํ•ญ๋ชฉ ๊ธฐ์กด ์„ฑ๋Šฅ ์ตœ์ ํ™” ์ ์šฉ ๊ธฐ๋Œ€ ์„ฑ๋Šฅ
ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„ 3.0 ~ 5.0์ดˆ (LLM ๊ธฐ์ค€) < 1.0์ดˆ (Gemini API) / ~2์ดˆ ์ด๋‚ด (fine-tuned ๋ชจ๋ธ)
์‘๋‹ต ํฌ๋งท ์˜ค๋ฅ˜์œจ 10~30% 0% (ํ”„๋กฌํ”„ํŠธ ์ •์ œ + ํ›„์ฒ˜๋ฆฌ ์ ์šฉ)
์ถ”๋ก  ์‹คํŒจ์œจ 15% ์ด์ƒ 0% (๊ธธ์ด ์ œํ•œ + ์˜ค๋ฅ˜ ํšŒํ”ผ ๋ฃจํ‹ด)
์‘๋‹ต ์ผ๊ด€์„ฑ ํ‚ค์›Œ๋“œ ๋ˆ„๋ฝ, ์˜๋ฏธ ์ค‘๋ณต ๋‹ค์ˆ˜ ํ›„๋ณด๊ตฐ ๊ธฐ๋ฐ˜ ์ •์ œ๋กœ ์ผ๊ด€์„ฑ ํ–ฅ์ƒ
์šด์˜ ๋น„์šฉ Colab GPU ํ™˜๊ฒฝ / Gemini API ํ”„๋ฆฌํ‹ฐ์–ด ์›” ์•ฝ 0์› โ†’ ์ž์ฒด ๋ชจ๋ธ ์ „ํ™˜ ์‹œ ์›” 20~30๋‹ฌ๋Ÿฌ ์˜ˆ์ƒ

โ„น๏ธ ์ž์ฒด ๋ชจ๋ธ ์ „ํ™˜์€ Gemini API์˜ ๋ถ„๋‹น ํ˜ธ์ถœ ์ œํ•œ ๋ฐ ์ผ์ผ ํ˜ธ์ถœ๋Ÿ‰ ์ œํ•œ์œผ๋กœ ์ธํ•ด
์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ ์ฒ˜๋ฆฌ ์‹œ ๋ณ‘๋ชฉ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ตฌ์กฐ์  ํ•œ๊ณ„๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์  ์„ ํƒ์ž„

โš ๏ธ **GitHub.com Fallback** โš ๏ธ