๊ถŒ์žฅ์‚ฌํ•ญ: GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Cloud Run์˜ AI ์ถ”๋ก 

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์— ์ค‘์ ์„ ๋‘๊ณ  AI ์ถ”๋ก ์šฉ GPU์™€ ํ•จ๊ป˜ Cloud Run ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ™•์žฅ ์ด๋ฒคํŠธ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” Cloud Run ์„œ๋น„์Šค๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น ๋ฅด๊ฒŒ ๋กœ๋“œ๋˜๊ณ  GPU ์ง€์› ๊ตฌ์กฐ๋กœ ์ตœ์†Œํ•œ์˜ ๋ณ€ํ™˜์ด ํ•„์š”ํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋กœ๋“œ ๋ฐฉ๋ฒ•์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ตœ๋Œ€์˜ ํšจ์œจ์ ์ธ ๋™์‹œ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋น„์šฉ์„ ๋‚ฎ์ถ”๋ฉด์„œ ์ดˆ๋‹น ๋ชฉํ‘œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ GPU ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud Run์—์„œ ๋Œ€๊ทœ๋ชจ ML ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๋Š” ๋ฐ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•

Google์€ ML ๋ชจ๋ธ์„ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋‚ด์— ์ €์žฅํ•˜๊ฑฐ๋‚˜ Cloud Storage์—์„œ ๋กœ๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

ML ๋ชจ๋ธ ์ €์žฅ๊ณผ ๋กœ๋“œ์˜ ์žฅ๋‹จ์ 

๋‹ค์Œ์€ ์˜ต์…˜์„ ๋น„๊ตํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ธ ์œ„์น˜ ๋ฐฐํฌ ์‹œ๊ฐ„ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์‹œ๊ฐ„ ์ €์žฅ์†Œ ๋น„์šฉ
์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋А๋ฆฝ๋‹ˆ๋‹ค. ๋Œ€ํ˜• ๋ชจ๋ธ์ด ํฌํ•จ๋œ ์ด๋ฏธ์ง€๋ฅผ Cloud Run์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์žฌ๋ฐฐํฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋Œ€ํ˜• ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ดˆ๋Œ€ํ˜• ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์€ ๋†’์ง€๋งŒ ์„ฑ๋Šฅ์€ ์ €ํ•˜๋˜๋Š” Cloud Storage๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Artifact Registry์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‚ฌ๋ณธ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Cloud Storage FUSE ๋ณผ๋ฅจ ๋งˆ์šดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ๋œ Cloud Storage ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์ค‘์— ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ์„ค์ •์ด ์–ด๋ ต์ง€ ์•Š์œผ๋ฉฐ Docker ์ด๋ฏธ์ง€๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ณ‘๋ ฌํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ๋ณธ 1๊ฐœ๊ฐ€ Cloud Storage์— ์žˆ์Šต๋‹ˆ๋‹ค.
Transfer Manager ๋™์‹œ ๋‹ค์šด๋กœ๋“œ ์ฝ”๋“œ ์ƒ˜ํ”Œ์— ํ‘œ์‹œ๋œ ๋Œ€๋กœ Google Cloud CLI ๋ช…๋ น์–ด gcloud storage cp ๋˜๋Š” Cloud Storage API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ์— ๋‹ค์šด๋กœ๋“œ๋œ Cloud Storage. ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์ค‘์— ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. Cloud Storage API๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด๋ฏธ์ง€์— Google Cloud CLI๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์„ค์ •์ด ์•ฝ๊ฐ„ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค. Google Cloud CLI๋Š” ๋ชจ๋ธ ํŒŒ์ผ์„ ๋™์‹œ์— ๋‹ค์šด๋กœ๋“œํ•˜๋ฏ€๋กœ FUSE ๋งˆ์šดํŠธ๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค. ์‚ฌ๋ณธ 1๊ฐœ๊ฐ€ Cloud Storage์— ์žˆ์Šต๋‹ˆ๋‹ค.
์ธํ„ฐ๋„ท ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์ค‘์— ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค(๋งŽ์€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ค‘์•™ ์ €์žฅ์†Œ์—์„œ ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค). ์ผ๋ฐ˜์ ์œผ๋กœ ํ’ˆ์งˆ์ด ๋‚ฎ๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ดˆ๊ธฐํ™” ์ค‘์— ๋ชจ๋ธ ๋ณ€ํ™˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋นŒ๋“œ ์‹œ๊ฐ„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ).
  • ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ ํ˜ธ์ŠคํŠธ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํšจ์œจ์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋„ท์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์•ˆ์ •์„ฑ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ ๋Œ€์ƒ์ด ๋‹ค์šด๋˜๋ฉด ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์šด๋กœ๋“œ๋œ ๊ธฐ๋ณธ ๋ชจ๋ธ์ด ๋ณ€๊ฒฝ๋˜์–ด ํ’ˆ์งˆ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์ฒด Cloud Storage ๋ฒ„ํ‚ท์—์„œ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
