엔터프라이즈 AI 시대를 주도하는 구글의 야심작, Vertex AI

Google Cloud의 Vertex AI는 AI모델 개발 및 배포에 집중하는 플랫폼으로 기존 Google Cloud에서 제공하던 AI Platform(ML Engine), AutoML, TensorFlow Enterprise 등 여러 머신러닝 관련 서비스를 하나로 통합·개선하여 2021년 출시되었다. Vertex AI는 다양한 AI 모델을 탐색할 수 있는 모델가든, AI 모델을 유형별로 체험해 볼 수 있는 Vertex AI Studio, 모델 학습 및 실험을 위한 Model development, 모델 배포와 모니터링을 위한 Deploy and use를 핵심 기능으로 제공하고 있다.

Tools / Notebooks

Tools는 Vertex AI 전체 서비스 안내기능을 하는 대시보드, Vertex AI에서 제공하는 200여개 AI 모델의 정보를 조회할 수 있는 모델가든, 머신러닝 컴포넌트들을 연결하여 전체 워크플로우를 구성·실행·관리할 수 있는 파이프라인으로 구성된다. Notebooks는 Jupyter Notebooks[1]기반의 머신러닝 모델 개발·학습·배포 환경으로 인프라 관리 부담 없이 다른 사용자와 간편하게 협업하는 것을 지원하는 Colab Enterprise, AI모델 개발 환경에 대한 세부적인 제어와 광범위한 사용자 정의 옵션을 지원하는 Workbench로 구성된다.

구분

내용

Tools

 대시보드

§  Vertex AI 가이드, 튜토리얼 등 사용안내와 전체 기능별 설명을 볼 수 있는 대시보드 화면

 모델가든

§  Vertex AI에서 제공하는 AI 모델(200여개)을 형식별, 태스크별, 기능별, 제공업체별 등으로 구분하여 검색조회

-  형식(언어, 비전, 테이블 형식, 문서, 음석, 동영상, 멀티모달, 오디오)

-  태스크(생성, 분류, 감지, 추출, 인식, 번역, 임베딩, 세분화 등)

-  제공업체(Google, Salesforce, Meta, Stability AI )

-  기능(Vertex AI Studio, API 사용 가능, 오픈소스, 노트북 지원, 파이프라인 지원, 클릭 한번으로 배포 등)

 파이프라인

§  Vertex AI 파이프라인은 머신러닝 워크플로우를 구성하는 일련의 컴포넌트*(Component)들을 연결하여 정의된 자동화된 실행 흐름. 이러한 컴포넌트들을 연결하여 전체 머신러닝 워크플로우를 구성하고, Vertex AI 파이프라인을 통해 실행하여 재현 가능한 결과를 얻을 수 있음->여러개의 컴포넌트를 순차적으로 실행하는 워크플로우

* 포넌트는 데이터 처리, 모델 훈련, 모델 평가, 모델 배포
특정 작업을 수행하는 독립적인 단위

§  세부기능: ① 파이프라인 생성 및 관리(수정/삭제) ② 파이프라인 목록 및 세부정보 조회파이프라인 실행 및 스케줄링컴포넌트 생성 및 공유 재사용고급기능(파이프라인 버전관리, 모니터링 및 알림, 데이터 추적, 보안 및 접근제어 등)

Notebooks

Colab Enterprise

§  Jupyter 기반 개발 환경

§  공동작업을 위한 관리형 노트북/런타임 환경을 제공

§  Google Colab의 협업 기능을 활용하여 팀원들과 함께 작업

§  노트북 (IPYNB 파일)을 공유하고 다른 사용자와 공동작업 수행

Workbench

§  Jupyter 기반 개발 환경

§  엔터프라이즈급 머신러닝 워크플로우에 최적화되어 있으며, 대규모 데이터 처리, 복잡한 모델 훈련, 모델 배포 및 관리에 필요한 기능을 제공

§  사용자가 인스턴스 유형, 소프트웨어 환경, 네트워크 설정 등 사용환경을 더 세밀하게 제어 가능

Vertex AI Studio

