아키텍처 프레임워크: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 안정적인 AI 및 ML 시스템을 설계하고 운영하기 위한 원칙과 권장사항을 간략히 설명합니다. 이 페이지에서는 고급 신뢰성 관행과 관측 가능성을 아키텍처 블루프린트에 통합하는 방법을 살펴봅니다. 이 문서의 권장사항은 아키텍처 프레임워크의 안정성 분야에 따릅니다.
빠르게 진화하는 AI 및 ML 환경에서 고객 만족을 보장하고 비즈니스 목표를 달성하려면 안정적인 시스템이 필수적입니다. 예측 ML과 생성형 AI의 고유한 요구사항을 충족할 수 있도록 강력하고 안정적이며 적응 가능한 AI 및 ML 시스템이 필요합니다. 개발에서 배포 및 지속적인 개선에 이르기까지 MLOps의 복잡성을 처리하려면 안정성 우선 접근 방식을 사용해야 합니다. Google Cloud는 사이트 안정성 엔지니어링 (SRE) 원칙에 부합하며 안정적인 AI 및 ML 시스템을 위한 강력한 기반을 제공하는 전용 AI 인프라를 제공합니다.
확장 가능하고 가용성이 높은 인프라를 보장합니다.
확장성과 가용성을 고려한 아키텍처를 설계하면 애플리케이션이 서비스 중단이나 성능 저하 없이 다양한 수준의 수요를 처리할 수 있습니다. 즉, 인프라가 다운되거나 트래픽이 매우 많은 경우에도 사용자가 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 인프라 솔루션 설계자
- 필리페 그라시오, 박사 | 고객 엔지니어
기타 참여자: