Google Cloud Well-Architected Framework의 이 문서에서는 Google Cloud 에서 운영, 보안, 안정성, 비용, 성능 목표를 충족하는 AI 및 ML 워크로드를 설계, 빌드, 관리하는 데 도움이 되는 원칙과 권장사항을 설명합니다.
이 문서의 대상 독자에는 Google Cloud에서 AI 및 ML 워크로드를 설계, 빌드, 배포, 유지관리하는 의사 결정권자, 설계자, 관리자, 개발자, 운영자가 포함됩니다.
다음 페이지에서는 Well-Architected Framework의 각 필라에 대해 AI 및 ML과 관련된 원칙과 권장사항을 설명합니다.
참여자
저자:
- 벤저민 사딕 | AI 및 ML 전문가 고객 엔지니어
- 샬럿 지스텔링크, PhD | 파트너 엔지니어
- 필리페 그라시오, 박사 | 고객 엔지니어
- 아이작 로 | AI 비즈니스 개발 관리자
- 카밀라 쿠르타 | 생성형 AI/ML 전문가 고객 엔지니어
- 모하메드 파우지 | 베네룩스 보안 및 규정 준수 책임자
- 릭 (루구이) 첸 | AI 인프라 솔루션 설계자
- 산야 당 | AI 솔루션 설계자
기타 참여자:
- 다니엘 리 | 클라우드 보안 설계자
- 게리 하름슨 | 수석 설계자
- Jose Andrade | 엔터프라이즈 인프라 고객 엔지니어
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
- 니콜라스 핀토 | 고객 엔지니어, 애플리케이션 현대화 전문가
- 라디카 카나캄 | 선임 프로그램 관리자, 클라우드 GTM
- 라이언 콕스 | 수석 설계자
- 사만다 헤 | 테크니컬 라이터
- 스테프 루이나드 | 생성형 AI 현장 솔루션 설계자
- 웨이드 홈즈 | 글로벌 솔루션 디렉터
- 자크 세일 | 네트워킹 전문가
AI 및 ML 관점: 운영 우수성
Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 강력한 AI 및 ML 시스템을 빌드하고 운영하기 위한 원칙과 권장사항을 개략적으로 설명합니다. 이러한 권장사항은 관측 가능성, 자동화, 확장성과 같은 기본적인 요소를 설정하는 데 도움이 됩니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 운영 우수성 분야와 일치합니다.
AI 및 ML 도메인 내 운영 우수성은 조직의 전략적 목표를 달성하는 데 도움이 되는 AI 및 ML 시스템과 파이프라인을 원활하게 배포, 관리, 제어하는 능력입니다. 운영 우수성을 통해 변화에 효율적으로 대응하고, 운영 복잡성을 줄이며, 운영이 비즈니스 목표와 일치하도록 할 수 있습니다.
이 문서의 권장사항은 다음 핵심 원칙에 매핑됩니다.
모델 개발을 위한 강력한 기반 구축
비즈니스 목표를 달성하는 데 도움이 되는 확장 가능하고 안정적인 AI 시스템을 개발하고 배포하려면 강력한 모델 개발 기반이 필수적입니다. 이러한 기반을 통해 일관된 워크플로를 지원하고, 오류를 줄이기 위해 중요한 단계를 자동화하며, 수요에 따라 모델을 확장할 수 있습니다. 강력한 모델 개발 기반을 통해 ML 시스템을 원활하게 업데이트, 개선, 재학습할 수 있습니다. 이 토대를 통해 모델의 성능을 비즈니스 요구사항에 맞추고, 영향력 있는 AI 솔루션을 신속하게 배포하고, 변화하는 요구사항에 적응할 수 있습니다.
AI 모델을 개발하기 위한 강력한 기반을 구축하려면 다음 권장사항을 고려하세요.
문제 및 필요한 결과 정의
AI 또는 ML 프로젝트를 시작하기 전에 해결해야 하는 비즈니스 문제와 필요한 결과를 명확하게 이해해야 합니다. 비즈니스 목표의 개요부터 시작하여 목표를 측정 가능한 핵심성과지표 (KPI)로 세분화합니다. Jupyter 노트북 환경에서 문제 정의와 가설을 정리하고 문서화하려면 Vertex AI Workbench와 같은 도구를 사용하세요. 코드와 문서의 버전 관리를 구현하고 프로젝트, 목표, 가정을 문서화하려면 Git과 같은 도구를 사용하세요. 생성형 AI 애플리케이션의 프롬프트를 개발하고 관리하려면 Vertex AI Studio를 사용하면 됩니다.
필요한 데이터 수집 및 전처리
데이터 사전 처리 및 변환을 구현하려면 Dataflow(Apache Beam용), Dataproc(Apache Spark용) 또는 SQL 기반 프로세스가 적합한 경우 BigQuery를 사용하면 됩니다. 스키마를 검증하고 이상치를 감지하려면 TensorFlow Data Validation (TFDV)을 사용하고 해당하는 경우 BigQuery의 자동 데이터 품질 스캔을 활용하세요.
생성형 AI의 경우 데이터 품질에는 정확성, 관련성, 다양성, 필수 출력 특성과의 정렬이 포함됩니다. 실제 데이터가 불충분하거나 불균형한 경우 합성 데이터를 생성하여 모델의 견고성과 일반화를 개선할 수 있습니다. 기존 패턴을 기반으로 합성 데이터 세트를 만들거나 모델 성능을 개선하기 위해 학습 데이터를 보강하려면 BigQuery DataFrames 및 Gemini를 사용하세요. 합성 데이터는 프롬프트 다양성과 전반적인 모델 견고성을 개선하는 데 도움이 되므로 생성형 AI에 특히 유용합니다. 생성형 AI 모델을 미세 조정하기 위한 데이터 세트를 빌드할 때는 Vertex AI의 합성 데이터 생성 기능을 사용하는 것이 좋습니다.
파인 튜닝 또는 인간 피드백 기반 강화 학습 (RLHF)과 같은 생성형 AI 작업의 경우 라벨이 생성된 출력의 품질, 관련성, 안전성을 정확하게 반영하는지 확인하세요.
적절한 ML 접근 방식 선택
모델과 파라미터를 설계할 때는 모델의 복잡성과 컴퓨팅 요구사항을 고려하세요. 분류, 회귀, 생성과 같은 작업에 따라 맞춤 모델 빌드에는 Vertex AI 커스텀 학습을 사용하고 간단한 ML 작업에는 AutoML을 사용하는 것이 좋습니다. 일반적인 애플리케이션의 경우 Vertex AI Model Garden을 통해 사전 학습된 모델에 액세스할 수도 있습니다. 텍스트, 이미지, 코드 생성과 같은 다양한 사용 사례에 최첨단 파운데이션 모델을 실험해 볼 수 있습니다.
특정 사용 사례에 최적의 성능을 달성하기 위해 사전 학습된 기반 모델을 미세 조정하는 것이 좋습니다. 맞춤 학습에서 고성능이 필요한 경우 Cloud 텐서 처리 장치 (TPU) 또는 GPU 리소스를 구성하여 대규모 언어 모델 (LLM) 및 확산 모델과 같은 딥 러닝 모델의 학습 및 추론을 가속화합니다.
코드, 모델, 데이터의 버전 관리 설정
코드 버전을 효과적으로 관리하고 배포하려면 GitHub 또는 GitLab과 같은 도구를 사용하세요. 이러한 도구는 강력한 공동작업 기능, 브랜치 전략, CI/CD 파이프라인과의 통합을 제공하여 간소화된 개발 프로세스를 보장합니다.
다음 예와 같이 적절한 솔루션을 사용하여 ML 시스템의 각 아티팩트를 관리합니다.
- 컨테이너 이미지 및 파이프라인 구성요소와 같은 코드 아티팩트의 경우 Artifact Registry는 보안을 개선하는 데 도움이 되는 확장 가능한 스토리지 솔루션을 제공합니다. Artifact Registry에는 버전 관리 기능도 포함되어 있으며 Cloud Build 및 Cloud Deploy와 통합할 수 있습니다.
- 학습 및 평가에 사용되는 데이터 세트와 같은 데이터 아티팩트를 관리하려면 스토리지 및 버전 관리를 위해 BigQuery 또는 Cloud Storage와 같은 솔루션을 사용하세요.
- 메타데이터와 데이터 위치 포인터를 저장하려면 버전 관리 시스템이나 별도의 데이터 카탈로그를 사용하세요.
특성 데이터의 일관성과 버전 관리를 유지하려면 Vertex AI Feature Store를 사용하세요. 바이너리 및 메타데이터를 비롯한 모델 아티팩트를 추적하고 관리하려면 Vertex AI Model Registry를 사용하세요. 이를 통해 모델 버전을 원활하게 저장, 정리, 배포할 수 있습니다.
모델 안정성을 보장하려면 Vertex AI Model Monitoring을 구현하세요. 프로덕션에서 데이터 드리프트를 감지하고, 성능을 추적하고, 이상치를 식별합니다. 생성형 AI 시스템의 경우 출력 품질 및 안전 규정 준수의 변화를 모니터링합니다.
모델 개발 수명 주기 자동화
자동화를 사용하면 AI 및 ML 수명 주기의 모든 단계를 간소화할 수 있습니다. 자동화는 수동 작업을 줄이고 프로세스를 표준화하여 운영 효율성을 높이고 오류 위험을 낮춥니다. 자동화된 워크플로를 사용하면 반복 속도가 빨라지고, 환경 전반에서 일관된 배포가 가능하며, 결과의 신뢰성이 높아지므로 시스템을 원활하게 확장하고 적응시킬 수 있습니다.
AI 및 ML 시스템의 개발 수명 주기를 자동화하려면 다음 권장사항을 고려하세요.
관리형 파이프라인 조정 시스템 사용
Vertex AI Pipelines를 사용하여 데이터 준비부터 모델 학습, 평가, 배포에 이르기까지 머신러닝 수명 주기의 모든 단계를 자동화하세요. 배포를 가속화하고 프로젝트 전반에서 일관성을 유지하려면 예약된 파이프라인 실행으로 반복 작업을 자동화하고, 실행 측정항목으로 워크플로를 모니터링하고, 표준화된 워크플로를 위한 재사용 가능한 파이프라인 템플릿을 개발하세요. 이러한 기능은 생성형 AI 모델로 확장되며, 생성형 AI 모델에는 프롬프트 엔지니어링, 응답 필터링, human-in-the-loop 평가와 같은 전문적인 단계가 필요한 경우가 많습니다. 생성형 AI의 경우 Vertex AI Pipelines는 생성된 출력을 품질 측정항목 및 안전 가이드라인과 비교하는 평가를 비롯한 이러한 단계를 자동화할 수 있습니다. 프롬프트 다양성과 모델 견고성을 개선하기 위해 자동화된 워크플로에 데이터 증강 기법을 포함할 수도 있습니다.
CI/CD 파이프라인 구현
ML 모델의 빌드, 테스트, 배포를 자동화하려면 Cloud Build를 사용하세요. 이 서비스는 애플리케이션 코드의 테스트 모음을 실행할 때 특히 효과적이며, 이를 통해 인프라, 종속 항목, 모델 패키징이 배포 요구사항을 충족하는지 확인할 수 있습니다.
ML 시스템에는 코드 테스트 외에 추가 단계가 필요한 경우가 많습니다. 예를 들어 다양한 부하에서 모델의 스트레스 테스트를 실행하고, 다양한 데이터 세트에서 모델 성능을 평가하기 위해 대량 평가를 실행하고, 재학습 전에 데이터 무결성을 검증해야 합니다. 스트레스 테스트를 위해 실제 워크로드를 시뮬레이션하려면 Locust, Grafana k6, Apache JMeter와 같은 도구를 사용하면 됩니다. 병목 현상을 식별하려면 Cloud Monitoring을 통해 지연 시간, 오류율, 리소스 사용률과 같은 주요 측정항목을 모니터링하세요. 생성형 AI의 경우 테스트에는 텍스트 품질, 이미지 충실도, 코드 기능과 같이 생성된 콘텐츠 유형에 특화된 평가도 포함되어야 합니다. 이러한 평가에는 언어 모델의 혼란도와 같은 자동화된 측정항목이나 창의성, 안전과 같은 미묘한 측면을 위한 사람 참여 평가가 포함될 수 있습니다.
테스트 및 평가 작업을 구현하려면 Cloud Build를 다른 Google Cloud 서비스와 통합하면 됩니다. 예를 들어 자동화된 모델 평가에는 Vertex AI Pipelines를 사용하고, 대규모 데이터 분석에는 BigQuery를 사용하고, 기능 검증에는 Dataflow 파이프라인 검증을 사용할 수 있습니다.
Vertex AI를 사용한 지속적 학습을 사용하여 새 데이터에 대한 모델의 자동 재학습을 지원하면 CI/CD 파이프라인을 더욱 개선할 수 있습니다. 특히 생성형 AI의 경우 생성된 출력이 관련성이 있고 다양하도록 재학습에는 새로운 학습 데이터 또는 프롬프트로 모델을 자동으로 업데이트하는 작업이 포함될 수 있습니다. Vertex AI Model Garden을 사용하여 조정에 사용할 수 있는 최신 기본 모델을 선택할 수 있습니다. 이 방법을 사용하면 모델이 최신 상태로 유지되고 변화하는 비즈니스 요구사항에 맞게 최적화됩니다.
안전하고 관리된 모델 출시 구현
위험을 최소화하고 안정적인 배포를 보장하려면 문제를 조기에 감지하고, 성능을 검증하고, 필요한 경우 빠르게 롤백할 수 있는 모델 출시 접근 방식을 구현하세요.
ML 모델과 애플리케이션을 컨테이너 이미지로 패키징하고 배포하려면 Cloud Deploy를 사용하세요. 모델을 Vertex AI 엔드포인트에 배포할 수 있습니다.
카나리아 출시와 같은 전략을 사용하여 AI 애플리케이션 및 시스템의 관리형 출시를 구현합니다. Gemini와 같은 관리형 모델을 사용하는 애플리케이션의 경우 전체 배포 전에 일부 사용자에게 새 애플리케이션 버전을 점진적으로 출시하는 것이 좋습니다. 이 접근 방식을 사용하면 특히 출력이 달라질 수 있는 생성형 AI 모델을 사용하는 경우 잠재적인 문제를 조기에 감지할 수 있습니다.
미세 조정된 모델을 출시하려면 Cloud Deploy를 사용하여 모델 버전의 배포를 관리하고 카나리아 릴리스 전략을 사용하여 위험을 최소화하면 됩니다. 관리형 모델과 미세 조정된 모델을 사용하면 제어된 출시의 목표는 모든 사용자에게 애플리케이션과 모델을 출시하기 전에 제한된 잠재고객을 대상으로 변경사항을 테스트하는 것입니다.
강력한 검증을 위해 Vertex AI Experiments를 사용하여 새 모델을 기존 모델과 비교하고 Vertex AI 모델 평가를 사용하여 모델 성능을 평가하세요. 특히 생성형 AI의 경우 의도한 사용 사례 및 잠재적 위험과 일치하는 평가 지표를 정의합니다. Vertex AI의 Gen AI Evaluation Service를 사용하여 유해성, 일관성, 사실 정확성, 안전 가이드라인 준수와 같은 측정항목을 평가할 수 있습니다.
배포 안정성을 보장하려면 강력한 롤백 계획이 필요합니다. 기존 ML 시스템의 경우 Vertex AI Model Monitoring을 사용하여 데이터 드리프트 및 성능 저하를 감지합니다. 생성형 AI 모델의 경우 Vertex AI 모델 평가를 Cloud Logging 및 Cloud Monitoring과 함께 사용하여 관련 측정항목을 추적하고 출력 품질의 변화 또는 유해 콘텐츠의 출현에 대한 알림을 설정할 수 있습니다. 생성형 AI 관련 측정항목을 기반으로 알림을 구성하여 필요한 경우 롤백 절차를 트리거합니다. 모델 계보를 추적하고 가장 최근의 안정적인 버전으로 되돌리려면 Vertex AI Model Registry의 통계를 사용하세요.
모니터링 가능성 구현
데이터 또는 환경의 변화와 모델 업데이트로 인해 AI 및 ML 시스템의 동작이 시간이 지남에 따라 변경될 수 있습니다. 이러한 동적인 특성으로 인해 성능 문제, 편향 또는 예상치 못한 동작을 감지하는 데 관측 가능성이 중요합니다. 특히 생성형 AI 모델의 경우 출력이 매우 가변적이고 주관적일 수 있으므로 더욱 그렇습니다. 관찰 기능을 사용하면 예기치 않은 동작을 사전 대응하고 AI 및 ML 시스템이 안정적이고 정확하며 공정하게 유지되도록 할 수 있습니다.
AI 및 ML 시스템의 관측 가능성을 구현하려면 다음 권장사항을 고려하세요.
지속적으로 실적 모니터링
배포 후 모델을 지속적으로 평가하기 위해 측정항목과 성공 기준을 사용합니다.
Vertex AI Model Monitoring을 사용하여 모델 성능을 사전 대응 방식으로 추적하고, 학습-제공 편향 및 예측 드리프트를 식별하고, 필요한 모델 재학습 또는 기타 개입을 트리거하는 알림을 받을 수 있습니다. 학습-서빙 편향을 효과적으로 모니터링하려면 이상적인 데이터 분포를 나타내는 골든 데이터 세트를 구성하고 TFDV를 사용하여 학습 데이터를 분석하고 기준 스키마를 설정하세요.
자동 편향 감지를 위해 입력 데이터의 분포를 골든 데이터 세트와 비교하도록 모델 모니터링을 구성합니다. 기존 ML 모델의 경우 정확도, 정밀도, 재현율, F1 점수, AUC-ROC, 로그 손실과 같은 측정항목에 집중하세요. Model Monitoring에서 알림의 맞춤 기준을 정의합니다. 생성형 AI의 경우 Gen AI Evaluation Service를 사용하여 프로덕션에서 모델 출력을 지속적으로 모니터링합니다. 응답 품질, 안전성, 요청 준수, 그라운딩, 글쓰기 스타일, 상세성에 대한 자동 평가 측정항목을 사용 설정할 수도 있습니다. 생성된 출력의 품질, 관련성, 안전성, 가이드라인 준수 여부를 평가하기 위해 human-in-the-loop 평가를 통합할 수 있습니다.
모델 모니터링에서 알림을 트리거할 때 Vertex AI Pipelines로 모델을 자동으로 재학습하는 피드백 루프를 만듭니다. 이러한 통계를 사용하여 모델을 지속적으로 개선하세요.
개발 중 모델 평가
LLM 및 기타 생성형 AI 모델을 배포하기 전에 개발 단계에서 철저히 평가하세요. Vertex AI 모델 평가를 사용하여 최적의 성능을 달성하고 위험을 완화하세요. Vertex AI 빠른 평가를 사용하여 제공한 데이터 세트와 프롬프트에 따라 평가를 자동으로 실행할 수 있습니다. Google Cloud
사용 사례에 특정한 맞춤 측정항목을 정의하고 통합할 수도 있습니다. 생성된 콘텐츠에 대한 의견을 받으려면 Vertex AI 모델 평가를 사용하여 인간 참여 워크플로를 통합하세요.
적대적 테스트를 사용하여 취약점과 잠재적인 실패 모드를 식별합니다. 잠재적인 편향을 식별하고 완화하려면 하위 그룹 분석 및 반사실적 생성과 같은 기법을 사용하세요. 개발 단계에서 완료된 평가에서 수집한 통계를 사용하여 프로덕션에서 모델 모니터링 전략을 정의합니다. 이 문서의 성능 지속적으로 모니터링 섹션에 설명된 대로 지속적인 모니터링을 위해 솔루션을 준비합니다.
사용 가능 여부 모니터링
배포된 엔드포인트와 인프라의 상태 및 성능을 파악하려면 Cloud Monitoring을 사용하세요. Vertex AI 엔드포인트의 경우 요청률, 오류율, 지연 시간, 리소스 사용률과 같은 주요 측정항목을 추적하고 비정상에 대한 알림을 설정합니다. 자세한 내용은 Vertex AI용 Cloud Monitoring 측정항목을 참고하세요.
Compute Engine 인스턴스, Google Kubernetes Engine (GKE) 클러스터, TPU 및 GPU를 포함할 수 있는 기본 인프라의 상태를 모니터링합니다. Active Assist에서 자동 최적화 추천을 받으세요. 자동 확장을 사용하는 경우 확장 동작을 모니터링하여 자동 확장이 트래픽 패턴의 변화에 적절하게 대응하는지 확인하세요.
Cloud Deploy를 Cloud Monitoring과 통합하여 카나리아 출시 및 롤백을 비롯한 모델 배포 상태를 추적합니다. 또한 Security Command Center를 사용하여 잠재적인 보안 위협과 취약점을 모니터링합니다.
비즈니스별 기준에 대한 맞춤 알림 설정
이상치와 문제를 적시에 식별하고 수정하려면 비즈니스 목표에 맞는 기준을 기반으로 맞춤 알림을 설정하세요. 맞춤 알림 시스템을 구현하는 데 사용할 수 있는 Google Cloud 제품의 예는 다음과 같습니다.
- Cloud Logging: AI 및 ML 시스템의 모든 구성요소에서 로그를 수집, 저장, 분석합니다.
- Cloud Monitoring: 주요 측정항목과 추세를 시각화하는 맞춤 대시보드를 만들고 필요에 따라 맞춤 측정항목을 정의합니다. 중요한 문제에 대한 알림을 받도록 알림을 구성하고 PagerDuty 또는 Slack과 같은 사고 관리 도구와 알림을 통합하세요.
- Error Reporting: 오류 및 예외를 자동으로 캡처하고 분석합니다.
- Cloud Trace: 분산 시스템의 성능을 분석하고 병목 현상을 식별합니다. 추적은 AI 및 ML 파이프라인의 여러 구성요소 간 지연 시간을 이해하는 데 특히 유용합니다.
- Cloud Profiler: 프로덕션에서 코드의 성능을 지속적으로 분석하고 CPU 또는 메모리 사용량의 성능 병목 현상을 파악합니다.
운영 우수성 문화 구축
단순히 모델을 빌드하는 데서 벗어나 지속 가능하고 신뢰할 수 있으며 영향력 있는 AI 솔루션을 빌드하는 데 집중하세요. 팀이 지속적으로 학습하고, 혁신하고, 개선할 수 있도록 지원하여 개발 주기를 단축하고, 오류를 줄이고, 효율성을 높입니다. 자동화, 표준화, 윤리적 고려사항을 우선시하면 AI 및 ML 이니셔티브가 지속적으로 가치를 제공하고, 위험을 완화하며, 책임감 있는 AI 개발을 촉진할 수 있습니다.
AI 및 ML 시스템의 운영 우수성 문화를 구축하려면 다음 권장사항을 고려하세요.
자동화 및 표준화 옹호
효율성과 일관성을 강조하려면 AI 및 ML 수명 주기의 모든 단계에 자동화 및 표준화된 관행을 포함하세요. 자동화를 통해 수동 오류를 줄이고 팀이 혁신에 집중할 수 있습니다. 표준화를 통해 팀과 프로젝트 전반에서 프로세스를 반복하고 확장할 수 있습니다.
지속적인 학습과 개선 우선시
지속적인 교육과 실험이 핵심 원칙인 환경을 조성합니다. 팀이 AI 및 ML 발전에 대한 최신 정보를 파악하도록 장려하고 과거 프로젝트에서 학습할 기회를 제공합니다. 호기심과 적응의 문화는 혁신을 주도하고 팀이 새로운 과제에 대처할 수 있도록 지원합니다.
책임감과 주인의식 함양
명확하게 정의된 역할, 책임, 성공 측정항목을 통해 신뢰와 조화를 구축합니다. 팀이 이러한 경계 내에서 정보에 입각한 결정을 내릴 수 있도록 지원하고 진행 상황을 측정하는 투명한 방법을 마련하세요. 주인의식은 팀에 동기를 부여하고 결과에 대한 집단적 책임을 보장합니다.
AI 윤리 및 안전 고려사항 포함
개발의 모든 단계에서 윤리적 고려사항을 우선시합니다. 팀이 AI 솔루션의 영향에 대해 비판적으로 생각하도록 장려하고 공정성, 편향, 사회적 영향에 관한 토론을 촉진합니다. 명확한 원칙과 책임 메커니즘을 통해 AI 시스템이 조직의 가치에 부합하고 신뢰를 증진할 수 있습니다.
확장성을 고려하여 설계하기
증가하는 데이터 볼륨과 사용자 요구를 수용하고 AI 투자의 가치를 극대화하려면 AI 및 ML 시스템이 확장 가능해야 합니다. 시스템은 효과를 저해하는 성능 병목 현상을 방지하기 위해 적응하고 최적으로 작동해야 합니다. 확장성을 고려하여 설계하면 AI 인프라가 성장을 처리하고 응답성을 유지할 수 있습니다. 확장 가능한 인프라를 사용하고, 용량을 계획하고, 수평 확장 및 관리형 서비스와 같은 전략을 활용하세요.
확장성을 고려하여 AI 및 ML 시스템을 설계하려면 다음 권장사항을 고려하세요.
용량 및 할당량 계획
미래 성장을 평가하고 그에 따라 인프라 용량과 리소스 할당량을 계획합니다. 비즈니스 이해관계자와 협력하여 예상되는 성장률을 파악한 다음 그에 따라 인프라 요구사항을 정의합니다.
Cloud Monitoring을 사용하여 이전 리소스 사용률을 분석하고, 추세를 파악하고, 향후 요구사항을 예측합니다. 정기적으로 부하 테스트를 실행하여 워크로드를 시뮬레이션하고 병목 현상을 식별합니다.
Compute Engine, Vertex AI, Cloud Storage와 같이 사용하는 서비스의 Google Cloud 할당량을 숙지합니다. Google Cloud 콘솔을 통해 선제적으로 할당량 증가를 요청하고 예측 및 부하 테스트의 데이터를 사용하여 증가를 정당화합니다. 할당량 사용량을 모니터링하고 사용량이 할당량 한도에 가까워지면 알림을 받도록 알림을 설정합니다.
수요에 따라 리소스 사용량을 최적화하려면 리소스의 크기를 적절하게 조정하고, 내결함성 일괄 워크로드에 스팟 VM을 사용하고, 자동 확장을 구현하세요.
최고 이벤트 대비
시스템이 피크 이벤트 중에 트래픽이나 워크로드의 갑작스러운 급증을 처리할 수 있는지 확인합니다. 최고조 이벤트 전략을 문서화하고 정기적으로 훈련을 실시하여 시스템의 부하 증가 처리 능력을 테스트합니다.
수요가 급증할 때 리소스를 적극적으로 확장하려면 Compute Engine 및 GKE에서 자동 확장 정책을 구성하세요. 예측 가능한 피크 패턴의 경우 예측 자동 확장을 사용하는 것이 좋습니다. 애플리케이션별 신호를 기반으로 자동 확장을 트리거하려면 Cloud Monitoring에서 커스텀 측정항목을 사용하세요.
Cloud Load Balancing을 사용하여 여러 애플리케이션 인스턴스에 트래픽을 분산합니다. 애플리케이션의 요구사항에 따라 적절한 부하 분산기 유형을 선택합니다. 지리적으로 분산된 사용자의 경우 전역 부하 분산을 사용하여 트래픽을 사용 가능한 가장 가까운 인스턴스로 라우팅할 수 있습니다. 복잡한 마이크로서비스 기반 아키텍처의 경우 Cloud Service Mesh를 사용하는 것이 좋습니다.
Cloud CDN을 사용하여 Google 네트워크의 에지에서 정적 콘텐츠를 캐시합니다. 자주 액세스하는 데이터를 캐시하려면 Redis, Valkey 또는 Memcached용 완전 관리형 인메모리 서비스를 제공하는 Memorystore를 사용하면 됩니다.
실시간 메시징에는 Pub/Sub를 사용하고 비동기 작업 실행에는 Cloud Tasks를 사용하여 시스템 구성요소를 분리합니다.
프로덕션을 위한 애플리케이션 확장
프로덕션에서 확장 가능한 서빙을 보장하려면 Vertex AI 분산 학습 및 Vertex AI 추론과 같은 관리형 서비스를 사용하면 됩니다. Vertex AI 추론을 사용하면 모델을 엔드포인트에 배포하거나 배치 예측을 요청할 때 예측 노드의 머신 유형을 구성할 수 있습니다. 일부 구성의 경우 GPU를 추가할 수 있습니다. 적절한 머신 유형과 가속기를 선택하여 지연 시간, 처리량, 비용을 최적화합니다.
분산 컴퓨팅 리소스에서 복잡한 AI 및 Python 애플리케이션과 맞춤 워크로드를 확장하려면 Vertex AI 기반 Ray를 사용하면 됩니다. 이 기능을 사용하면 성능을 최적화하고Google Cloud 서비스와 원활하게 통합할 수 있습니다. Vertex AI의 Ray는 클러스터 관리, 작업 예약, 데이터 전송을 처리하여 분산 컴퓨팅을 간소화합니다. 학습, 예측, 파이프라인과 같은 다른 Vertex AI 서비스와 통합됩니다. Ray는 내결함성 및 자동 확장을 제공하며 변화하는 워크로드에 인프라를 적응시키는 데 도움이 됩니다. 분산 학습, 하이퍼파라미터 조정, 강화 학습, 모델 서빙을 위한 통합 프레임워크를 제공합니다. Dataflow 또는 Dataproc을 사용한 분산 데이터 사전 처리, 가속화된 모델 학습, 확장 가능한 하이퍼파라미터 조정, 강화 학습, 병렬화된 배치 예측에 Ray를 사용합니다.
참여자
저자:
- 샬럿 지스텔링크, PhD | 파트너 엔지니어
- 산야 당 | AI 솔루션 설계자
- 필리페 그라시오, 박사 | 고객 엔지니어
기타 참여자:
- 게리 하름슨 | 수석 설계자
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
- 라이언 콕스 | 수석 설계자
- 스테프 루이나드 | 생성형 AI 현장 솔루션 설계자
AI 및 ML 관점: 보안
Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 AI 및 ML 배포가 조직의 보안 및 규정 준수 요구사항을 충족하도록 하는 원칙과 권장사항을 개략적으로 설명합니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 보안 분야와 일치합니다.
AI 및 ML 워크로드의 안전한 배포는 특히 엔터프라이즈 환경에서 중요한 요구사항입니다. 이 요구사항을 충족하려면 AI 및 ML 솔루션의 초기 개념화부터 개발, 배포, 지속적인 운영에 이르기까지 포괄적인 보안 접근 방식을 채택해야 합니다. Google Cloud 는 AI 및 ML 워크로드를 보호하는 데 도움이 되도록 설계된 강력한 도구와 서비스를 제공합니다.
명확한 목표와 요구사항 정의
설계 및 개발 프로세스 초기에 필요한 보안 및 규정 준수 제어를 통합하는 것이 개발 후에 제어를 추가하는 것보다 쉽습니다. 설계 및 개발 프로세스를 시작할 때 특정 위험 환경과 특정 비즈니스 우선순위에 적합한 결정을 내립니다.
다음 권장사항을 고려하세요.
- 잠재적인 공격 벡터를 식별하고 처음부터 보안 및 규정 준수 관점을 채택하세요. AI 시스템을 설계하고 발전시킬 때 공격 표면, 잠재적 위험, 발생할 수 있는 의무를 추적하세요.
- AI 및 ML 보안 노력을 비즈니스 목표에 맞추고 보안이 전반적인 전략의 필수적인 부분인지 확인하세요. 보안 선택이 주요 비즈니스 목표에 미치는 영향을 파악합니다.
데이터를 안전하게 유지하고 손실 또는 잘못된 처리를 방지합니다.
데이터는 안전하게 보호해야 하는 가치 있고 민감한 애셋입니다. 데이터 보안은 사용자 신뢰를 유지하고, 비즈니스 목표를 지원하고, 규정 준수 요구사항을 충족하는 데 도움이 됩니다.
다음 권장사항을 고려하세요.
- 비즈니스 목표에 반드시 필요한 데이터가 아닌 데이터는 수집, 보관 또는 사용하지 마세요. 가능하면 합성 데이터 또는 완전히 익명처리된 데이터를 사용하세요.
- 데이터 수집, 저장, 변환을 모니터링합니다. 모든 데이터 액세스 및 조작 활동의 로그를 유지합니다. 로그는 데이터 액세스를 감사하고, 무단 액세스 시도를 감지하고, 원치 않는 액세스를 방지하는 데 도움이 됩니다.
- 사용자 역할에 따라 다양한 수준의 액세스 권한 (예: 액세스 없음, 읽기 전용 또는 쓰기)을 구현합니다. 최소 권한의 원칙에 따라 권한이 할당되었는지 확인합니다. 사용자에게는 역할 활동을 수행하는 데 필요한 최소한의 권한만 있어야 합니다.
- 암호화, 보안 경계, 데이터 이동 제한과 같은 조치를 구현합니다. 이러한 조치를 통해 데이터 유출 및 데이터 손실을 방지할 수 있습니다.
- ML 학습 시스템의 데이터 포이즈닝을 방지합니다.
AI 파이프라인을 안전하게 유지하고 조작을 방지
AI 및 ML 코드와 코드 정의 파이프라인은 중요한 애셋입니다. 보안이 적용되지 않은 코드는 조작될 수 있으며, 이로 인해 데이터 유출, 규정 준수 실패, 중요한 비즈니스 활동 중단이 발생할 수 있습니다. AI 및 ML 코드를 안전하게 유지하면 모델과 모델 출력의 무결성과 가치를 보장할 수 있습니다.
다음 권장사항을 고려하세요.
- 모델 개발 중에 종속 항목 관리 또는 입력 유효성 검사 및 정리와 같은 안전한 코딩 관행을 사용하여 취약점을 방지하세요.
- 파일, 모델 가중치, 배포 사양과 같은 파이프라인 코드와 모델 아티팩트가 무단으로 액세스되지 않도록 보호합니다. 사용자 역할과 필요에 따라 각 아티팩트에 대해 다양한 액세스 수준을 구현합니다.
- 애셋 및 파이프라인 실행의 계보 및 추적을 적용합니다. 이 시행을 통해 규정 준수 요구사항을 충족하고 프로덕션 시스템이 손상되지 않도록 할 수 있습니다.
보안 도구 및 아티팩트를 사용하여 보안 시스템에 배포
코드와 모델이 환경에 배포된 도구와 아티팩트에 대한 보안 보증이 포함된 강력한 액세스 제어 시스템이 있는 보안 환경에서 실행되도록 합니다.
다음 권장사항을 고려하세요.
- 적절한 액세스 제어가 있고 무단 사용이나 조작으로부터 보호되는 안전한 환경에서 모델을 학습시키고 배포하세요.
- 모델, 소프트웨어 패키지와 같은 AI 관련 아티팩트에 관한 표준 소프트웨어 아티팩트에 대한 공급망 등급 (SLSA) 가이드라인을 따르세요.
- AI 워크로드용으로 특별히 설계된 검증된 사전 빌드 컨테이너 이미지를 사용하는 것이 좋습니다.
입력 보호 및 모니터링
AI 시스템은 예측을 하거나, 콘텐츠를 생성하거나, 작업을 자동화하기 위해 입력이 필요합니다. 일부 입력은 위험을 초래하거나 감지 및 정리해야 하는 공격 벡터로 사용될 수 있습니다. 잠재적인 악성 입력을 조기에 감지하면 AI 시스템을 안전하게 유지하고 의도한 대로 작동하도록 할 수 있습니다.
다음 권장사항을 고려하세요.
- 생성형 AI 시스템의 프롬프트를 개발하고 관리하기 위한 보안 관행을 구현하고 프롬프트에 유해한 의도가 있는지 검사합니다.
- 예측 또는 생성 시스템에 대한 입력을 모니터링하여 과부하된 엔드포인트나 시스템이 처리하도록 설계되지 않은 프롬프트와 같은 문제를 방지합니다.
- 배포된 시스템의 의도된 사용자만 시스템을 사용할 수 있는지 확인합니다.
출력을 모니터링, 평가하고 출력에 대응할 준비
AI 시스템은 인간의 의사 결정을 보강, 최적화 또는 자동화하는 출력을 생성하므로 가치를 제공합니다. AI 시스템과 애플리케이션의 무결성과 신뢰성을 유지하려면 출력이 안전하고 예상 매개변수 내에 있는지 확인해야 합니다. 또한 인시던트에 대응하기 위한 계획도 필요합니다.
다음 권장사항을 고려하세요.
- 프로덕션에서 AI 및 ML 모델의 출력을 모니터링하고 성능, 보안, 규정 준수 문제를 식별합니다.
- 범위를 벗어난 생성형 대답이나 예측 모델의 극단적인 출력을 식별하는 등 강력한 측정항목과 보안 조치를 구현하여 모델 성능을 평가합니다. 모델 성능에 대한 사용자 피드백을 수집합니다.
- 잠재적인 문제를 해결하기 위해 강력한 알림 및 사고 대응 절차를 구현합니다.
참여자
저자:
- 카밀라 쿠르타 | 생성형 AI/ML 전문가 고객 엔지니어
- 필리페 그라시오, 박사 | 고객 엔지니어
- 모하메드 파우지 | 베네룩스 보안 및 규정 준수 책임자
기타 참여자:
AI 및 ML 관점: 안정성
Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 안정적인 AI 및 ML 시스템을 설계하고 운영하기 위한 원칙과 권장사항을 개략적으로 설명합니다. 고급 신뢰성 관행과 관측 가능성을 아키텍처 청사진에 통합하는 방법을 살펴봅니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 안정성 분야와 일치합니다.
빠르게 진화하는 AI 및 ML 환경에서 고객 만족을 보장하고 비즈니스 목표를 달성하려면 안정적인 시스템이 필수적입니다. 예측 ML과 생성형 AI의 고유한 요구사항을 모두 충족하는 강력하고 안정적이며 적응 가능한 AI 및 ML 시스템이 필요합니다. 개발부터 배포, 지속적인 개선에 이르기까지 MLOps의 복잡성을 처리하려면 안정성 우선 접근 방식을 사용해야 합니다. Google Cloud 는 사이트 안정성 엔지니어링 (SRE) 원칙에 부합하는 맞춤형 AI 인프라를 제공하며 안정적인 AI 및 ML 시스템을 위한 강력한 기반을 제공합니다.
확장 가능하고 가용성이 높은 인프라 보장
확장성과 가용성을 고려하여 설계하면 서비스 중단이나 성능 저하 없이 다양한 수준의 수요를 처리할 수 있습니다. 즉, 인프라 중단 시와 트래픽이 매우 높은 경우에도 사용자가 AI 서비스를 계속 사용할 수 있습니다.
다음 권장사항을 고려하세요.
- 수요 변동을 처리할 수 있는 자동 및 동적 확장 기능을 사용하여 AI 시스템을 설계하세요. 이렇게 하면 트래픽 급증 시에도 최적의 성능을 보장할 수 있습니다.
- 로드 테스트와 성능 모니터링을 통해 리소스를 사전 예방적으로 관리하고 향후 요구사항을 예측합니다. 이전 데이터와 예측 분석을 사용하여 리소스 할당에 대해 정보에 입각한 결정을 내립니다.
- Google Cloud 에서 다중 영역 및 다중 리전 배포 원형을 채택하고 중복 및 복제를 구현하여 고가용성 및 내결함성을 설계합니다.
- AI 및 ML 서비스와 엔드포인트의 여러 인스턴스에 수신 트래픽을 분산합니다. 부하 분산은 단일 인스턴스의 과부하를 방지하고 일관된 성능과 가용성을 보장하는 데 도움이 됩니다.
모듈식의 느슨하게 결합된 아키텍처 사용
개별 구성요소의 오류에 AI 시스템이 탄력적으로 대응하도록 하려면 모듈식 아키텍처를 사용하세요. 예를 들어 데이터 처리 및 데이터 검증 구성요소를 별도의 모듈로 설계합니다. 특정 구성요소가 실패하면 모듈식 아키텍처를 통해 다운타임을 최소화하고 팀에서 수정사항을 더 빠르게 개발하고 배포할 수 있습니다.
다음 권장사항을 고려하세요.
- AI 및 ML 시스템을 자체 포함된 작은 모듈이나 구성요소로 분리합니다. 이 접근 방식을 사용하면 코드 재사용성이 향상되고, 테스트와 유지관리가 간소화되며, 개별 구성요소를 독립적으로 개발하고 배포할 수 있습니다.
- 잘 정의된 인터페이스로 느슨하게 결합된 모듈을 설계합니다. 이 접근 방식은 종속성을 최소화하며 전체 시스템에 영향을 주지 않고 독립적으로 업데이트하고 변경할 수 있습니다.
- 단계적 성능 저하를 계획합니다. 구성요소에 장애가 발생하면 시스템의 다른 부분에서 적절한 수준의 기능을 계속 제공해야 합니다.
- API를 사용하여 모듈 간에 명확한 경계를 만들고 모듈 수준 구현 세부정보를 숨깁니다. 이 접근 방식을 사용하면 시스템의 다른 부분과의 상호작용에 영향을 주지 않고 개별 구성요소를 업데이트하거나 교체할 수 있습니다.
자동화된 MLOps 플랫폼 빌드
자동화된 MLOps 플랫폼을 사용하면 모델 수명 주기의 단계와 출력이 더 안정적입니다. 일관성, 느슨한 결합, 모듈성을 촉진하고 작업과 인프라를 코드로 표현하여 취약한 수동 단계를 삭제하고 더 강력하고 안정적인 AI 및 ML 시스템을 유지합니다.
다음 권장사항을 고려하세요.
- 데이터 준비 및 검증부터 모델 학습, 평가, 배포, 모니터링에 이르기까지 모델 개발 수명 주기를 자동화합니다.
- 코드형 인프라 (IaC)를 관리합니다. 이 접근 방식을 사용하면 효율적인 버전 관리, 필요한 경우 빠른 롤백, 반복 가능한 배포가 가능합니다.
- 관련 데이터를 사용하여 모델이 예상대로 작동하는지 확인합니다. 모델의 성능 모니터링을 자동화하고 예상치 못한 출력에 대한 적절한 알림을 빌드합니다.
- AI 및 ML 파이프라인의 입력과 출력을 검증합니다. 예를 들어 데이터, 구성, 명령 인수, 파일, 예측을 검증합니다. 예상치 못한 값 또는 허용되지 않는 값에 대한 알림을 구성합니다.
- 모델 엔드포인트에 관리형 버전 제어 전략을 채택합니다. 이러한 전략을 사용하면 문제가 발생할 경우 점진적 출시와 빠른 복구가 가능합니다.
데이터 및 모델 거버넌스를 통해 신뢰와 관리 유지
AI 및 ML 시스템의 신뢰성은 데이터와 모델의 신뢰 및 거버넌스 기능에 따라 달라집니다. AI 출력은 눈에 띄지 않는 방식으로 기대에 미치지 못할 수 있습니다. 예를 들어 출력이 형식적으로는 일관되지만 잘못되었거나 원치 않을 수 있습니다. 추적 가능성과 강력한 거버넌스를 구현하면 출력이 신뢰할 수 있는지 확인할 수 있습니다.
다음 권장사항을 고려하세요.
- 데이터 및 모델 카탈로그를 사용하여 애셋을 효과적으로 추적하고 관리합니다. 추적 및 감사를 용이하게 하려면 수명 주기 전반에 걸쳐 데이터 및 모델 버전의 포괄적인 기록을 유지하세요.
- 엄격한 액세스 제어 및 감사 추적을 구현하여 민감한 정보와 모델을 보호합니다.
- AI, 특히 생성형 AI 애플리케이션의 편향이라는 심각한 문제를 해결합니다. 신뢰를 구축하려면 모델 출력의 투명성과 설명 가능성을 위해 노력하세요.
- 특성 통계 생성을 자동화하고 이상 감지를 구현하여 데이터 문제를 선제적으로 식별합니다. 모델의 신뢰성을 보장하려면 데이터 분포의 변화 영향을 감지하고 완화하는 메커니즘을 설정하세요.
전체적인 AI 및 ML 모니터링 가능성 및 안정성 관행 구현
AI 운영을 지속적으로 개선하려면 의미 있는 안정성 목표를 정의하고 진행 상황을 측정해야 합니다. 관측 가능성은 안정적인 시스템의 기본 요소입니다. 관측 가능성을 사용하면 진행 중인 작업과 중요한 이벤트를 관리할 수 있습니다. 관측 가능성을 잘 구현하면 사용자를 위해 안정적인 서비스를 구축하고 유지하는 데 도움이 됩니다.
다음 권장사항을 고려하세요.
- 프로세서 (CPU, GPU, TPU) 및 메모리 사용량, 네트워크 지연 시간, 디스크 사용량과 같은 기타 리소스의 인프라 측정항목을 추적합니다. 부하 테스트 및 성능 모니터링을 실행합니다. 모니터링의 테스트 결과와 측정항목을 사용하여 AI 및 ML 시스템의 확장 및 용량을 관리합니다.
- 신뢰성 목표를 설정하고 애플리케이션 측정항목을 추적합니다. 빌드하는 AI 애플리케이션의 처리량 및 지연 시간과 같은 측정항목을 측정합니다. 애플리케이션과 노출된 엔드포인트의 사용 패턴을 모니터링합니다.
- 모델 신뢰성을 평가하기 위해 정확도 또는 안전성 지표와 같은 모델별 측정항목을 설정합니다. 시간이 지남에 따라 이러한 측정항목을 추적하여 드리프트나 성능 저하를 식별합니다. 효율적인 버전 관리 및 자동화를 위해 모니터링 구성을 코드로 정의합니다.
- 비즈니스 수준 측정항목을 정의하고 추적하여 모델과 신뢰성이 비즈니스 결과에 미치는 영향을 파악합니다. AI 및 ML 서비스의 안정성을 측정하려면 SRE 접근 방식을 채택하고 서비스 수준 목표 (SLO)를 정의하는 것이 좋습니다.
참여자
저자:
- 릭 (루구이) 첸 | AI 인프라 솔루션 설계자
- 필리페 그라시오, 박사 | 고객 엔지니어
기타 참여자:
- Jose Andrade | 엔터프라이즈 인프라 고객 엔지니어
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
AI 및 ML 관점: 비용 최적화
Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 ML 수명 주기 전반에서 AI 시스템의 비용을 최적화하기 위한 원칙과 권장사항을 간략하게 설명합니다. 선제적이고 정보에 입각한 비용 관리 접근 방식을 채택하면 조직에서 AI 및 ML 시스템의 잠재력을 최대한 실현하고 재정 규율을 유지할 수 있습니다. 이 문서의 권장사항은 Google Cloud Well-Architected Framework의 비용 최적화 필러와 일치합니다.
AI 및 ML 시스템은 데이터에서 유용한 통계와 예측 기능을 확보하는 데 도움이 됩니다. 예를 들어 내부 프로세스의 어려움을 줄이고, 사용자 환경을 개선하고, 고객에 대한 더 깊은 통계를 얻을 수 있습니다. 클라우드는 AI 및 ML 워크로드에 대한 대규모 선행 투자 없이도 방대한 리소스와 빠른 가치 창출 시간을 제공합니다. 비즈니스 가치를 극대화하고 지출을 비즈니스 목표에 맞추려면 비용 동인을 파악하고, 비용을 사전 대응적으로 최적화하고, 지출 관리를 설정하고, FinOps 관행을 채택해야 합니다.
이 문서의 권장사항은 다음 핵심 원칙에 매핑됩니다.
비용 및 수익 정의 및 측정
Google Cloud에서 AI 및 ML 비용을 효과적으로 관리하려면 클라우드 리소스 비용과 AI 및 ML 이니셔티브의 비즈니스 가치를 정의하고 측정해야 합니다. 세부적으로 비용을 추적할 수 있도록 Google Cloud 에서는 다음과 같은 포괄적인 결제 및 비용 관리 도구를 제공합니다.
- Cloud Billing 보고서 및 표
- Looker Studio 대시보드, 예산, 알림
- Cloud Monitoring
- Cloud Logging
리소스 할당 및 최적화에 대해 정보에 입각한 결정을 내리려면 다음 권장사항을 고려하세요.
비즈니스 목표 및 KPI 설정
AI 및 ML 프로젝트의 기술적 선택을 비즈니스 목표 및 핵심성과지표 (KPI)와 일치시킵니다.
전략적 목표와 ROI 중심 KPI 정의
AI 및 ML 프로젝트가 수익 증대, 비용 절감, 고객 만족도, 효율성과 같은 전략적 목표와 일치하는지 확인합니다. 비즈니스 우선순위를 파악하기 위해 이해관계자와 소통합니다. 구체적이고, 측정 가능하며, 달성 가능하고, 관련성이 있으며, 기한이 정해진 (SMART) AI 및 ML 목표를 정의합니다. 예를 들어 SMART 목표는 'AI 챗봇을 사용하여 6개월 내에 고객 지원 채팅 처리 시간을 15% 단축'입니다.
비즈니스 목표를 달성하고 투자수익 (ROI)을 측정하려면 다음 카테고리의 측정항목에 대한 KPI를 정의하세요.
- 특정 단위 비용 (예: 추론, 데이터 포인트 또는 작업당 비용)을 포함한 학습, 추론, 스토리지, 네트워크 리소스 비용 이러한 측정항목은 효율성 및 비용 최적화 기회에 대한 유용한 정보를 얻는 데 도움이 됩니다. Cloud Billing 보고서 및 Cloud Monitoring 대시보드를 사용하여 이러한 비용을 추적할 수 있습니다.
- 수익 성장, 비용 절감, 고객 만족도, 효율성, 정확성, 채택과 같은 비즈니스 가치 측정항목 BigQuery 분석 및 Looker 대시보드를 사용하여 이러한 측정항목을 추적할 수 있습니다.
다음과 같은 업종별 측정항목
- 소매업: 수익 상승도 및 이탈 측정
- 의료 업계: 환자 시간 및 환자 치료 결과 측정
- 금융 업계: 사기 감소 측정
프로젝트별 측정항목입니다. Vertex AI Experiments 및 평가를 사용하여 이러한 측정항목을 추적할 수 있습니다.
- 예측 AI: 정확도 및 정밀도 측정
- 생성형 AI: 도입, 만족도, 콘텐츠 품질 측정
- 컴퓨터 비전 AI: 정확도 측정
비용 인식 및 지속적인 최적화 문화 조성
FinOps 원칙을 채택하여 각 AI 및 ML 프로젝트에 예상 비용이 있고 수명 주기 전반에 걸쳐 실제 비용을 측정하고 추적할 수 있는 방법을 마련합니다. 프로젝트의 비용과 비즈니스 이점에 소유자가 할당되어 있고 책임이 명확한지 확인합니다.
자세한 내용은 Google Cloud Well-Architected 프레임워크의 비용 최적화 필라에 있는 비용 인식 문화 조성을 참고하세요.
반복과 피드백을 통해 가치를 창출하고 지속적으로 최적화
AI 및 ML 애플리케이션을 비즈니스 목표에 직접 매핑하고 ROI를 측정합니다.
ROI 가설을 검증하려면 파일럿 프로젝트를 시작하고 다음 반복 최적화 주기를 사용하세요.
- 지속적으로 모니터링하고 데이터 분석: KPI와 비용을 모니터링하여 편차와 최적화 기회를 파악합니다.
- 데이터 기반 조정: 데이터 통계를 기반으로 전략, 모델, 인프라, 리소스 할당을 최적화합니다.
- 반복적으로 개선: 학습한 내용과 변화하는 비즈니스 요구사항에 따라 비즈니스 목표와 KPI를 조정합니다. 이 반복을 통해 관련성과 전략적 일관성을 유지할 수 있습니다.
- 피드백 루프 설정: 이해관계자와 함께 실적, 비용, 가치를 검토하여 지속적인 최적화 및 향후 프로젝트 계획에 반영합니다.
Cloud Billing 및 라벨로 결제 데이터 관리
효과적인 비용 최적화를 위해서는 각 비용 요소의 소스를 파악할 수 있어야 합니다. 이 섹션의 권장사항을 따르면 Google Cloud도구를 사용하여 AI 및 ML 비용에 대한 세부정보를 파악할 수 있습니다. 특정 AI 및 ML 프로젝트, 팀, 활동에 비용을 귀속시킬 수도 있습니다. 이러한 통계는 비용 최적화를 위한 기반을 마련합니다.
Google Cloud 리소스 정리 및 라벨 지정
- 조직 구조와 AI 및 ML 워크플로를 반영하는 계층 구조로 프로젝트와 리소스를 구성합니다. 다양한 수준에서 비용을 추적하고 분석하려면 조직, 폴더, 프로젝트를 사용하여 Google Cloud 리소스를 구성하세요. 자세한 내용은 Google Cloud 시작 영역의 리소스 계층 구조 결정을 참고하세요.
- 리소스에 의미 있는 라벨을 적용합니다. 프로젝트, 팀, 환경, 모델 이름, 데이터 세트, 사용 사례, 성능 요구사항을 나타내는 라벨을 사용할 수 있습니다. 라벨은 결제 데이터에 유용한 컨텍스트를 제공하고 세분화된 비용 분석을 지원합니다.
- 모든 AI 및 ML 프로젝트에서 라벨 지정 규칙의 일관성을 유지합니다. 일관된 라벨 지정 규칙을 사용하면 청구 데이터가 정리되어 쉽게 분석할 수 있습니다.
결제 관련 도구 사용
- 자세한 분석 및 보고를 위해 결제 데이터를 BigQuery로 내보내기 BigQuery에는 비용을 파악하는 데 도움이 되는 청구 데이터를 분석할 수 있는 강력한 쿼리 기능이 있습니다.
- 라벨, 프로젝트 또는 특정 기간별로 비용을 집계하려면 BigQuery에서 맞춤 SQL 쿼리를 작성하면 됩니다. 이러한 쿼리를 사용하면 모델 학습, 하이퍼파라미터 조정 또는 추론과 같은 특정 AI 및 ML 활동에 비용을 귀속시킬 수 있습니다.
- 비용 이상치 또는 예상치 못한 지출 급증을 파악하려면 BigQuery의 분석 기능을 사용하세요. 이 접근 방식을 사용하면 AI 및 ML 워크로드의 잠재적인 문제나 비효율성을 감지할 수 있습니다.
- 예상치 못한 비용을 파악하고 관리하려면 Cloud Billing의 이상 감지 대시보드를 사용하세요.
- 리소스 사용량을 기준으로 여러 팀 또는 부서에 비용을 분배하려면 Google Cloud의 비용 할당 기능을 사용하세요. 비용 할당은 책임성과 투명성을 증진합니다.
- 지출 패턴을 파악하려면 사전 빌드된 Cloud Billing 보고서를 살펴보세요. 이러한 보고서를 필터링하고 맞춤설정하여 특정 AI 및 ML 프로젝트 또는 서비스에 집중할 수 있습니다.
대시보드, 알림, 보고서로 리소스를 지속적으로 모니터링
비용을 추적하는 확장 가능하고 탄력적인 방법을 만들려면 지속적인 모니터링과 보고가 필요합니다. 대시보드, 알림, 보고서는 효과적인 비용 추적의 기반을 구성합니다. 이 기반을 통해 비용 정보에 지속적으로 액세스하고, 최적화 영역을 파악하고, 비즈니스 목표와 비용 간의 일관성을 유지할 수 있습니다.
신고 시스템 만들기
예약된 보고서를 만들어 적절한 이해관계자와 공유합니다.
Cloud Monitoring을 사용하여 애플리케이션, 인프라, Google Cloud Compute Engine, Google Kubernetes Engine (GKE), Cloud Run 함수와 같은 서비스 등 다양한 소스에서 측정항목을 수집합니다. 측정항목과 로그를 실시간으로 시각화하려면 사전 빌드된 Cloud Monitoring 대시보드를 사용하거나 맞춤 대시보드를 만들면 됩니다. 맞춤 대시보드를 사용하면 모델 성능, API 호출, 비즈니스 수준 KPI와 같은 시스템의 특정 측면을 추적하는 측정항목을 정의하고 추가할 수 있습니다.
Cloud Logging을 사용하여 애플리케이션, 시스템, Google Cloud 서비스의 로그를 중앙에서 수집하고 저장합니다. 다음과 같은 목적으로 로그를 사용합니다.
- CPU, 메모리, 스토리지, 네트워크와 같은 리소스의 비용과 사용률을 추적합니다.
- 과도한 프로비저닝 (리소스가 완전히 활용되지 않음) 및 부족한 프로비저닝 (리소스가 부족함) 사례를 식별합니다. 과도한 프로비저닝은 불필요한 비용을 발생시킵니다. 프로비저닝 부족은 학습 시간을 늦추고 성능 문제를 일으킬 수 있습니다.
- VM, GPU와 같은 유휴 리소스 또는 사용률이 낮은 리소스를 식별하고 비용을 최적화하기 위해 이러한 리소스를 종료하거나 크기를 조정하는 단계를 따릅니다.
- 비용 급증을 식별하여 리소스 사용량 또는 비용의 갑작스럽고 예상치 못한 증가를 감지합니다.
Looker 또는 Looker Studio를 사용하여 대화형 대시보드와 보고서를 만드세요. 대시보드와 보고서를 BigQuery, Cloud Monitoring 등 다양한 데이터 소스에 연결합니다.
주요 KPI를 기반으로 알림 기준 설정
KPI에 대해 알림을 트리거해야 하는 기준을 결정합니다. 의미 있는 알림 기준을 사용하면 알림 피로를 방지할 수 있습니다. Cloud Monitoring에서 알림 정책을 만들어 KPI와 관련된 알림을 받습니다. 예를 들어 정확도가 특정 기준 미만으로 떨어지거나 지연 시간이 정의된 한도를 초과할 때 알림을 받을 수 있습니다. 로그 데이터를 기반으로 하는 알림은 잠재적인 비용 문제를 실시간으로 알려줍니다. 이러한 알림을 통해 즉시 수정 조치를 취하고 추가적인 금전적 손실을 방지할 수 있습니다.
리소스 할당 최적화
Google Cloud에서 AI 및 ML 워크로드의 비용 효율성을 달성하려면 리소스 할당을 최적화해야 합니다. 불필요한 비용을 방지하고 워크로드가 최적으로 실행하는 데 필요한 리소스를 확보하려면 리소스 할당을 워크로드의 요구사항에 맞추세요.
AI 및 ML 워크로드에 클라우드 리소스 할당을 최적화하려면 다음 권장사항을 고려하세요.
자동 확장을 사용하여 리소스를 동적으로 조정
자동 확장을 지원하는 Google Cloud 서비스를 사용하여 현재 수요에 맞게 리소스 할당을 자동으로 조정합니다. 자동 확장은 다음과 같은 이점을 제공합니다.
- 비용 및 성능 최적화: 유휴 리소스에 대한 비용을 지불하지 않습니다. 동시에 자동 확장 기능을 사용하면 최대 부하에서도 시스템이 최적으로 작동하는 데 필요한 리소스를 확보할 수 있습니다.
- 효율성 향상: 팀이 다른 작업에 집중할 수 있습니다.
- 민첩성 향상: 변화하는 요구사항에 신속하게 대응하고 애플리케이션의 고가용성을 유지할 수 있습니다.
다음 표에는 AI 프로젝트의 다양한 단계에서 자동 확장 기능을 구현하는 데 사용할 수 있는 기법이 요약되어 있습니다.
단계 | 자동 확장 기법 |
---|---|
학습 | |
추론 |
|
소규모 모델 및 데이터 세트로 시작
비용을 절감하려면 가능할 때 소규모로 ML 가설을 테스트하고 반복적 접근 방식을 사용하세요. 이 접근 방식은 더 작은 모델과 데이터 세트를 사용하여 다음과 같은 이점을 제공합니다.
- 처음부터 비용 절감: 컴퓨팅 성능, 스토리지, 처리 시간이 줄어 초기 실험 및 개발 단계에서 비용이 절감될 수 있습니다.
- 더 빠른 반복: 학습 시간이 적게 필요하므로 더 빠르게 반복하고, 대체 접근 방식을 탐색하고, 유망한 방향을 더 효율적으로 식별할 수 있습니다.
- 복잡성 감소: 디버깅, 분석, 결과 해석이 간소화되어 개발 주기가 단축됩니다.
- 효율적인 리소스 활용: 리소스 오버 프로비저닝 가능성 감소 현재 워크로드에 필요한 리소스만 프로비저닝합니다.
다음 권장사항을 고려하세요.
- 먼저 샘플 데이터 사용: 데이터의 대표 하위 집합으로 모델을 학습시킵니다. 이 접근 방식을 사용하면 전체 데이터 세트를 처리하지 않고도 모델의 성능을 평가하고 잠재적인 문제를 식별할 수 있습니다.
- 노트북을 사용하여 실험: 작은 인스턴스로 시작하여 필요에 따라 확장합니다. 다양한 모델 아키텍처와 데이터 세트를 실험하는 데 적합한 관리형 Jupyter 노트북 환경인 Vertex AI Workbench를 사용할 수 있습니다.
더 간단하거나 선행 학습된 모델로 시작: Vertex AI Model Garden을 사용하여 선행 학습된 모델을 살펴봅니다. 이러한 모델은 컴퓨팅 리소스가 적게 필요합니다. 성능 요구사항에 따라 필요에 따라 복잡성을 점진적으로 높입니다.
- 이미지 분류, 자연어 처리와 같은 작업에 선행 학습된 모델을 사용합니다. 학습 비용을 절감하려면 처음에는 더 작은 데이터 세트로 모델을 미세 조정하면 됩니다.
- 구조화된 데이터에는 BigQuery ML을 사용합니다. BigQuery ML을 사용하면 BigQuery 내에서 직접 모델을 만들고 배포할 수 있습니다. BigQuery의 쿼리당 지불 가격 책정 모델을 활용할 수 있으므로 이 접근 방식은 초기 실험에 비용 효율적일 수 있습니다.
리소스 최적화를 위한 확장: Google Cloud의 유연한 인프라를 사용하여 필요에 따라 리소스를 확장합니다. 작은 인스턴스로 시작하고 필요한 경우 크기나 수를 조정합니다.
실험을 통해 리소스 요구사항 파악
AI 및 ML 워크로드의 리소스 요구사항은 크게 다를 수 있습니다. 리소스 할당과 비용을 최적화하려면 체계적인 실험을 통해 워크로드의 구체적인 요구사항을 파악해야 합니다. 모델에 가장 효율적인 구성을 파악하려면 다양한 구성을 테스트하고 성능을 분석하세요. 그런 다음 요구사항에 따라 학습 및 서빙에 사용한 리소스의 크기를 적절하게 조정합니다.
실험에는 다음 접근 방식을 사용하는 것이 좋습니다.
- 기준으로 시작: 워크로드 요구사항의 초기 추정치를 기반으로 기준 구성으로 시작합니다. 기준을 만들려면 새 워크로드의 비용 추정기를 사용하거나 기존 청구 보고서를 사용하면 됩니다. 자세한 내용은 Google Cloud에서 엔터프라이즈 AI의 실제 비용 알아보기를 참고하세요.
- 할당량 파악: 광범위한 실험을 시작하기 전에 사용할 리소스 및 API의 Google Cloud 프로젝트할당량을 숙지하세요. 할당량에 따라 실제로 테스트할 수 있는 구성 범위가 결정됩니다. 할당량을 숙지하면 실험 단계에서 사용 가능한 리소스 한도 내에서 작업할 수 있습니다.
- 체계적으로 실험: CPU 수, 메모리 양, GPU 및 TPU 수와 유형, 스토리지 용량과 같은 매개변수를 조정합니다. Vertex AI 학습 및 Vertex AI 예측을 사용하면 다양한 머신 유형과 구성을 실험할 수 있습니다.
사용률, 비용, 성능 모니터링: 실험하는 각 구성에 대해 리소스 사용률, 비용, 주요 성능 측정항목(예: 학습 시간, 추론 지연 시간, 모델 정확도)을 추적합니다.
- 리소스 사용량과 성능 측정항목을 추적하려면 Vertex AI 콘솔을 사용하면 됩니다.
- 자세한 성능 측정항목을 수집하고 분석하려면 Cloud Monitoring을 사용하세요.
- 비용을 확인하려면 Cloud Billing 보고서 및 Cloud Monitoring 대시보드를 사용하세요.
- 모델의 성능 병목 현상을 식별하고 리소스 사용률을 최적화하려면 Vertex AI TensorBoard와 같은 프로파일링 도구를 사용하세요.
비용 분석: 각 구성의 비용과 성능을 비교하여 가장 비용 효율적인 옵션을 파악합니다.
할당량을 기반으로 리소스 한계 및 개선 목표 설정: 상당한 비용 증가에 비해 학습 시간이나 지연 시간이 최소한으로 감소하는 등 확장으로 인해 성능이 감소하는 시점을 나타내는 한계를 정의합니다. 이러한 기준점을 설정할 때는 프로젝트 할당량을 고려하세요. 추가 확장으로 인한 비용과 잠재적인 할당량 영향이 더 이상 실적 향상으로 정당화되지 않는 지점을 파악합니다.
반복적으로 개선: 실험 결과를 바탕으로 개선된 구성으로 실험 과정을 반복합니다. 항상 리소스 사용량이 할당된 할당량 내에 있고 설정된 비용 편익 기준과 일치하는지 확인하세요.
MLOps를 사용하여 비효율성 줄이기
조직에서 혁신과 효율성을 높이기 위해 ML을 사용하는 사례가 늘면서 ML 수명 주기를 효과적으로 관리하는 것이 중요해졌습니다. ML 작업 (MLOps)은 모델 개발부터 배포 및 모니터링에 이르기까지 ML 수명 주기를 자동화하고 간소화하는 일련의 방식입니다.
비용 요인에 MLOps 맞추기
비용 효율성을 위해 MLOps를 활용하려면 ML 수명 주기의 주요 비용 동인을 파악하세요. 그런 다음 비용 동인에 맞는 MLOps 관행을 채택하고 구현할 수 있습니다. 가장 큰 영향을 미치는 비용 동인을 해결하는 MLOps 기능을 우선적으로 채택합니다. 이 접근 방식을 사용하면 상당한 비용 절감을 달성하기 위한 관리 가능하고 성공적인 경로를 확보할 수 있습니다.
비용 최적화를 위한 MLOps 구현
다음은 비용을 절감하는 데 도움이 되는 일반적인 MLOps 사례입니다.
- 버전 관리: Git과 같은 도구를 사용하면 코드, 데이터, 모델의 버전을 추적할 수 있습니다. 버전 관리는 재현성을 보장하고, 공동작업을 촉진하며, 버전 관리 문제로 인해 발생할 수 있는 비용이 많이 드는 재작업을 방지합니다.
- 지속적 통합 및 지속적 배포 (CI/CD): Cloud Build 및 Artifact Registry를 사용하면 CI/CD 파이프라인을 구현하여 ML 모델의 빌드, 테스트, 배포를 자동화할 수 있습니다. CI/CD 파이프라인은 효율적인 리소스 활용을 보장하고 수동 개입과 관련된 비용을 최소화합니다.
- 관측 가능성: Cloud Monitoring 및 Cloud Logging을 사용하면 프로덕션 환경에서 모델 성능을 추적하고, 문제를 식별하고, 사전 개입을 위한 알림을 트리거할 수 있습니다. 관측 가능성을 통해 모델 정확도를 유지하고, 리소스 할당을 최적화하고, 비용이 많이 드는 다운타임이나 성능 저하를 방지할 수 있습니다.
- 모델 재학습: Vertex AI Pipelines는 모델을 주기적으로 또는 성능이 저하될 때 재학습하는 프로세스를 간소화합니다. Vertex AI Pipelines를 재학습에 사용하면 모델의 정확성과 효율성을 유지할 수 있어 불필요한 리소스 소비를 방지하고 최적의 성능을 유지할 수 있습니다.
- 자동화된 테스트 및 평가: Vertex AI를 사용하면 모델 평가를 가속화하고 표준화할 수 있습니다. ML 수명 주기 전반에 걸쳐 자동화된 테스트를 구현하여 모델의 품질과 신뢰성을 보장합니다. 이러한 테스트는 오류를 조기에 포착하고, 프로덕션에서 비용이 많이 드는 문제를 방지하며, 광범위한 수동 테스트의 필요성을 줄이는 데 도움이 됩니다.
자세한 내용은 MLOps: 머신러닝의 지속적 배포 및 자동화 파이프라인을 참고하세요.
데이터 관리 및 거버넌스 관행 시행
효과적인 데이터 관리 및 거버넌스 관행은 비용 최적화에 매우 중요합니다. 데이터가 잘 정리되어 있으면 팀에서 데이터 세트를 재사용하고, 불필요한 중복을 피하고, 고품질 데이터를 얻기 위한 노력을 줄일 수 있습니다. 데이터를 사전 대응 방식으로 관리하면 스토리지 비용을 절감하고 데이터 품질을 개선하며 ML 모델이 가장 관련성 있고 가치 있는 데이터로 학습되도록 할 수 있습니다.
데이터 관리 및 거버넌스 관행을 구현하려면 다음 권장사항을 고려하세요.
데이터 거버넌스 프레임워크 수립 및 채택
AI와 ML의 중요성이 커짐에 따라 디지털 혁신을 진행하는 조직에서 데이터가 가장 가치 있는 자산이 되었습니다. 데이터 거버넌스를 위한 강력한 프레임워크는 대규모로 AI 및 ML 워크로드를 비용 효율적으로 관리하는 데 중요한 요구사항입니다. 정책, 절차, 역할이 명확하게 정의된 데이터 거버넌스 프레임워크는 수명 주기 전반에 걸쳐 데이터를 관리하는 구조화된 접근 방식을 제공합니다. 이러한 프레임워크는 데이터 품질을 개선하고, 보안을 강화하며, 활용도를 높이고, 중복을 줄이는 데 도움이 됩니다.
데이터 거버넌스 프레임워크 설정
EDM Council에서 게시한 프레임워크와 같이 데이터 거버넌스를 위한 기존 프레임워크가 많이 있으며, 다양한 업계와 조직 규모에 맞는 옵션을 사용할 수 있습니다. 특정 요구사항과 우선순위에 맞는 프레임워크를 선택하고 적용하세요.
데이터 거버넌스 프레임워크 구현
Google Cloud 는 강력한 데이터 거버넌스 프레임워크를 구현하는 데 도움이 되는 다음과 같은 서비스와 도구를 제공합니다.
Dataplex 범용 카탈로그는 분산된 데이터를 통합하고 한곳에 데이터 세트를 통합하지 않고도 데이터 거버넌스를 자동화할 수 있도록 지원하는 지능형 데이터 패브릭입니다. 이렇게 하면 데이터를 배포하고 유지하는 비용을 줄이고, 데이터 검색을 용이하게 하며, 재사용을 촉진할 수 있습니다.
- 데이터를 정리하려면 Dataplex 범용 카탈로그 추상화를 사용하고 논리 데이터 레이크 및 영역을 설정합니다.
- 데이터 레이크 및 영역에 대한 액세스를 관리하려면 Google 그룹 및 Dataplex 범용 카탈로그 역할을 사용하세요.
- 데이터 품질 프로세스를 간소화하려면 자동 데이터 품질을 사용 설정하세요.
Dataplex 범용 카탈로그는 완전 관리형의 확장 가능한 메타데이터 관리 서비스이기도 합니다. 카탈로그는 데이터 애셋에 액세스할 수 있고 재사용할 수 있도록 하는 기반을 제공합니다.
- 지원되는 Google Cloud 소스의 메타데이터는 범용 카탈로그에 자동으로 수집됩니다. Google Cloud외부의 데이터 소스의 경우 맞춤 항목을 만듭니다.
- 데이터 애셋의 검색 가능성과 관리 기능을 개선하려면 관점을 사용하여 비즈니스 메타데이터로 기술 메타데이터를 보강하세요.
- 데이터 과학자와 ML 실무자가 Dataplex 범용 카탈로그에 액세스하고 검색 기능을 사용할 수 있는 충분한 권한이 있는지 확인합니다.
BigQuery 공유를 사용하면 조직 전체에서 데이터 애셋을 효율적이고 안전하게 교환하여 데이터 안정성과 비용 문제를 해결할 수 있습니다.
ML 수명 주기 전반에서 데이터 세트와 기능을 재사용할 수 있도록 지원
효율성과 비용을 크게 절감하려면 여러 ML 프로젝트에서 데이터 세트와 기능을 재사용하세요. 중복된 데이터 엔지니어링 및 기능 개발 노력을 피하면 조직에서 모델 개발을 가속화하고, 인프라 비용을 절감하고, 다른 중요한 작업을 위해 귀중한 리소스를 확보할 수 있습니다.
Google Cloud 는 데이터 세트와 기능을 재사용하는 데 도움이 되는 다음과 같은 서비스와 도구를 제공합니다.
- 데이터 및 ML 실무자는 데이터 제품을 게시하여 여러 팀에서 재사용할 수 있도록 극대화할 수 있습니다. 그러면 Dataplex 범용 카탈로그 및 BigQuery 공유를 통해 데이터 제품을 검색하고 사용할 수 있습니다.
- 표 형식 및 구조화된 데이터 세트의 경우 Vertex AI Feature Store를 사용하여 재사용성을 높이고 BigQuery를 통해 특성 관리를 간소화할 수 있습니다.
- Cloud Storage에 비정형 데이터를 저장하고 BigQuery 객체 테이블 및 서명된 URL을 사용하여 데이터를 관리할 수 있습니다.
- 벡터 검색 색인에 메타데이터를 포함하여 벡터 임베딩을 관리할 수 있습니다.
MLOps로 자동화 및 간소화
MLOps 관행을 도입하면 기술 및 인력 비용을 절감할 수 있습니다. 자동화를 사용하면 ML 활동의 중복을 방지하고 데이터 과학자와 ML 엔지니어의 워크로드를 줄일 수 있습니다.
MLOps로 ML 개발을 자동화하고 간소화하려면 다음 권장사항을 고려하세요.
데이터 수집 및 처리 자동화 및 표준화
ML 개발 노력과 시간을 줄이려면 데이터 수집 및 처리 기술을 자동화하고 표준화하세요.
데이터 수집 및 처리 자동화
이 섹션에서는 데이터 수집 및 처리를 자동화하는 데 사용할 수 있는 제품, 도구, 기법을 간략하게 설명합니다.
AI 및 ML 작업에 적합한 데이터 소스를 식별하고 선택합니다.
- Cloud SQL, Spanner, PostgreSQL용 AlloyDB, Firestore, BigQuery와 같은 데이터베이스 옵션 선택은 쓰기 액세스(정적 또는 동적)의 지연 시간, 데이터 볼륨 (높음 또는 낮음), 데이터 형식(구조화, 구조화되지 않음 또는 반구조화)과 같은 요구사항에 따라 달라집니다. 자세한 내용은 Google Cloud 데이터베이스를 참고하세요.
- BigLake가 있는 Cloud Storage와 같은 데이터 레이크
- Dataplex 범용 카탈로그: 여러 소스의 데이터를 관리합니다.
- Pub/Sub, Dataflow 또는 Apache Kafka와 같은 스트리밍 이벤트 플랫폼
- 외부 API
각 데이터 소스에 대해 수집 도구를 선택합니다.
- Dataflow: 다양한 소스의 데이터를 일괄 및 스트림 처리하고 ML 구성요소를 통합합니다. 이벤트 기반 아키텍처의 경우 Dataflow를 Eventarc와 결합하여 ML 데이터를 효율적으로 처리할 수 있습니다. MLOps 및 ML 작업 효율성을 향상하려면 GPU 및 적합 맞춤 기능을 사용하세요.
- Cloud Run 함수: 실시간 애플리케이션의 데이터 소스 변경으로 트리거되는 이벤트 기반 데이터 수집에 사용됩니다.
- BigQuery: 자주 액세스하는 기존 표 형식 데이터 수집에 적합합니다.
데이터 변환 및 로드 도구를 선택합니다.
- Dataflow 또는 Dataform과 같은 도구를 사용하여 특성 스케일링, 범주형 변수 인코딩, 일괄, 스트리밍 또는 실시간으로 새 특성 생성과 같은 데이터 변환을 자동화합니다. 선택하는 도구는 요구사항과 선택한 서비스에 따라 달라집니다.
- Vertex AI Feature Store를 사용하여 특성 생성 및 관리를 자동화합니다. 여러 모델과 프로젝트에서 재사용할 수 있도록 기능을 중앙 집중화할 수 있습니다.
데이터 수집 및 처리 표준화
데이터 애셋을 검색, 파악, 관리하려면 Dataplex 범용 카탈로그와 같은 메타데이터 관리 서비스를 사용하세요. 데이터 정의를 표준화하고 조직 전체에서 일관성을 유지하는 데 도움이 됩니다.
표준화를 적용하고 여러 맞춤 구현을 유지하는 비용을 방지하려면 자동화된 학습 파이프라인과 오케스트레이션을 사용하세요. 자세한 내용은 다음 섹션을 참고하세요.
학습 파이프라인 자동화 및 기존 애셋 재사용
MLOps의 효율성과 생산성을 높이려면 자동화된 학습 파이프라인이 중요합니다. Google Cloud 는 기존 애셋 재사용을 중점적으로 고려하여 학습 파이프라인을 빌드하고 배포할 수 있는 강력한 도구 및 서비스 세트를 제공합니다. 자동화된 학습 파이프라인은 모델 개발을 가속화하고, 일관성을 보장하며, 중복된 노력을 줄이는 데 도움이 됩니다.
학습 파이프라인 자동화
다음 표에서는 학습 파이프라인의 다양한 기능을 자동화하는 데 사용할 수 있는 Google Cloud 서비스와 기능을 설명합니다.
함수 | Google Cloud 서비스 및 기능 |
---|---|
조정: 여러 단계와 종속 항목으로 구성된 복잡한 ML 워크플로를 정의합니다. 각 단계를 별도의 컨테이너화된 작업으로 정의할 수 있으므로 개별 작업을 쉽게 관리하고 확장할 수 있습니다. |
|
버전 관리: 파이프라인과 구성요소의 다양한 버전을 추적하고 관리하여 재현성과 감사 가능성을 보장합니다. | Artifact Registry의 Kubeflow Pipelines 저장소에 Kubeflow 파이프라인 템플릿을 저장합니다. |
재사용성: 준비된 데이터 세트와 학습된 모델과 같은 기존 파이프라인 구성요소와 아티팩트를 재사용하여 개발 속도를 높입니다. | Cloud Storage에 파이프라인 템플릿을 저장하고 조직 전체에서 공유합니다. |
모니터링: 파이프라인 실행을 모니터링하여 문제를 식별하고 해결합니다. | Cloud Logging 및 Cloud Monitoring 사용 자세한 내용은 대시보드, 알림, 보고서로 리소스 지속적으로 모니터링을 참고하세요. |
파이프라인을 넘어 재사용성 확장
학습 파이프라인을 넘어 재사용성을 확장할 기회를 찾습니다. 다음은 ML 기능, 데이터 세트, 모델, 코드를 재사용할 수 있는 Google Cloud 기능의 예입니다.
- Vertex AI Feature Store는 ML 특성을 구성, 저장, 제공할 수 있는 중앙 집중식 저장소를 제공합니다. 이를 통해 여러 프로젝트와 모델에서 기능을 재사용할 수 있으므로 일관성을 개선하고 특성 추출 노력을 줄일 수 있습니다. 온라인 및 오프라인 사용 사례 모두에 대해 기능을 저장, 공유, 액세스할 수 있습니다.
- Vertex AI 데이터 세트를 사용하면 팀에서 데이터 세트를 중앙에서 생성하고 관리할 수 있으므로 조직에서 재사용성을 극대화하고 데이터 중복을 줄일 수 있습니다. 팀에서 Dataplex 범용 카탈로그를 사용하여 데이터 세트를 검색하고 탐색할 수 있습니다.
- Vertex AI Model Registry를 사용하면 학습된 모델을 저장, 관리, 배포할 수 있습니다. 모델 레지스트리를 사용하면 후속 파이프라인이나 온라인 예측에서 모델을 재사용할 수 있으므로 이전 학습 노력을 활용할 수 있습니다.
- 커스텀 컨테이너를 사용하면 학습 코드와 종속 항목을 컨테이너에 패키징하고 컨테이너를 Artifact Registry에 저장할 수 있습니다. 커스텀 컨테이너를 사용하면 다양한 파이프라인과 프로젝트에서 일관되고 재현 가능한 학습 환경을 제공할 수 있습니다.
모델 평가 및 조정에 Google Cloud 서비스 사용
Google Cloud 은 모델 평가 및 조정을 간소화하고 자동화하는 강력한 도구 및 서비스 모음을 제공합니다. 이러한 도구와 서비스를 사용하면 프로덕션까지 걸리는 시간을 줄이고 지속적인 학습 및 모니터링에 필요한 리소스를 줄일 수 있습니다. 이러한 서비스를 사용하면 AI 및 ML 팀이 비용이 많이 드는 반복을 줄여 모델 성능을 개선하고, 더 빠른 결과를 얻고, 낭비되는 컴퓨팅 리소스를 최소화할 수 있습니다.
리소스 효율적인 모델 평가 및 실험 사용
솔루션을 확장하기 전에 실험을 통해 AI 프로젝트를 시작하세요. 실험에서 데이터 세트 버전, 모델 매개변수, 모델 유형과 같은 다양한 메타데이터를 추적합니다. 결과의 재현성과 비교를 높이려면 Git의 기능과 유사한 코드 버전 관리 외에 메타데이터 추적을 사용하세요. 정보가 누락되거나 프로덕션에 잘못된 버전이 배포되지 않도록 하려면 대규모 배포 또는 학습 작업을 구현하기 전에 Vertex AI 실험을 사용하세요.
Vertex AI Experiments를 사용하면 다음 작업을 할 수 있습니다.
- 프로덕션 준비가 완료된 워크로드를 위해 사용자 친화적인 UI와 API를 통해 메타데이터 추적 및 검색을 간소화하고 자동화합니다.
- 모델의 성능 측정항목을 분석하고 여러 모델의 측정항목을 비교합니다.
모델을 학습시킨 후에는 시간이 지남에 따라 수신 데이터의 성능과 데이터 드리프트를 지속적으로 모니터링합니다. 이 프로세스를 간소화하려면 Vertex AI Model Monitoring을 사용하여 Model Registry에서 생성된 모델에 직접 액세스하세요. Model Monitoring은 온라인 및 일괄 예측을 통해 데이터와 결과에 대한 모니터링도 자동화합니다. 결과를 BigQuery로 내보내 추가 분석 및 추적을 할 수 있습니다.
학습을 자동화하기 위한 최적의 전략 선택
초매개변수 조정에는 다음 방법을 사용하는 것이 좋습니다.
- 모델에 최적의 초매개변수를 찾는 프로세스를 자동화하려면 Vertex AI 초매개변수 조정을 사용하세요. Vertex AI는 고급 알고리즘을 사용하여 초매개변수 공간을 탐색하고 최적의 구성을 식별합니다.
- 효율적인 하이퍼파라미터 미세 조정을 위해 특히 복잡한 모델과 대규모 데이터 세트를 다룰 때는 베이지안 최적화 기법을 사용하는 것이 좋습니다.
분산 학습의 경우 다음 방법을 사용하는 것이 좋습니다.
대규모 데이터 세트와 복잡한 모델의 경우 Vertex AI의 분산 학습 인프라를 사용하세요. 이 방법을 사용하면 여러 머신에서 모델을 학습할 수 있으므로 학습 시간과 관련 비용을 크게 줄일 수 있습니다. 다음과 같은 도구를 사용합니다.
- Vertex AI 조정을 사용하여 Gemini, Imagen 및 기타 모델의 지도 미세 조정을 실행합니다.
- 커스텀 분산 학습을 위한 Vertex AI 학습 또는 Vertex AI의 Ray
분산 학습과 효율적인 리소스 활용을 지원하는 최적화된 ML 프레임워크(예: Keras 및 PyTorch)를 선택합니다.
설명 가능한 AI 사용
모델이 특정 결정을 내리는 이유를 이해하고 잠재적인 편향이나 개선의 여지가 있는 부분을 파악하는 것이 중요합니다. Vertex Explainable AI를 사용하여 모델의 예측에 대한 유용한 정보를 얻습니다. Vertex Explainable AI는 Vertex AI 실험에 연결된 기능 기반 및 예시 기반 설명을 자동화하는 방법을 제공합니다.
- 특성 기반: 모델의 예측에 가장 큰 영향을 미치는 특성을 파악하려면 특성 기여도를 분석하세요. 이러한 이해는 특성 추출 노력을 안내하고 모델 해석 가능성을 개선할 수 있습니다.
- 예시 기반: 입력과 가장 유사한 예시 목록 (일반적으로 학습 세트)을 반환하기 위해 Vertex AI는 최근접 이웃 검색을 사용합니다. 유사한 입력은 일반적으로 유사한 예측을 생성하므로 이러한 설명을 사용하여 모델의 동작을 탐색하고 설명할 수 있습니다.
관리형 서비스 및 사전 학습된 모델 사용
모델 선택 및 모델 개발에 점진적 접근 방식을 채택합니다. 이 방법을 사용하면 매번 새로 시작하는 데 드는 과도한 비용을 방지할 수 있습니다. 비용을 관리하려면 ML 프레임워크, 관리형 서비스, 사전 학습된 모델을 사용하세요.
관리형 서비스와 사전 학습된 모델을 최대한 활용하려면 다음 권장사항을 고려하세요.
탐색 및 실험에 노트북 사용
Notebook 환경은 비용 효율적인 ML 실험에 매우 중요합니다. 노트북은 데이터 과학자와 엔지니어가 데이터를 탐색하고, 모델을 개발하고, 지식을 공유하고, 효율적으로 반복할 수 있는 대화형 공동작업 공간을 제공합니다. 노트북을 통한 공동작업과 지식 공유는 개발, 코드 검토, 지식 이전을 크게 가속화합니다. 노트북은 워크플로를 간소화하고 중복된 노력을 줄이는 데 도움이 됩니다.
개발 환경을 위해 값비싼 하드웨어를 조달하고 관리하는 대신 Vertex AI Workbench 및 Colab Enterprise의 확장 가능하고 주문형 인프라를 사용할 수 있습니다.
Vertex AI Workbench는 전체 데이터 과학 워크플로에 사용되는 Jupyter 노트북 개발 환경입니다. 인스턴스의 Jupyter 노트북 내에서 Vertex AI 및 기타 Google Cloud서비스와 상호작용할 수 있습니다. Vertex AI Workbench 통합 및 기능을 사용하면 다음 작업을 할 수 있습니다.
- BigQuery 및 Cloud Storage 통합을 사용하여 Jupyter 노트북에서 데이터에 액세스하고 탐색합니다.
- Vertex AI에서 실행되는 코드의 예약된 실행을 사용하여 모델의 반복 업데이트를 자동화합니다.
- Dataproc 클러스터에서 노트북을 실행하여 데이터를 빠르게 처리합니다.
- Vertex AI 파이프라인을 사용하여 파이프라인에서 노트북을 단계로 실행합니다.
Colab Enterprise는 Google Cloud의 보안 및 규정 준수 기능이 포함된 공동작업을 위한 관리형 노트북 환경입니다. 프로젝트의 우선순위에 공동 개발과 인프라 관리 노력 감소가 포함된다면 Colab Enterprise가 적합합니다. Colab Enterprise는Google Cloud 서비스 및 Gemini를 사용하는 AI 기반 지원과 통합됩니다. Colab Enterprise를 사용하면 다음 작업을 할 수 있습니다.
- 인프라를 관리할 필요 없이 노트북에서 작업할 수 있습니다.
- 단일 사용자, Google 그룹 또는 Google Workspace 도메인과 노트북을 공유합니다. Identity and Access Management (IAM)를 통해 노트북 액세스를 제어할 수 있습니다.
- Vertex AI 및 BigQuery에 내장된 기능과 상호작용합니다.
변경사항을 추적하고 필요한 경우 이전 버전으로 되돌리려면 노트북을 Git과 같은 버전 관리 도구와 통합하면 됩니다.
기존 모델 및 사전 학습된 모델로 시작
특히 딥 러닝 모델과 같은 복잡한 모델을 처음부터 학습시키려면 상당한 컴퓨팅 리소스와 시간이 필요합니다. 모델 선택 및 개발 프로세스를 가속화하려면 기존 모델과 사전 학습된 모델로 시작하세요. 방대한 데이터 세트로 학습된 이러한 모델을 사용하면 모델을 처음부터 학습할 필요가 없으므로 비용과 개발 시간을 크게 줄일 수 있습니다.
교육 및 개발 비용 절감
각 ML 작업에 적합한 모델이나 API를 선택하고 이를 결합하여 엔드 투 엔드 ML 개발 프로세스를 만듭니다.
Vertex AI Model Garden은 이미지 분류, 객체 감지, 자연어 처리와 같은 작업을 위한 다양한 선행 학습된 모델을 제공합니다. 모델은 다음 카테고리로 그룹화됩니다.
- Google 모델(예: Gemini 모델 제품군 및 이미지 생성을 위한 Imagen)
- Gemma, Llama와 같은 오픈소스 모델
- Anthropic, Mistral AI와 같은 파트너의 서드 파티 모델
Google Cloud 는 개발자가 처음부터 모델을 빌드하지 않고도 강력한 AI 기능을 애플리케이션에 통합할 수 있는 AI 및 ML API를 제공합니다.
- Cloud Vision API를 사용하면 이미지에서 유용한 정보를 도출할 수 있습니다. 이 API는 이미지 분석, 콘텐츠 조정, 자동 데이터 입력과 같은 애플리케이션에 유용합니다.
- Cloud Natural Language API를 사용하면 텍스트를 분석하여 구조와 의미를 파악할 수 있습니다. 이 API는 고객 의견 분석, 콘텐츠 분류, 소셜 미디어 트렌드 파악과 같은 작업에 유용합니다.
- Speech-to-Text API는 오디오를 텍스트로 변환합니다. 이 API는 다양한 언어와 방언을 지원합니다.
- Video Intelligence API는 동영상 콘텐츠를 분석하여 객체, 장면, 동작을 식별합니다. 동영상 콘텐츠 분석, 콘텐츠 검토, 동영상 검색에 이 API를 사용하세요.
- Document AI API는 문서를 처리하여 데이터를 추출, 분류, 이해합니다. 이 API를 사용하면 문서 처리 워크플로를 자동화할 수 있습니다.
- Dialogflow API를 사용하면 챗봇, 음성 어시스턴트와 같은 대화형 인터페이스를 만들 수 있습니다. 이 API를 사용하여 고객 서비스 봇과 가상 어시스턴트를 만들 수 있습니다.
- Vertex AI의 Gemini API는 Google의 가장 강력한 범용 AI 모델에 대한 액세스를 제공합니다.
튜닝 비용 절감
광범위한 데이터와 컴퓨팅 시간의 필요성을 줄이려면 특정 데이터 세트에서 사전 학습된 모델을 미세 조정하세요. 다음 방법을 권장합니다.
- 학습 전이: 처음부터 시작하는 대신 사전 학습된 모델의 지식을 새 작업에 사용합니다. 이 접근 방식은 데이터와 컴퓨팅 시간이 적게 필요하므로 비용을 절감하는 데 도움이 됩니다.
- 어댑터 조정 (파라미터 효율적 조정): 전체 미세 조정 없이 모델을 새로운 작업이나 도메인에 적응시킵니다. 이 접근 방식은 훨씬 적은 컴퓨팅 리소스와 더 작은 데이터 세트가 필요합니다.
- 지도 미세 조정: 라벨이 지정된 데이터 세트를 사용하여 모델 동작을 조정합니다. 이 접근 방식을 사용하면 기본 인프라 관리와 맞춤 학습 작업에 필요한 개발 노력이 간소화됩니다.
Vertex AI Studio를 사용하여 살펴보고 실험하기
Vertex AI Studio를 사용하면 생성형 AI 애플리케이션을 신속하게 테스트하고, 프로토타입으로 제작하고, 배포할 수 있습니다.
- Model Garden과의 통합: 최신 모델에 빠르게 액세스하고 모델을 효율적으로 배포하여 시간과 비용을 절약할 수 있습니다.
- 특수 모델에 대한 통합 액세스: 채팅, 텍스트, 미디어, 번역, 음성용 모델을 비롯한 다양한 사전 학습된 모델과 API에 대한 액세스를 통합합니다. 이 통합 액세스를 사용하면 개별 서비스를 검색하고 통합하는 데 소요되는 시간을 줄일 수 있습니다.
관리형 서비스를 사용하여 모델 학습 또는 서빙
관리형 서비스를 사용하면 모델 학습 비용을 줄이고 인프라 관리를 간소화하여 모델 개발 및 최적화에 집중할 수 있습니다. 이 접근 방식을 사용하면 비용을 크게 절감하고 효율성을 높일 수 있습니다.
운영 오버헤드 감소
인프라 관리의 복잡성과 비용을 줄이려면 다음 관리 서비스를 사용하세요.
- Vertex AI 학습은 모델을 대규모로 학습시키기 위한 완전 관리형 환경을 제공합니다. 널리 사용되는 ML 프레임워크가 포함된 다양한 사전 빌드 컨테이너 중에서 선택하거나 자체 맞춤 컨테이너를 사용할 수 있습니다. Google Cloud 는 인프라 프로비저닝, 확장, 유지보수를 처리하므로 운영 오버헤드가 줄어듭니다.
- Vertex AI 예측은 인프라 확장, 부하 분산, 요청 라우팅을 처리합니다. 수동 개입 없이 고가용성과 고성능을 얻을 수 있습니다.
- Vertex AI의 Ray는 완전 관리형 Ray 클러스터를 제공합니다. 클러스터를 사용하여 자체 인프라를 관리할 필요 없이 많은 계산 (하이퍼파라미터 조정, 모델 미세 조정, 분산 모델 학습, 인간 피드백 기반 강화 학습)을 실행하는 복잡한 맞춤 AI 워크로드를 실행할 수 있습니다.
관리형 서비스를 사용하여 리소스 사용률 최적화
효율적인 리소스 사용에 관한 자세한 내용은 리소스 사용 최적화를 참고하세요.
참여자
저자:
- 아이작 로 | AI 비즈니스 개발 관리자
- 아나스타시아 프로카에바 | 생성형 AI 부문 현장 솔루션 설계자
- Amy Southwood | 기술 솔루션 컨설턴트, 데이터 분석 및 AI
기타 참여자:
- 필리페 그라시오, 박사 | 고객 엔지니어
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
- 니콜라스 핀토 | 고객 엔지니어, 애플리케이션 현대화 전문가
AI 및 ML 관점: 성능 최적화
Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 AI 및 ML 워크로드의 성능을 최적화하는 데 도움이 되는 원칙 및 권장사항을 간략하게 설명합니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 성능 최적화 필라와 일치합니다.
AI 및 ML 시스템을 통해 조직에서 새로운 자동화 및 의사 결정 기능을 사용할 수 있습니다. 이러한 시스템의 성능은 수익, 비용, 고객 만족도와 같은 비즈니스 동인에 직접적인 영향을 미칠 수 있습니다. AI 및 ML 시스템의 잠재력을 최대한 활용하려면 비즈니스 목표와 기술 요구사항에 따라 성능을 최적화해야 합니다. 성능 최적화 프로세스에는 특정 트레이드오프가 수반되는 경우가 많습니다. 예를 들어 필요한 성능을 제공하는 설계 선택으로 인해 비용이 증가할 수 있습니다. 이 문서의 권장사항은 비용과 같은 다른 고려사항보다 성능을 우선시합니다.
AI 및 ML 성능을 최적화하려면 모델 아키텍처, 파라미터, 학습 전략과 같은 요소를 고려하여 결정을 내려야 합니다. 이러한 결정을 내릴 때는 AI 및 ML 시스템의 전체 수명 주기와 배포 환경을 고려하세요. 예를 들어 매우 큰 LLM은 대규모 학습 인프라에서 매우 우수한 성능을 보일 수 있지만, 매우 큰 모델은 모바일 기기와 같이 용량이 제한된 환경에서는 성능이 좋지 않을 수 있습니다.
비즈니스 목표를 성능 목표로 변환
성능을 최적화하는 아키텍처 결정을 내리려면 명확한 비즈니스 목표를 설정해야 합니다. 비즈니스 목표와 우선순위를 지원하는 데 필요한 기술적 성능을 제공하는 AI 및 ML 시스템을 설계하세요. 기술팀은 실적 목표와 비즈니스 목표 간의 매핑을 이해해야 합니다.
다음 권장사항을 고려하세요.
- 비즈니스 목표를 기술 요구사항으로 변환: AI 및 ML 시스템의 비즈니스 목표를 구체적인 기술 성능 요구사항으로 변환하고 요구사항을 충족하지 않을 때의 영향을 평가합니다. 예를 들어 고객 이탈을 예측하는 애플리케이션의 경우 ML 모델이 정확성, 재현율과 같은 표준 측정항목에서 우수한 성능을 보여야 하고 애플리케이션이 낮은 지연 시간과 같은 운영 요구사항을 충족해야 합니다.
- 모델 수명 주기의 모든 단계에서 성능 모니터링: 모델 배포 후 실험 및 학습 중에 핵심성과지표 (KPI)를 모니터링하고 비즈니스 목표와의 편차를 관찰합니다.
- 평가를 자동화하여 재현 가능하고 표준화: 실험 평가를 위한 표준화되고 비교 가능한 플랫폼과 방법론을 사용하면 엔지니어가 성능 개선 속도를 높일 수 있습니다.
자주 실험 실행 및 추적
혁신과 창의성을 실적 개선으로 전환하려면 실험을 지원하는 문화와 플랫폼이 필요합니다. AI 및 ML 기술은 지속적으로 빠르게 발전하므로 성능 개선은 지속적인 프로세스입니다. 빠른 속도의 반복적인 프로세스를 유지하려면 실험 공간을 학습 및 제공 플랫폼과 분리해야 합니다. 표준화되고 강력한 실험 프로세스가 중요합니다.
다음 권장사항을 고려하세요.
- 실험 환경 빌드: 성능 개선에는 ML 파이프라인의 실험 및 공동 개발을 지원하는 전용의 강력한 대화형 환경이 필요합니다.
- 실험을 문화로 내재화: 프로덕션 배포 전에 실험을 실행합니다. 새 버전을 반복적으로 출시하고 항상 성능 데이터를 수집합니다. 다양한 데이터 유형, 특성 변환, 알고리즘, 하이퍼파라미터를 실험합니다.
학습 및 서빙 서비스 빌드 및 자동화
AI 모델 학습 및 서빙은 AI 서비스의 핵심 구성요소입니다. AI 모델을 빠르고 안정적으로 생성, 배포, 제공할 수 있는 강력한 플랫폼과 관행이 필요합니다. 핵심 AI 학습 및 서빙 작업을 위한 기본 플랫폼을 만드는 데 시간과 노력을 투자하세요. 이러한 기본 플랫폼은 팀의 시간과 노력을 줄이고 중장기적으로 결과물의 품질을 개선하는 데 도움이 됩니다.
다음 권장사항을 고려하세요.
- 학습 서비스의 AI 전문 구성요소 사용: 이러한 구성요소에는 고성능 컴퓨팅과 특성 스토어, 모델 레지스트리, 메타데이터 스토어, 모델 성능 평가 서비스와 같은 MLOps 구성요소가 포함됩니다.
- 예측 서비스의 AI 전문 구성요소 사용: 이러한 구성요소는 고성능의 확장 가능한 리소스를 제공하고, 기능 모니터링을 지원하며, 모델 성능 모니터링을 지원합니다. 성능 저하를 방지하고 관리하려면 안정적인 배포 및 롤백 전략을 구현하세요.
성능 요구사항에 맞게 디자인 선택
성능을 개선하기 위해 디자인을 선택할 때는 선택한 디자인이 비즈니스 요구사항을 지원하는지 아니면 낭비적이고 역효과를 내는지 신중하게 평가하세요. 적절한 인프라, 모델 또는 구성을 선택하려면 성능 병목 현상을 파악하고 성능 측정과 어떻게 연결되는지 평가하세요. 예를 들어 매우 강력한 GPU 가속기에서도 스토리지 레이어의 데이터 I/O 문제나 모델 자체의 성능 제한으로 인해 학습 작업에 성능 병목 현상이 발생할 수 있습니다.
다음 권장사항을 고려하세요.
- 성능 목표에 따라 하드웨어 소비 최적화: 성능 요구사항을 충족하는 ML 모델을 학습시키고 제공하려면 컴퓨팅, 스토리지, 네트워크 레이어에서 인프라를 최적화해야 합니다. 실적 목표에 영향을 미치는 변수를 측정하고 이해해야 합니다. 이러한 변수는 학습과 추론에서 다릅니다.
- 워크로드별 요구사항에 집중: AI 및 ML 워크로드의 고유한 요구사항에 성능 최적화 노력을 집중하세요. 기본 인프라의 성능을 위해 관리형 서비스를 사용합니다.
- 적절한 학습 전략 선택: 여러 사전 학습 모델과 기본 모델을 사용할 수 있으며 이러한 모델이 자주 출시됩니다. 작업에 최적의 성능을 제공할 수 있는 학습 전략을 선택하세요. 자체 모델을 빌드할지, 데이터에 대해 선행 학습된 모델을 미세 조정할지, 선행 학습된 모델 API를 사용할지 결정합니다.
- 실적 최적화 전략의 수익이 감소할 수 있음을 인식: 특정 실적 최적화 전략이 측정 가능한 비즈니스 가치를 증대하지 않는 경우 해당 전략을 중단합니다.
성능 측정항목을 설계 및 구성 선택사항에 연결
혁신하고, 문제를 해결하고, 성능 문제를 조사하려면 설계 선택과 성능 결과 간의 명확한 연결을 설정하세요. 실험 외에도 애셋, 배포, 모델 출력, 출력을 생성한 구성 및 입력을 안정적으로 기록해야 합니다.
다음 권장사항을 고려하세요.
- 데이터 및 모델 계보 시스템 구축: 배포된 모든 애셋과 그 실적 측정항목은 배포된 시스템을 생성한 데이터, 구성, 코드, 선택사항에 다시 연결되어야 합니다. 또한 모델 출력은 특정 모델 버전 및 출력이 생성된 방식과 연결되어야 합니다.
- 설명 가능성 도구를 사용하여 모델 성능 개선: 모델 탐색 및 설명 가능성을 위한 도구와 벤치마크를 채택하고 표준화합니다. 이러한 도구를 사용하면 ML 엔지니어가 모델 동작을 이해하고 성능을 개선하거나 편향을 제거할 수 있습니다.
참여자
저자:
- 벤저민 사딕 | AI 및 ML 전문가 고객 엔지니어
- 필리페 그라시오, 박사 | 고객 엔지니어
기타 참여자: