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

2024. 7. 10. 15:34ใ†Lecture

SKT LLM Enterprise ์„œ๋น„์Šค

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

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


์—ฐ์‚ฌ์ž

SKT MLOps TechํŒ€ ๊น€์‘์ฐฝ


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

  1. RAG(Retrieval Augmented Generation)
  2. HyDE(Hypothetical Document Embeddings)
  3. Hyperparameter Search
  4. Enterprise Service PoC UI

RAG(Retrieval Aumgneted Generation)

โœ… ์ผ๋ฐ˜์ ์ธ LLM์ด ํŒŒ๋ผ๋ฏธํ„ฐ ์ง€์‹ ๋งŽ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ์ž‘์€ LLM์€ ๊ทธ๋ ‡์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— sLLM์— ์ ํ•ฉ

โœ… ์‚ฌ์šฉ์ž(User)๊ฐ€ ์งˆ์˜(Question)ํ•˜๋ฉด, A.X.LLM์—์„œ query๋ฅผ 1๋ฒˆ ๋ฐ”๊ฟˆ

โœ… Query์— ๊ธฐ๋ฐ˜ํ•ด ์•„๋ž˜ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ง„ํ–‰

1๏ธโƒฃ embedding ๋ชจ๋ธ๋กœ Vector DB์—์„œ ๊ฒ€์ƒ‰

2๏ธโƒฃ BM25 ๊ฐ™์€ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์„œ์น˜๋กœ Full-text index

โœ… Re-rank ๋ชจ๋ธ๋กœ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋งŒ๋“ฆ

โœ… ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋ฐ”ํƒ•์œผ๋กœ grouding ํ•ด์„œ ์ตœ์ข… ๋‹ต๋ณ€ ์ƒ์„ฑ

โžก๏ธ ์ „์ฒด์ ์œผ๋กœ ์ƒ์„ฑํ˜• ๋ชจ๋ธ์ด 2๋ฒˆ ๋“ค์–ด๊ฐ€๊ฒŒ ๋จ


HyDE(Hypothetical Document Embeddings)

โœ… ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

โœ… ํ—ˆ๊น…ํŽ˜์ด์Šค์—์„œ ์˜ฌ๋ผ์™€ ์žˆ๋Š” ์˜คํ”ˆ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์žˆ๋Š” ์งˆ๋ฌธ ์ค‘ ํ•˜๋‚˜

๐Ÿ‘‰ [ํ—ˆ๊น…ํŽ˜์ด์Šค] NomaDamas/Ko-StrategyQA

  • ์‹œ๋‚˜๋ฆฌ์˜ค: ์งˆ๋ฌธ์— ์ ํ•ฉํ•œ ์œ„ํ‚ค ๋ฌธ์„œ ๊ฒ€์ƒ‰ํ•˜๋Š”์ง€
  • ๋ฐ์ดํ„ฐ์…‹: ์œ„ํ‚ค ๋ฌธ์„œ๋“ค์ด ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋“ค์–ด๊ฐ€ ์žˆ์Œ
  • GPT๋กœ ์ƒ์„ฑํ•œ ๊ฐ€์ƒ์˜ ๋‹ต๋ณ€

โœ… ์งˆ๋ฌธ์„ ๊ฐ€์ƒ์˜ ๋‹ต๋ณ€ ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ๋ฉด ์˜๋ฏธ๋ก ์ ์œผ๋กœ ์œ ์‚ฌํ•ด์ง

โœ… ์‹ค์ œ ๋ฐ์ดํ„ฐ์…‹ ๊ฐ€์ง€๊ณ  ํ…Œ์ŠคํŠธํ–ˆ์„ ๋•Œ, Top-3์™€ Top-10 ์ฐจ์ด ์žˆ์—ˆ์Œ

  • 4~5% ์ •๋„. ๋น„์œจ๋กœ๋Š” 7~8% ๋‚˜์•„์ง€๋Š” ๊ฒฐ๊ณผ

 


