[SK TECH SUMMIT 2023] SKT LLM Enterprise ์„œ๋น„์Šค 1ํŽธ

2024. 7. 10. 11:51ใ†Lecture

๊ฐœ์š”

๐Ÿ‘‰ ์˜์ƒ: https://www.youtube.com/watch?v=wzYT7kYIDwg

๐Ÿ‘‰ ๊ฐ•์˜ ์ž๋ฃŒ: https://sktechsummit.com/sessions/sessionsList.do

 

SK TECH SUMMIT 2023

AI Everywhere for a better future

sktechsummit.com


์—ฐ์‚ฌ์ž

SKT Adapter Team ๊น€์„ฑ์›


๊ฐ•์˜ ๋‚ด์šฉ

๋‚ด ์—…๋ฌด์— ๋”ฑ ๋งž์ถ˜ ๊ฐ€๋ฒผ์šด LLM์„ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด?

SKT์˜ LLM์„ ๊ณ ๊ฐ์˜ ํ•„์š”์— ๋งž๊ฒŒ ์ตœ์ ํ™”ํ•˜์—ฌ On-Premise ํ™˜๊ฒฝ์—์„œ ์ œ๊ณตํ•˜๋Š” Enterprise ์„œ๋น„์Šค๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์„œ ์š”์•ฝ, ๋ฌธ์„œ ๊ฒ€์ƒ‰, ์งˆ์˜&์‘๋‹ต ๋“ฑ ๋‹ค์–‘ํ•œ ์—…๋ฌด๋ฅผ ๋น„๊ต์  ์ž‘์€ ๊ทœ๋ชจ์˜ ๋ชจ๋ธ๋กœ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Fine-Tuning ๋ฟ ์•„๋‹ˆ๋ผ Context ๊ธฐ๋ฐ˜ Retrieving ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฅผ ์š”์†Œํ™”ํ•˜์—ฌ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์„ ๊ฐ€์†ํ™”ํ•˜๋Š” LLMOps Framework๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์ˆ  ์ „๋ฌธ๊ฐ€์™€ ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์„ธ๋ถ€ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์†Œ๊ฐœ์™€ ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ์˜ ๊ฒฝํ—˜, ๊ทธ๋ฆฌ๊ณ  ํ–ฅํ›„ ๋ฐœ์ „ ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด์„œ ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.
  1. Fine-Tuning LLMs
  2. PEFT(Parameter-Efficient Fine-Tuning)
  3. LLMOps System ์†Œ๊ฐœ ๋ฐ Live Demo

1. Fine-Tuning LLMs

์™œ LLM์„ ํŒŒ์ธํŠœ๋‹ํ•ด์•ผ ํ•˜๋Š”๊ฐ€

โœ… ์˜ˆ์‹œ๋Š”, ์ฃผ์–ด์ง„ ์ž์—ฐ์–ด ์ž…๋ ฅ์— ๋Œ€ํ•ด์„œ API Function ์ถœ๋ ฅํ•˜๋Š” task

โœ… ๋ณดํ†ต API Function๋“ค์€ ์ ์œผ๋ฉด ์ˆ˜์‹ญ ๊ฐœ, ๋งŽ์œผ๋ฉด ์ˆ˜์ฒœ ๊ฐœ๊ฐ€ ๋˜๊ธฐ์— ๋ชจ๋‘ ํ”„๋กฌํ”„ํŠธ์— ๋„ฃ์„ ์ˆ˜ ์—†์Œ

โœ… ๋ฐ˜๋ณต ์‹คํ—˜ ํ†ตํ•œ ์ตœ์ ์˜ ํ”„๋กฌํ”„ํŠธ ๋„์ถœํ•˜๋Š” ๋…ธ๋ ฅ ํ•„์š”

โœ… ์ด๋Ÿฐ ํ”„๋กฌํ”„ํŠธ๋Š” ๋งค ์ž…๋ ฅ๋งˆ๋‹ค ๋“ค์–ด๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ† ํฐ์˜ ๋‚ญ๋น„ ๋ฐœ์ƒํ•˜๊ณ , ์ด๊ฒƒ์€ ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์˜ ๋‚ญ๋น„๋กœ ์ด์–ด์ง

