Skip to main content

๐Ÿš€ 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๋‹จ๊ณ„ ๋ผ์ดํ”„์‚ฌ์ดํด๋กœ ๋‚˜๋ˆˆ๋‹ค:

  1. Discover: ์ ์ ˆํ•œ ๋ชจ๋ธ ํƒ์ƒ‰
  2. Develop & Experiment: ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„ ๋ฐ ๋ฐ˜๋ณต ์‹คํ—˜
  3. Evaluate: ํ‰๊ฐ€ ์ž๋™ํ™” ๋ฐ ํ’ˆ์งˆ ์ธก์ •
  4. Deploy: ์šด์˜ ํ™˜๊ฒฝ ๋ฐฐํฌ ๋ฐ ํ†ตํ•ฉ
  5. 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 ๊ณผ์ œ๋“ค์ด ๋“ฑ์žฅํ• ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ํ”Œ๋žซํผ์€ ์–ด๋–ป๊ฒŒ ์ง„ํ™”ํ•ด์•ผ ํ• ๊นŒ?

์ง€๊ธˆ์€ ๋‹จ์ˆœ ๋ชจ๋ธ ์„ฑ๋Šฅ์ด ์•„๋‹ˆ๋ผ, ์ „์ฒด ์‹œ์Šคํ…œ์„ ์šด์˜ํ•˜๊ณ  ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์ค‘์š”ํ•œ ์‹œ๋Œ€๋‹ค.