머신러닝 구현

Last reviewed 2023-08-23 UTC

Google Cloud 아키텍처 프레임워크의 이 문서에서는 Google Cloud 데이터 분석과 관련된 핵심 원칙과 권장사항을 설명합니다. 주요 AI 및 머신러닝(ML) 서비스가 무엇이고 AI 및 ML 수명 주기의 각 단계에서 어떤 도움을 얻을 수 있는지 알아보세요. 이러한 권장사항은 AI 및 ML 요구사항을 충족하고 시스템 설계를 만드는 데 도움이 됩니다. 이 문서에서는 사용자가 기본 AI 및 ML 개념에 익숙하다고 가정합니다.

Google Cloud에서 ML 모델을 빌드할 때 개발 프로세스를 단순화하고 오버헤드를 최소화하려면 사용 사례에 맞는 가장 높은 추상화 수준을 고려하세요. 추상화 수준은 시스템을 확인 또는 프로그래밍하는 복잡성 정도에 따라 정의됩니다. 추상화 수준이 높을수록 사용자에게 제공되는 세부정보 수준이 낮아집니다.

비즈니스 요구에 맞게 Google AI 및 ML 서비스를 선택하려면 다음 테이블을 사용합니다.

개성 Google 서비스
비즈니스 사용자 Contact Center AI Insights, Document AI ,Discovery AI, Cloud Healthcare API와 같은 표준 솔루션입니다.
최소한의 ML 경험이 있는 개발자 사전 학습된 API가 비전, 비디오, 자연어와 같은 일반적인 개념적 태스크를 처리합니다. 이러한 API는 사전 학습된 모델에서 지원되며 기본 감지기를 제공합니다. ML 전문 기술 또는 모델 개발 작업 없이 즉시 사용할 수 있습니다. 사전 학습된 API에는 Vision API, Video API, Natural Language API, Speech-to-Text API, Text-to-Speech API, Cloud Translation API가 포함됩니다.
개발자용 생성형 AI Vertex AI Agent Builder를 통해 개발자는 즉시 사용 가능한 기능으로 몇 분 만에 챗봇을 몇 시간 만에 검색엔진을 빌드하고 배포할 수 있습니다. 여러 기능을 엔터프라이즈 워크플로에 결합하려는 개발자는 직접 통합에 Gen App Builder API를 사용할 수 있습니다.
개발자 및 데이터 과학자 AutoML은 고유 이미지, 비디오, 텍스트, 테이블 형식 데이터로 커스텀 모델 개발을 지원합니다. AutoML은 가장 성능이 뛰어난 모델 아키텍처의 Google 모델군을 통한 자동 검색으로 모델 개발을 가속화하므로, 모델을 빌드할 필요가 없습니다. AutoML은 모델 아키텍처 선택, 초매개변수 조정, 학습 및 제공을 위한 머신 프로비저닝 등의 일반적인 태스크를 처리합니다.
데이터 과학자 및 ML 엔지니어 Vertex AI 커스텀 모델 도구는 커스텀 모델 학습 및 제공을 도와주고 ML 워크플로를 운영화합니다. 또한 Compute Engine VM과 같은 자체 관리형 컴퓨팅으로 ML 워크로드를 실행할 수 있습니다.
데이터 과학자 및 머신러닝 엔지니어 Vertex AI의 생성형 AI 지원(genai이라고도 함)은 Google의 대규모 생성형 AI 모델에 액세스할 수 있으므로 AI 기반 애플리케이션에서 모델을 테스트, 조정, 배포할 수 있습니다.
SQL 인터페이스에 익숙한 데이터 엔지니어, 데이터 과학자, 데이터 분석가 BigQuery ML을 통해 BigQuery에 저장된 데이터 위에서 SQL 기반 모델을 개발할 수 있습니다.

주요 서비스

다음 표에서는 AI 및 ML 서비스에 대한 상위 수준의 개요를 제공합니다.