Vertex AI Studio는 사용자가 AI모델을 이용해 결과를 만들어보는 과정을 체험하는 기능으로 프롬프트 만들기, Media Studio, 실시간 스트리밍 등을 통해 AI서비스를 이용할 수 있다. 특히 AI서비스 실행에서 중요한 프롬프트의 샘플을 조회하거나 생성·관리하는 기능을 중점적으로 제공한다. 또한 사전훈련된 AI모델을 추가 학습시키는 ‘조정(Tuning)’도 Vertex AI Studio 하위기능으로 제공중이다.

구분

내용

프롬프트 만들기

§  텍스트, 이미지, 동영상, 문서, 이미지 등을 활용한 프롬프트 생성 및 제출 기능으로 사용자는 프롬프트를 직접 작성하거나 AI로부터 작성 도움을 받을 수 있음

Media Studio

§  텍스트를 이용하여 이미지, 오디오, 음악, 비디오를 생성하는 기능

실시간 스트리밍

§  AI(gemini)와 음성을 통해 실시간으로 대화하는 기능

§  웹캠이나 내 화면을 AI(gemini)와 공유하여 피드백 받기 가능

프롬프트 갤러리

§  AI에 요청 할 프롬프트 샘플을 검색하거나 필터를 통해 제공된 샘플을 조회

-  작업(요약, 번약, 문서생성, 분류, 추출 등)

-  특성(멀티모달(오디오, 문서, 이미지, 텍스트, 동영상 등), 예시 보유, 라이브 스트리밍 등)

-  유형(채팅, 자유유형)

프롬프트 관리

§  사용자가 저장된 자신의 프롬프트를 확인·비교하고 최적화 도구에 액세스하여 프롬프트를 개선

조정

§  사전 훈련된 AI모델(: PaLM 2, Gemini)을 특정 작업이나 데이터 세트에 맞춰 최적화하는 데 사용되는 기능

§  AI모델을 개인 맞춤용으로 학습시키는 과정으로 ①모델조정에 필요한 데이터세트를 준비하고 ②조정할 AI모델을 선택 ③학습 매개변수(학습률, 배치 크기, 학습 스텝 수 등) 설정 ④조정작업(추가학습) 실행 ⑤ 모델 배포 및 사용의 순서로 실행

Agent Builder

Agent Builder는 코딩 없이 시각적인 인터페이스를 통해 챗봇, 가상 비서와 같은 AI 에이전트를 구축하고 관리할 수 있게 지원하는 서비스이다. 에이전트 샘플 및 도구를 조회 할 수 있는 ‘에이전트 가든’, 에이전트를 손쉽게 구축·배포·관리할 수 있는 ‘에이전트 엔진’, 에이전트에 연동되는 검색엔진 구축을 지원하는 ‘Vertex AI Search’, 에이전트용 벡터DB 생성 및 관리를 지원하는 ‘벡터검색’을 하위 서비스로 제공한다.

구분

내용

에이전트 가든

§  공유·선별된 에이전트* 샘플 및 도구(API를 사용하여 에이전트의 기능을 확장하는 모듈식 구성요소)를 제공

* 특정 작업을 수행하기 위해 여러 도구(AI 모델, API, 데이터 소스 등)를 활용하고 조정하는 역할을 하는 소프트웨어 구성 요소

에이전트 엔진

§  에이전트 엔진( Conversational AI)은 코딩 없이 시각적인 인터페이스를 통해 대화형 AI 에이전트를 구축, 배포, 관리할 수 있도록 돕는 Google Cloud의 관리형 서비스

Vertex AI Search

§  웹사이트, 문서, 파일, 데이터베이스 등 대규모 데이터셋을 탐색하여 검색을 수행하는 검색엔진을 구축할 수 있도록 지원하는 서비스

§  Vertex AI Search는 검색어와의 텍스트 매칭뿐만 아니라 벡터화된 데이터베이스를 검색하는 의미적 유사도 분석을 동시에 수행하여 하이브리드 검색을 지원

§  Vertex AI Search Agent Builder를 통해 만들어지는 에이전트와의 연동을 위한 맞춤형 검색 엔진을 빠르게 만들 수 있도록 지원

벡터 검색

§  벡터 검색은 색인과 색인 엔드포인트를 중심으로 구성

-  색인 (Index): 벡터 임베딩된 데이터를 저장하는 데이터베이스. Agent Builder를 통해 생성하거나, 외부에서 생성된 색인을 가져올 수 있음. 색인은 검색 대상이 되는 데이터 (: 문서, 지식 기반 항목)를 벡터 형태로 변환하여 저장하고, 효율적인 유사성 검색을 가능하게 함

