개요
인공지능 기술이 필수적인 현 시점에서 모델을 잘 구현하는 것도 중요하지만, 빠르게 학습하고, 배포하고, 빌드하는 과정 또한 잘 갖추어져 있어야 합니다. 모델 개발 이외의 작업을 MLOps의 영역이라고 표현할 수 있으며, 머신러닝 엔지니어들이 직접적으로 다루지 않는 태스크이므로 해당 필드에 인력이 많이 필요한 상황이고 Kubeflow, AWS SageMaker, MLFlow 등의 소프트웨어로 대체하고 있기도 합니다. 이번 포스팅에서는 GCP에서 서비스로 취급하고 있는 VertexAI에 대해 알아보고, 해당 서비스의 핵심 기능에 대해 알아보는 시간을 가지도록 하겠습니다.
Vertex AI 란?
VertexAI는 비전, 자연어처리, 추천시스템 등 모든 분야의 모델을 통합할 수 있고, 빌드 할 수 있으며,
엔드포인트 생성까지 다 담당해주는 AI 솔루션 입니다. 핵심적인 기능은 아래와 같습니다.
- 생성형 AI 모델 및 도구
- 개방형 및 통합형 AI Platform
- 예측 및 생성형 AI를 위한 MLOps
- Search 및 Conversation
- AI 솔루션
즉, 이전에는 사람이 직접 수작업을 통해 해왔던 것이라면 하나의 서비스 콘솔에서 모델을 손쉽게 생성할 수 있고, 실제 배포되고 있는 모델을 업데이트 하거나 API의 형태로 요청을 보낼 수 있게 통합 해주는 역할을 해줍니다. 이를 통해 데이터 전처리, 모델 학습, 모델 평가, 모델 배포의 파이프라인을 유연하게 구성할 수 있으며 자동화를 통한 인력 낭비를 방지할 수 있다는 큰 장점을 지니고 있습니다.
엔드포인트 생성까지 다 담당해주는 AI 솔루션 입니다. 핵심적인 기능은 아래와 같습니다.
- 생성형 AI 모델 및 도구
- 개방형 및 통합형 AI Platform
- 예측 및 생성형 AI를 위한 MLOps
- Search 및 Conversation
- AI 솔루션
즉, 이전에는 사람이 직접 수작업을 통해 해왔던 것이라면 하나의 서비스 콘솔에서 모델을 손쉽게 생성할 수 있고, 실제 배포되고 있는 모델을 업데이트 하거나 API의 형태로 요청을 보낼 수 있게 통합 해주는 역할을 해줍니다. 이를 통해 데이터 전처리, 모델 학습, 모델 평가, 모델 배포의 파이프라인을 유연하게 구성할 수 있으며 자동화를 통한 인력 낭비를 방지할 수 있다는 큰 장점을 지니고 있습니다.
Vertex AI의 핵심 기능
1️⃣ 프로덕션 용도로 모델 배포
실제 모델을 개발했다면 외부 이용자가 사용할 수 있게 공개적으로 배포하는 과정이 필요합니다. 이를 모델 서빙 과정이라고 부르며, VertexAI에서 해당 기능을 제공합니다. 따라서, 모델 개발을 성공적으로 마쳤다면 물리적 리소스가 모델과 빠르게 연결되고 짧은 지연 시간으로 온라인 예측을 제공할 수 있습니다.
동일한 엔드포인트에 둘 이상의 모델을 배포할 수도 있는데요, 해당 기능을 제공하는 이유는 아래와 같습니다.두 개의 모델을 배포 했을 경우 한 모델이 다른 모델로 점진적으로 교체 가능하며, 트래픽 전환을 천천히 진행하게 되면서 유저 경험을 향상 시킬 수 있고, A/B 테스트의 용도로 사용이 가능합니다.
또한, 유저의 트래픽을 감지하여 인스턴스를 확장해야한다고 판단할 경우 CPU 및 GPU의 사용량을 기반으로 자동 확장을 수행할 수 있으며 이를 통해 에러 발생을 방지하고 더 높은 성능으로 유저에게 서빙이 가능하다는 장점 또한 존재합니다.
2️⃣ 모델 관리 중앙 저장소
VertexAI 내에는 Model Registry라는 객체가 존재합니다. 이는, 개발된 모델을 관리하고 저장할 수 있는 온라인 중앙 저장소이며 새로운 버전을 더욱 효과적으로 구성, 추적하고 학습할 수 있습니다. 배포할 모델 버전이 있는 경우 레지스트리에 직접 모델을 엔드포인트에 할당하거나 별칭을 이용해 엔드포인트에 배포할 수 있습니다.
Vertex AI Model Registry에서는 커스텀 모델과 모든 AutoML 데이터 유형(텍스트, 테이블 형식, 이미지, 동영상)을 지원합니다. Model Registry는 BigQuery ML 모델도 지원할 수 있습니다. BigQuery ML에서 학습된 모델이 있으면 Model Registry에 모델을 등록할 수 있습니다.
모델 버전 세부정보 페이지에서 평가하고 엔드포인트에 배포하고 일괄 예측을 설정하며 특정 모델 세부정보를 볼 수 있습니다. Vertex AI Model Registry는 간단하고 간소화된 인터페이스를 제공하므로 최고의 모델을 관리하고 프로덕션에 배포할 수 있습니다.
모델 버전 세부정보 페이지에서 평가하고 엔드포인트에 배포하고 일괄 예측을 설정하며 특정 모델 세부정보를 볼 수 있습니다. Vertex AI Model Registry는 간단하고 간소화된 인터페이스를 제공하므로 최고의 모델을 관리하고 프로덕션에 배포할 수 있습니다.
3️⃣ AI Pipelines을 통한 ML Workflow 관리
Vertex AI Pipelines는 ML 워크플로를 서버리스 방식으로 조정하며 Vertex ML 메타데이터를 사용하여 워크플로의 아티팩트를 저장하여 ML 시스템을 자동화, 모니터링, 제어하는 데 도움이 됩니다. ML 워크플로의 아티팩트를 Vertex ML 메타데이터에 저장하여 워크플로 아티팩트의 계보를 분석할 수 있습니다. 예를 들어 ML 모델의 계보에는 학습 데이터, 초매개변수, 모델을 만드는 데 사용된 코드가 포함될 수 있습니다.
ML 파이프라인을 사용하여 다음 작업을 수행할 수 있습니다.
ML 파이프라인을 사용하여 다음 작업을 수행할 수 있습니다.
- MLOps 전략을 적용하여 반복적인 프로세스를 자동화 및 모니터링합니다.
- 다양한 초매개변수, 학습 단계 또는 반복 횟수 등의 모음과 함께 실행하여 실험합니다.
- 파이프라인의 워크플로를 재사용하여 새 모델을 학습시킵니다.
따라서, 위와 같은 파이프라인을 구성하고 템플릿을 생성하게 되면 재사용 가능한 컴포넌트 형성이 가능하며 모델 학습 및 배포 과정을 자동화 시킬 수 있게 됩니다.
맺음말
지금까지 GCP의 VertexAI가 무엇인지 그리고 그 핵심 기능들에 대해 살펴볼 수 있었습니다. 수동으로 데이터를 전처리하고, 학습하고, 통합하고, 배포하는 시대는 이제 지나갔고 시대의 흐름에 맞게 프로세스의 자동화 및 파이프라이닝으로 효율성을 높여 나가야할 시점에 종착했습니다. 기존 방식이 변경된다는 두려움으로 Vertex AI 도입이 까다롭게 느껴질 수 있겠으나 간단한 기능들 먼저 사용해보면서 자신의 프로젝트에 도입 해보는 건 어떨까요? 감사합니다!