Google 서비스 설명
Cloud StorageBigQuery 머신러닝 데이터 및 아티팩트에 대해 유연한 스토리지 옵션을 제공합니다.
BigQuery ML BigQuery 내에서 제공되는 데이터에서 직접 머신러닝 모델을 빌드할 수 있습니다.
Pub/Sub, Dataflow,
Cloud Data Fusion, Dataproc
일괄 및 실시간 데이터 수집 및 처리를 지원합니다. 자세한 내용은 데이터 분석을 참조하세요.
Vertex AI 데이터 과학자와 머신러닝 엔지니어가 생성형 AI부터 MLOps에 이르는 모든 ML 모델을 생성, 학습, 테스트, 모니터링, 조정, 배포할 수 있는 단일 플랫폼을 제공합니다.

도구에는 다음이 포함됩니다.
Vertex AI Agent Builder 웹사이트 및 기업 데이터 전반에 사용할 수 있는 챗봇 및 검색엔진을 빌드할 수 있습니다.
  • Vertex AI Agent Builder의 대화형 AI는 생성형 AI 기반 챗봇 및 디지털 어시스턴트와의 고객 및 직원 상호작용을 재창조하는 데 도움이 될 수 있습니다. 예를 들어 이러한 도구를 사용하면 채팅 환경 내에서 트랜잭션을 사용 설정하여 단순한 정보 그 이상의 다양한 정보를 제공할 수 있습니다.
  • Vertex AI Agent Builder의 엔터프라이즈 검색을 사용하는 기업은 공개 또는 비공개 웹사이트에서 고객과 직원을 위한 검색 환경을 빌드할 수 있습니다. 고품질 멀티모달 검색 결과를 제공할 뿐만 아니라 엔터프라이즈 검색은 결과를 요약하고 생성형 AI를 사용하여 해당 인용을 제공할 수 있습니다.
Vertex AI의 생성형 AI Google의 대규모 생성 AI 모델에 대한 액세스 권한을 제공하므로 AI 기반 애플리케이션에서 사용할 수 있도록 테스트, 조정, 배포할 수 있습니다. Vertex AI의 생성형 AI는 genai라고도 합니다.
  • 기반 모델이라고도 하는 생성형 AI 모델은 생성하도록 설계된 콘텐츠 유형에 따라 분류됩니다. 이러한 콘텐츠에는 텍스트 및 채팅, 이미지, 코드, 텍스트 임베딩이 포함됩니다.
  • Vertex AI Studio를 사용하면 Google Cloud 콘솔에서 생성형 AI 모델을 신속하게 프로토타입으로 제작하고 테스트할 수 있습니다. 샘플 프롬프트를 테스트하고 고유 프롬프트를 설계하고 기반 모델을 맞춤설정하여 애플리케이션의 요구사항을 충족하는 태스크를 처리할 수 있습니다.
  • Model Tuning - 입력 출력 예시의 데이터 세트로 모델을 조정하여 특정 사용 사례에 맞게 기반 모델을 맞춤설정할 수 있습니다.
  • Model Garden은 엔터프라이즈 지원 기반 모델, 작업별 모델, API를 제공합니다.
사전 학습된 API
AutoML ML 모델을 빌드, 배포, 확장하기 위한 커스텀 모델 도구를 제공합니다. 개발자는 자신의 고유 데이터를 업로드하고 적용 가능한 AutoML 서비스를 사용하여 커스텀 모델을 빌드할 수 있습니다.
  • AutoML Image: 이미지 데이터에 대해 이미지 분류 및 객체 감지를 수행합니다.
  • AutoML Video: 비디오 데이터에 대해 객체 감지, 분류, 작업 인식을 수행합니다.
  • AutoML Text: 텍스트 데이터에 대해 언어 분류, 항목 추출, 감정 분석을 수행합니다.
  • AutoML Translation: 언어 쌍 간의 감지 및 번역을 수행합니다.
  • AutoML Tabular: 회귀, 분류, 예측 모델을 빌드할 수 있습니다. 구조화된 데이터에 사용됩니다.
