데이터 과학 모델 모니터링
OpenShift AI 모델에 대한 공정성 모니터링
초록
1장. 모델 모니터링 개요 링크 복사링크가 클립보드에 복사되었습니다!
머신 러닝 모델이 투명하고 공정하며 신뢰할 수 있도록 데이터 과학자는 OpenShift AI에서 TrustyAI를 사용하여 데이터 사이언스 모델을 모니터링할 수 있습니다.
데이터 과학자는 다음 메트릭을 위해 OpenShift AI에서 데이터 사이언스 모델을 모니터링할 수 있습니다.
- 무례한
- 모델 결정이 바람직하지 않은지 확인하기 위해 데이터 및 모델 예측의 불분명한 패턴이나 무관한 패턴을 확인하십시오.
- 데이터 드리프트
- 최신 실제 데이터를 원래 교육 데이터와 비교하여 시간이 지남에 따라 입력 데이터 배포의 변경 사항을 감지합니다. 데이터를 비교하면 모델 성능에 영향을 줄 수 있는 전환 또는 편차를 확인하여 모델이 정확하고 안정적으로 유지됩니다.
2장. TrustyAI 구성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI에서 데이터 과학자가 사용할 수 있도록 TrustyAI를 사용하여 모델 모니터링을 구성하려면 클러스터 관리자가 다음 작업을 수행합니다.
- 모델 제공 플랫폼에 대한 모니터링 구성
- Red Hat OpenShift AI 애드온에서 TrustyAI 구성 요소 활성화
- TrustyAI의 스토리지에 PVC 대신 데이터베이스를 사용하려면 TrustyAI를 구성하십시오.
- 데이터 과학자가 모니터링하려는 모델이 포함된 각 데이터 사이언스 프로젝트에 TrustyAI 서비스를 설치합니다.
2.1. 모델 서비스 플랫폼에 대한 모니터링 구성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI는 다음과 같은 모델 서비스 플랫폼을 제공합니다.
- 단일 모델 제공 플랫폼
- 대용량 언어 모델(LLM)과 같은 대규모 모델을 배포하기 위해 OpenShift AI에는 KServe 구성 요소를 기반으로 하는 단일 모델 제공 플랫폼이 포함되어 있습니다. 각 모델은 자체 모델 서버에서 배포됩니다. 증가된 리소스가 필요한 대규모 모델을 배포, 모니터링, 확장 및 유지 관리해야 하는 경우 단일 모델 서비스 플랫폼을 사용하십시오.
- 다중 모델 서비스 플랫폼
- 소규모 및 중간 규모의 모델을 배포하기 위해 OpenShift AI에는 ModelMesh 구성 요소를 기반으로 하는 다중 모델 제공 플랫폼이 포함되어 있습니다. 다중 모델 제공 플랫폼에서는 동일한 모델 서버에 여러 모델을 배포할 수 있습니다. 배포된 각 모델은 서버 리소스를 공유합니다. 이 방법은 제한된 컴퓨팅 리소스 또는 Pod가 있는 OpenShift AI 클러스터에서 유용할 수 있습니다.
단일(KServe) 또는 다중 모델(ModelMesh) 서비스 플랫폼에 대한 모니터링을 구성하는 프로세스는 동일합니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
- OpenShift CLI(명령줄 인터페이스)를 다운로드하여 설치했습니다. OpenShift CLI 설치를 참조하십시오.
- 사용자 정의 워크플로우를 모니터링하기 위한 구성 맵을 생성하는 방법을 알고 있습니다. 이 절차에서는 유사한 단계를 수행합니다.
- OpenShift에서 사용자 정의 프로젝트에 대한 모니터링을 활성화하는 방법을 알고 있습니다. 이 절차에서는 유사한 단계를 수행합니다.
-
메트릭을 모니터링할 사용자에게
monitoring-rules-view역할을 할당 했습니다.
프로세스
터미널 창에서 클러스터 관리자로 OpenShift 클러스터에 로그인하지 않은 경우 다음 예와 같이 OpenShift CLI에 로그인합니다.
oc login <openshift_cluster_url> -u <admin_username> -p <password>
$ oc login <openshift_cluster_url> -u <admin_username> -p <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
uwm-cm-conf.yaml이라는 YAML 파일에ConfigMap오브젝트를 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow user-workload-monitoring-config오브젝트는 사용자 정의 프로젝트를 모니터링하는 구성 요소를 구성합니다. 보존 시간이 권장 15일의 값으로 설정되어 있는지 확인합니다.구성을 적용하여
user-workload-monitoring-config오브젝트를 생성합니다.oc apply -f uwm-cm-conf.yaml
$ oc apply -f uwm-cm-conf.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
uwm-cm-enable.yaml이라는 YAML 파일에 다른ConfigMap오브젝트를 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-monitoring-config오브젝트를 사용하면 사용자 정의 프로젝트를 모니터링할 수 있습니다.구성을 적용하여
cluster-monitoring-config오브젝트를 생성합니다.oc apply -f uwm-cm-enable.yaml
$ oc apply -f uwm-cm-enable.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2. TrustyAI 구성 요소 활성화 링크 복사링크가 클립보드에 복사되었습니다!
데이터 과학자가 TrustyAI에서 모델 모니터링을 사용하도록 하려면 OpenShift AI에서 TrustyAI 구성 요소를 활성화해야 합니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
- 데이터 사이언스 클러스터에 액세스할 수 있습니다.
- Red Hat OpenShift AI를 설치했습니다.
프로세스
- OpenShift 콘솔에서 Operator → 설치된 Operator 를 클릭합니다.
- Red Hat OpenShift AI Operator를 검색한 다음 Operator 이름을 클릭하여 Operator 세부 정보 페이지를 엽니다.
- Data Science Cluster 탭을 클릭합니다.
- 기본 인스턴스 이름(예: default-dsc)을 클릭하여 인스턴스 세부 정보 페이지를 엽니다.
- YAML 탭을 클릭하여 인스턴스 사양을 표시합니다.
spec:components섹션에서trustyai구성 요소의managementState필드를Managed로 설정합니다.trustyai: managementState: Managedtrustyai: managementState: ManagedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 저장을 클릭합니다.
검증
trustyai-service-operator Pod의 상태를 확인합니다.
- OpenShift 콘솔의 프로젝트 목록에서 redhat-ods-applications 를 선택합니다.
- 워크로드 → 배포를 클릭합니다.
trustyai-service-operator-contoller-manager 배포를 검색합니다. 상태를 확인합니다.
- 배포 이름을 클릭하여 배포 세부 정보 페이지를 엽니다.
- 포드 탭을 클릭합니다.
Pod 상태를 확인합니다.
trustyai-service-operator-controller-manager- <pod-id > Pod의 상태가 Running 이면 Pod를 사용할 준비가 된 것입니다.
2.3. 데이터베이스를 사용하여 TrustyAI 구성 링크 복사링크가 클립보드에 복사되었습니다!
MySQL 또는 MariaDB와 같은 OpenShift 클러스터에 관계형 데이터베이스가 있는 경우 PVC(영구 볼륨 클레임) 대신 데이터베이스를 사용하도록 TrustyAI를 구성할 수 있습니다. 스토리지에 PVC 대신 데이터베이스를 사용하면 TrustyAI의 확장성, 성능 및 데이터 관리를 향상시킬 수 있습니다. 배포 전에 TrustyAI에 데이터베이스 구성 시크릿을 제공합니다. 시크릿을 생성하거나 프로젝트 내에서 기존 Kubernetes 시크릿의 이름을 지정할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
- OpenShift CLI(명령줄 인터페이스)를 다운로드하여 설치했습니다. OpenShift CLI 설치를 참조하십시오.
- TrustyAI 구성 요소 활성화에 설명된 대로 TrustyAI 구성 요소를 활성화했습니다.
- 데이터 가치는 데이터 사이언스 프로젝트를 만드는 데 설명된 대로 데이터 사이언스 프로젝트를 만들었으며, 여기에는 데이터 과학자가 모니터링하려는 모델이 포함되어 있습니다.
- 외부 MySQL 데이터베이스를 사용하여 TrustyAI 서비스를 구성하는 경우 데이터베이스가 이미 클러스터에 있어야 하며 최소 MySQL 버전 5.x를 사용해야 합니다. 그러나 Red Hat은 MySQL 버전 8.x를 사용하는 것이 좋습니다.
- MariaDB 데이터베이스를 사용하여 TrustyAI 서비스를 구성하는 경우 데이터베이스가 이미 클러스터에 있고 MariaDB 버전 10.3 이상을 사용해야 합니다. 그러나 Red Hat은 최소 MariaDB 버전 10.5를 사용하는 것이 좋습니다.
TLS(Transport security layer) 프로토콜은 MariaDB operator 0.29 이상 버전에서 작동하지 않습니다.
프로세스
터미널 창에서 클러스터 관리자로 OpenShift 클러스터에 로그인하지 않은 경우 다음 예와 같이 OpenShift CLI에 로그인합니다.
oc login <openshift_cluster_url> -u <admin_username> -p <password>
$ oc login <openshift_cluster_url> -u <admin_username> -p <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: TrustyAI와 데이터베이스 간에 TLS 연결을 사용하려면 데이터베이스에 사용하려는 것과 동일한 인증서를 사용하는 TrustyAI 서비스 데이터베이스 TLS 시크릿을 만듭니다.
TLS 시크릿을 포함할 YAML 파일을 생성하고 다음 코드를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
파일 이름 < service_name> -db-tls.yaml 을 사용하여 파일을 저장합니다. 예를 들어 서비스 이름이
trustyai-service인 경우 파일을 trustyai-service-db-tls.yaml 로 저장합니다. 데이터 분석 프로젝트에서 모니터링하려는 모델이 포함된 YAML 파일을 적용합니다.
oc apply -f <service_name>-db-tls.yaml -n <project_name>
$ oc apply -f <service_name>-db-tls.yaml -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
데이터베이스 인증 정보가 있는 시크릿을 생성하거나 기존 보안을 지정합니다.
보안을 포함할 YAML 파일을 생성하고 다음 코드를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 현재 지원되는 유일한
databaseKind값은mariadb입니다. - 2
- TrustyAI가 데이터베이스와 상호 작용할 때 사용할 사용자 이름입니다.
- 3
- 데이터베이스에 연결할 때 TrustyAI에서 사용해야 하는 암호입니다.
- 4
- 데이터베이스에 연결할 때 TrustyAI가 사용해야 하는 Kubernetes(K8s) 서비스(기본
mariadb)입니다. - 5
- TrustyAI가 데이터베이스에 연결할 때 사용해야 하는 포트입니다(기본값은 3306임).
- 6
- TrustyAI에서 사용할 데이터베이스 스키마 생성 전략입니다. 이는 trustyAI가 초기 연결에서 데이터베이스와 상호 작용하는 방식을 결정하는
quarkus.hibernate-orm.database.generation인수의 설정입니다.none,create,drop-and-create,drop,update또는validate로 설정합니다. - 7
- 사용자 이름과 암호가 인증하는 데이터베이스 서비스 내 개별 데이터베이스의 이름과 TrustyAI가 데이터베이스 서버에서 읽고 써야 하는 특정 데이터베이스 이름입니다.
- 파일 이름 db-credentials.yaml 을 사용하여 파일을 저장합니다. 나중에 TrustyAI 서비스를 설치하거나 변경할 때 이 이름이 필요합니다.
데이터 분석 프로젝트에서 모니터링하려는 모델이 포함된 YAML 파일을 적용합니다.
oc apply -f db-credentials.yaml -n <project_name>
$ oc apply -f db-credentials.yaml -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
If you are installing TrustyAI for the first time on a project, continue to Installing the TrustyAI service for a project.
이미 프로젝트에 TrustyAI를 설치한 경우 기존 TrustyAI 서비스를 PVC를 사용하여 데이터베이스를 사용하여 마이그레이션할 수 있습니다.
YAML 파일을 생성하여 TrustyAI 서비스 CR(사용자 정의 리소스)을 업데이트하고 다음 코드를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC에서 데이터베이스 스토리지로 마이그레이션을 요청하려면
true로 설정합니다. - 2
- TrustyAI 서비스 인스턴스의 이름입니다.
- 3
- 데이터의 스토리지 형식입니다. 이 필드를
DATABASE로 설정합니다. - 4
- 데이터를 저장한 PVC 내의 위치입니다. 기존 CR에 지정된 값과 일치해야 합니다.
- 5
- 요청할 데이터의 크기입니다.
- 6
- 이전 단계에서 생성한 데이터베이스 인증 정보가 있는 시크릿의 이름입니다. 예를 들면
db-credentials입니다. - 7
- 저장된 기존 데이터 파일의 접미사입니다. 기존 CR에 지정된 값과 일치해야 합니다.
- 8
- 메트릭을 계산하는 간격입니다. 기본값은
5s입니다. 기간은 ISO-8601 형식으로 지정됩니다. 예를 들어5초 동안 5초, 5분 동안5m, 5시간 동안5시간은 5시간입니다.
- 파일을 저장합니다. 예를 들면 trustyai_crd.yaml 입니다.
새로운 TrustyAI 서비스 CR을 데이터 가 모니터링하려는 모델이 포함된 데이터 사이언스 프로젝트에 적용합니다.
oc apply -f trustyai_crd.yaml -n <project_name>
$ oc apply -f trustyai_crd.yaml -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 프로젝트를 위한 TrustyAI 서비스 설치 링크 복사링크가 클립보드에 복사되었습니다!
데이터 과학 프로젝트에 TrustyAI 서비스를 설치하여 해당 프로젝트 내에 배포된 모든 모델의 기능에 액세스할 수 있도록 합니다. 각 데이터 사이언스 프로젝트 또는 네임 스페이스에는 데이터 과학자가 모니터링하려는 모델이 포함된 TrustyAI 서비스의 인스턴스가 필요합니다.
프로젝트에 TrustyAI 서비스의 인스턴스 하나만 설치합니다. 동일한 프로젝트의 여러 인스턴스가 예기치 않은 동작이 발생할 수 있습니다.
2.4.1. CLI를 사용하여 TrustyAI 서비스 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(명령줄 인터페이스)를 사용하여 TrustyAI 서비스의 인스턴스를 설치할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
- OpenShift CLI(명령줄 인터페이스)를 다운로드하여 설치했습니다. OpenShift CLI 설치를 참조하십시오.
- 다중 모델 서비스 플랫폼에 대한 모니터링 구성에 설명된 대로 모델 서비스 플랫폼에 대한 모니터링을 구성했습니다.
- TrustyAI 구성 요소 활성화에 설명된 대로 TrustyAI 구성 요소를 활성화했습니다.
- PVC 대신 TrustyAI를 데이터베이스와 함께 사용하는 경우 데이터베이스를 사용하여 TrustyAI 구성에 설명된 대로 TrustyAI를 데이터베이스를 사용하도록 구성했습니다.
- 데이터 가치는 데이터 사이언스 프로젝트를 만드는 데 설명된 대로 데이터 사이언스 프로젝트를 만들었으며, 여기에는 데이터 과학자가 모니터링하려는 모델이 포함되어 있습니다.
프로세스
- 새 터미널 창을 엽니다.
다음 단계에 따라 클러스터 관리자로 OpenShift 클러스터에 로그인합니다.
- OpenShift 웹 콘솔에서 사용자 이름을 클릭하고 로그인 복사 명령을 선택합니다.
- 로그인한 후 토큰 표시를 클릭합니다.
이 토큰 명령으로 로그인을 복사하여 OpenShift CLI(명령줄 인터페이스)에 붙여넣습니다.
oc login --token=<token> --server=<openshift_cluster_url>
$ oc login --token=<token> --server=<openshift_cluster_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
데이터 센터가 모니터링하려는 모델이 포함된 데이터 사이언스 프로젝트로 이동합니다.
oc project <project_name>
oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
oc project my-project
oc project my-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow TrustyAIServiceCR(사용자 정의 리소스) 파일을 생성합니다(예:trustyai_crd.yaml):데이터베이스를 사용하는 TrustyAI의 CR 파일 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- TrustyAI 서비스 인스턴스의 이름입니다.
- 2
- 데이터의 스토리지 형식(
DATABASE또는PVC(영구 볼륨 클레임))입니다. TrustyAI의 확장성, 성능 및 데이터 관리를 개선하기 위해 데이터베이스 설정을 사용하는 것이 좋습니다. - 3
- 요청할 데이터의 크기입니다.
- 4
- 데이터베이스를 사용하여 TrustyAI 구성에서 생성한 데이터베이스 인증 정보가 있는 시크릿의 이름입니다. 예를 들면
db-credentials입니다. - 5
- 메트릭을 계산하는 간격입니다. 기본값은
5s입니다. 기간은 ISO-8601 형식으로 지정됩니다. 예를 들어5초 동안 5초, 5분 동안5m, 5시간 동안5시간은 5시간입니다.
PVC를 사용하는 TrustyAI의 CR 파일 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- TrustyAI 서비스 인스턴스의 이름입니다.
- 2
- 데이터의 스토리지 형식(
DATABASE또는PVC(영구 볼륨 클레임))입니다. - 3
- 데이터를 저장하려는 PVC 내의 위치입니다.
- 4
- 요청할 PVC의 크기입니다.
- 5
- 저장된 데이터 파일의 접미사입니다.
- 6
- 데이터 형식입니다. 현재 쉼표로 구분된 값(CSV) 형식만 지원됩니다.
- 7
- 메트릭을 계산하는 간격입니다. 기본값은
5s입니다. 기간은 ISO-8601 형식으로 지정됩니다. 예를 들어5초 동안 5초, 5분 동안5m, 5시간 동안5시간은 5시간입니다. - 8
- (선택 사항) 메트릭 계산에 사용할 관찰의 과거 창 크기입니다. 기본값은
5000입니다. 즉, 5,000개의 최신 유추를 사용하여 메트릭이 계산됩니다.
TrustyAI 서비스의 CR을 프로젝트에 추가합니다.
oc apply -f trustyai_crd.yaml
oc apply -f trustyai_crd.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음과 유사한 출력을 반환합니다.
trusty-service created
trusty-service createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
TrustyAI 서비스를 설치했는지 확인합니다.
oc get pods | grep trustyai
oc get pods | grep trustyai
다음과 유사한 응답이 표시됩니다.
trustyai-service-5d45b5884f-96h5z 1/1 Running
trustyai-service-5d45b5884f-96h5z 1/1 Running
3장. 프로젝트에 대한 TrustyAI 설정 링크 복사링크가 클립보드에 복사되었습니다!
데이터 사이언스 프로젝트에 대한 TrustyAI를 사용하여 모델 모니터링을 설정하기 위해 데이터 생성은 다음과 같은 작업을 수행합니다.
- TrustyAI 서비스 인증
- 탈취 또는 데이터 드리프트 모니터링을 위해 교육 데이터를 TrustyAI로 전송
- 데이터 필드에 레이블을 지정 (선택 사항)
데이터 가맹점은 배포된 모델에 대한 의도와 데이터 드리프트 메트릭을 생성하고 볼 수 있습니다.
3.1. TrustyAI 서비스 인증 링크 복사링크가 클립보드에 복사되었습니다!
TrustyAI 서비스 외부 엔드포인트에 액세스하려면 OAuth 프록시(oauth-proxy) 인증을 제공해야 합니다. 충분한 권한이 있는 서비스 계정에서 사용자 토큰 또는 토큰을 가져온 다음 curl 명령을 사용할 때 TrustyAI 서비스에 토큰을 전달해야 합니다.
사전 요구 사항
-
OpenShift CLI(OpenShift Dedicated) 설치 또는 OpenShift CLI(Red Hat OpenShift Service on AWS) 설치에 설명된 대로 OpenShift 명령줄 인터페이스(
oc) 를 설치했습니다. - OpenShift 클러스터 관리자는 OpenShift 클러스터에 사용자로 사용자를 추가하고 배포된 모델이 포함된 데이터 사이언스 프로젝트에 대한 TrustyAI 서비스를 설치했습니다.
프로세스
- 새 터미널 창을 엽니다.
다음 단계에 따라 OpenShift 클러스터에 로그인합니다.
- OpenShift 웹 콘솔의 오른쪽 상단에서 사용자 이름을 클릭하고 로그인 복사 명령을 선택합니다.
- 로그인한 후 토큰 표시를 클릭합니다.
이 토큰 명령으로 로그인을 복사하여 OpenShift CLI(명령줄 인터페이스)에 붙여넣습니다.
oc login --token=<token> --server=<openshift_cluster_url>
$ oc login --token=<token> --server=<openshift_cluster_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 입력하여 OpenShift에서 사용자 토큰 변수를 설정합니다.
export TOKEN=$(oc whoami -t)
export TOKEN=$(oc whoami -t)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 입력하여 사용자 토큰 변수를 확인합니다.
echo $TOKEN
echo $TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 단계
curl 명령을 실행할 때 인증 헤더를 사용하여 토큰을 TrustyAI 서비스에 전달합니다. 예를 들면 다음과 같습니다.
curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE
curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE
3.2. TrustyAI에 교육 데이터 전송 링크 복사링크가 클립보드에 복사되었습니다!
TrustyAI를 사용하여 준비 모니터링 또는 데이터 드리프트 감지를 위해서는 모델에 대한 교육 데이터를 TrustyAI에 보내야 합니다.
사전 요구 사항
- OpenShift 클러스터 관리자는 OpenShift 클러스터에 사용자로 사용자를 추가하고 배포된 모델이 포함된 데이터 사이언스 프로젝트에 대한 TrustyAI 서비스를 설치했습니다.
- TrustyAI 서비스 인증에 설명된 대로 TrustyAI 서비스를 인증 했습니다.
배포된 모델은 TrustyAI에 등록되어 있습니다.
다음과 같이 TrustyAI 서비스가 배포된 모델을 등록했는지 확인합니다.
- OpenShift 웹 콘솔에서 워크로드 → Pod 로 이동합니다.
- 프로젝트 목록에서 배포된 모델이 포함된 프로젝트를 선택합니다.
-
제공 플랫폼의 Pod를 선택합니다(예:
modelmesh-serving-ovms-1.x-xxxxx). -
환경 탭에서
MM_PAYLOAD_PROCESSORS환경 변수가 설정되어 있는지 확인합니다.
프로세스
TRUSTY_ROUTE변수를 TrustyAI 서비스 pod의 외부 경로로 설정합니다.TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 배포된 모델의 유추 끝점 액세스에 설명된 대로 배포된 모델 의 유추 끝점을 가져옵니다.
- 이 엔드포인트에 데이터를 보냅니다. 자세한 내용은 KServe v2 유추 프로토콜 설명서를 참조하십시오.
검증
다음 단계에 따라 클러스터 메트릭을 보고 TrustyAI가 데이터를 수신하고 있는지 확인합니다.
- OpenShift 웹 콘솔에 로그인합니다.
- 개발자 화면으로 전환합니다.
- 왼쪽 메뉴에서 모니터링 을 클릭합니다.
- 지표 페이지에서 쿼리 선택 목록을 클릭한 다음 사용자 지정 쿼리 를 선택합니다.
-
Expression 필드에
trustyai_model_observations_total을 입력하고 Enter를 누릅니다. 모델이 나열되고 관찰된 유추를 보고해야 합니다. - 선택 사항: 그래프 위의 목록에서 시간 범위를 선택합니다. 예를 들어 5m 을 선택합니다.
3.3. 데이터 필드 레이블 지정 링크 복사링크가 클립보드에 복사되었습니다!
TrustyAI에 모델 교육 데이터를 보낸 후 필드 이름이 의미 있고 작업하기 쉽도록 이름 매핑 세트를 입력 및 출력에 적용할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터 관리자는 OpenShift 클러스터에 사용자로 사용자를 추가하고 배포된 모델이 포함된 데이터 사이언스 프로젝트에 대한 TrustyAI 서비스를 설치했습니다.
- 교육 데이터를 TrustyAI에 전송하는 방법에 설명된 대로 TrustyAI에 전송 했습니다.
프로세스
- 새 터미널 창을 엽니다.
다음 단계에 따라 OpenShift 클러스터에 로그인합니다.
- OpenShift 웹 콘솔의 오른쪽 상단에서 사용자 이름을 클릭하고 로그인 복사 명령을 선택합니다.
- 로그인한 후 토큰 표시를 클릭합니다.
이 토큰 명령으로 로그인을 복사하여 OpenShift CLI(명령줄 인터페이스)에 붙여넣습니다.
oc login --token=<token> --server=<openshift_cluster_url>
$ oc login --token=<token> --server=<openshift_cluster_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI에서 TrustyAI 서비스로의 경로를 가져옵니다.
TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow TrustyAI의 모델 메타데이터를 검사하려면
/info끝점을 쿼리합니다.curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE/info | jq ".[0].data"
curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE/info | jq ".[0].data"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 각 모델에 대해 다음 정보가 포함된 JSON 파일이 출력됩니다.
- 입력 필드 및 출력 필드의 이름, 데이터 유형 및 위치입니다.
- 관찰된 필드 값입니다.
- 관찰된 총 입력 출력 쌍 수입니다.
POST /info/names를 사용하여 다음 예제와 유사하게 이름 매핑을 필드에 적용합니다.model-name,original-name및Prediction값을 모델에 사용된 값으로 변경합니다.새 이름값을 사용하려는 레이블로 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다른 예제는 https://github.com/trustyai-explainability/odh-trustyai-demos/blob/main/2-BiasMonitoring/kserve-demo/scripts/apply_name_mapping.sh 을 참조하십시오.
검증
"Feature and output name mapping successfully applied" 메시지가 표시됩니다.
4장. 모니터링 모델 거부 링크 복사링크가 클립보드에 복사되었습니다!
데이터 파우더로서 머신러닝 모델을 모니터링해야 할 수 있습니다. 즉, 모델이 생성하는 결과 또는 결정에 영향을 미칠 수 있는 알고리즘적 결함에 대한 모니터링이 이루어집니다. 중요하게, 이러한 유형의 모니터링은 모델이 특정 보호 그룹 또는 기능에 대해 반대되지 않도록하는 데 도움이 됩니다.
Red Hat OpenShift AI는 모델을 모니터링하는 데 도움이 되는 일련의 메트릭을 제공합니다. OpenShift AI 인터페이스를 사용하여 사용 가능한 메트릭을 선택한 다음 보호된 속성, 권한이 부여된 그룹, 권한이 없는 그룹, 모니터링하려는 결과, 준비 임계값과 같은 모델별 세부 정보를 구성할 수 있습니다. 그런 다음 지정된 수의 모델 유추에 대해 계산된 값의 차트가 표시됩니다.
특정 비관적 지표에 대한 자세한 내용은 지원 대상 메트릭을 참조하십시오.
4.1. 유도 메트릭 생성 링크 복사링크가 클립보드에 복사되었습니다!
배포된 모델을 모니터링하려면 먼저 조정 메트릭을 생성해야 합니다. 의도적 지표를 생성할 때 보호되는 속성, 권한 및 권한이 없는 그룹, 모델 결과 및 모니터링하려는 값과 같은 모델 관련 세부 정보, 준비에 대한 허용 가능한 임계값을 지정합니다.
특정 비관적 지표에 대한 자세한 내용은 지원 대상 메트릭을 참조하십시오.
TrustyAI 메트릭의 전체 목록은 TrustyAI 서비스 API 를 참조하십시오.
OpenShift AI 대시보드를 사용하거나 OpenShift CLI(명령줄 인터페이스)를 사용하여 모델에 대한 무분별 메트릭을 생성할 수 있습니다.
4.1.1. 대시보드를 사용하여 유도 메트릭 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 대시보드를 사용하여 모델에 대한 거부 메트릭을 생성할 수 있습니다.
사전 요구 사항
- OpenShift AI가 지원하는 모호한 지표 와 해석 방법에 대해 잘 알고 있습니다.
- 특정 데이터 세트 스키마에 익숙하고 입력 및 출력의 이름과 의미를 이해하고 있습니다.
- OpenShift 클러스터 관리자는 OpenShift 클러스터에 사용자로 사용자를 추가하고 배포된 모델이 포함된 데이터 사이언스 프로젝트에 대한 TrustyAI 서비스를 설치했습니다.
- 프로젝트에 대한 TrustyAI 설정에 설명된 대로 데이터 사이언스 프로젝트에 대한 TrustyAI를 설정합니다.
프로세스
선택 사항:
TRUSTY_ROUTE변수를 설정하려면 다음 단계를 따르십시오.터미널 창에서 OpenShift AI가 배포된 OpenShift 클러스터에 로그인합니다.
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow TRUSTY_ROUTE변수를 TrustyAI 서비스 pod의 외부 경로로 설정합니다.TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- OpenShift AI 대시보드의 왼쪽 메뉴에서 Model Serving 을 클릭합니다.
- 배포 모델 페이지의 드롭다운 목록에서 프로젝트를 선택합니다.
- 무분별 메트릭을 구성할 모델의 이름을 클릭합니다.
- 모델의 메트릭 페이지에서 모델 편향 탭을 클릭합니다.
- 구성 을 클릭합니다.
Configure density metrics dialog 에서 다음 단계를 완료하여 조정 메트릭을 구성합니다.
- Metric 이름 필드에 조정 메트릭에 대한 고유한 이름을 입력합니다. 나중에 이 메트릭의 이름을 변경할 수 없습니다.
- Metric 유형 목록에서 OpenShift AI에서 사용할 수 있는 지표 유형 중 하나를 선택합니다.
protected 특성 필드에 무차별을 모니터링하려는 모델의 특성 이름을 입력합니다.In the Cryostated attribute field, type the name of an attribute in your model that you want to monitor for density.
작은 정보curl명령을 사용하여 메타데이터 엔드포인트를 쿼리하고 입력 특성 이름과 값을 볼 수 있습니다. 예:curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE/info | jq ".[0].inputSchema"- Privileged value 필드에 사용자가 지정한 보호된 속성의 권한 있는 그룹의 이름을 입력합니다.
- Unprivileged value 필드에 사용자가 지정한 보호된 속성의 권한이 없는 그룹의 이름을 입력합니다.
출력 필드에 편향을 모니터링할 모델 결과의 이름을 입력합니다.
작은 정보curl명령을 사용하여 메타데이터 엔드포인트를 쿼리하고 출력 특성 이름과 값을 볼 수 있습니다. 예:curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE/info | jq ".[0].outputSchema"- 출력 값 필드에 편향을 모니터링할 결과의 값을 입력합니다.
- Violation threshold 필드에 선택한 메트릭 유형에 대한 가정 임계값을 입력합니다. 이 임계값 값은 모델이 의도하지 않은 것으로 간주되기 전에 지정된 메트릭이 메트릭의 공정값에서 얼마나 멀리 떨어져 있는지 정의합니다.
- Metric 배치 크기 필드에 OpenShift AI가 메트릭을 계산할 때마다 모델 유추 수를 입력합니다.
입력한 값이 올바른지 확인합니다.
참고모델 편향 메트릭 구성을 생성한 후에는 편집할 수 없습니다. 대신 지표를 복제한 다음 편집(구성)할 수 있지만 원래 메트릭의 기록은 복사에 적용되지 않습니다.
- 구성 을 클릭합니다.
검증
- Bias 지표 구성 페이지에는 모델에 대해 구성한 평가 지표가 표시됩니다.
다음 단계
메트릭을 보려면 오른쪽 상단에 있는 지표 보기를 클릭합니다.
4.1.2. CLI를 사용하여 유도 메트릭 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(명령줄 인터페이스)를 사용하여 모델에 대한 조정 메트릭을 생성할 수 있습니다.
사전 요구 사항
- OpenShift AI가 지원하는 모호한 지표 와 해석 방법에 대해 잘 알고 있습니다.
- 특정 데이터 세트 스키마에 익숙하고 입력 및 출력의 이름과 의미를 이해하고 있습니다.
- OpenShift 클러스터 관리자는 OpenShift 클러스터에 사용자로 사용자를 추가하고 배포된 모델이 포함된 데이터 사이언스 프로젝트에 대한 TrustyAI 서비스를 설치했습니다.
- 프로젝트에 대한 TrustyAI 설정에 설명된 대로 데이터 사이언스 프로젝트에 대한 TrustyAI를 설정합니다.
프로세스
터미널 창에서 OpenShift AI가 배포된 OpenShift 클러스터에 로그인합니다.
oc login
oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow TRUSTY_ROUTE변수를 TrustyAI 서비스 pod의 외부 경로로 설정합니다.TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택적으로 TrustyAI 서비스 엔드 포인트 및 페이로드의 전체 목록을 가져옵니다.
curl -H "Authorization: Bearer $TOKEN" --location $TRUSTY_ROUTE/q/openapi
curl -H "Authorization: Bearer $TOKEN" --location $TRUSTY_ROUTE/q/openapiCopy to Clipboard Copied! Toggle word wrap Toggle overflow POST /metrics/group/fairness/spd/request를 사용하여 다음 구문 및 페이로드 구조를 사용하여 반복 반복적 모니터링 메트릭을 예약합니다.구문:
curl -sk -H "Authorization: Bearer $TOKEN" -X POST --location $TRUSTY_ROUTE/metrics/spd/request \ --header 'Content-Type: application/json' \ --data <payload>
curl -sk -H "Authorization: Bearer $TOKEN" -X POST --location $TRUSTY_ROUTE/metrics/spd/request \ --header 'Content-Type: application/json' \ --data <payload>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 페이로드 구조:
modelId- 쿼리할 모델의 이름입니다.
protectedAttribute- 공정성을 확인하는 그룹을 구분하는 기능의 이름입니다.
privilegedAttribute- 의심되는 호의는 (아마도 반대되는) 클래스입니다.
unprivilegedAttribute- 의심되는 unfavored (negatively actsed) 클래스입니다.
outcomeName- 공정성을 검사하는 출력을 제공하는 출력의 이름입니다.
favorableOutcome-
바람직한 모델 예측 또는 원하는 모델 예측을 설명하는
outcomeName출력의 값입니다. batchSize- 계산에 포함할 이전 유추 수입니다.
예를 들면 다음과 같습니다.
검증
유도 메트릭 요청은 다음과 유사한 출력을 반환해야 합니다.
특정Definition 필드는 이러한 메트릭 값의 실제 해석을 이해하는 데 도움이 됩니다. 이 예에서 이 모델은 Is Male-Identifying? 필드에 공정하며 양의 결과는 약 -0.3%에 따라 다릅니다.
4.1.3. 무감각 메트릭 중복 링크 복사링크가 클립보드에 복사되었습니다!
기존 지표를 편집하려면 OpenShift AI 인터페이스에서 복제(복사)한 다음 복사본의 값을 편집할 수 있습니다. 그러나 원래 지표의 기록은 복사에 적용되지 않습니다.
사전 요구 사항
- OpenShift AI가 지원하는 모호한 지표 와 해석 방법에 대해 잘 알고 있습니다.
- 특정 데이터 세트 스키마에 익숙하고 입력 및 출력의 이름과 의미를 이해하고 있습니다.
- 복제하려는 기존의 무분별 메트릭이 있습니다.
프로세스
- OpenShift AI 대시보드의 왼쪽 메뉴에서 Model Serving 을 클릭합니다.
- 배포 모델 페이지에서 복제하려는 조정 메트릭이 있는 모델의 이름을 클릭합니다.
- 모델의 메트릭 페이지에서 모델 편향 탭을 클릭합니다.
- 구성 을 클릭합니다.
- Bias 지표 구성 페이지에서 복사할 메트릭 옆에 있는 작업 메뉴( Cryostat)를 클릭한 다음 중복 을 클릭합니다.
조정 메트릭 구성 대화 상자에서 다음 단계를 따르십시오.
- Metric 이름 필드에 조정 메트릭에 대한 고유한 이름을 입력합니다. 나중에 이 메트릭의 이름을 변경할 수 없습니다.
- 필요에 따라 필드의 값을 변경합니다. 이러한 필드에 대한 설명은 대시보드를 사용하여 감시 메트릭 생성을 참조하십시오.
- 입력한 값이 올바른지 확인한 다음 Configure 를 클릭합니다.
검증
- Bias 지표 구성 페이지에는 모델에 대해 구성한 평가 지표가 표시됩니다.
다음 단계
메트릭을 보려면 오른쪽 상단에 있는 지표 보기를 클릭합니다.
4.2. 유도 메트릭 삭제 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 대시보드를 사용하거나 OpenShift CLI(명령줄 인터페이스)를 사용하여 모델의 무분별 메트릭을 삭제할 수 있습니다.
4.2.1. 대시보드를 사용하여 유도 메트릭 삭제 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 대시보드를 사용하여 모델의 무분별 메트릭을 삭제할 수 있습니다.
사전 요구 사항
- Red Hat OpenShift AI에 로그인했습니다.
- 삭제하려는 기존 지표가 있습니다.
프로세스
- OpenShift AI 대시보드의 왼쪽 메뉴에서 Model Serving 을 클릭합니다.
- 배포 모델 페이지에서 삭제하려는 조정 메트릭이 있는 모델의 이름을 클릭합니다.
- 모델의 메트릭 페이지에서 모델 편향 탭을 클릭합니다.
- 구성 을 클릭합니다.
- 삭제할 메트릭 옆에 있는 작업 메뉴( Cryostat)를 클릭한 다음 삭제 를 클릭합니다.
드롭다운 삭제 지표 대화 상자에서 메트릭 이름을 입력하여 삭제를 확인합니다.
참고의도하지 않은 메트릭 삭제는 취소할 수 없습니다.
- 의도하지 않은 메트릭 삭제를 클릭합니다.
검증
- Bias 지표 구성 페이지에는 사용자가 삭제한 의도하지 않은 메트릭이 표시되지 않습니다.
4.2.2. CLI를 사용하여 유도 메트릭 삭제 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(명령줄 인터페이스)를 사용하여 모델의 조정 메트릭을 삭제할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. - TrustyAI 서비스 인증에 설명된 대로 인증을 위한 사용자 토큰이 있습니다.
- 삭제하려는 기존 지표가 있습니다.
프로세스
- 새 터미널 창을 엽니다.
다음 단계에 따라 OpenShift 클러스터에 로그인합니다.
- OpenShift 웹 콘솔의 오른쪽 상단에서 사용자 이름을 클릭하고 로그인 복사 명령을 선택합니다.
- 로그인한 후 토큰 표시를 클릭합니다.
이 토큰 명령으로 로그인을 복사하여 OpenShift CLI(명령줄 인터페이스)에 붙여넣습니다.
oc login --token=<token> --server=<openshift_cluster_url>
$ oc login --token=<token> --server=<openshift_cluster_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI에서 TrustyAI 서비스로의 경로를 가져옵니다.
TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 메트릭에 대한 현재 활성화된 모든 요청을 나열하려면
GET /metrics/{{metric}}/requests를 사용합니다. 예를 들어 현재 예약된 모든 SPD 메트릭을 나열하려면 다음을 입력합니다.curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/spd/requests"
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/spd/requests"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 현재 예약된 모든 메트릭 요청을 나열하려면
GET /metrics/all/requests를 사용합니다.curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/all/requests"
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/all/requests"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지표를 삭제하려면 페이로드에서 취소하려는 주기적인 작업의 id를 포함하여 정기적인 계산을 중지하도록 HTTP
DELETE요청을/metrics/$METRIC/request끝점에 보냅니다. 예를 들면 다음과 같습니다.curl -H "Authorization: Bearer $TOKEN" -X DELETE --location "$TRUSTY_ROUTE/metrics/spd/request" \ -H "Content-Type: application/json" \ -d "{ \"requestId\": \"3281c891-e2a5-4eb3-b05d-7f3831acbb56\" }"curl -H "Authorization: Bearer $TOKEN" -X DELETE --location "$TRUSTY_ROUTE/metrics/spd/request" \ -H "Content-Type: application/json" \ -d "{ \"requestId\": \"3281c891-e2a5-4eb3-b05d-7f3831acbb56\" }"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
GET /metrics/{{metric}}/requests 를 사용하여 메트릭에 대한 현재 활성 요청을 모두 나열하고 삭제한 지표가 표시되지 않는지 확인합니다. 예를 들면 다음과 같습니다.
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/spd/requests"
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/spd/requests"
4.3. 모델에 대한 유도 메트릭 보기 링크 복사링크가 클립보드에 복사되었습니다!
준비 모니터링 메트릭을 생성한 후 OpenShift AI 대시보드를 사용하여 구성한 메트릭을 보고 업데이트할 수 있습니다.
사전 요구 사항
- 무분별 메트릭 생성에 설명된 대로 모델에 대한 비합리 메트릭을 구성했습니다.
프로세스
- OpenShift AI 대시보드에서 Model Serving 을 클릭합니다.
- 배포 모델 페이지에서 의도하지 않은 메트릭을 볼 모델의 이름을 클릭합니다.
- 모델의 메트릭 페이지에서 모델 편향 탭을 클릭합니다.
페이지에 표시된 메트릭을 업데이트하려면 다음 단계를 따르십시오.
표시할 메트릭 섹션에서 지표 선택 목록을 사용하여 페이지에 표시할 지표를 선택합니다.
참고페이지에 표시할 메트릭을 선택할 때마다 추가 메트릭 선택 목록이 표시됩니다. 이를 통해 페이지에 여러 메트릭을 표시할 수 있습니다.
- 오른쪽 상단에 있는 시간 범위 목록에서 값을 선택합니다.
오른쪽 상단에 있는 Refresh interval 목록에서 값을 선택합니다.
메트릭 페이지에는 선택한 지표가 표시됩니다.
선택 사항: 페이지에서 메트릭을 하나 이상 제거하려면 Metrics 섹션에서 다음 작업 중 하나를 수행합니다.
- 개별 메트릭을 제거하려면 메트릭 이름 옆에 있는 취소 아이콘(임의)을 클릭합니다.
- 모든 메트릭을 제거하려면 메트릭 선택 목록에서 취소 아이콘( Cryostat)을 클릭합니다.
- 선택 사항: 모델의 비합격 지표 구성으로 돌아가려면 메트릭 페이지에서 오른쪽 상단에서 구성 을 클릭합니다.
검증
- 메트릭 페이지에는 수행한 지표 선택 사항이 표시됩니다.
4.4. 지원되는 준비 메트릭 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift AI는 다음과 같은 추론 메트릭을 지원합니다.
- 통계적 패리티 차이점
SPD( Statistic Parity difference)는 권한이 없는 그룹과 권한 있는 그룹 간의 호의적인 결과 예측 가능성의 차이입니다. SPD의 공식 정의는 다음과 같습니다.
- 1 은 호의적인 결과입니다.
- D Cryo stat 및 D Cryostat는 권한이 없는 권한 있는 그룹 데이터입니다.
다음과 같이 SPD 값을 해석할 수 있습니다.
-
값이
0이면 선택한 특성(예: 경합, 성별)에 대해 모델이 공정하게 작동하고 있음을 의미합니다. -
-0.1에서0.1사이의 값은 모델이 선택한 속성에 대해 합리적으로 공정하다는 것을 의미합니다. 대신 샘플 크기와 같은 다른 요인에 대한 확률의 차이를 특성화할 수 있습니다. -
-0.1~0.1범위를 벗어나는 값은 선택한 속성에 대해 모델이 불명확한임을 나타냅니다. - 음수 값은 모델에 권한이 없는 그룹에 대한 의도가 있음을 나타냅니다.
- 양수 값은 모델에 권한이 있는 그룹에 대한 의도가 있음을 나타냅니다.
- 분산된 영향 Ratio
DIR(Distributed Impact Ratio )은 권한이 없는 그룹에 대해 권한이 없는 그룹에 대한 호의적인 결과 예측 확률의 비율입니다. DIR의 공식 정의는 다음과 같습니다.
- 1 은 호의적인 결과입니다.
- D Cryo stat 및 D Cryostat는 권한이 없는 권한 있는 그룹 데이터입니다.
편향을 식별하는 임계값은 자체 기준 및 특정 사용 사례에 따라 다릅니다.
예를 들어 의도를 식별하는 임계값이
0.8또는1.2미만의 DIR 값으로 표시되는 경우 다음과 같이 DIR 값을 해석할 수 있습니다.-
값
1은 선택한 특성에 대해 모델이 공정하다는 것을 의미합니다. -
0.8와1.2사이의 값은 선택한 속성에 대해 모델이 합리적으로 공정하다는 것을 의미합니다. -
0.8또는1.2미만의 값은 불신앙을 나타냅니다.
5장. 데이터 드리프트 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
데이터 파우더로서 배포된 모델을 데이터 드리프트에 대해 모니터링해야 할 수 있습니다. 데이터 드리프트는 모델이 원래 교육을 받은 데이터와 크게 다른 수신 데이터의 배포 또는 속성 변경을 나타냅니다. 데이터 드리프트 감지는 모델이 예상대로 계속 수행되도록 하며 정확하고 신뢰할 수 있는 상태로 유지되도록 합니다.
Red Hat OpenShift AI에서 TrustyAI의 데이터 드리프트 모니터링 메트릭을 사용하여 교육 데이터와 추론 데이터 간의 정렬을 정량 측정하여 제공할 수 있습니다.
특정 데이터 드리프트 메트릭에 대한 자세한 내용은 지원되는 드리프트 메트릭 을 참조하십시오.
5.1. 드리프트 메트릭 생성 링크 복사링크가 클립보드에 복사되었습니다!
데이터 드리프트에 대해 배포된 모델을 모니터링하려면 먼저 드리프트 메트릭을 생성해야 합니다.
특정 데이터 드리프트 메트릭에 대한 자세한 내용은 지원되는 드리프트 메트릭 을 참조하십시오.
TrustyAI 메트릭의 전체 목록은 TrustyAI 서비스 API 를 참조하십시오.
5.1.1. CLI를 사용하여 드리프트 메트릭 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(명령줄 인터페이스)를 사용하여 모델에 대한 데이터 드리프트 메트릭을 생성할 수 있습니다.
사전 요구 사항
- 특정 데이터 세트 스키마에 익숙하고 관련 입력 및 출력을 이해할 수 있습니다.
- OpenShift 클러스터 관리자는 OpenShift 클러스터에 사용자로 사용자를 추가하고 배포된 모델이 포함된 데이터 사이언스 프로젝트에 대한 TrustyAI 서비스를 설치했습니다.
- 프로젝트에 대한 TrustyAI 설정에 설명된 대로 데이터 사이언스 프로젝트에 대한 TrustyAI를 설정합니다.
프로세스
- 새 터미널 창을 엽니다.
다음 단계에 따라 OpenShift 클러스터에 로그인합니다.
- OpenShift 웹 콘솔의 오른쪽 상단에서 사용자 이름을 클릭하고 로그인 복사 명령을 선택합니다.
- 로그인한 후 토큰 표시를 클릭합니다.
이 토큰 명령으로 로그인을 복사하여 OpenShift CLI(명령줄 인터페이스)에 붙여넣습니다.
oc login --token=<token> --server=<openshift_cluster_url>
$ oc login --token=<token> --server=<openshift_cluster_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
TRUSTY_ROUTE변수를 TrustyAI 서비스 pod의 외부 경로로 설정합니다.TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택적으로 TrustyAI 서비스 엔드 포인트 및 페이로드의 전체 목록을 가져옵니다.
curl -H "Authorization: Bearer $TOKEN" --location $TRUSTY_ROUTE/q/openapi
curl -H "Authorization: Bearer $TOKEN" --location $TRUSTY_ROUTE/q/openapiCopy to Clipboard Copied! Toggle word wrap Toggle overflow POST /metrics/drift/meanshift/request를 사용하여 다음 구문 및 페이로드 구조를 사용하여 반복적인 드리프트 모니터링 메트릭을 예약합니다.구문:
curl -k -H "Authorization: Bearer $TOKEN" -X POST --location $TRUSTY_ROUTE/metrics/drift/meanshift/request \ --header 'Content-Type: application/json' \ --data <payload>
curl -k -H "Authorization: Bearer $TOKEN" -X POST --location $TRUSTY_ROUTE/metrics/drift/meanshift/request \ --header 'Content-Type: application/json' \ --data <payload>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 페이로드 구조:
modelId- 모니터링할 모델의 이름입니다.
referenceTag- 참조 배포로 사용할 데이터입니다.
예를 들면 다음과 같습니다.
5.2. CLI를 사용하여 드리프트 메트릭 삭제 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(명령줄 인터페이스)를 사용하여 모델의 드리프트 지표를 삭제할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. - TrustyAI 서비스 인증에 설명된 대로 인증을 위한 사용자 토큰이 있습니다.
- 삭제할 기존 드리프트 메트릭이 있습니다.
프로세스
- 새 터미널 창을 엽니다.
다음 단계에 따라 OpenShift 클러스터에 로그인합니다.
- OpenShift 웹 콘솔에서 사용자 이름을 클릭하고 로그인 복사 명령을 선택합니다.
- 로그인한 후 토큰 표시를 클릭합니다.
이 토큰 명령으로 로그인을 복사하여 OpenShift CLI(명령줄 인터페이스)에 붙여넣습니다.
oc login --token=<token> --server=<openshift_cluster_url>
$ oc login --token=<token> --server=<openshift_cluster_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI에서 TrustyAI 서비스로의 경로를 가져옵니다.
TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 메트릭에 대한 현재 활성화된 모든 요청을 나열하려면
GET /metrics/{{metric}}/requests를 사용합니다. 예를 들어 현재 예약된 MeanShift 메트릭을 모두 나열하려면 다음을 입력합니다.curl -k -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/drift/meanshift/requests"
curl -k -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/drift/meanshift/requests"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 현재 예약된 모든 메트릭 요청을 나열하려면
GET /metrics/all/requests를 사용합니다.curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/all/requests"
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/all/requests"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지표를 삭제하려면 페이로드에서 취소하려는 주기적인 작업의 id를 포함하여 정기적인 계산을 중지하도록 HTTP
DELETE요청을/metrics/$METRIC/request끝점에 보냅니다. 예를 들면 다음과 같습니다.curl -k -H "Authorization: Bearer $TOKEN" -X DELETE --location "$TRUSTY_ROUTE/metrics/drift/meanshift/request" \ -H "Content-Type: application/json" \ -d "{ \"requestId\": \"$id\" }"curl -k -H "Authorization: Bearer $TOKEN" -X DELETE --location "$TRUSTY_ROUTE/metrics/drift/meanshift/request" \ -H "Content-Type: application/json" \ -d "{ \"requestId\": \"$id\" }"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
GET /metrics/{{metric}}/requests 를 사용하여 메트릭에 대한 현재 활성 요청을 모두 나열하고 삭제한 지표가 표시되지 않는지 확인합니다. 예를 들면 다음과 같습니다.
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/drift/meanshift/requests"
curl -H "Authorization: Bearer $TOKEN" -X GET --location "$TRUSTY_ROUTE/metrics/drift/meanshift/requests"
5.3. 모델의 데이터 드리프트 메트릭 보기 링크 복사링크가 클립보드에 복사되었습니다!
데이터 드리프트 모니터링 지표를 생성한 후 OpenShift 웹 콘솔을 사용하여 구성한 지표를 보고 업데이트합니다.
사전 요구 사항
- 개발자로 또는 메트릭을 보고 있는 프로젝트에 대한 보기 권한이 있는 사용자로 OpenShift 클러스터에 액세스할 수 있습니다.
- 사용자 정의 프로젝트에서 메트릭을 쿼리하는 방법에 대해 잘 알고 있습니다. AWS의 Red Hat OpenShift Service 의 개발자 화면을 사용하여 Red Hat OpenShift Dedicated 또는 Monitoring 프로젝트 및 애플리케이션 메트릭을 사용하여 프로젝트 및 애플리케이션 메트릭 모니터링을 참조하십시오.
프로세스
- OpenShift 웹 콘솔에 로그인합니다.
- 개발자 화면으로 전환합니다.
- 왼쪽 메뉴에서 모니터링 을 클릭합니다.
-
Red Hat OpenShift Dedicated에서 프로젝트 메트릭 모니터링 또는 AWS의 Red Hat OpenShift Service의 프로젝트 메트릭 모니터링에 설명된 대로 웹 콘솔을 사용하여
trustyai_*메트릭에 대한 쿼리를 실행합니다.
5.4. 지원되는 드리프트 메트릭 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift AI는 다음과 같은 데이터 드리프트 메트릭을 지원합니다.
- MeanShift
MeanShift 메트릭은 테스트 데이터 세트의 데이터 값이 학습 데이터 세트의 데이터와 동일한 배포가 될 가능성을 계산합니다(값이 일반적으로 분산되어 있다고 가정). 이 메트릭은 두 데이터 세트 간의 특정 기능을 통해 차이를 측정합니다.
MeanShift는 전체 배포가 기능 축을 따라 왼쪽 또는 오른쪽으로 이동하는 경우와 같이 데이터 배포판의 간단한 변경 사항을 식별하는 데 유용합니다.
이 메트릭은 "현실 세계" 데이터에서 표시되는 배포가 참조 데이터와 동일한 배포에서 파생될 가능성을 반환합니다. 값이 0에 가까울수록 상당한 드리프트가 있을 가능성이 높습니다.
- FourierMMD
FourierMMD 메트릭은 계산된 Maximum Mean Discrepancy(MMD) 값이 일반적으로 배포된다고 가정하면 테스트 데이터 세트의 데이터 값이 학습 데이터 세트 배포에서 변동될 가능성을 제공합니다. 이 메트릭은 Fourier 도메인에서 MMD 측정을 사용하여 데이터 세트의 실제 배포를 비교합니다.
FourierMMD는 간단한 통계 조치로 무시할 수 있는 데이터 배포판의 미묘한 전환을 감지하는 데 유용합니다.
이 메트릭은 "현실 세계" 데이터에서 표시되는 배포가 참조 데이터에서 변동될 가능성을 반환합니다. 값이 1에 가까울수록 상당한 드리프트가 있을 가능성이 높습니다.
- KSTest
KSTest 메트릭은 각 열에 대해 두 개의 Kolmogorov-Smirnov 테스트를 계산하여 데이터 세트가 동일한 배포에서 파생되는지 여부를 결정합니다. 이 메트릭은 특정 기본 배포를 가정하지 않고 데이터 세트의 실험적 누적 배포 함수(CDF) 간의 최대 거리를 측정합니다.
KSTest는 배포 모양, 위치 및 스케일링의 변경 사항을 감지하는 데 유용합니다.
이 메트릭은 "현실 세계" 데이터에서 표시되는 배포가 참조 데이터와 동일한 배포에서 파생될 가능성을 반환합니다. 값이 0에 가까울수록 상당한 드리프트가 있을 가능성이 높습니다.
- ApproxKSTest
ApproxKSTest 메트릭은 대략적인 Kolmogorov-Smirnov 테스트를 수행하여 최대 오류가 정확한 KSTest에 비해
6*epsilon인지 확인합니다.ApproxKSTest는 정확한 KSTest를 수행하는 대규모 데이터 세트의 배포 변경 사항을 탐지하는 데 유용합니다.
이 메트릭은 "현실 세계" 데이터에서 표시되는 배포가 참조 데이터와 동일한 배포에서 파생될 가능성을 반환합니다. 값이 0에 가까울수록 상당한 드리프트가 있을 가능성이 높습니다.