โœ… LLM์ด ๊ฐ€์žฅ ๊ทธ๋Ÿด๋“ฏํ•œ ๋‹ต๋ณ€์„ ๋งŒ๋“ค์–ด๋‚ด๊ฒ ์ง€๋งŒ, ์ด๊ฒƒ์ด ์ •ํ™•ํ•œ ๋‹ต๋ณ€์ž„์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Œ

โœ… ํŠนํžˆ๋‚˜, API์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ํ”„๋กฌํ”„ํŠธ๋งŒ์œผ๋กœ ์ˆ˜์šฉํ•˜๋Š” ๋ฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ


Fine-Tuning ํ›„

โœ… ์›ํ•˜๋Š” task์˜ ์˜ˆ์ œ๋“ค์„ ๋ชจ์•„์„œ ๋ชจ๋ธ์„ 1๋ฒˆ ๋” ํ•™์Šตํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋ธ์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹


2. PEFT(Parameter-Efficient Fine-Tuning)

โœ… ์ผ๋ฐ˜์ ์ธ ํŒŒ์ธํŠœ๋‹์€ LLM์˜ ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ ์—…๋ฐ์ดํŠธํ•จ

โœ… PEFT๋Š” ์ผ๋ถ€ ์ถ”๊ฐ€๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ํ•™์Šตํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋™์ž‘

โœ… ๊ทธ๋ž˜์„œ Full-fine tuning๊ณผ ๋น„๊ตํ•ด ๋น„์šฉ๊ณผ ์‹œ๊ฐ„ ์ ˆ์•ฝ ๊ฐ€๋Šฅ

โœ… ๋ชจ๋ธ ํŒŒ์ธํŠœ๋‹ ๊ณผ์ •์—์„œ ๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ ์ง€์‹๋“ค์„ ์žŠ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋˜๋Š” catastrophic forgetting ํ˜„์ƒ ์™„ํ™” ๊ฐ€๋Šฅ


PEFT Method 1 - LoRA

โœ… ๋Œ€ํ‘œ์ ์ธ PEFT ๋ฐฉ์‹์ธ LoRA

โœ… (์˜ค๋ฅธ์ชฝ) X์ถ•์ด ์—…๋ฐ์ดํŠธํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜ log scale๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ

  • Full ํŒŒ์ธํŠœ๋‹(ํŒŒ๋ž€์ƒ‰)๊ณผ ๋น„๊ตํ•˜๋ฉด ํ›จ์”ฌ ๋” ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ํ•™์Šตํ•˜๋Š” LoRA๊ฐ€ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ๋ƒ„

ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ ๋ฐฉ์‹

โœ… (์™ผ์ชฝ) ๋ชจ๋ธ ๋‚ด์— ์žˆ๋Š” ์—ฐ์‚ฐ ์ž์„ธํžˆ ๋ณด๊ธฐ

โœ… Input "x"๊ฐ€ ๋“ค์–ด๊ฐ€์„œ metric W๋ž‘ ๊ณฑํ•ด์ ธ์„œ output "h"๊ฐ€ ๋˜๋Š” ๊ฒƒ โœ… LoRA๋Š” ์—ฌ๊ธฐ์— Low-Rank(ํญ์ด ์ข์€ ๋ฉ”ํŠธ๋ฆญ์Šค) ๊ณฑ ๋”ํ•ด์คŒ
โœ… ์ด๋•Œ, r์ด k์™€ d์— ๋น„ํ•ด ๊ต‰์žฅํžˆ ์ž‘๋‹ค๋ฉด 2๊ฐœ ๋ฉ”ํŠธ๋ฆญ์Šค์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜๋Š”, ์›๋ž˜ ๋ฉ”ํŠธ๋ฆญ์Šค ์ˆ˜๋ณด๋‹ค ํ›จ์”ฌ ์ ์–ด์ง€๊ฒŒ ๋ ๊ฒƒ
โœ… LoRA๋Š” 2๊ฐœ ๋ฉ”ํŠธ๋ฆญ์Šค๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํ˜•์‹์œผ๋กœ ํ•™์Šต ์ง„ํ–‰