AI 인프라 AI 가속기를 사용하여 대규모 ML 워크로드를 처리할 수 있습니다. 이러한 가속기를 통해 비용 효율적인 방식으로 딥 러닝 모델 및 머신러닝 모델에 대한 학습 및 추론을 수행할 수 있습니다.

GPU는 딥 러닝 모델에 대한 비용 효율적인 추론 및 수직 확장 또는 수평 확장 학습을 지원할 수 있습니다. Tensor Processing Unit(TPU)은 심층신경망을 학습시키고 실행할 수 있도록 커스텀 빌드된 ASIC입니다.
Dialogflow 대화형 경험을 제공하는 가상 에이전트를 제공합니다.
Contact Center AI 상담사를 위해 Agent Assist 기능이 포함된 자동화되고 인사이트가 지원되는 연락 센터 경험을 제공합니다.
Document AI 대출 및 조달 관련 문서와 같은 특정 문서 유형과 일반적인 문서에 대한 대규모 문서 인식 기능을 제공합니다.
Lending DocAI 주택담보대출 관련 문서 처리를 자동화합니다. 규제 및 규정 준수 요구사항을 지원하면서 처리 시간을 줄이고 데이터 캡처를 효율화합니다.
Procurement DocAI 인보이스 및 영수증 등의 구조화되지 않은 문서를 구조화된 데이터로 변환하여 대규모 조달 데이터 캡처를 자동화하면 운영 효율성을 높이고 고객 경험을 개선하며 정보에 입각한 의사 결정을 지원할 수 있습니다.
권장사항 맞춤설정된 제품 권장사항을 제공합니다.
Healthcare Natural Language AI 의료 문서를 검토 및 분석할 수 있습니다.
Media Translation API 오디오 데이터로부터 실시간 음성 번역을 지원합니다.

데이터 처리

자체 환경에 데이터 처리 권장사항을 적용합니다.

데이터가 ML 요구사항을 충족하는지 확인합니다.

ML에 사용되는 데이터는 데이터 유형에 관계없이 특정 기본 요구사항을 충족해야 합니다. 이러한 요구사항에는 대상을 예측하는 데이터 기능, 학습에 사용되는 데이터와 예측에 사용되는 데이터 사이의 세분성에 대한 일관성, 학습을 위해 정확하게 레이블 지정된 데이터가 포함됩니다. 데이터는 볼륨도 충분해야 합니다. 자세한 내용은 데이터 처리를 참조하세요.

BigQuery에 테이블 형식 데이터 저장

테이블 형식 데이터를 사용하는 경우 모든 데이터를 BigQuery에 저장하고, BigQuery Storage API를 사용하여 여기에서 데이터를 읽을 수 있습니다. API와의 상호작용을 단순화하기 위해서는 데이터를 읽으려는 위치에 따라 다음 추가적인 도구 옵션 중 하나를 사용합니다.

  • Dataflow를 사용하는 경우 BigQuery I/O 커넥터를 사용합니다.
  • TensorFlow 또는 Keras를 사용하는 경우 BigQuery용 tf.data.dataset 리더를 사용합니다.
  • 이미지 또는 비디오와 같은 구조화되지 않은 데이터를 사용하는 경우에는 모든 데이터를 Cloud Storage에 저장하는 것이 좋습니다.

또한 입력 데이터 유형에 따라 사용 가능한 모델 개발 도구가 결정됩니다. 사전 학습된 API, AutoML, BigQuery ML은 특정 이미지, 비디오, 텍스트, 구조화된 데이터 사용 사례에 대해 보다 비용 효율적이고 시간 효율적인 개발 환경을 제공할 수 있습니다.

ML 모델 개발을 위해 데이터가 충분한지 확인

