Google Cloud๊ฐ Vertex AI ํ๋ซํผ์ ์ฌ์ฉํ์ฌ Vision Transformer ๋ชจ๋ธ์ Kubernetes ๋๋น ์ฝ๋๋ ๋ํญ ๊ฐ์๋ก ๋ฐฐํฌ
Deploying ๐ค ViT on Vertex AI
AI ์์ฝ
Context
Vision Transformer ๋ชจ๋ธ์ ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌํ ๋ ๋ก์ปฌ TensorFlow Serving๊ณผ Kubernetes ํด๋ฌ์คํฐ ๋ฐฐํฌ๋ ๊ฐ๊ฐ ํ์ฅ์ฑ๊ณผ ๊ด๋ฆฌ ๋ณต์ก๋ ํธ๋ ์ด๋์คํ๋ฅผ ์ผ๊ธฐํ๋ค. ๋ ๋ฐฉ์ ๋ชจ๋ ์๋นํ ์ธํ๋ผ ๊ด๋ฆฌ์ ์ค์ ์ด ํ์ํ๋ค.
Technical Solution
- Vision Transformer B/16 ๋ชจ๋ธ์ SavedModel ํ์์ผ๋ก ์ง๋ ฌํํ๋, base64 ์ธ์ฝ๋ฉ๋ ์ด๋ฏธ์ง ์ ๋ ฅ์ ๋ฐ์ 224x224 ๋ฆฌ์ฌ์ด์ฆ ๋ฐ [-1, 1] ๋ฒ์ ์ ๊ทํ๋ฅผ ๋ด์ฅ: ์๋น-ํ์ต ๊ฐ ์ฐจ์ด ์ต์ํ
- Google Cloud Storage(GCS) ๋ฒํท์ ๋ชจ๋ธ ์ํฐํฉํธ ์ ์ฅ: ์ค์ํ๋ ๋ชจ๋ธ ์ ์ฅ์ ๊ตฌํ
- Vertex AI Model Registry์ SavedModel ์ ๋ก๋: ๋ชจ๋ธ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๊ณ ๊ฐ์ฉ์ฑ ๋ณด์ฅ
- Vertex AI Endpoint ์์ฑ ๋ฐ ๋ฐฐํฌ: ์๋ ํธ๋ํฝ ๊ธฐ๋ฐ ์คํ ์ค์ผ์ผ๋ง, ๋ฒ์ ๊ฐ ํธ๋ํฝ ๋ถ์ฐ, ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น ์ง์
- google-cloud-aiplatform Python SDK ํ์ฉํ์ฌ 4๋จ๊ณ ๋ฐฐํฌ ์ํฌํ๋ก์ฐ ๊ตฌํ: ModelServiceClient, EndpointServiceClient, PredictionServiceClient๋ก ๋ชจ๋ธ ์ ๋ก๋, ์๋ํฌ์ธํธ ์์ฑ, ๋ฐฐํฌ, ์์ธก ์์ฒญ ์ฒ๋ฆฌ
- n1-standard-8 ๋จธ์ ํ์ (8 vCPU, 32GB RAM) + NVIDIA_TESLA_T4 GPU ์ฌ์ฉ
Impact
Vertex AI ๋ฐฐํฌ๊ฐ Kubernetes ๊ธฐ๋ฐ ๋ฐฐํฌ ๋๋น "ํ์ ํ ์ ์ ์ฝ๋"๋ก ๋์ผํ ํ์ฅ์ฑ ์์ค ๋ฌ์ฑ.
Key Takeaway
Vertex AI๋ ์ ์ธ์ ์ค์ ๊ธฐ๋ฐ ๋ฐฐํฌ๋ฅผ ํตํด ์ธํ๋ผ ๊ด๋ฆฌ ๋ณต์ก๋๋ฅผ ์ ๊ฑฐํ๋ฉด์, ์ธ์ฆ, ์คํ ์ค์ผ์ผ๋ง, ๋ชจ๋ธ ๋ฒ์ ๊ด๋ฆฌ, ํธ๋ํฝ ๋ถ์ฐ, ๋ชจ๋ํฐ๋ง ๋ฑ ML ์ด์์ ํ์์ ์ธ ๊ธฐ๋ฅ์ ํตํฉ ์ ๊ณตํ๋ค. Vision Transformer๋ฟ ์๋๋ผ SegFormer ๊ฐ์ ์ต์ ๋ชจ๋ธ๋ ๋์ผ ์ํฌํ๋ก์ฐ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ๋ค.
์ค์ฒ ํฌ์ธํธ
TensorFlow ๊ธฐ๋ฐ Vision ๋ชจ๋ธ์ ํ๋ก๋์ ์ ๋ฐฐํฌํ๋ ML ์์ง๋์ด๋ Vertex AI๋ฅผ ์ ํํ๋ฉด SavedModel์ ์ ์ฒ๋ฆฌ/ํ์ฒ๋ฆฌ๋ฅผ ๋ด์ฅํ ํ GCS์ ์ ์ฅํ๊ณ , google-cloud-aiplatform SDK์ 4๋จ๊ณ API(๋ชจ๋ธ ์ ๋ก๋ โ ์๋ํฌ์ธํธ ์์ฑ โ ๋ฐฐํฌ โ ์์ธก ์์ฒญ)๋ก ๊ตฌํํ์ฌ Kubernetes ๊ด๋ฆฌ ์ค๋ฒํค๋ ์์ด ์๋ ์ค์ผ์ผ๋ง ๋ฐ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ ํ๋ณดํ ์ ์๋ค.