-  색인 엔드포인트 (Index Endpoint): 색인에 대한 접근을 관리하고, 검색 요청을 처리. Agent Builder를 통해 배포된 색인 엔드포인트를 통해 LLM이 벡터 검색을 수행하고 결과를 활용할 수 있음

데이터

AI 모델학습에 필요한 데이터세트와 데이터세트에서 추출한 데이터 특징(features)을 저장, 관리, 제공하는 서비스이다.

구분

내용

Feature Store

§  머신러닝 모델을 훈련하고 예측하는 데 사용되는 데이터 특징(features)을 중앙 집중식으로 저장, 관리, 제공하는 서비스(특징을 생성하는 기능은 미포함)

* 데이터 특징(Feature)이란 : AI모델은 원하는 출력 결과를 내기 위해, 해당 출력을 지니는 입력 샘플들을 다른 샘플들로부터 구분해낼 수 있는 능력이 필요. 그 구분을 원활하게 하기 위해, 데이터 샘플을 잘 설명하는 특징feature을 데이터로부터 추출하고 학습

데이터 세트

§  모델 학습에 필요한 데이터 세트(이미지, 테이블, 텍스트, 동영상 등) 생성·업로드·조회·내보내기 하는 기능

모델 개발

모델을 데이터를 기반으로 학습·훈련시켜 개발하는 과정을 지원하는 서비스이다. 모델학습뿐만 아니라 모델 개발의 과정을 기록·추적·비교·분석하는 실험, 모델 및 학습과정의 모든 메타데이터와 계보(Lineage)를 기록하고 관리하는 메타데이터 등이 포함된다.

구분

내용

학습

§  보유한 데이터에 특정 AI 모델을 선택하여 학습옵션을 적용하고 모델학습을 실행,  AI모델이 데이터를 '이해'하고 새로운 데이터에 대해 정확한 예측을 할 수 있도록 훈련하는 핵심 과정

실험

§  머신러닝 모델 개발 과정을 체계적으로 관리하고 추적할 수 있도록 돕는 핵심 기능. 모델개발 시 다양한 아이디어와 설정을 시험해보고 그 결과를 팀동료와 공유 · 비교 · 분석하여 최적의 모델을 찾는 과정을 돕는 도구

메타데이터

§  머신러닝 워크플로우의 전체 라이프사이클에 걸쳐 생성되는 모든 구성 요소(아티팩트, 실행, 컨텍스트, 이벤트)와 그들 간의 관계(계보, Lineage)를 기록, 추적, 쿼리하고 시각화

- 아티팩트: 머신러닝 워크플로우에서 생성되거나 소비되는 실체(. 데이터셋 파일, 모델 파일, 스키마 정보, 평가 지표, 전처리 코드 등)

- 실행: 머신러닝 워크플로우 내 특정단계나 구성요소의 실행기록(. 데이터 유효성 검사 작엄, 모델 학습 작업, 모델 평가 작업, 데이터 전처리 스크립트 실행등)

- 컨텍스트: 아티팩트와 실행을 논리적으로 그룹화하는데 사용(. 특정 파이프라인 실행, 특정 실험 등)

- 이벤트: 실행이 아티팩트를 어떻게 사용했는지(. 입력으로 사용, 출력으로 생성 등) 또는 아티팩트 간 관계 제시

Vertex AI기반 Ray

§  오픈소스 Ray 코드를 사용하여 프로그램을 작성하고 최소한의 변경으로 Vertex AI에서 애플리케이션을 개발. 이미 Vertex AI를 사용 중이고 컴퓨팅 리소스를 관리하는 간단한 방법이 필요한 경우 Ray 코드를 사용하여 학습을 확장 가능

-  (클러스터 만들기 및 관리) Vertex AI 기반 Ray 클러스트 생성 및 관리**

* Ray는 분산/병렬 시스템 프레임워크로, 복잡한 설정 없이도 여러 머신의 리소스를 쉽게 활용하도록 지원. 여러 인스턴스, 노드, GPU에 있는 워크들을 분할하여 병렬처리 할 때 쉽게 할 수 있게 지원

