์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

LLM 101: 2์‹œ๊ฐ„์— ๋๋‚ด๋Š” ์ด๋ก -to-์‹ค์Šต ์ฝ”์Šค! ๋‚˜๋งŒ์˜ Llama ์ฑ„ํŒ…๋ฐ๋ชจ ํ”„๋กœ์ ํŠธ!

LLM์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ธฐ์ดˆ์ง€์‹๋ถ€ํ„ฐ ์‹ค์ „์—์„œ ์“ฐ์ผ๋ฒ•ํ•œ ํŒ๊นŒ์ง€ ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ์œ„์ฃผ๋กœ ๋น ๋ฅด๊ฒŒ ํ˜„์ง์ž๊ฐ€ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค!

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์ž์—ฐ์–ด ์ฒ˜๋ฆฌ, LLM] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • LLM

  • ChatGPT

  • ์ž์—ฐ์–ด์ฒ˜๋ฆฌ

  • SFT

  • Instruction tuning

  • Parameter Efficient Finetuning (PEFT)

  • llamacpp

  • chat-ui

  • ๋Œ€ํ˜•์–ธ์–ด๋ชจ๋ธ

  • NLP

๋ฐฐ์šฐ๋ฉด์„œ ๋งŒ๋“œ๋Š” ๋‚˜๋งŒ์˜ LLM ๋Œ€ํ™” ๋ฐ๋ชจ ๋งŒ๋“ค๊ธฐ๐Ÿš€

AI ๊ธฐ์ˆ ์ด ๊ธ‰์†ํžˆ ๋ฐœ์ „ํ•˜๋ฉด์„œ LLM ๋ชจ๋ธ์˜ ์ค‘์š”์„ฑ์ด ์ ์  ๋” ์ปค์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ฐ˜ํ™”๋œ ๋ชจ๋ธ๋งŒ์œผ๋กœ๋Š” ํŠน์ • ๋„๋ฉ”์ธ์ด๋‚˜ ํƒœ์Šคํฌ์— ์ตœ์ ํ™”๋˜๊ธฐ ์–ด๋ ต์ฃ . ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ฐ•์˜์—์„œ๋Š” SFT ํŠœ๋‹์„ ํ†ตํ•ด LLM์„ ๋งž์ถคํ™”ํ•˜๊ณ , ๋Œ€ํ™” ๋ฐ๋ชจ๊นŒ์ง€ ๋งŒ๋“ค์–ด๋ณด๋Š” ์ „์ฒด ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค๐Ÿ”ฅ

์ด๋ฒˆ ๊ฐ•์˜๋Š” ์ž์—ฐ์–ด์ฒ˜๋ฆฌ์˜ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์„ ์ง๊ด€์ ์ธ ๋ ˆ๋ฒจ์—์„œ ๋ฆฌ๋ทฐํ•˜๊ณ  LLM(Large Language Model)์„ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ Instruction(SFT) ํŠœ๋‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํŠœ๋‹๋œ ๋ชจ๋ธ์„ llama.cpp๋กœ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์„œ๋น™ํ•˜๊ณ , Chat-UI๋ฅผ ํ™œ์šฉํ•ด ๋ฉ‹์ง„ ๋Œ€ํ™” ๋ฐ๋ชจ๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค๐ŸŽ‰

๐Ÿ’กLLM ๋งž์ถค ์„œ๋น™ํ•˜๊ธฐ: SFT ํŠœ๋‹์—์„œ Chat-UI ๋ฐ๋ชจ๊นŒ์ง€ ๐Ÿš€

  • ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด LLM(๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ)์„ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ Instruction ํŠœ๋‹ํ•˜๊ณ , ํŠœ๋‹๋œ ๋ชจ๋ธ์„ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์„œ๋น™ํ•˜๋ฉฐ, ๋Œ€ํ™”ํ˜• UI๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ์ „์ฒด ๊ณผ์ •์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • ๋งž์ถคํ˜• AI ์–ด์‹œ์Šคํ„ดํŠธ, ์ฑ—๋ด‡, ๊ฐ€์ƒ ๋น„์„œ ๋“ฑ ๋‹ค์–‘ํ•œ ๋Œ€ํ™” ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿง 

์ด ๊ฐ•์˜์˜ ํŠน์ง•

๐Ÿ“Œ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ์˜ ๊ธฐ์ดˆ๋ถ€ํ„ฐ LLM๊นŒ์ง€ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์„ ์••์ถ•ํ•ด์„œ ๋‹ค๋ฃน๋‹ˆ๋‹ค

