Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

Amazon SageMaker로 기계 학습 모델의 거버넌스 개선

기업이 주류 엔터프라이즈 애플리케이션에 기계 학습(ML)을 점점 더 많이 채택함에 따라 더 많은 비즈니스 의사 결정이 ML 모델의 영향을 받습니다. 그 결과 모든 ML 모델에서 액세스 제어가 간소화되고 투명성이 향상되어 모델이 제대로 작동하는지 확인하고 그렇지 않을 때 조치를 취하는 것이 더 쉬워집니다.

이 게시물에서는 기업이 SageMaker 모델 카드와 SageMaker 모델 대시보드라는 두 가지 새로운 기능을 사용하여 중앙 집중식 대시보드와 모델에 대한 자세한 문서화를 통해 모델에 대한 가시성을 개선할 수 있는 방법을 살펴봅니다. 이 두 기능은 SageMaker 고객에게 추가 비용 없이 제공됩니다.

모델 거버넌스 개요

모델 거버넌스는 모델 개발, 검증 및 사용에 대한 체계적인 가시성을 제공하는 프레임워크입니다. 모델 거버넌스는 ML 사용 사례 식별부터 알림, 보고서 및 대시보드를 통해 배포된 모델의 지속적인 모니터링에 이르기까지 종단 간 ML 워크플로 전반에 적용할 수 있습니다. 잘 구현된 모델 거버넌스 프레임워크는 대규모 ML 수명 주기를 보다 쉽게 ​​모니터링할 수 있도록 수명 주기 작업을 보고, 추적하고, 관리하는 데 필요한 인터페이스 수를 최소화해야 합니다.

오늘날 조직은 거버넌스 및 감사 가능성 워크플로의 많은 부분을 자동화하는 도구를 구축하는 데 상당한 기술 전문 지식을 투자합니다. 예를 들어 모델 작성자는 모델의 의도된 용도, 위험 등급, 모델을 측정해야 하는 성능 기준과 같은 모델 사양을 사전에 기록해야 합니다. 또한 모델 동작에 대한 관찰을 기록하고 모델을 최적화한 목적 함수와 같은 특정 주요 결정을 내린 이유를 문서화해야 합니다.

회사에서는 Excel 또는 이메일과 같은 도구를 사용하여 프로덕션 사용 승인에 사용할 모델 정보를 캡처하고 공유하는 것이 일반적입니다. 그러나 ML 개발 규모가 증가함에 따라 정보가 쉽게 손실되거나 잘못 배치될 수 있으며 이러한 세부 정보를 추적하는 것이 빠르게 불가능해집니다. 또한 이러한 모델을 배포한 후 다양한 소스의 데이터를 결합하여 모든 모델, 엔드포인트, 모니터링 기록 및 계보에 대한 종단 간 가시성을 얻을 수 있습니다. 이러한 보기가 없으면 모델을 쉽게 추적할 수 없으며 조치를 취해야 할 때를 알지 못할 수 있습니다. 이러한 조치를 유지하도록 요구하는 규정의 적용을 받기 때문에 규제가 심한 산업에서는 이 문제가 더욱 심화됩니다.

모델의 양이 확장되기 시작하면 사용자 지정 도구 관리가 어려울 수 있으며 조직이 핵심 비즈니스 요구 사항에 집중할 시간이 줄어듭니다. 다음 섹션에서는 SageMaker 모델 카드와 SageMaker 모델 대시보드가 ​​거버넌스 노력을 확장하는 데 어떻게 도움이 되는지 살펴봅니다.

SageMaker 모델 카드

모델 카드를 사용하면 모델이 문서화되는 방식을 표준화할 수 있으므로 설계, 구축, 교육 및 평가에 이르는 모델의 수명 주기에 대한 가시성을 확보할 수 있습니다. 모델 카드는 감사 및 문서화 목적으로 안정적으로 사용할 수 있는 모델에 대한 비즈니스 및 기술 메타데이터에 대한 신뢰할 수 있는 단일 소스입니다. 모델 거버넌스에 중요한 모델의 팩트 시트를 제공합니다.

모델 카드를 통해 사용자는 최적화를 위해 목적 함수를 선택한 이유와 의도된 용도 및 위험 등급과 같은 세부 정보와 같은 결정을 작성하고 저장할 수 있습니다. 또한 평가 결과를 첨부 및 검토하고 향후 참조를 위해 관찰 사항을 기록할 수 있습니다.

SageMaker에서 훈련된 모델의 경우 모델 카드는 훈련 작업, 훈련 데이터 세트, 모델 아티팩트 및 추론 환경과 같은 세부 정보를 검색하고 자동으로 채워 카드 생성 프로세스를 가속화할 수 있습니다. SageMaker Python SDK를 사용하면 평가 메트릭으로 모델 카드를 원활하게 업데이트할 수 있습니다.

모델 카드는 모델 위험 관리자, 데이터 과학자 및 ML 엔지니어에게 다음 작업을 수행할 수 있는 기능을 제공합니다.

  • 위험 등급, 의도된 용도, 제한 사항 및 예상 성능과 같은 모델 요구 사항 문서화
  • SageMaker 교육 모델에 대한 모델 카드 자동 채우기
  • 비 SageMaker 모델에 대한 BYOI(Bring Your Own Info)
  • 모델 및 데이터 평가 결과 업로드 및 공유
  • 사용자 지정 정보 정의 및 캡처
  • 모델 카드 상태 캡처(초안, 검토 대기 중 또는 생산 승인됨)
  • 에서 모델 카드 허브에 액세스합니다. AWS 관리 콘솔
  • 모델 카드 생성, 편집, 보기, 내보내기, 복제 및 삭제
  • 다음을 사용하여 워크플로 트리거 아마존 이벤트 브리지 모델 카드 상태 변경 이벤트 통합

콘솔을 사용하여 SageMaker 모델 카드 생성

SageMaker 콘솔을 사용하여 모델 카드를 쉽게 생성할 수 있습니다. 여기에서 모든 기존 모델 카드를 보고 필요에 따라 새 카드를 만들 수 있습니다.

모델 카드를 만들 때 모델을 만든 사람, 모델을 개발한 이유, 독립적인 평가를 위한 성능, 비즈니스 응용 프로그램에 모델을 사용하기 전에 고려해야 하는 모든 관찰과 같은 중요한 모델 정보를 문서화할 수 있습니다.

콘솔에서 모델 카드를 생성하려면 다음 단계를 완료하십시오.

  1. 모델 개요 세부 정보를 입력합니다.
  2. 교육 세부 정보를 입력합니다(모델이 SageMaker에서 교육된 경우 자동으로 채워짐).
  3. 평가 결과를 업로드합니다.
  4. 권장 사항 및 윤리적 고려 사항과 같은 추가 세부 정보를 추가합니다.

모델 카드를 만든 후 볼 버전을 선택할 수 있습니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

다음 스크린샷은 모델 카드의 세부 정보를 보여줍니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

공유할 모델 카드를 PDF로 내보낼 수도 있습니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

SageMaker Python SDK를 통해 SageMaker 모델 카드 생성 및 탐색

모델 카드와의 상호 작용은 콘솔에만 국한되지 않습니다. SageMaker Python SDK를 사용하여 모델 카드를 생성하고 탐색할 수도 있습니다. SageMaker Python SDK를 사용하면 데이터 과학자와 ML 엔지니어가 SageMaker 구성 요소와 쉽게 상호 작용할 수 있습니다. 다음 코드 스니펫은 새로 추가된 SageMaker Python SDK 기능을 사용하여 모델 카드를 생성하는 프로세스를 보여줍니다.

최신 버전의 SageMaker Python SDK가 설치되어 있는지 확인합니다.

$ pip install --upgrade "sagemaker>=2"

SageMaker를 사용하여 모델을 교육하고 배포한 후에는 SageMaker 모델 및 교육 작업의 정보를 사용하여 모델 카드에 정보를 자동으로 채울 수 있습니다.

SageMaker Python SDK를 사용하고 SageMaker 모델 이름을 전달하면 기본 모델 정보를 자동으로 수집할 수 있습니다. SageMaker 모델 ARN, 교육 환경 및 모델 출력과 같은 정보 아마존 단순 스토리지 서비스 (Amazon S3) 위치는 모두 자동으로 채워집니다. 설명, 문제 유형, 알고리즘 유형, 모델 작성자 및 소유자와 같은 다른 모델 사실을 추가할 수 있습니다. 다음 코드를 참조하십시오.

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

또한 교육 작업 ARN, 교육 환경 및 교육 메트릭과 같은 기본 교육 정보를 자동으로 수집할 수 있습니다. 훈련 목적 함수 및 관찰과 같은 추가 훈련 세부 사항을 추가할 수 있습니다. 다음 코드를 참조하십시오.

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

사용 가능한 평가 메트릭이 있는 경우 모델 카드에도 추가할 수 있습니다.

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

모델 거버넌스에 도움이 되는 모델에 대한 추가 정보를 추가할 수도 있습니다.

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

필요한 모든 세부 정보를 제공한 후 이전 구성을 사용하여 모델 카드를 만들 수 있습니다.

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

SageMaker SDK는 또한 모델 카드를 업데이트, 로드, 나열, 내보내기 및 삭제할 수 있는 기능을 제공합니다.

모델 카드에 대한 자세한 내용은 다음을 참조하십시오. 개발자 가이드 및 수행 시작하려면 예시 노트북을 사용하세요.

SageMaker 모델 대시보드

모델 대시보드는 계정에서 생성된 모든 모델의 중앙 집중식 저장소입니다. 모델은 일반적으로 SageMaker에서 교육을 통해 생성되거나 다른 곳에서 교육된 모델을 가져와 SageMaker에서 호스팅할 수 있습니다.

모델 대시보드는 IT 관리자, 모델 위험 관리자 또는 비즈니스 리더가 배포된 모든 모델과 그 성능을 볼 수 있는 단일 인터페이스를 제공합니다. 엔드포인트, 일괄 변환 작업 및 모니터링 작업을 보고 모델 성능에 대한 통찰력을 얻을 수 있습니다. 조직은 모니터가 없거나 비활성인 모델을 식별하고 SageMaker API를 사용하여 추가하여 모든 모델에서 데이터 드리프트, 모델 드리프트, 편향 드리프트 및 기능 속성 드리프트를 확인할 수 있습니다.

다음 스크린샷은 모델 대시보드의 예를 보여줍니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

모델 대시보드는 모든 모델에 대한 개요, 위험 등급, 해당 모델이 프로덕션에서 수행되는 방식을 제공합니다. SageMaker 전체에서 정보를 가져와 이를 수행합니다. 성능 모니터링 정보는 다음을 통해 캡처됩니다. Amazon SageMaker 모델 모니터, SageMaker 일괄 변환 작업을 통해 일괄 예측을 위해 호출된 모델에 대한 정보도 볼 수 있습니다. 모델 학습 방법, 사용된 데이터 등과 같은 계보 정보가 캡처되고 모델 카드의 정보도 가져옵니다.

모델 모니터는 배치 추론 또는 실시간 엔드포인트를 위해 생산에 사용되는 SageMaker 모델의 품질을 모니터링합니다. SageMaker API를 통해 연속 모니터링 또는 예약 모니터를 설정하고 모델 대시보드를 통해 알림 설정을 편집할 수 있습니다. 모델 품질에 편차가 있을 때 알려주는 경고를 설정할 수 있습니다. 이러한 편차를 조기에 사전 예방적으로 감지하면 수동으로 모델을 모니터링하거나 추가 도구를 구축하지 않고도 모델 재교육, 업스트림 시스템 감사 또는 품질 문제 수정과 같은 시정 조치를 취할 수 있습니다. 모델 대시보드는 어떤 모델이 모니터링되고 있고 어떻게 수행되고 있는지에 대한 빠른 통찰력을 제공합니다. 모델 모니터에 대한 자세한 내용은 다음을 방문하십시오. 데이터 및 모델 품질, 편향 및 설명 가능성에 대한 모델 모니터링.

모델 대시보드에서 모델을 선택하면 모델 카드(있는 경우), 모델 계보, 모델이 배포된 엔드포인트에 대한 세부 정보 및 모니터링 일정과 같은 모델에 대한 더 깊은 통찰력을 얻을 수 있습니다. 모델.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

이 보기를 사용하면 필요한 경우 모델 카드를 만들 수 있습니다. 모니터링 일정은 모델 대시보드를 통해서도 활성화, 비활성화 또는 편집할 수 있습니다.

모니터링 일정이 없는 모델의 경우 모델이 배포된 엔드포인트에 대해 모델 모니터를 활성화하여 이를 설정할 수 있습니다. 경고 세부 정보 및 상태를 통해 설정한 모니터에 따라 데이터 드리프트, 모델 드리프트, 편향 드리프트 또는 기능 드리프트를 표시하는 모델에 대한 알림을 받게 됩니다.