๋ชจ๋ธ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์— ๋ชจ๋ธ ์ €์žฅ

Cloud Run์— ๋ฐฐํฌ๋œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์— ML ๋ชจ๋ธ์„ ์ €์žฅํ•˜๋ฉด ์ถ”๊ฐ€ ๋„คํŠธ์›Œํฌ ์ตœ์ ํ™” ์—†์ด ํŒŒ์ผ ๋กœ๋“œ ์‹œ๊ฐ„์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” Cloud Run์˜ ๊ธฐ๋ณธ ์ œ๊ณต ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ŠคํŠธ๋ฆฌ๋ฐ ์ตœ์ ํ™”์˜ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ML ๋ชจ๋ธ์ด ํฌํ•จ๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋‹ค์†Œ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Cloud Build๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋” ํฐ ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋น ๋ฅด๊ฒŒ ๋นŒ๋“œํ•˜๋„๋ก Cloud Build๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„์˜ ๋นŒ๋“œ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'IMAGE', '.']
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', 'IMAGE']
images:
- IMAGE
options:
 machineType: 'E2_HIGHCPU_32'
 diskSizeGb: '500'
 

๋ชจ๋ธ์„ ํฌํ•จํ•˜๋Š” ๋ ˆ์ด์–ด๊ฐ€ ์ด๋ฏธ์ง€ ๊ฐ„์— ๊ณ ์œ ํ•œ ๊ฒฝ์šฐ(๋‹ค๋ฅธ ํ•ด์‹œ) ์ด๋ฏธ์ง€๋‹น ํ•˜๋‚˜์˜ ๋ชจ๋ธ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ ˆ์ด์–ด๊ฐ€ ๊ฐ ์ด๋ฏธ์ง€๋งˆ๋‹ค ๊ณ ์œ ํ•œ ๊ฒฝ์šฐ ์ด๋ฏธ์ง€๋‹น ๋ชจ๋ธ ์‚ฌ๋ณธ์ด ํ•˜๋‚˜์”ฉ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Artifact Registry ๋น„์šฉ์ด ์ถ”๊ฐ€๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud Storage์— ๋ชจ๋ธ ์ €์žฅ

Cloud Storage ๋ณผ๋ฅจ ๋งˆ์šดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ Cloud Storage API ๋˜๋Š” ๋ช…๋ น์ค„์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜์—ฌ Cloud Storage์—์„œ ML ๋ชจ๋ธ์„ ๋กœ๋“œํ•  ๋•Œ ML ๋ชจ๋ธ ๋กœ๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด ๋น„๊ณต๊ฐœ Google ์•ก์„ธ์Šค์™€ ํ•จ๊ป˜ ์ด๊ทธ๋ ˆ์Šค ์„ค์ • ๊ฐ’์„ all-traffic์œผ๋กœ ์„ค์ •ํ•œ ์ง์ ‘ VPC๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท์—์„œ ๋ชจ๋ธ ๋กœ๋“œ

์ธํ„ฐ๋„ท์—์„œ ML ๋ชจ๋ธ ๋กœ๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด ์ด๊ทธ๋ ˆ์Šค ์„ค์ • ๊ฐ’์„ all-traffic์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ VPC ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜๊ณ  Cloud NAT๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋†’์€ ๋Œ€์—ญํญ์œผ๋กœ ๊ณต๊ฐœ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œ, ๋ฐฐํฌ, ๋Ÿฐํƒ€์ž„, ์‹œ์Šคํ…œ ๋””์ž์ธ ๊ณ ๋ ค์‚ฌํ•ญ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ๋นŒ๋“œ, ๋ฐฐํฌ, ๋Ÿฐํƒ€์ž„, ์‹œ์Šคํ…œ ์„ค๊ณ„์— ๋Œ€ํ•œ ๊ณ ๋ ค์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œ ์‹œ๊ฐ„

