๐ Vertex AI๋ก ์์ฑํ AI๋ฅผ ์ด์ํ๋ ๋ฐฉ๋ฒ: MLOps ๊ด์ ์์ ๋ณธ ๋ฐฑ์ ํด์ค
์์ฑํ AI๋ ์ง๊ธ ๊ธฐ์ ์ฐ์ ์์ ๊ฐ์ฅ ๋จ๊ฑฐ์ด ์ฃผ์ ์ค ํ๋๋ค. ํ์ง๋ง ๋๋ผ์ด ๋ฐ๋ชจ๋ฅผ ๋์ด, ์ค์ ํ๊ฒฝ์์ ์ด๋ฅผ ์ด๋ป๊ฒ ์์ ์ ์ผ๋ก ์ด์ํ ์ ์์๊น? ๋ฐ๋ก ์ฌ๊ธฐ์ MLOps๊ฐ ์ค์ํ ์ญํ ์ ํ๋ค. Google Cloud์ ๋ฐฑ์ โOperationalizing Generative AI on Vertex AI using MLOpsโ๋ ์ด ์ง๋ฌธ์ ๋ํ ํด๋ต์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํ๋ค.
์ด ๊ธ์์๋ ํด๋น ๋ฐฑ์์ ํต์ฌ ๋ด์ฉ์ ์ ๋ฆฌํ๋ฉฐ, ์์ฑํ AI ์์คํ ์ ์ค์ ์์ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๊ณ ์ต์ ํํ ์ ์๋์ง๋ฅผ ์๊ฐํ๋ค.
๐ฏ ์์ฑํ AI์ MLOps์ ์ ์ โ
์ ํต์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ DevOps์ฒ๋ผ, MLOps๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ๋ก ์ด๋ค. ํ์ง๋ง ์์ฑํ AI๋ ๊ธฐ์กด ML๋ณด๋ค ๋ ๋ณต์กํ ๋ฌธ์ ๋ค์ ์๊ณ ์๋ค:
- ๋ชจ๋ธ์ด ๋งค์ฐ ํฌ๊ณ ๋ณต์กํ๋ฉฐ
- ์ ๋ ฅ(ํ๋กฌํํธ)์ ๋ฏผ๊ฐํ๊ณ
- ๊ฒฐ๊ณผ๊ฐ ๋น๊ฒฐ์ ์ (non-deterministic)์ด๋ค
๋ฐ๋ผ์, ์์ฑํ AI ์์คํ ์์๋ ๋จ์ํ ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ๋์ด์ ํ๋กฌํํธ ๊ด๋ฆฌ, ์ฒด์ด๋, ๋ฐ์ดํฐ ์ด์, ํ๊ฐ, ๊ฑฐ๋ฒ๋์ค๊น์ง ํฌํจํ๋ ์๋ก์ด MLOps ์ฒด๊ณ๊ฐ ํ์ํ๋ค.
๐งญ ์์ฑํ AI ์์คํ ์ 5๋จ๊ณ ์ด์ ์ ๋ตโ
๋ฐฑ์๋ ์์ฑํ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ 5๋จ๊ณ ๋ผ์ดํ์ฌ์ดํด๋ก ๋๋๋ค:
- Discover: ์ ์ ํ ๋ชจ๋ธ ํ์
- Develop & Experiment: ํ๋กฌํํธ ์ค๊ณ ๋ฐ ๋ฐ๋ณต ์คํ
- Evaluate: ํ๊ฐ ์๋ํ ๋ฐ ํ์ง ์ธก์
- Deploy: ์ด์ ํ๊ฒฝ ๋ฐฐํฌ ๋ฐ ํตํฉ
- Govern: ์ ์ฒด ์์คํ ๊ฑฐ๋ฒ๋์ค ๋ฐ ๋ชจ๋ํฐ๋ง
๐ 1. ๋ชจ๋ธ ํ์ (Discover)โ
์ค๋๋ ์๋ง์ ์คํ์์ค ๋ฐ ์์ฉ ๋ชจ๋ธ์ด ์กด์ฌํ๋ค. ํ์ง๋ง ๊ทธ ์ค ๋ฌด์์ด ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํ ๊น?
์ ํ ์ ๊ณ ๋ คํ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค:
- ์ฑ๋ฅ (๋ฒค์น๋งํฌ ๋๋ ์ง์ ํ ์คํธ)
- ์ง์ฐ ์๊ฐ (์ค์๊ฐ ์๋ต์ด ์ค์ํ ๊ฒฝ์ฐ)
- ๋น์ฉ (API ์ฌ์ฉ๋ฃ, ์ธํ๋ผ ๋น์ฉ)
- ๋ฒ์ ยท์ค๋ฆฌ์ ๋ฌธ์
์ด๋ฅผ ๋๊ธฐ ์ํ ๋๊ตฌ๋ก Vertex Model Garden์ด ์๊ฐ๋๋ค. ์ด๋ Google ๋ฐ ํํธ๋์ ๋ชจ๋ธ๋ค์ ๋ชจ์๋ ์ค์ ๋ชจ๋ธ ํ๋ธ๋ก, ์ฑ๋ฅ, ์ฌ์ฉ ์ฌ๋ก, ์ ํ ์ฌํญ ๋ฑ์ ์ ๋ณด๋ฅผ ์นด๋ ํํ๋ก ์ ๊ณตํ๋ค.
๐งช 2. ๊ฐ๋ฐ ๋ฐ ์คํ (Develop & Experiment)โ
๐น ํ๋กฌํํธ ๊ธฐ๋ฐ ๊ฐ๋ฐโ
๊ธฐ์กด ML์ ํผ์ฒ ์์ง๋์ด๋ง์ด ์ค์ํ๋ค๋ฉด, ์์ฑํ AI์์๋ ํ๋กฌํํธ ์์ง๋์ด๋ง์ด ํต์ฌ์ด๋ค. ๋ชจ๋ธ ์ ๋ ฅ์ ์์ ๋ณํ๋ง์ผ๋ก๋ ์ถ๋ ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์, ํ๋กฌํํธ ์์ฒด๊ฐ ๋ฐ์ดํฐ์ด๋ฉฐ ๋์์ ์ฝ๋๊ฐ ๋๋ค.
๐ Prompt = Template + User Input โ Prompted Model Component
์ด ๊ตฌ์ฑ ์์๋ ๋ฒ์ ๊ด๋ฆฌ, ํ ์คํธ, ์ ํจ์ฑ ๊ฒ์ฌ์ ๋์์ด ๋๋ค. ๋ฐฑ์๋ ์ด๋ฅผ โprompt-as-dataโ & โprompt-as-codeโ๋ก ์ ์ํ๋ฉฐ, ์ด์ค์ ์ฑ๊ฒฉ์ ๊ฐ๋๋ค๊ณ ์ค๋ช ํ๋ค.
๐ 3. ์ฒด์ด๋๊ณผ ํ์ฅ (Chain & Augment)โ
๋จ์ผ ํ๋กฌํํธ๋ง์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์ํด, ๋ชจ๋ธ ์ปดํฌ๋ํธ๋ค์ ์ฒด์ธ(chain)์ผ๋ก ๊ตฌ์ฑํ ์ ์๋ค. ๋ํ์ ์ธ ๋ ๊ฐ์ง ํจํด์ ๋ค์๊ณผ ๊ฐ๋ค:
- RAG (Retrieval-Augmented Generation): ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด ์กฐํ ํ ๋ชจ๋ธ ์ ๋ ฅ์ผ๋ก ํ์ฉ
- Agents: LLM์ด ๋๊ตฌ(API, ์์คํ ๋ฑ)์ ์ํธ์์ฉํ๋ฉฐ ์์ ์ํ
์ด ๊ตฌ์กฐ์์๋ ์ ์ฒด ์ฒด์ธ์ ํ๋์ ๋จ์๋ก ๋ณด๊ณ , ์ข ๋จ ๊ฐ(end-to-end) ํ๊ฐ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์์ ์ด๋ค. Vertex AI๋ ์ด๋ฅผ ์ํด LangChain ํตํฉ, Vector Search, Agent Builder ๋ฑ ๋ค์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค.
๐ ๏ธ 4. ๋ชจ๋ธ ํ๋ (Tuning & Training)โ
ํ๋กฌํํธ๋ง์ผ๋ก ๋ถ์กฑํ ๋๋ ๋ชจ๋ธ ์์ฒด๋ฅผ ์กฐ์ ํด์ผ ํ๋ค. ๋ํ์ ์ธ ์ ๊ทผ ๋ฐฉ์:
- SFT (Supervised Fine-Tuning): ๋ ์ด๋ธ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด ๋ฏธ์ธ์กฐ์
- RLHF (Reinforcement Learning with Human Feedback): ์ธ๊ฐ ํผ๋๋ฐฑ์ ๊ธฐ๋ฐ์ผ๋ก ๋ณด์ ๋ชจ๋ธ์ ํ์ต
Vertex AI๋ ๋ชจ๋ธ ๋ ์ง์คํธ๋ฆฌ, ํ์ดํ๋ผ์ธ, ์คํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ํตํด ์ด๋ฌํ ํ๋ ๊ณผ์ ์ ์ถ์ ํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํ๋ค.
๐ 5. ํ๊ฐ (Evaluate)โ
์์ฑํ AI ํ๊ฐ์ ์ด๋ ค์:
- ์ถ๋ ฅ์ด ๋ณต์กํ๊ณ ๋น์ ํ
- ์ ๋ต์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
- ์ ๋ ์งํ(BLEU, ROUGE ๋ฑ)๋ง์ผ๋ก๋ ๋ถ์กฑ
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด:
- ๋ง์ถคํ ํ๊ฐ ๊ธฐ์ค ์ ์ (์ ํ์ฑ, ์ผ๊ด์ฑ, ์ฐฝ์์ฑ ๋ฑ)
- LLM์ ํ๊ฐ์(judge)๋ก ํ์ฉ โ AutoEval ๋ฑ
๋ํ ๊ณต๊ฒฉ ๋ด์ฑ(adversarial robustness)๋ ํ๊ฐ ํญ๋ชฉ์ผ๋ก ํฌํจ๋์ด์ผ ํ๋ค.
๐ ๋ฐฐํฌ ๋ฐ ์ด์ (Deploy & Monitor)โ
์์ฑํ AI ์์คํ ์ ๋ค์ ์์๋ค์ ํฌํจํ ๋ณตํฉ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค:
- ํ๋กฌํํธ ํ ํ๋ฆฟ
- ๋ชจ๋ธ ๋๋ ์ด๋ํฐ ๋ ์ด์ด
- ์ธ๋ถ API / ๋ฐ์ดํฐ ์์ค
- ์ฒด์ธ ๊ตฌ์ฑ
์ด์ ์ ๊ณ ๋ ค ์ฌํญ:
- CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
- ์ฌํ์ฑ ๋ณด์ฅ (๋น๊ฒฐ์ ์ฑ ๋ฌธ์ ๋์)
- ๋ฒ์ ๊ด๋ฆฌ (์ฒด์ธ, ํ๋กฌํํธ, ์ธ๋ถ ๋ฐ์ดํฐ)
Vertex AI๋ BigQuery, Feature Store ๋ฑ๊ณผ์ ํตํฉ์ผ๋ก ์ด์ ํธ์์ฑ์ ๋์ธ๋ค.
๐งญ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฑฐ๋ฒ๋์คโ
์ค์๊ฐ ์ด์ ์ค ๋ฐ์ ๊ฐ๋ฅํ ๋ฌธ์ ๋ฅผ ํ์งํ๊ณ ๋์ํ๊ธฐ ์ํ ํ์ ์์:
- ์คํ(skew) ๊ฐ์ง: ๊ฐ๋ฐ ์ ๋ฐ์ดํฐ์ ์ค์ ์ ๋ ฅ์ ์ฐจ์ด
- ๋๋ฆฌํํธ ๊ฐ์ง: ์๊ฐ์ ๋ฐ๋ฅธ ์ฌ์ฉ์ ํ๋ ๋ณํ
- ์๋-ํฌ-์๋ ํธ๋ ์ด์ฑ: ์๋ฌ ๋ฐ์ ์์น ํ์
๋ํ Vertex AI์ ํ๊ฐ ์๋น์ค์ ์๋ฆผ ์์คํ ์ ํตํด ์ง์์ ํ๊ฐ์ ๋์ ์ฒด๊ณ ๊ตฌ์ถ ๊ฐ๋ฅํ๋ค.
๐ค Agent Ops: ์ฐจ์ธ๋ ์์ฑํ AI ์ด์โ
์์ด์ ํธ ๊ธฐ๋ฐ ์์คํ ์ ๋จ์ ์์ฑ์ด ์๋ ํ๋(action)๊น์ง ํฌํจํ๋ค. ์ด๋ก ์ธํด:
- ์์จ์ฑ ์ฆ๊ฐ
- ๋ค์ํ ์ธ๋ถ ๋๊ตฌ์์ ์ํธ์์ฉ
- ๋ณต์กํ ๊ด์ฐฐ ๋ฐ ์ ์ด ์ฒด๊ณ ํ์
๋ฐฑ์์์๋ ์ด๋ฅผ ์ํ ๊ตฌ์ฑ ์์๋ก ๋ค์์ ์๊ฐํ๋ค:
- Tool Registry: ์์ด์ ํธ๊ฐ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ ๋ชฉ๋ก ์ค์ ๊ด๋ฆฌ
- Tool Selection ์ ๋ต: Generalist / Specialist / Dynamic
- ์์ด์ ํธ ํ๊ฐ: ๋จ์ ํ ์คํธ๋ถํฐ ์ด์ ์งํ๊น์ง ๋ค๋จ๊ณ ์ธก์
- ๋จ๊ธฐ/์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ: ๋ฌธ๋งฅ ์ ์ง ๋ฐ ์ถ์ ๊ฐ๋ฅ์ฑ ๊ฐํ
๐งฉ ๊ฒฐ๋ก : ํ๋ซํผ์ ์ค์์ฑโ
์ด ๋ชจ๋ ๊ณผ์ ์ ์ํํ๊ฒ ์ํํ๊ธฐ ์ํด, ๋ฐฑ์๋ Vertex AI์ ์ญํ ์ ๊ฐ์กฐํ๋ค. Vertex๋ ๋ค์๊ณผ ๊ฐ์ ํตํฉ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค:
- ๋ชจ๋ธ ํ์(Model Garden)
- ํ๋กฌํํธ ์ค๊ณ(Generative Studio)
- ๋ฐ์ดํฐ ๊ด๋ฆฌ(BigQuery, Feature Store)
- ํ๊ฐ ๋ฐ ๊ฑฐ๋ฒ๋์ค(Metadata, Datalex)
- Agent Builder ๋ฐ Langchain ํตํฉ
โVertex AI๋ ์์ฑํ AI๋ฅผ ํ๋ก๋์ ์์ค์ผ๋ก ํ์ฅํ ์ ์๋ ํตํฉ ํ๋ซํผ์ด๋ค.โ
๐ง ์๊ฐ๊ฑฐ๋ฆฌโ
์์ฑํ AI์ Agent Ops์ ๋น ๋ฅธ ๋ฐ์ ์๋ ์์์, ์์ผ๋ก ์ด๋ค ์๋ก์ด MLOps ๊ณผ์ ๋ค์ด ๋ฑ์ฅํ ๊น? ๊ทธ๋ฆฌ๊ณ ํ๋ซํผ์ ์ด๋ป๊ฒ ์งํํด์ผ ํ ๊น?
์ง๊ธ์ ๋จ์ ๋ชจ๋ธ ์ฑ๋ฅ์ด ์๋๋ผ, ์ ์ฒด ์์คํ ์ ์ด์ํ๊ณ ์งํ์ํฌ ์ ์๋ ๋ฅ๋ ฅ์ด ์ค์ํ ์๋๋ค.