모델 모니터링을 설정하는 방법에 대한 예제 워크플로를 살펴보겠습니다. 이 프로세스의 주요 단계는 다음과 같습니다.

  1. 엔드포인트(또는 일괄 변환 작업)로 전송된 데이터를 캡처합니다.
  2. 기준선을 설정합니다(각 모니터링 유형에 대해).
  3. 실시간 예측을 기준과 비교하여 위반을 보고하고 경고를 트리거하는 모델 모니터 일정을 만듭니다.

경고를 기반으로 엔드포인트를 이전 버전으로 롤백하거나 새 데이터로 모델을 재교육하는 등의 작업을 수행할 수 있습니다. 이 작업을 수행하는 동안 모델의 계보를 시각화하여 수행할 수 있는 모델 학습 방법을 추적해야 할 수 있습니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함. Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.

모델 대시보드는 모델의 특정 세부 정보를 드릴하는 기능 외에도 계정의 전체 모델 에코시스템에 대한 풍부한 정보 세트를 제공합니다. 모델 대시보드에 대한 자세한 내용은 다음을 참조하십시오. 개발자 가이드.

결론

모델 거버넌스는 복잡하며 종종 조직이나 산업에 특정한 많은 사용자 정의 요구 사항을 포함합니다. 이는 조직에서 준수해야 하는 규제 요구 사항, 조직에 존재하는 페르소나 유형 및 사용 중인 모델 유형을 기반으로 할 수 있습니다. 거버넌스에 대한 만능 접근 방식은 없으며 강력한 거버넌스 프로세스를 적용할 수 있도록 올바른 도구를 사용하는 것이 중요합니다.

SageMaker의 특수 제작된 ML 거버넌스 도구를 사용하여 조직은 특정 사용 사례에 대해 ML 프로젝트에 대한 제어 및 가시성을 개선하는 올바른 메커니즘을 구현할 수 있습니다. 모델 카드와 모델 대시보드를 사용해보고 질문과 피드백으로 의견을 남겨주세요. 모델 카드 및 모델 대시보드에 대한 자세한 내용은 다음을 참조하십시오. 개발자 가이드.


저자 소개

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.키릿 타다카 SageMaker 서비스 SA 팀에서 일하는 ML 솔루션 설계자입니다. AWS에 합류하기 전에 Kirit는 초기 단계의 AI 스타트업에서 근무한 후 AI 연구, MLOps 및 기술 리더십 분야에서 다양한 역할을 컨설팅했습니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.마크 카프 SageMaker 서비스 팀의 ML 설계자입니다. 그는 고객이 규모에 맞게 ML 워크로드를 설계, 배포 및 관리하도록 돕는 데 중점을 둡니다. 여가 시간에는 여행과 새로운 장소 탐색을 즐깁니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.라구 라메샤 Amazon SageMaker 서비스 팀의 ML 솔루션 설계자입니다. 그는 고객이 ML 프로덕션 워크로드를 대규모로 SageMaker로 구축, 배포 및 마이그레이션하도록 돕는 데 중점을 두고 있습니다. 그는 기계 학습, AI 및 컴퓨터 비전 영역을 전문으로 하며 UT Dallas에서 컴퓨터 과학 석사 학위를 취득했습니다. 여가 시간에는 여행과 사진 촬영을 즐깁니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.램 비탈 AWS의 ML 전문가 솔루션 아키텍트입니다. 그는 20년 이상의 분산, 하이브리드 및 클라우드 애플리케이션 설계 및 구축 경험을 보유하고 있습니다. 그는 기업 고객이 클라우드 채택 및 최적화 여정을 통해 비즈니스 성과를 개선할 수 있도록 지원하는 안전하고 확장 가능한 AI/ML 및 빅 데이터 솔루션을 구축하는 데 열정을 갖고 있습니다. 여가 시간에는 테니스, 사진, 액션 영화를 즐깁니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스를 사용하여 기계 학습 모델의 거버넌스를 개선하세요. 수직 검색. 일체 포함.사힐 사이 니 Amazon Web Services의 ISV 솔루션 아키텍트입니다. 그는 AWS 전략적 고객 제품 및 엔지니어링 팀과 협력하여 AI/ML, 컨테이너, HPC 및 IoT용 AWS 서비스를 사용하는 기술 솔루션을 지원합니다. 기업 고객을 위한 AI/ML 플랫폼 설정을 도왔습니다.

타임 스탬프 :

더보기 AWS 기계 학습