유용한 ML 모델을 개발하기 위해서는 충분한 데이터가 필요합니다. 카테고리를 예측하기 위해 각 카테고리에 권장되는 예시 수는 특성 수의 10배에 해당합니다. 예측할 카테고리가 많을수록 필요한 데이터도 많습니다. 게다가 균형적이지 않은 데이터 세트는 더 많은 데이터를 필요로 합니다. 레이블 지정된 데이터를 충분히 사용할 수 없으면 준지도 학습을 고려하세요.

데이터 세트 크기는 학습 및 제공에도 영향을 줍니다. 데이터 세트가 작으면 Notebooks 인스턴스 내에서 직접 이를 학습시킬 수 있습니다. 분산 학습이 필요한 큰 데이터 세트가 있으면 Vertex AI 커스텀 학습 서비스를 사용합니다. Google이 사용자 데이터로 모델을 학습시키길 원하는 경우에는 AutoML을 사용합니다.

사용할 데이터 준비

잘 준비된 데이터는 모델 개발을 가속화하는 데 도움이 됩니다. 데이터 파이프라인을 구성할 때 일괄 및 스트림 데이터 모두에서 일관적인 결과를 얻을 수 있도록 두 유형의 데이터 모두를 처리할 수 있는지 확인합니다.

모델 개발 및 학습

다음 모델 개발 및 학습 권장사항을 자체 환경에 적용합니다.

관리형 또는 커스텀 학습 모델 개발 선택

모델을 빌드할 때 가능한 한 가장 높은 추상화 수준을 고려하세요. 가능하면 개발 및 학습 태스크가 자동으로 처리되는 AutoML을 사용하세요. 커스텀 학습 모델의 경우에는 자체 관리형 옵션 대신 확장성 및 유연성을 위해 관리형 옵션을 선택합니다. 모델 개발 옵션에 대해 자세히 알아보려면 권장 도구 및 제품 사용을 참조하세요.

Compute Engine VM 또는 Deep Learning VM 컨테이너에 대한 자체 관리형 학습 대신 Vertex AI 학습 서비스를 고려합니다. JupyterLab 환경의 경우 관리형 및 사용자 관리형 JupyterLab 환경을 모두 제공하는 Vertex AI Workbench를 고려하세요. 자세한 내용은 머신 러닝 개발운영화된 학습을 참조하세요.

커스텀 학습 모델에 사전 빌드된 컨테이너 또는 커스텀 컨테이너 사용

Vertex AI의 커스텀 학습된 모델의 경우 머신 러닝 프레임워크 및 프레임워크 버전에 따라 사전 빌드된 컨테이너 또는 커스텀 컨테이너를 사용할 수 있습니다. 사전 빌드된 컨테이너는 특정 TensorFlow, scikit-learn, PyTorch, XGBoost 버전을 위해 생성된 Python 학습 애플리케이션에서 사용할 수 있습니다.

그렇지 않으면 학습 작업을 위해 커스텀 컨테이너를 빌드하도록 선택할 수 있습니다. 예를 들어 사전 빌드된 컨테이너에서 제공되지 않는 Python ML 프레임워크를 사용하여 모델을 학습시키려는 경우 또는 Python 이외의 프로그래밍 언어를 사용해서 학습시키려는 경우 커스텀 컨테이너를 사용합니다. 커스텀 컨테이너에서 학습 애플리케이션 및 모든 종속 항목을 학습 작업을 실행하는 이미지에 사전 설치합니다.

분산 학습 요구사항 고려

분산 학습 요구사항을 고려합니다. TensorFlowPyTorch와 같은 일부 ML 프레임워크를 사용하면 여러 머신에서 동일한 학습 코드를 실행할 수 있습니다. 이러한 프레임워크는 각 머신에 설정된 환경 변수를 기준으로 작업 구분을 자동으로 조정합니다. 다른 프레임워크에는 추가적인 맞춤설정이 필요할 수 있습니다.

다음 단계

AI 및 머신 러닝에 대한 자세한 내용은 다음을 참조하세요.

아키텍처 프레임워크에서 안정성, 운영 우수성, 보안, 개인 정보 보호, 규정 준수 등의 다른 카테고리 살펴보기