โœ… (์˜ค๋ฅธ์ชฝ) X์ถ•์ด ์—…๋ฐ์ดํŠธํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜ ๋กœ๊ทธ์Šค์ผ€์ผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ

  • Full ํŒŒ์ธํŠœ๋‹(ํŒŒ๋ž€์ƒ‰)๊ณผ ๋น„๊ตํ•˜๋ฉด ํ›จ์”ฌ ๋” ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ํ•™์Šตํ•˜๋Š” LoRA๊ฐ€ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ๋ƒ„

PEFT Method 2 - QLoRA

โœ… ๋ณดํ†ต ๋ฒ ์ด์Šค ๋ชจ๋ธ์€ 16-bit ๋ฐ์ดํ„ฐ ํฌ๋งท์œผ๋กœ ๋˜์–ด ์žˆ์Œ

โœ… QLoRA๋Š” normal float๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ์•ˆํ•ด, ๋ฒ ์ด์Šค ๋ชจ๋ธ์„ 4-bit๋กœ quantization

โœ… LoRA weight ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ณผ์ •์—์„œ quantization์—์„œ ๋ฐœ์ƒํ–ˆ๋˜ ์†์‹ค์„ ๋ณด์ƒํ•˜๊ณ , ๋‚˜์•„๊ฐ€์„œ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ์ด ๋™์ž‘ํ•˜๋„๋ก ํ•™์Šต์‹œ์ผœ ์ฃผ๋Š” ๊ฒƒ

โœ… ๋ชจ๋ธ ํ•™์Šตํ•  ๋•Œ ์š”๊ตฌ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ๋‹นํžˆ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒŒ QLoRA์˜ ํ•ต์‹ฌ


PEFT Method 3 - IA3

โœ… (์˜ค๋ฅธ์ชฝ) LoRA(๋ณด๋ผ์ƒ‰ ์„ธ๋ชจ)๋ณด๋‹ค๋„ ๋” ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜๋กœ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๋ชจ์Šต


ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ ๋ฐฉ์‹

โœ… ๊ธฐ์กด ํŠธ๋žœ์Šคํฌ๋จธ ๊ตฌ์„ฑ ์š”์†Œ๋“ค(value, key, feed-forward network์— ์žˆ๋Š” iterative action)์— ๊ณฑํ•ด์ง€๋Š” ๋ฒกํ„ฐ ๋„์ž…

  • (์˜ค๋ฅธ์ชฝ) ๋…ธ๋ž€์ƒ‰ ๋ฐ•์Šค๋“ค: lV, lk, lff
  • ๊ณฑํ•ด์ง€๋Š” ๋ฒกํ„ฐ๋“ค๋งŒ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘

PEFT Method 4 - ToolkenGPT

โœ… LLM๋งŒ์œผ๋กœ ์ •ํ™•ํ•œ ๋‹ต๋ณ€ ์–ป๊ธฐ ํž˜๋“  ์ƒํ™ฉ์—์„œ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹

โœ… ์™ธ๋ถ€ ํˆด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹

โœ… (์˜ค๋ฅธ์ชฝ) Took ๊ฐœ์ˆ˜ ๋งŽ์•„์งˆ์ˆ˜๋ก, ToolkenGPT ์„ฑ๋Šฅ์ด ํ”„๋กฌํ”„ํŒ… ๋ฐฉ์‹์— ๋น„ํ•ด ์ƒ๋Œ€์ ์ธ ์„ฑ๋Šฅ ์ด๋“ ๋†’์•„์ง


๋™์ž‘ ๋ฐฉ์‹

1๏ธโƒฃ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ ํ•„์š”๋กœ ํ•˜๋Š” ์งˆ๋ฌธ
โœ… ๊ฐ„๋‹จํ•œ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
2๏ธโƒฃ LLM ์ถ”๋ก  ๊ณผ์ •์—์„œ ๊ธฐ์กด๊ณผ ๋‹ค๋ฅธ ๊ฒƒ?
โœ… ์ผ๋ฐ˜์ ์ธ ํ† ํฐ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ, toolken(ํˆด ํ† ํฐ)๋„ ํ•™์Šตํ•ด์„œ ์ถ”๋ก 
 