๋‹ค์Œ ๋ชฉ๋ก์€ ๋นŒ๋“œ๋ฅผ ๊ณ„ํšํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  • ์ ์ ˆํ•œ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ค‘์ธ ML ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด Deep Learning Containers ๋˜๋Š” NVIDIA Container Registry์˜ ์ด๋ฏธ์ง€๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฏธ์ง€์—๋Š” ์ตœ์‹  ์„ฑ๋Šฅ ๊ด€๋ จ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค์Šคํ…€ ์ด๋ฏธ์ง€ ๋งŒ๋“ค๊ธฐ๋Š” ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ ํ’ˆ์งˆ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๊ณ  ์ž…์ฆํ•  ์ˆ˜ ์—†๋Š” ํ•œ ๋™์‹œ ์‹คํ–‰์„ ์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด 4๋น„ํŠธ ์–‘์žํ™” ๋ชจ๋ธ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์–‘์žํ™”๋Š” ๋” ์ž‘๊ณ  ๋น ๋ฅธ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ GPU ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘์„ ์ค„์ด๊ณ  ๋Ÿฐํƒ€์ž„์— ๋ณ‘๋ ฌ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ ํƒ€๊ฒŸ ๋น„ํŠธ ์‹ฌ๋„๋กœ ์–‘์žํ™”ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ํƒ€๊ฒŸ ๋น„ํŠธ ์‹ฌ๋„๋กœ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.
  • GGUF์™€ ๊ฐ™์ด ๋กœ๋“œ ์‹œ๊ฐ„์ด ์งง์•„ ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ชจ๋ธ ํ˜•์‹์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜•์‹์€ ํƒ€๊ฒŸ ์–‘์žํ™” ์œ ํ˜•์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•˜๋ฉฐ GPU์— ๋กœ๋“œํ•  ๋•Œ ๋ณ€ํ™˜์ด ์ ๊ฒŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋ ค๋ฉด ํ”ผํด ํ˜•์‹ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
  • ๋นŒ๋“œ ์‹œ LLM ์บ์‹œ๋ฅผ ๋งŒ๋“ค๊ณ  ์›œํ•ฉ๋‹ˆ๋‹ค. Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ๋นŒ๋“œ ๋จธ์‹ ์—์„œ LLM์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ์บ์‹ฑ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ณ  ์ผ๋ฐ˜ ๋˜๋Š” ์˜ˆ์‹œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ”ผ๋“œํ•˜์—ฌ ์‹ค์ œ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์บ์‹œ๋ฅผ ์›œํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ์ถœ๋ ฅ์„ ์ €์žฅํ•˜์—ฌ ๋Ÿฐํƒ€์ž„์— ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ ์‹œ๊ฐ„ ์ค‘ ์ƒ์„ฑํ•˜๋Š” ์ž์ฒด ์ถ”๋ก  ๋ชจ๋ธ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ €์žฅ๋œ ๋ชจ๋ธ์˜ ํšจ์œจ์„ฑ์ด ๋‚ฎ์€ ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์‹œ ์–‘์žํ™”์™€ ๊ฐ™์€ ๋ณ€ํ™˜์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌ ์‹œ