** 클러스터를 만든 후 클러스터에 연결하여 애플리케이션을 개발. 클러스터 모니터링 수행. 불필요 시 클러스터 삭제

배포 및 사용

VERTEX AI를 활용하여 생성한 머신러닝 모델을 등록·배포하고 배포된 모델을 활용하여 실시간·주기적 예측결과를 받을 수 있는 서비스이다. 배포된 모델의 성능 및 데이터 품질을 지속적으로 모니터링 할 수 있는 기능도 포함된다.

.

구분

내용

모델 레지스트리

§   머신러닝 모델의 중앙 집중식 저장소 및 관리 시스템. 배포할 모델 버전이 있는 경우 레지스트리에서 직접 모델을 엔드포인트*에 할당하거나 별칭을 사용하여 엔드포인트에 배포

* 엔드포인트는 배포된 AI 모델에 접근하여 예측 요청을 보내고 그 결과를 받을 수 있는 고유한 네트워크 주소(일반적으로 URL 형태)

온라인 예측

§  학습된 머신러닝 모델을 배포하여 실시간으로 예측을 수행하는 기능. 사용자의 즉각적인 요청이나 이벤트 발생 시, 하나 또는 소수의 데이터 샘플에 대해 낮은 지연 시간(low latency)으로 빠르게 예측 결과를 반환하는 역할 수행

일괄 예측

§  학습된 머신러닝 모델을 배포하여 주기적·비동기적으로 예측을 수행하는 기능. 즉각적인 응답이 필요하지 않고 단일 요청을 사용하여 누적된 데이터를 처리하고 싶은 경우에 일괄 예측을 사용. 대량의 데이터를 한 번에 처리하여 예측을 수행

모니터링

§  배포된 모델의 성능 및 데이터 품질을 지속적으로 모니터링

- (성능 모니터링) 예측 정확도, 지연 시간, 처리량 등 모델 성능 지표를 추적

- (데이터 드리프트 감지) 학습데이터와 예측 시 사용되는 데이터 간 분포 변화를 감지

- (이상 감지) 예측결과 또는 입력데이터에서 예상치 못한 패턴이나 이상값을 감지

- (경고 및 알림) 성능 저하 또는 이상 상황 발생 시 알림을 전송하여 즉각대응 지원

Google Cloud Vertex AI는 AI모델 개발 및 배포에 특화된 플랫폼으로 AI 모델 탐색, 체험, 개발, 배포 및 활용을 위한 기능을 중점적으로 제공하고 있다. 이는 Google이 보유하고 있는 AI 파운데이션 모델(Gemini, Gemma, PaLM, LaMDA, BERT, Imagen, MusicLM 등)을 기업이나 개발자가 자신만의 커스텀 머신러닝 모델으로 효율적으로 생성(학습), 관리, 배포(활용)하고 운영(MLOps)할 수 있도록 지원하는 통합 머신러닝 플랫폼으로서의 역할에 집중하고 있기 때문이다. AI 어플리케이션 개발기능은 MS Azure AI Foundry, AWS Amazon SageMaker, Oepn AI OpenAI API에 비해 상대적으로 약하다고 볼 수 있다. 그러나 개발∙배포된 AI 모델을 API 형태로 제공하여 구글 클라우드의 다른 서비스 또는 외부 애플리케이션/서비스에서 활용할 수 있도록 함으로써 AI 애플리케이션/서비스 개발 생태계를 지원하는 역할을 수행한다.


지금까지 Google Cloud의 Vertex AI에 대해 알아보았다. Google Cloud Vertex AI는 개발자를 위한 플랫폼이지만 코딩 없이도 AI모델을 학습시키고 배포할 수 있으며 Vertex AI Studio를 이용하면 텍스트, 이미지, 동영상, 문서 등 다양한 생성형 AI서비스를 체험할 수 있다. AI 모델탐색과 모델학습, 모델배포, 모델을 이용한 AI서비스 이용 등AI와 관련된 다양한 경험을 원한다면 Google Cloud, Vertex AI를 통해 시작해보는 것이 어떨까?

글 : 투이컨설팅 서지은



[1] 웹브라우저 상에서 Python 코드를 간편하게 편집/실행할 수 있는 오픈소스 기반의 통합개발 환경