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ํ ๊น์์ฐฝ
๊ฐ์ ๋ด์ฉ
- RAG(Retrieval Augmented Generation)
- HyDE(Hypothetical Document Embeddings)
- Hyperparameter Search
- 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 ํด์ ๋ต๋ณ ์์ฑ