๋‹ค์Œ ๋ชฉ๋ก์€ ๋ฐฐํฌ๋ฅผ ๊ณ„ํšํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  1. Cloud Run์—์„œ ์„œ๋น„์Šค ๋™์‹œ ์‹คํ–‰์„ ์ •ํ™•ํ•˜๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ์‹œ์ž‘ ํ”„๋กœ๋ธŒ๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ ํ”„๋กœ๋ธŒ๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์ˆ˜๋ฝํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ํ”„๋กœ๋ธŒ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ๋Š” ๋‹ค์Œ ์ฃผ์š” ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์„ธ์š”.

  • ์ ์ ˆํ•œ ์‹œ์ž‘ ์‹œ๊ฐ„: ๋ชจ๋ธ์„ ํฌํ•จํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์™„์ „ํžˆ ์ดˆ๊ธฐํ™”๋˜๊ณ  ๋กœ๋“œ๋˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ์ค€๋น„ ํ™•์ธ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์„ ๋•Œ๋งŒ ํ†ต๊ณผํ•˜๋„๋ก ํ”„๋กœ๋ธŒ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋น™ ์—”์ง„์€ ๋ชจ๋ธ์ด GPU ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ๋•Œ ์ด๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์กฐ๊ธฐ ์š”์ฒญ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Ollama๋Š” ๋ชจ๋ธ์ด ๋กœ๋“œ๋˜๊ธฐ ์ „์— TCP ํฌํŠธ๋ฅผ ์—ด ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  • ๋ชจ๋ธ ๋ฏธ๋ฆฌ ๋กœ๋“œ: ์‹œ์ž‘ ์ค‘์— ๋ชจ๋ธ์„ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์•ˆ๋‚ด๋Š” Ollama ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋Ÿฐํƒ€์ž„

  • ์ง€์›๋˜๋Š” ์ปจํ…์ŠคํŠธ ๊ธธ์ด๋ฅผ ์ ๊ทน์ ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ง€์›ํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์ฐฝ์ด ์ž‘์„์ˆ˜๋ก ๋” ๋งŽ์€ ์ฟผ๋ฆฌ๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋ฐฉ๋ฒ•์€ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ ์‹œ๊ฐ„์— ์ƒ์„ฑํ•œ LLM ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ๋ฐ ํ”„๋ฆฌํ”ฝ์Šค ์บ์‹œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋นŒ๋“œ ์‹œ๊ฐ„ ์ค‘์— ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฉ๊ธˆ ์ž‘์„ฑํ•œ ์ €์žฅ๋œ ๋ชจ๋ธ์—์„œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋กœ๋“œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋น„๊ต๋Š” ๋ชจ๋ธ ์ €์žฅ๊ณผ ๋ชจ๋ธ ๋กœ๋“œ์˜ ์žฅ๋‹จ์ ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์–‘์žํ™”๋œ ํ‚ค-๊ฐ’ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฟผ๋ฆฌ๋‹น ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ค„์–ด๋“ค๊ณ  ๋™์‹œ ๋กœ๋“œ๋ฅผ ๋” ๋งŽ์ด ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ’ˆ์งˆ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ๊ฐ€์ค‘์น˜, ํ™œ์„ฑํ™”, ํ‚ค-๊ฐ’ ์บ์‹œ๋ฅผ ์œ„ํ•ด ์˜ˆ์•ฝํ•  GPU ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์ตœ๋Œ€ํ•œ ๋†’๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋ ˆ์ž„์›Œํฌ์— ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ชจ๋ธ ๋กœ๋“œ ๋™์‹œ ๋กœ๋“œ ์‚ฌ์šฉ).
  • ์„œ๋น„์Šค ์ฝ”๋“œ ๋‚ด์—์„œ ๋™์‹œ ์‹คํ–‰์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์ฝ”๋“œ๊ฐ€ Cloud Run ์„œ๋น„์Šค ๋™์‹œ ์‹คํ–‰ ์„ค์ •๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ๋””์ž์ธ ์ˆ˜์ค€

  • ์ ์ ˆํ•œ ์œ„์น˜์— ์‹œ๋งจํ‹ฑ ์บ์‹œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ๋Š” ์ „์ฒด ์ฟผ๋ฆฌ์™€ ์‘๋‹ต์„ ์บ์‹ฑํ•˜์—ฌ ์ผ๋ฐ˜์ ์ธ ์ฟผ๋ฆฌ์˜ ๋น„์šฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋ฆฌ์•ฐ๋ธ”์˜ ๋ถ„์‚ฐ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ์บ์‹œ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ํฌํ•จ๋œ ๊ฒฝ์šฐ์—๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ๋Š” ์‚ฌ์‹ค์ƒ ํ”„๋ฆฌํ”ฝ์Šค ์บ์‹œ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์‹œํ€€์Šค์— ์‚ฝ์ž… ๋˜๋Š” ์ˆ˜์ •์ด ์žˆ์œผ๋ฉด ์บ์‹œ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์ผ๋ถ€๋งŒ ํ‘œ์‹œ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

์ž๋™ ํ™•์žฅ ๋ฐ GPU

๊ธฐ๋ณธ Cloud Run ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Cloud Run์€ CPU ์‚ฌ์šฉ๋ฅ  ๋ฐ ์š”์ฒญ ๋™์‹œ ์‹คํ–‰๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋ฒ„์ „์˜ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Cloud Run์€ GPU ์‚ฌ์šฉ๋ฅ ์„ ๊ธฐ์ค€์œผ๋กœ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ํ™•์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

GPU๊ฐ€ ํฌํ•จ๋œ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ ๋ฒ„์ „์— ์ƒ๋‹นํ•œ CPU ์‚ฌ์šฉ๋Ÿ‰์ด ์—†์œผ๋ฉด ์š”์ฒญ ๋™์‹œ ์‹คํ–‰์„ ์œ„ํ•ด Cloud Run์ด ์ˆ˜ํ‰ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ๋™์‹œ ์‹คํ–‰์„ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์„น์…˜์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ตœ์ ์˜ ์ธ์Šคํ„ด์Šค๋‹น ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์ˆ˜๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค๋‹น ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์ˆ˜