๐Ÿ’ก HyDE ๊ธฐ์ˆ  ์ ์šฉํ•œ๋‹ค๊ณ , ๋ฐ˜๋“œ์‹œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์œผ๋กœ ์ด์–ด์ง€์ง€๋Š” ์•Š์Œ

โœ… query๋ฅผ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์—์„œ '๋ธŒ๋ผ์ด์–ธ ์›Œ๋„ˆ'์™€ ๊ฐ™์ด ์ค‘์š” Keyword ๋ˆ„๋ฝ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊น€

โœ… ๊ฒ€์ƒ‰ํ•˜๋Š” ์ „๋‹จ๊ณ„์—์„œ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ƒ์„ฑํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์†Œ์š”๋จ

โœ… ํŠน์ • ๋„๋ฉ”์ธ ๊ด€๋ จ ๋ฒค์น˜๋งˆํฌ๋ฅผ ํ†ตํ•ด์„œ re-rank์™€ ๊ฐ™์ด ์ ์šฉํ•ด์•ผ ํ•  ํ•„์š”์„ฑ


Hyperparameter Search(Hyperparameter Optimization)

โœ… sLLM ์ตœ์ ํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ

โœ… ํŒŒ์ธ ํŠœ๋‹ ๊ณผ์ •์— ์žˆ๋Š” ๋‹ค์–‘ํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๋ฆฌ์ŠคํŠธ

  • LoRA: PEFT ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, r ๊ฐ’(rank)์ด๋‚˜ @ ๊ฐ™์€ ๋ถ€๋ถ„๋“ค ์„ค์ • ๊ฐ€๋Šฅ. ์‹คํ—˜์ ์œผ๋กœ ์ตœ์ข… ์„ฑ๋Šฅ์— ์˜ํ–ฅ ์ ๋‹ค๋Š” ์˜๊ฒฌ๋„ ์žˆ์Œ
  • Input sequence length: ์ž…๋ ฅ ๋„ฃ์„ ๋•Œ, ๋ชจ๋ธ ์ตœ๋Œ€์น˜ ๋ณด๋‹ค ๋ฐ˜ ์‚ฌ์ด์ฆˆ or ์กฐ๊ธˆ ๋” ์ž‘๊ฒŒ ๋„ฃ๋Š”๋‹ค๋ฉด ํ›จ์”ฌ ์ ์€ ์–‘์˜ GPU๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅ. ์„ฑ๋Šฅ์˜ ๊ฒฝ์šฐ, ์ตœ์ข… ๊ฒฐ๊ณผ ๋ฒค์น˜๋งˆํฌ ํ†ตํ•ด์„œ ํ™•์ธํ•ด์•ผ ํ•จ
  • Loss mask: ์š”์•ฝ task์˜ ๊ฒฝ์šฐ, ๋’ค์— ์˜ค๋Š” ๋‹จ์–ด ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค ๋ณด๋‹ˆ, ์ „์ฒด text(์š”์•ฝ ์›๋ฌธ + ์š”์•ฝ๋ณธ)๋ฅผ ์ „๋ถ€ ํ•™์Šตํ•˜๋Š”์ง€ ์•„๋‹ˆ๋ฉด ์•ž๋ถ€๋ถ„(์›๋ฌธ) ์ œ์™ธํ•˜๊ณ  ๋’ท๋ถ€๋ถ„(์š”์•ฝ๋ณธ)๋งŒ ํ•™์Šตํ•  ๊ฒƒ์ธ์ง€. ์ž…๋ ฅ ๋ถ€๋ถ„ ํ•™์Šต ์—ฌ๋ถ€
  • Data ratio: ๊ฐ€์žฅ ์ค‘์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋น„์œจ. pre-training๋•Œ ์‚ฌ์šฉํ•œ ๋น„์ง€๋„ํ•™์Šต ๋ฐฉ์‹๊ณผ ์œ ์‚ฌ. vertical ํ˜•์˜ ์›๋ฌธ ๋ฐ์ดํ„ฐ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๊ณ , demonstration ํ•˜๋Š” instruction๊ณผ ๊ทธ output์— ๋Œ€ํ•ด์„œ ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐ์ดํ„ฐ๋“ค ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Œ
    • demonstration ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•ด๋„, ๊ทธ์ค‘ ๊ธ์ •/๋ถ€์ •/์•Œ ์ˆ˜ ์—†๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค ๋“ฑ์˜ ๋น„์œจ ๋“ฑ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Œ
    • ๊ฒฐ๊ตญ, '์ž˜ ๋ชจ๋ฅธ๋‹ค' ๋‚ด์šฉ์˜ ๋ฐ์ดํ„ฐ ๋งŽ์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ๋ชจ๋ธ๋“ค์ด '์ž˜ ๋ชจ๋ฅธ๋‹ค'๋Š” ๋‹ต๋ณ€ ๋” ๋งŽ์ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ

โœ… Learning Rate ๋“ฑ์˜ ๊ฐ’๋“ค ์ตœ์ ํ™” ๊ณผ์ •์— ์žˆ์–ด ์—ฌ๋Ÿฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํ•ฉ์œผ๋กœ ๋งŽ์ด ์‹คํ—˜

โœ… ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•๋“ค

  • Grid: ์ˆœ์ฐจ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค ์กฐํ•ฉํ•ด์„œ ํ•˜๋Š” ๋ฐฉ์‹
  • Random: ์œ„์˜ ๊ณผ์ •์—์„œ ๋ณด๋‹ค ๋žœ๋คํ•˜๊ฒŒ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ
  • Bayesian: ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉฐ ์ตœ์ ๊ฐ’ ํƒ์ƒ‰(์šฐ์ธก ๊ทธ๋ž˜ํ”„ ์ฐธ๊ณ )
    • 1์ฐจ์›์ ์—์„œ ์–ด๋Š ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์— ๋Œ€ํ•ด์„œ ๊ฐ€์žฅ ๋ถˆํ™•์‹คํ•œ์ง€
    • ๊ฐ€์žฅ ๋ถˆํ™•์‹คํ•œ ์ง€์ ์— ๋Œ€ํ•ด ์‹คํ—˜, ๊ทธ ๋‹ค์Œ ๋ถˆํ™•์‹คํ•œ ์ง€์ ์— ๋Œ€ํ•ด ์‹คํ—˜
    • ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋‹ค์ฐจ์› ๊ณต๊ฐ„ ์ƒ์—์„œ ์ตœ์ ๊ฐ’ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•
    • ๋‹จ์ ? ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ๋งค์šฐ ์˜ค๋ž˜ ๊ฑธ๋ฆผ
  • Population-based Training(PBT): ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•. multi-GPU ํ™˜๊ฒฝ์ด๋ผ๋ฉด ํšจ์œจ์ 

โœ… ํ—ˆ๊น…ํŽ˜์ด์Šค 4๊ฐœ ์ •๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ†ตํ•ฉํ•ด์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Œ

โœ… ๊ทธ์ค‘, weights&bias์˜ Sweeps ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ mapping

  • ๊ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์ด ์ตœ์ข… ์„ฑ๋Šฅ์— ์–ด๋–ค ์˜ํ–ฅ ๋ผ์น˜๋Š”์ง€ ํ‘œํ˜„ํ•ด์คŒ

๐Ÿ‘‰[ํ—ˆ๊น…ํŽ˜์ด์Šค] Hyperparameter Search using Trainer API

 

 


Enterprise Service PoC UI

๋ฒ•๋ น ์งˆ์˜์‘๋‹ต

โœ… ๊ด€๋ จ ๋ฒ•๋ น๋“ค์ด ๋จผ์ € ๊ฒ€์ƒ‰๋œ ๋‹ค์Œ, ๊ฒ€์ƒ‰๋œ ๋‚ด์šฉ๋“ค์„ grouding ํ•ด์„œ ๋‹ต๋ณ€ ์ƒ์„ฑ