3๏ธโƒฃ ๋งŒ์•ฝ, next token์œผ๋กœ ํˆดํฐ์ด ๋‚˜์˜จ๋‹ค๋ฉด, tool ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝํ•ด์„œ tool ์‹คํ–‰ํ•  ๋•Œ ํ•„์š”ํ•œ argument๋“ค ์ถ”๋ก  4๏ธโƒฃ Tool ์‹คํ–‰์‹œํ‚จ ํ›„, ๊ฒฐ๊ณผ๊ฐ’ ์ถœ๋ ฅ

โœ… API call, ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ง€์‹ ๊ฐ€์ ธ์˜ค๋Š” ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Œ

 


PEFT Methods - Comparison

 

โœ… (์™ผ์ชฝ) ๊ฐ PEFT ๋ฐฉ์‹์ด ์–ด๋–ค ์š”์†Œ/๋ฐฉ์‹ ๊ฒฐํ•ฉํ•˜๋Š”์ง€ ์ •๋ฆฌ

โœ… (์˜ค๋ฅธ์ชฝ) ์‹ค์ œ 2๊ฐœ ๋‚ด๋ถ€ ๋ชจ๋ธ์— ํ…Œ์ŠคํŠธ ์ง„ํ–‰ํ•œ ๊ฒฐ๊ณผ

๊ฐ PEFT ๋ฐฉ๋ฒ• ์ ์šฉํ•  ๋•Œ, ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์™„๋ฒฝํ•˜๊ฒŒ ์ตœ์ ํ™”ํ•˜์ง€ ์•Š์•„ ์ตœ์ ์˜ ์„ฑ๋Šฅ ์•„๋‹ ์ˆ˜ ์žˆ์Œ

โœ… ๊ณตํ†ต์ ์œผ๋กœ 2๊ฐ€์ง€ ๋ชจ๋ธ์—์„œ, Full fine-tuning์— ๋น„ํ•ด PEFT ๋ฐฉ์‹์ด ํ›จ์”ฌ ๋” ์ ์€ ํ•™์Šต์‹œ๊ฐ„๋งŒ์œผ๋กœ๋„ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ํ˜น์€ ๋” ๋‚˜์€ ์„ฑ๋Šฅ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Œ


3. LLMOps System ์†Œ๊ฐœ ๋ฐ Live Demo

LLMOps System Architecture

โœ… ํ•™์Šตํ•œ ๋ชจ๋ธ fine-tuning ํ•˜๊ณ , fine-tuning ํ•œ ๋ชจ๋ธ text, serving, monitoring๊นŒ์ง€ ํ•˜๋Š” LLMOps ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์ค‘

โœ… Fine-tuning, Deploy ์ชฝ์€ ๋งŽ์ด ๊ตฌํ˜„๋œ ์ƒํƒœ


๋ฐ๋ชจ์˜์ƒ

โœ… Dashboard์—์„œ ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ์…‹, training job ๋ชฉ๋ก ๋‚˜ํƒ€๋‚จ

โœ… ๋ฒ ์ด์Šค ๋ชจ๋ธ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋ธ๋“ค(A.X.LLM-S ๋“ฑ) ๋ชจ๋ธ ์นด๋“œ 

โœ… ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์…‹ preview(๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ‘œ์‹œ)

โœ… ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ์…‹ ์ปค์Šคํ…€ํ•ด์„œ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Œ

โœ… training์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ base model, ๋ฐ์ดํ„ฐ์…‹, ์‚ฐ์ถœ๋ฌผ๋กœ ๋‚˜์˜จ LoRA weight, configuration, tensorboard, log ๋“ฑ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Œ

โœ… ์›ํ•˜๋Š” base model, ๋ฐ์ดํ„ฐ์…‹, fine-tuning ๋ฐฉ์‹ ๊ณจ๋ผ์„œ ํ•™์Šต ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Œ

โœ… ์—๋””ํ„ฐ์—์„œ ์ง์ ‘ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ • or ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ

โœ… ํ•™์Šต ์™„๋ฃŒ๋˜๋ฉด ๋ชจ๋ธ instance ์˜ฌ๋ ค์„œ playground์—์„œ test ์ง„ํ–‰ ๊ฐ€๋Šฅ

โœ… ์ƒ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ ˆ ๊ฐ€๋Šฅ(temperature, top_k, reputation penalty ๋“ฑ)ํ•ด ์ตœ์ ํ™” ๊ฐ€๋Šฅ