์ธ์Šคํ„ด์Šค๋‹น ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์ˆ˜ ์„ค์ •์€ Cloud Run์ด ๋‹จ์ผ ์ธ์Šคํ„ด์Šค์— ํ•œ ๋ฒˆ์— ์ „์†กํ•˜๋Š” ์ตœ๋Œ€ ์š”์ฒญ ์ˆ˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ธ์Šคํ„ด์Šค ๋‚ด๋ถ€์˜ ์ฝ”๋“œ๊ฐ€ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋™์‹œ ์‹คํ–‰๊ณผ ์ผ์น˜ํ•˜๋„๋ก ๋™์‹œ ์‹คํ–‰์„ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ตœ๋Œ€ ๋™์‹œ ์‹คํ–‰ ๋ฐ AI ์›Œํฌ๋กœ๋“œ

๊ฐ ์ธ์Šคํ„ด์Šค์˜ GPU์—์„œ AI ์ถ”๋ก  ์›Œํฌ๋กœ๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ฝ”๋“œ๊ฐ€ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋™์‹œ ์‹คํ–‰์€ ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๊ตฌํ˜„ ์„ธ๋ถ€์ •๋ณด์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ตœ์ ์˜ ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์„ค์ •์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

  • GPU์— ๋กœ๋“œ๋œ ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค ์ˆ˜
  • ๋ชจ๋ธ๋‹น ๋ณ‘๋ ฌ ์ฟผ๋ฆฌ ์ˆ˜
  • ์ผ๊ด„ ์ฒ˜๋ฆฌ ์‚ฌ์šฉ
  • ํŠน์ • ๋ฐฐ์น˜ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜
  • ๋น„ GPU ์ž‘์—…์˜ ์–‘

์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋†’๊ฒŒ ์„ค์ •๋˜๋ฉด ์š”์ฒญ์ด GPU์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด ์ธ์Šคํ„ด์Šค ๋‚ด์—์„œ ๋Œ€๊ธฐํ•˜๊ฒŒ ๋˜์–ด ์ง€์—ฐ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋‚ฎ๊ฒŒ ์„ค์ •๋˜๋ฉด GPU๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•„ Cloud Run์—์„œ ํ•„์š” ์ด์ƒ์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ˆ˜ํ‰ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AI ์›Œํฌ๋กœ๋“œ์˜ ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€๋žต์ ์ธ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

(Number of model instances * parallel queries per model) + (number of model instances * ideal batch size)

์˜ˆ๋ฅผ ๋“ค์–ด ์ธ์Šคํ„ด์Šค๊ฐ€ GPU์— 3 ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋กœ๋“œํ•˜๊ณ  ๊ฐ ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค๊ฐ€ 4 ๋ณ‘๋ ฌ ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด์ƒ์ ์ธ ๋ฐฐ์น˜ ํฌ๊ธฐ๋Š” ๊ฐ ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ‘๋ ฌ ์ฟผ๋ฆฌ ์ˆ˜์ธ 4์ž…๋‹ˆ๋‹ค. ๋Œ€๋žต์ ์ธ ๊ฐ€์ด๋“œ๋ผ์ธ์— ๋”ฐ๋ผ ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ 24: (3 * 4) + (3 * 4)๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ˆ˜์‹์€ ๊ฒฝํ—˜์— ๊ธฐ๋ฐ˜ํ•œ ๊ทœ์น™์ผ ๋ฟ์ด๋ผ๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ์ด์ƒ์ ์ธ ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์„ค์ •์€ ๊ตฌํ˜„์˜ ์„ธ๋ถ€์‚ฌํ•ญ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์‹ค์ œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ์–ป์œผ๋ ค๋ฉด ๋‹ค์–‘ํ•œ ์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ ์„ค์ •์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธํ•˜์—ฌ ๊ฐ€์žฅ ์‹ค์ ์ด ์ข‹์€ ์˜ต์…˜์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ฒ˜๋ฆฌ๋Ÿ‰, ์ง€์—ฐ ์‹œ๊ฐ„, ๋น„์šฉ ์ ˆ์ถฉ

์ตœ๋Œ€ ๋™์‹œ ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋Ÿ‰, ์ง€์—ฐ ์‹œ๊ฐ„, ๋น„์šฉ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ์ฒ˜๋ฆฌ๋Ÿ‰, ์ง€์—ฐ ์‹œ๊ฐ„, ๋น„์šฉ ์ ˆ์ถฉ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  Cloud Run ์„œ๋น„์Šค์—๋Š” ์ธ์Šคํ„ด์Šค ๊ธฐ๋ฐ˜ ๊ฒฐ์ œ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.