์ 5์ฅ โ LLM ์ ํ๋ฆฌ์ผ์ด์ ํ๊ฐํ๊ธฐ
LLM Primer V: ์ค์ LLM ์ ํ๋ฆฌ์ผ์ด์
๊ตฌ์ถ์ ์ฑํฐ๋ณ๋ก ๋ฐ๋ผ๊ฐ๋ ์ํฌ์ค๋ฃจ์ ๋ค์ฏ ๋ฒ์งธ ๊ธ์
๋๋ค. LLM ์ถ๋ ฅ์ ๋ํด์๋ assertEqual์ด ์ฃฝ์์์ ์ธ์ ํ๊ณ , ์ต์ปค๋ ํ์ ์, RAG ํธ๋ผ์ด์ด๋, ๊ถค์ ํ
์คํธ๋ฅผ ์ค์ฌ์ผ๋ก ํ
์คํธ ๊ท์จ์ ๋ค์ ์ธ์ฐ๋ ์ฅ์
๋๋ค.
์ด ์ฅ์ด ์กด์ฌํ๋ ์ด์
๊ณ ์ ์ ์ํํธ์จ์ด ํ ์คํธ๋ ์ฌ๋ฐ๋ฅธ ์ถ๋ ฅ์ด ํน์ ํ ์ถ๋ ฅ์ด๋ผ๋ ๊ฐ์ ์์ ์ ์์ต๋๋ค โ ํจ์๊ฐ 42๋ฅผ ๋ฐํํ๊ณ , ๋ฌธ์์ด์ด ใHello, worldใ์ ๊ฐ๊ณ , JSON์ด ํฝ์ค์ฒ์ ์ผ์นํ๋ค๋ ๊ฒ. LLM ์์คํ ์ ์๋ฏธ๋ ๊ฐ์ง๋ง ๊ธ์๋ ๋ค๋ฅธ ์ฌ๊ตฌ์ฑ๋ ํํ์ ๋ง๋ค์ด ๋ด๊ณ , 50๋ ๋์ ์ํํธ์จ์ด ํ ์คํธ๋ฅผ ์งํฑํด ์จ ์ ํ ์ผ์น ๋จ์ธ์ ์ฒซ ๋ฒ์งธ ์ฌ์์ฑ์์ ๋ฌด๋์ง๋๋ค. ํ์ ์ด์ด์ BLEU, ROUGE, ์๋ฒ ๋ฉ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ก ์์ ๋ป๊ณ , ์ด๋ฐ ์งํ๋ค์ด ์ ๋ง๋ก ์ค์ํ ๊ฒ๋ค โ ๋ต์ด ๋ง๋๊ฐ, ๊ทผ๊ฑฐ๊ฐ ์๋๊ฐ, ์ง๋ฌธ์ ๋ตํ๊ณ ์๋๊ฐ โ ์ ๋ํด ์ฌ๋ ํ๋จ๊ณผ ์ฝํ๊ฒ๋ง ์๊ด๋๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํฉ๋๋ค. ์ 5์ฅ์ ์ค์ ๋ก ํตํ๋ ๊ฒ์ ์ค์ฌ์ผ๋ก ํ ์คํธ ๊ท์จ์ ๋ค์ ์ธ์๋๋ค. ์ต์ปค๋ LLM-as-a-judge ๋ฃจ๋ธ๋ฆญ, RAG ํธ๋ผ์ด์ด๋, ์์ด์ ํธ ๊ถค์ ํ ์คํธ, ๊ทธ๋ฆฌ๊ณ ํ๋ก๋์ ํธ๋ ์ด์ค๊ฐ ๋ค์ ๋ฐฐํฌ๋ฅผ ๊ฒ์ดํ ํ๋ ํ๊ฐ ์ธํธ๋ก ํ๋ฌ ๋ค์ด๊ฐ๋ ์ง์ ๋ฃจํ.
5.1 ํ๊ฐ ๊ฒฉ์ฐจ์ LLM-as-a-judge
ํ๊ฐ ๊ฒฉ์ฐจ๋, ๊ณ ์ ์ ํ ์คํธ๊ฐ ์ธก์ ํ ์ ์๋ ๊ฒ๊ณผ LLM ์ถ๋ ฅ์ด ์ค์ ๋ก ์ธก์ ๋์ด์ผ ํ๋ ๊ฒ ์ฌ์ด์ ๊ฑฐ๋ฆฌ์ ๋๋ค. ์ ํ ์ผ์น ๋ฐ ์ฐธ์กฐ ๋ฌธ์์ด ๊ธฐ๋ฐ ์งํ๋ ์ฌ๊ตฌ์ฑ๋ ํํ์ด ์ฆ์ ๊ณผ์ ์์ ํฅ๋ฏธ๋ก์ด ์คํจ๋ฅผ ํ๋๋ ์ก์ง ๋ชปํฉ๋๋ค. LLM-as-a-judge๋ ๊ทธ ๊ฒฉ์ฐจ๋ฅผ ๋ซ๋ ์ฃผ๋ ฅ์ด๋ฉฐ, ํํฐ ํธ๋ฆญ๊ณผ ๊ตฌ๋ถํด ์ฃผ๋ ๋ ๊ฐ์ง ๊ท์จ์ด ์์ต๋๋ค. ์ฒซ์งธ, ํ์ ์์ ๋ฃจ๋ธ๋ฆญ์ ์ต์ปค๋ฉ๋๋ค. ๊ฐ ์ ์ ๊ฐ์๋ ์๋ฉด ์ ์๊ฐ, ๊ฐ๋ฅํ๋ฉด ์์์ ํจ๊ป ๋ถ์ด ์์ด, ํ์ ์๊ฐ ์ซ์๋ฅผ ์์ ์ฐ์ํ์ง ์๋๋ก ํฉ๋๋ค. ๋์งธ, ํ์ ์๋ ์ ์๋ณด๋ค ๋จผ์ ๊ทผ๊ฑฐ๋ฅผ ๋ง๋ค์ด ๋ ๋๋ค. ๊ทผ๊ฑฐ๋ฅผ ์จ ๋ด์ผ ํ๋ ํ์ ์๋ ๋ ์ผ๊ด๋๊ฒ ์ ์๋ฅผ ๋งค๊ธฐ๋ ํ์ ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ๋ก๊ทธ๋จ์ ๊ฒ์ฌ๋ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ๊ฒ์ฆ ๊ฐ๋ฅํ ๊ฒ์ ํ์ ์์ ์๋ณดํฉ๋๋ค โ JSON์ด ํ์ฑ๋๋์ง, ํ์ ํ๋๊ฐ ์๋์ง, ๊ธ์ง ๋ฌธ์์ด์ด ์๋์ง, ์๋ต ๊ธธ์ด๊ฐ ๊ฒฝ๊ณ ์์ธ์ง. ํ์ ์๋ ๋ง๋ฅ์ด ์๋๋๋ค. ๊ฒฐ์ ๋ก ์ ๊ฒ์ฌ๊ฐ ๋ฎ์ง ๋ชปํ๋ ์์ญ์ ๋ฎ๋ ๊ฒ์ ๋๋ค.
5.2 RAG ํธ๋ผ์ด์ด๋ โ ์ปจํ ์คํธ, ๊ทผ๊ฑฐ์ฑ, ๋ต๋ณ ๊ด๋ จ๋
๊ฒ์ ์์คํ ์๋ ์ธ ๊ผญ์ง์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ฑ์ ํ๋ ํจํด์ด ์๋ฆฌ ์ก์์ต๋๋ค. ์ปจํ ์คํธ ๊ด๋ จ๋(Context relevance)๋ ๊ฒ์๋ ์ฒญํฌ๊ฐ ์ง์์ ์ค์ ๋ก ๊ด๋ จ์ด ์๋์ง๋ฅผ ๋ฌป๊ณ , ๊ฒ์ ์คํจ๋ฅผ ์์ฑ ์คํจ๋ก๋ถํฐ ๋ถ๋ฆฌํฉ๋๋ค. ๊ทผ๊ฑฐ์ฑ(Groundedness)์ ์์ฑ๋ ๋ต์ด ๊ฒ์๋ ์ปจํ ์คํธ๋ก๋ถํฐ ๋ฐ๋ผ ๋์ค๋์ง๋ฅผ ๋ฌป๊ณ , ๋ชจ์ ๊ฒ์ฆ์ ํต๊ณผํ๋ ํ๊ฐ์ ์ก์ต๋๋ค. ๋ต๋ณ ๊ด๋ จ๋(Answer relevance)๋ ๋ต์ด ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ๋ฌผ์ ์ง๋ฌธ์ ๋ตํ๋์ง๋ฅผ ๋ฌป์ต๋๋ค. ๋ ๋ฆฝ์ ์ผ๋ก ์ฑ์ ๋์ด, ์ธ ๊ผญ์ง์ ์ ์คํจ๋ฅผ ๊ตญ์ํํฉ๋๋ค. ๋ฎ์ ์ปจํ ์คํธ ๊ด๋ จ๋ ์ ์๋ ๊ฒ์์, ๋ฎ์ ๊ทผ๊ฑฐ์ฑ ์ ์๋ ์์ฑ๊ธฐ๋ฅผ, ๋ฎ์ ๋ต๋ณ ๊ด๋ จ๋ ์ ์๋ ๋ผ์ฐํฐ ๋๋ ์ธ์ ์ง๋ฌธ์ ๋ตํ๊ณ ์๋ ์์คํ ์ ๊ฐ๋ฆฌํต๋๋ค. RAGAS๋ ์ด ํธ๋ผ์ด์ด๋๋ฅผ ๋ฐฐ์น ํ์ดํ๋ผ์ธ์ผ๋ก ์ด์ํฉ๋๋ค. ์ ์์ ํ์ง์ ํ์ ๋ชจ๋ธ์ ํ์ง์ด ์ง๋ฐฐํ๋ฏ๋ก, ํ์ ์ ์์ฒด๊ฐ ํ์ด ํ๊ฐํ๋ ํ๋์ ๊ตฌ์ฑ ์์์ ๋๋ค.
5.3 ํ๋ ์์ํฌ ๋์น์ ์์ด์ ํธ ํ๊ท
์ธ ํ๋ ์์ํฌ๊ฐ ๋๋ ทํ ๋์น๋ฅผ ์ฐจ์งํ๊ณ ์์ต๋๋ค. RAGAS๋ ์ง๋ฌธ-๋ต๋ณ ์์ ๋ฐ์ดํฐ์ ์ ๋ํด RAG ํธ๋ผ์ด์ด๋๋ฅผ ๋ฐฐ์น๋ก ๋๋ฆฌ๋ฉฐ, ์ฃผ๊ธฐ์ ์ธ ๋ฐ์ดํฐ์ ํ๊ฐ์ ์๋ง์ ๋๊ตฌ์ ๋๋ค. TruLens๋ ๋ผ์ด๋ธ ํ๋ก๋์ ํธ๋ํฝ์ ํผ๋๋ฐฑ ํจ์๋ฅผ ๋ถ์ด๊ณ ํธ๋ ์ด์ค ์์ฒด์์ ํธ๋ผ์ด์ด๋๋ฅผ ๊ณ์ฐํ๋ฉฐ, ํ๋ก๋์ ๊ณผ ํ๊ฐ ์ฌ์ด์ ๋ฃจํ๋ฅผ ๋ซ์ต๋๋ค. DeepEval์ pytest๊ฐ ๋จ์ ํ ์คํธ๋ฅผ ๋๋ฆฌ๋ฏ LLM ํ ์คํธ๋ฅผ CI ๊ฒ์ดํธ๋ก ๋๋ฆฌ๋ฉฐ, ์งํ๋ณ ์๊ณ๊ฐ์ ๋ก๋๋ค. ์์ด์ ํธ๋ ์ด ๋ชจ๋ ๊ฒ์ ์ธ ๋ฐฉํฅ์ผ๋ก ํ์ฅํฉ๋๋ค. ๊ถค์ ์ค๋ ์ท ํ ์คํธ๋ ๊ณ ์ ๋ ์ ๋ ฅ์ ๋ํด ๋๊ตฌ ํธ์ถ ์ํ์ค์ ๋ชจ์์ ๋จ์ธํ๊ณ , ๊ตฌ์กฐ์ ํ๋ฅ๋ฅผ ์ก์ต๋๋ค. ๋ถ๋ณ ๋จ์ธ์ ์์ด์ ํธ๊ฐ ๊ธ์ง๋ ๋๊ตฌ๋ฅผ ๋ถ๋ฅด์ง ์์๋์ง, ํ์ ์น์ธ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ฐ์ง ์์๋์ง๋ฅผ ํ์ธํฉ๋๋ค. ๋ฃจ๋ธ๋ฆญ ํ ์คํธ๋ ๊ถค์ ์์ฒด๊ฐ ํฉ๋ฆฌ์ ์ธ ๊ฒฝ๋ก์๋์ง ์ฑ์ ํฉ๋๋ค. ์๋ชป๋ ๋ฐฉ์์ผ๋ก ์ณ์ ๋ต์ ๋ด๋ ์์ด์ ํธ๋, ๋ค์ ๋ฒ ํ๋กฌํํธ ์์ ํ ๋ฒ์ด๋ฉด ๊ฐ์ ๋ฐฉ์์ผ๋ก ์๋ชป๋ ๋ต์ ๋ด๋ ์ํ์ ํ๋กฌํํธ ํ๋ ๊ฑฐ๋ฆฌ์ ์์ต๋๋ค. ๊ทธ ํ๊ท๋ฅผ ์ก๋ ๊ท์จ์ด ๊ถค์ ํ ์คํธ์ ๋๋ค.
์ 5์ฅ์ด ์ค๋นํ๋ ๊ฒ
ํ๊ฐ์๋ ํ๋ณธ์ ๋ฝ์ ํ๋ก๋์ ํธ๋ ์ด์ค๊ฐ ํ์ํฉ๋๋ค. CI ๊ฒ์ดํธ๋ ์งํฌ ์ค์ ํ๊ท๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ง์์ ๊ฐ์ ๋ฃจํ๋, ๋งค ํธ์ถ์ ๋งค ๋จ๊ณ โ ๋ชจ๋ธ ํธ์ถ, ๋๊ตฌ ํธ์ถ, ๊ฒ์ ๊ฒฐ๊ณผ, ํ์ ์์ด์ ํธ ํ, ๋น์ฉ, ์ง์ฐ, ์ฌ์ฉ์ ํผ๋๋ฐฑ โ ๋ฅผ ๋ถ๋๋ ๊ด์ธก์ฑ ์ธต์ด ์์ ๋์๋ง ๊ตด๋ฌ๊ฐ๋๋ค. ์ 6์ฅ์ด ๊ทธ ์ธต์ ๋๋ค. OpenTelemetry์ GenAI ์๋งจํฑ ๊ท์ฝ, ์ค์ ๋ก LLM ์์คํ ์ ์ค์ํ ์งํ, ํ๋ซํผ ์ ํ, ๊ทธ๋ฆฌ๊ณ โ ๋ฌด์๋ณด๋ค โ ๋ฎ์ ์ ์๋ฅผ ๋ฐ์ ํธ๋ ์ด์ค๋ฅผ ๋ค์ ๋ฐฐํฌ๋ฅผ ๊ฒ์ดํ ํ๋ ํ๊ฐ ์ธํธ๋ก ๋๋๋ ค ๋ณด๋ด๋ ์ต์คํฌํธ ํ์ดํ๋ผ์ธ์ ๊ฑท์ต๋๋ค.
๋ค์ โ ์ 6์ฅ: AI ๊ด์ธก์ฑ๊ณผ ํธ๋ ์ด์ฑ. ํ๊ฐ์ ๋๋ฒ๊น ๋ชจ๋๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ธฐ๋ฐ โ ํธ์ถ๋น ํ๋์ ์ค์ฒฉ ํธ๋ ์ด์ค์ ๋น์ฉ๊ณผ ํ์ง์ 1๊ธ ์์ฑ์ผ๋ก ๋ถ์ธ ๊ทธ๊ฒ.