๐Ÿ“Œ ๊ฐœ๋… ์„ค๋ช…๊ณผ ์˜ˆ์‹œ๋ฅผ ๊ท ํ˜•์žˆ๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค

๐Ÿ“Œ ์‹ค์ œ๋กœ ํŠœ๋‹์„ ํ•˜๋ฉด์„œ ๋ชจ๋ฐ”์ผ ๋ฐ ์›น ์นœํ™”์ ์ธ Chat-UI ๊ธฐ๋ฐ˜ ๋Œ€ํ™” ๋ฐ๋ชจ๋ฅผ ๊ตฌ์ถ• ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

๐Ÿ“Œ ์ง๊ด€์ ์ธ ๋ ˆ๋ฒจ์—์„œ ๊ฐœ๋…์„ ๋‹ค๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธ‰์ž๋ถ€ํ„ฐ ์ˆ˜๊ฐ•์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

๐Ÿ’ก์ด ๊ฐ•์˜๋Š” ๋‹ค๋ฅธ ๊ฐ•์˜์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?

  • ๊ฐœ๋… ์„ค๋ช… ๋ถ€๋ถ„์—์„œ๋Š” ์‹œ๊ฐ์ ์ธ ์ž๋ฃŒ์™€ ์นœ์ ˆํ•œ ๋น„์œ ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋‚ด์šฉ๋„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

    ๊ฐ ๋‹จ๊ณ„๋ณ„๋กœ ์ด๋ก ์  ๋ฐฐ๊ฒฝ๊ณผ ๊ตฌํ˜„ ๋ฐฉ์‹์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ”Ž

  • ๋ชจ๋ฐ”์ผ/์›น ์นœํ™”์ ์ธ Chat UI ๋””์ž์ธ๊ณผ llamacpp๋ฅผ ํ†ตํ•ด Local PC (MacBook) ์„œ๋น™ ๊ตฌ์ถ• ๊ณผ์ •์„ ์†Œ๊ฐœํ•˜์—ฌ, ์—ฌ๋Ÿฌ๋ถ„์ด ์ง์ ‘ ๋งŒ๋“  ๋Œ€ํ™” ์‹œ์Šคํ…œ์„ ์‹ค์ œ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค๐Ÿš€

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š”

LLM ์Šคํ‚ฌ ๋ ˆ๋ฒจ์—…ํ•˜๊ณ  ์‹ถ์–ด์š”.
๐Ÿง  LLM(๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ)์˜ ์‹ค์ „ ํ™œ์šฉ ๋ฐฉ๋ฒ•์— ๊ด€์‹ฌ ์žˆ๋Š” ๋ถ„

LLM ์ทจ์—…์— ๊ด€์‹ฌ์žˆ์–ด์š”.
๐Ÿ… ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•„์š”ํ•œ ์‹ค๋ฌด์ž ๋ฐ ์ทจ์ค€์ƒ

๊ฐœ๋ฐœ ๊ณผ์ •์ด ๊ถ๊ธˆํ•ด์š”.
๐Ÿ”ฅ AI ์ฑ—๋ด‡, ๊ฐ€์ƒ ๋น„์„œ ๋“ฑ ๋Œ€ํ™”ํ˜• ์‹œ์Šคํ…œ์„ ์ง์ ‘ ๊ตฌ์ถ•ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

๐Ÿ’ก์ด ๊ฐ•์˜๊ฐ€ ํ•„์š”ํ•  ์ˆ˜๊ฐ•์ƒ์€ ๋ˆ„๊ตฌ์ผ๊นŒ์š”? ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ ๋ฏผ์ด ์žˆ๋‹ค๋ฉด ํ•จ๊ป˜ ๊ณต๋ถ€ํ•ด๋ณผ๊นŒ์š”!

  • ๐Ÿค” "LLM ๋ชจ๋ธ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋‚ด ์„œ๋น„์Šค/ํ”„๋กœ์ ํŠธ์— ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ?"

  • ๐Ÿ˜“ "LLM ํŠœ๋‹ ๋ฐฉ๋ฒ•๋ก ์€ ๋ฐฐ์› ์ง€๋งŒ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•˜๋ ค๋‹ˆ ์–ด๋ ต๊ณ  ์—๋Ÿฌ๊ฐ€ ๋งŽ์ด ๋‚˜๋„ค..."

  • ๐Ÿฅต "์–ธ์  ๊ฐ€๋Š” LLM ๊ธฐ๋ฐ˜ ๋Œ€ํ™”ํ˜• AI๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”๋ฐ ์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด."

๐Ÿ’ก์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š”

  • ๐Ÿงฉ ์ด๋ก ๊ณผ ์‹ค์Šต์„ ๋ชจ๋‘ ์›ํ•˜๋Š” ์‹ค์ „ ์ฝ”๋”ฉ ์˜ˆ๋น„ ์ˆ˜๊ฐ•์ƒ

  • ๐Ÿ”ฅ ์ตœ์‹  AI ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ์—ด์ •์žˆ๋Š” ํ•™์ƒ/์‹ค๋ฌด์ž

  • ๐Ÿ’ก LLM ๋ชจ๋ธ ํŠœ๋‹๋ถ€ํ„ฐ PoC ๊ฐœ๋ฐœ๊นŒ์ง€ ์ „์ฒด ๊ณผ์ •์„ ์ตํžˆ๊ณ  ์‹ถ์€ ๋ถ„

์ˆ˜๊ฐ• ํ›„์—๋Š”

  • ๐Ÿค– Instruction Tuning(SFT)์„ ํ†ตํ•ด LLM ๋ชจ๋ธ์„ ํŠน์ • ํƒœ์Šคํฌ๋‚˜ ๋„๋ฉ”์ธ์— ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๐Ÿ’ป llama.cpp๋ฅผ ์‚ฌ์šฉํ•ด ํŠœ๋‹๋œ LLM ๋ชจ๋ธ์„ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์œผ๋กœ ์„œ๋น™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๐Ÿ’ฌ Chat-UI๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ์„œ๋น™๋œ LLM ๋ชจ๋ธ๊ณผ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”.

LLM ์ฑ„ํŒ…๋ฐ๋ชจ: chat-ui, llamacpp

  • ๋‚ด๊ฐ€ ํŠœ๋‹ํ•œ LLM์„ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์„œ๋น™

  • ์ฑ„ํŒ… ๋ฐ๋ชจ ๊ตฌ์ถ•

LLM Instruction Tuning ์‹ค์Šต

  • Instruction ํ•™์Šต๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

  • SFTTrainer์™€ LoRA ํ•™์Šต ์‹ค์Šต

์ด ๊ฐ•์˜๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ

  • 2016 ~ ํ˜„์žฌ: NLP & LLM ๊ฐœ๋ฐœ ์‹ค๋ฌด์ž (๋Œ€๊ธฐ์—… N์‚ฌ ~ S์‚ฌ ๊ทผ๋ฌด)


์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ๊ฐ•์˜๋Š” Colab ๋ฐ MacOS ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ์œˆ๋„์šฐ ๋จธ์‹ ์ด๋ผ๋ฉด docker๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด ๋Œ€๋ถ€๋ถ„ ๋”ฐ๋ผ์˜ค์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ•™์Šต ์ž๋ฃŒ

  • ๊ฐ ๊ฐ•์˜ ์„ธ์…˜์— PDF ํŒŒ์ผ๋กœ ์ฒจ๋ถ€ ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ๊ธฐ๋ณธ์ ์ธ ํŒŒ์ด์ฌ ๋ฌธ๋ฒ• (

    generator, decorater์˜ ๊ธฐ๋ณธ ๋™์ž‘ ์›๋ฆฌ)

  • ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ์ง€์‹


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • LLM์„ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ

  • ๋‚˜๋งŒ์˜ LLM์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

  • LLM ์ง€์‹์„ ์ •๋ฆฌํ•˜๊ณ  ํŠœ๋‹๋„ ํ•ด๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Python

์•ˆ๋…•ํ•˜์„ธ์š”
๊ฟˆ๊พธ๋Š”๋ฒ”๋ธ”๋น„์ž…๋‹ˆ๋‹ค.

164

๋ช…

์ˆ˜๊ฐ•์ƒ

13

๊ฐœ

์ˆ˜๊ฐ•ํ‰

4

๊ฐœ

๋‹ต๋ณ€

4.6

์ 

๊ฐ•์˜ ํ‰์ 

1

๊ฐœ

๊ฐ•์˜

๐Ÿ“ฑcontact: dreamingbumblebee@gmail.com

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

24๊ฐœ โˆ™ (1์‹œ๊ฐ„ 58๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!