이 페이지에서는 Vertex AI 모델 모니터링을 간략히 설명합니다.
모니터링 개요
Vertex AI Model Monitoring을 사용하면 필요에 따라 또는 정기적으로 모니터링 작업을 실행하여 테이블 형식 모델 품질을 추적할 수 있습니다. 알림을 설정한 경우 측정항목이 지정된 임곗값을 초과하면 Vertex AI Model Monitoring에서 이를 알려줍니다.
예를 들어 고객 평생 가치를 예측하는 모델이 있다고 가정해 보겠습니다. 고객 습관이 달라지면 고객 지출을 예측하는 요소도 달라집니다. 따라서 이전에 모델을 학습시키는 데 사용한 특성과 특성 값이 현재 예측과 관련이 없을 수 있습니다. 이러한 데이터 편차를 드리프트라고 합니다.
Vertex AI Model Monitoring은 편차가 지정된 임곗값을 초과할 때 이를 추적하고 알릴 수 있습니다. 그런 다음 모델을 다시 평가하거나 재학습시켜 모델이 의도한 대로 작동하는지 확인할 수 있습니다.
예를 들어 Vertex AI Model Monitoring은 다음 그림과 같은 시각화를 제공할 수 있으며 이 시각화는 두 데이터 세트에서 그래프 2개를 오버레이합니다. 이 시각화를 통해 두 데이터 세트 간의 편차를 빠르게 비교하고 확인할 수 있습니다.
Vertex AI Model Monitoring 버전
Vertex AI Model Monitoring은 v2 및 v1 등 두 가지 제품을 제공합니다.
Model Monitoring v2는 미리보기 버전이며 모든 모니터링 태스크를 모델 버전과 연결하는 최신 서비스입니다. 반면 Model Monitoring v1은 정식 버전이며 Vertex AI 엔드포인트에서 구성됩니다.
프로덕션 수준 지원이 필요하고 Vertex AI 엔드포인트에 배포된 모델을 모니터링하려면 Model Monitoring v1을 사용합니다. 다른 모든 사용 사례의 경우 Model Monitoring v1 등의 모든 기능을 제공하는 Model Monitoring v2를 사용합니다. 자세한 내용은 각 버전 개요를 참조하세요.
기존 Model Monitoring v1 사용자의 경우 Model Monitoring v1은 있는 그대로 유지됩니다. Model Monitoring v2로 마이그레이션할 필요가 없습니다. 마이그레이션하려면 전환 중에 모니터링 격차가 발생하지 않도록 Model Monitoring v2로 완전히 마이그레이션할 때까지 두 버전을 동시에 사용하면 됩니다.
Model Monitoring v2 개요
Model Monitoring v2를 사용하면 모델 모니터를 구성하고 모니터링 작업을 실행한 후에 시간 경과에 따라 측정항목을 추적할 수 있습니다. 주문형 모니터링 작업을 실행하거나 예약 실행을 설정할 수 있습니다. 예약 실행을 사용하면 Model Monitoring은 개발자가 정의한 일정에 따라 모니터링 작업을 자동으로 실행합니다.
모니터링 목표
모니터링하는 측정항목과 임곗값은 모니터링 목표에 매핑됩니다. 모델 버전마다 모니터링 목표를 하나 이상 지정할 수 있습니다. 다음 표에서는 각 목표를 자세히 보여줍니다.
목표 | 설명 | 특성 데이터 유형 | 지원되는 측정항목 |
---|---|---|---|
입력 특성 데이터 드리프트 |
기준 데이터 분포와 비교하여 입력 특성 값 분포를 측정합니다. |
범주형: 불리언, 문자열, 범주형 |
|
숫자: 부동 소수점, 정수 | 젠슨 섀넌 발산 | ||
출력 예측 데이터 드리프트 |
기준 데이터 분포와 비교하여 모델의 예측 데이터 분포를 측정합니다. |
범주형: 불리언, 문자열, 범주형 |
|
숫자: 부동 소수점, 정수 | 젠슨 섀넌 발산 | ||
특성 기여 |
기준과 비교하여 모델 예측에 대한 특성 기여도 변화를 측정합니다. 예를 들어 매우 중요한 특성의 중요도가 갑자기 하락하는지 추적할 수 있습니다. |
모든 데이터 유형 | SHAP 값(SHapley Additive exPlanations) |
입력 특성 및 출력 예측 드리프트
모델을 프로덕션에 배포한 후 입력 데이터가 모델을 학습시키는 데 사용된 데이터와 다르거나 프로덕션의 특성 데이터 분포가 시간이 경과하면서 크게 바뀔 수 있습니다. Model Monitoring v2는 학습 데이터와 비교하여 프로덕션 데이터 분포 변경사항을 모니터링하거나 시간 경과에 따른 프로덕션 데이터 분포 변화를 추적할 수 있습니다.
마찬가지로 예측 데이터의 경우 Model Monitoring v2가 시간 경과에 따른 학습 데이터 또는 프로덕션 데이터 분포와 비교하여 예측 결과 분포 변경사항을 모니터링할 수 있습니다.
특성 기여
특성 기여 분석은 모델의 각 특성이 각 인스턴스의 예측에 기여한 정도를 나타냅니다. 기여 분석 점수는 모델 예측에 대한 특성 기여도에 비례합니다. 이러한 점수는 일반적으로 특성이 예측을 푸시하는 데 도움이 되는지 여부가 표시되어 있습니다. 모든 특성에 대한 기여 분석은 모델 예측 점수를 합산해야 합니다.
특성 기여 분석을 모니터링하면 Model Monitoring v2에서 시간 경과에 따른 모델 예측에 대한 특성 기여 분석의 변경사항을 추적합니다. 주요 특성의 기여 분석 점수 변화는 특성이 모델 예측 정확성에 영향을 미칠 수 있는 방식으로 변경되었다는 의미입니다.
특성 기여 분석과 측정항목에 대한 자세한 내용은 특성 기반 설명 및 샘플링된 Shapley 메서드를 참조하세요.
Model Monitoring v2 설정 방법
먼저 Vertex AI Model Registry에 모델을 등록해야 합니다. Vertex AI 외부에서 모델을 서빙하는 경우에는 모델 아티팩트를 업로드할 필요가 없습니다. 그런 다름 모델 버전과 연결하는 모델 모니터를 만들고 모델 스키마를 정의합니다. AutoML 모델과 같은 일부 모델에서는 스키마가 자동으로 제공됩니다.
모델 모니터에서 모니터링 목표, 학습 데이터 세트, 모니터링 출력 위치, 알림 설정과 같은 기본 구성을 선택적으로 지정할 수 있습니다. 자세한 내용은 모델 모니터링 설정을 참조하세요.
모델 모니터를 만든 후에는 주문형 모니터링 작업을 실행하거나 지속적인 모니터링을 위한 정기 작업을 예약할 수 있습니다. 작업을 실행할 때 다른 모니터링 구성을 제공하지 않으면 Model Monitoring은 모델 모니터에 설정된 기본 구성을 사용합니다. 예를 들어 다른 모니터링 목표나 다른 비교 데이터 세트를 제공하면 Model Monitoring은 모델 모니터의 기본 구성 대신 작업 구성을 사용합니다. 자세한 내용은 모니터링 작업 실행을 참조하세요.
가격 책정
미리보기 중에는 Model Monitoring v2에 대한 요금이 청구되지 않습니다. Cloud Storage, BigQuery, Vertex AI 일괄 예측, Vertex Explainable AI, Cloud Logging과 같은 다른 서비스 사용에 대한 요금은 계속 청구됩니다.
노트북 튜토리얼
다음 튜토리얼에서는 Vertex AI SDK for Python를 사용하여 모델에 대한 Model Monitoring v2를 설정하는 방법을 설명합니다.
Model Monitoring v2: 커스텀 모델 일괄 예측 작업
Model Monitoring v2: 커스텀 모델 온라인 예측
Model Monitoring v2: Vertex AI 외부의 모델
Model Monitoring v1 개요
모델 성능을 유지할 수 있도록 Model Monitoring v1은 편향 및 드리프트 특성에 대한 모델 예측 입력 데이터를 모니터링합니다.
학습 제공 편향은 프로덕션의 특성 데이터 분포가 모델을 학습시키는 데 사용된 특성 데이터 분포와 다를 때 발생합니다. 원래 학습 데이터를 사용할 수 있는 경우 편향 감지를 사용 설정하여 학습 제공 편향 모델을 모니터링할 수 있습니다.
예측 드리프트는 시간 경과에 따라 프로덕션의 특성 데이터 분포가 크게 변경되면 발생합니다. 원본 학습 데이터를 사용할 수 없는 경우 드리프트 감지를 사용 설정하여 시간 경과에 따른 프로덕션 입력을 모니터링할 수 있습니다.
편향 및 드리프트 감지 모두 사용 설정할 수 있습니다.
Model Monitoring v1은 범주형 특성과 숫자 특성에 대한 특성 편향과 드리프트를 감지할 수 있습니다.
범주형 특성은 일반적으로 정성적 속성에 따라 그룹화된 가능한 값 수로 제한된 데이터입니다. 예를 들면 제품 유형, 국가 또는 고객 유형과 같은 범주입니다.
숫자 특성은 숫자 값이 될 수 있는 데이터입니다. 예를 들면 중량과 신장입니다.
모델 특성의 편향이나 드리프트가 설정한 알림 임곗값을 초과하면 Model Monitoring v1에서 이메일 알림을 보냅니다. 또한 시간 경과에 따른 각 특성의 분포를 보고 모델을 재학습시켜야 하는지 여부를 평가할 수 있습니다.
드리프트 계산
Vertex AI Model Monitoring은 v1의 드리프트를 감지하도록 TensorFlow 데이터 검증(TFDV)를 사용하여 분포와 거리 점수를 계산합니다.
기준 통계 분포를 계산합니다.
편향 감지에서 기준은 학습 데이터에서 특성 값의 통계 분포입니다.
드리프트 감지의 경우 기준은 이전 프로덕션에서 관찰된 특성 값의 통계 분포입니다.
범주형 특성과 숫자형 특성의 분포는 다음과 같이 계산됩니다.
범주형 특성에서 계산된 분포는 가능한 각 특성 값의 인스턴스 수나 백분율입니다.
숫자 특성의 경우 Vertex AI Model Monitoring은 가능한 특성 값 범위를 동일한 간격으로 나누고 각 간격에 속하는 특성 값의 수나 백분율을 계산합니다.
기준은 Vertex AI Model Monitoring 작업을 만들 때 계산되며 작업의 학습 데이터 세트를 업데이트하는 경우에만 다시 계산됩니다.
프로덕션에 표시되는 최신 특성 값의 통계 분포를 계산합니다.
거리 점수를 계산하여 프로덕션의 최신 특성 값의 분포를 기준 분포와 비교합니다.
두 통계 분포 간의 거리 점수가 지정한 임곗값을 초과하면 Vertex AI Model Monitoring에서 이상을 편향이나 드리프트로 식별합니다.
다음 예시에서는 범주형 특성의 기준 분포와 최신 분포 간의 편향이나 드리프트를 보여줍니다.
기준 분포
최신 배포판
다음 예시에서는 숫자 특성의 기준 분포와 최신 분포 간의 편향이나 드리프트를 보여줍니다.
기준 분포
최신 배포판
모델 모니터링 사용 시 고려사항
비용 효율성을 위해 예측 요청 샘플링 레이트를 설정하여 모델에 대한 프로덕션 입력의 하위 집합을 모니터링할 수 있습니다.
배포된 모델의 최근 로깅된 입력이 편향 또는 드리프트로 모니터링되는 빈도를 설정할 수 있습니다. 모니터링 빈도는 각 모니터링 실행에서 분석되는 로깅된 데이터의 기간 또는 모니터링 기간 크기를 결정합니다.
모니터링할 각 특성에 대한 알림 기준을 지정할 수 있습니다. 입력 특성 분포와 해당 기준 간의 통계 거리가 지정된 임곗값을 초과하면 알림이 로깅됩니다. 기본적으로 모든 범주형 특성 및 숫자형 특성이 모니터링되며 임곗값은 0.3입니다.
온라인 예측 엔드포인트는 여러 모델을 호스팅할 수 있습니다. 엔드포인트에서 편향 또는 드리프트 감지를 사용 설정하면 해당 엔드포인트에서 호스팅되는 모든 모델에 다음과 같은 구성 매개변수가 공유됩니다.
- 감지 유형
- 모니터링 실행 빈도
- 모니터링되는 입력 요청 비율
다른 구성 매개변수의 경우 모델마다 다른 값을 설정할 수 있습니다.