Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

Fiddler를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링 달성

이것은 Fiddler AI의 Danny Brock, Rajeev Govindan 및 Krishnaram Kenthapadi의 게스트 블로그 게시물입니다.

너의 아마존 세이지 메이커 모델들이 살아있습니다. 그들은 매일 수백만 건의 추론을 처리하고 회사의 더 나은 비즈니스 결과를 이끌어냅니다. 출시 당일과 동일한 성능을 발휘하고 있습니다.

어, 잠깐. 그들은요? 아마도. 아마.

엔터프라이즈급 없이 모델 모니터링, 당신의 모델은 조용히 쇠퇴할 수 있습니다. 머신 러닝(ML) 팀은 이러한 모델이 실제로 수익 창출의 기적에서 회사의 시간과 비용을 낭비하는 잘못된 결정을 내리는 부채로 변했다는 사실을 결코 알지 못할 수도 있습니다.

걱정하지 마세요. 해결책은 생각보다 가깝습니다.

바이올리니스트, 엔터프라이즈급 모델 성능 관리 솔루션에서 사용 가능한 AWS Marketplace, 모델 모니터링 및 설명 가능한 AI를 제공하여 ML 팀이 포괄적인 범위의 모델 문제를 검사하고 해결할 수 있도록 지원합니다. 모델 모니터링, 모델 설명 가능성, 분석 및 편향 감지를 통해 Fiddler는 회사에 사용하기 쉬운 단일 창을 제공하여 모델이 제대로 작동하는지 확인합니다. 그렇지 않은 경우 Fiddler는 모델을 검사하여 성능 저하의 근본 원인을 찾을 수 있는 기능도 제공합니다.

이 게시물은 귀하의 MLOps 팀은 몇 가지 간단한 단계를 통해 Fiddler 모델 성능 관리 플랫폼과 통합하여 SageMaker에 배포된 모델의 문제를 감지하는 데 걸리는 시간을 단축하고 데이터 과학자의 생산성을 향상할 수 있습니다.

솔루션 개요

다음 참조 아키텍처는 통합의 주요 지점을 강조합니다. Fiddler는 기존 SageMaker ML 워크플로에 대한 "사이드카"로 존재합니다.

이 게시물의 나머지 부분에서는 SageMaker 모델을 Fiddler의 모델과 통합하는 단계를 안내합니다. 모델 성과 관리 플랫폼:

  1. 모델에 데이터 캡처가 활성화되어 있는지 확인하십시오.
  2. Fiddler 평가판 환경을 만듭니다.
  3. Fiddler 환경에서 모델에 대한 정보를 등록합니다.
  4. 를 생성 AWS 람다 함수를 사용하여 SageMaker 추론을 Fiddler에 게시합니다.
  5. Fiddler 평가판 환경에서 Fiddler의 모니터링 기능을 살펴보십시오.

사전 조건

이 게시물은 SageMaker를 설정하고 모델 엔드포인트를 배포했다고 가정합니다. 모델 제공을 위해 SageMaker를 구성하는 방법을 배우려면 다음을 참조하십시오. 추론을 위한 모델 배포. 몇 가지 예는 다음 페이지에서도 볼 수 있습니다. GitHub 레포.

모델에 데이터 캡처가 활성화되어 있는지 확인

SageMaker 콘솔에서 모델의 제공 엔드포인트로 이동하여 다음을 활성화했는지 확인합니다. 데이터 캡처아마존 단순 스토리지 서비스 (Amazon S3) 버킷. 이것은 모델이 매일 수행하는 추론(요청 및 응답)을 다음과 같이 저장합니다. JSON 라인 파일 (.jsonl) Amazon S3.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

Fiddler 평가판 환경 만들기

에서 fiddler.ai 웹사이트에서 무료 평가판을 요청할 수 있습니다. 빠른 양식을 작성하면 Fiddler에서 연락하여 모델 성능 관리 요구 사항의 세부 사항을 이해하고 몇 시간 내에 시험 환경을 준비할 것입니다. 다음과 같은 전용 환경을 기대할 수 있습니다. https://yourcompany.try.fiddler.ai.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

Fiddler 환경에서 모델에 대한 정보 등록

SageMaker 호스팅 모델에서 Fiddler로 이벤트 게시를 시작하기 전에 Fiddler 평가판 환경 내에서 프로젝트를 생성하고 라는 단계를 통해 모델에 대한 Fiddler 세부 정보를 제공해야 합니다. 모델 등록. 내부에서 미리 구성된 노트북을 사용하려면 아마존 세이지 메이커 스튜디오 다음 코드 조각을 복사하여 붙여넣는 대신 다음에서 Fiddler 빠른 시작 노트북을 참조할 수 있습니다. GitHub의. Studio는 모든 ML 개발 단계를 수행할 수 있는 단일 웹 기반 시각적 인터페이스를 제공합니다.

먼저 다음을 설치해야 합니다. Fiddler Python 클라이언트 SageMaker 노트북에서 Fiddler 클라이언트를 인스턴스화합니다. 당신은 얻을 수 있습니다 AUTH_TOKEN 인사말 설정 Fiddler 평가판 환경의 페이지입니다.

# Install the fiddler client
!pip install fiddler-client

# Connect to the Fiddler Trial Environment
import fiddler as fdl
import pandas as pd

fdl.__version__

URL = 'https://yourcompany.try.fiddler.ai'
ORG_ID = 'yourcompany'
AUTH_TOKEN = 'UUID-Token-Here-Found-In-Your-Fiddler-Env-Settings-Page'

client = fdl.FiddlerApi(URL, ORG_ID, AUTH_TOKEN)

다음으로 Fiddler 평가판 환경에서 프로젝트를 생성합니다.

# Create Project
PROJECT_ID = 'credit_default'  # update this with your project name
DATASET_ID = f'{PROJECT_ID}_dataset'
MODEL_ID = f'{PROJECT_ID}_model'

client.create_project(PROJECT_ID)

이제 훈련 데이터 세트를 업로드하십시오. 노트북은 Fiddler를 실행하기 위한 샘플 데이터 세트도 제공합니다. 설명 가능성 메트릭 모니터링을 위한 기준으로 사용됩니다. 데이터 세트는 Fiddler에서 이 모델에 대한 스키마를 생성하는 데에도 사용됩니다.

# Upload Baseline Dataset
df_baseline = pd.read_csv(‘<your-training-file.csv>')

dataset_info = fdl.DatasetInfo.from_dataframe(df_baseline, max_inferred_cardinality=1000)

upload_result = client.upload_dataset(PROJECT_ID,
                                      dataset={'baseline': df_baseline},
                                      dataset_id=DATASET_ID,
                                      info=dataset_info)

마지막으로 모니터링, 근본 원인 분석 및 설명을 위해 추론을 Fiddler에 게시하기 전에 모델을 등록해야 합니다. 먼저 생성해보자 model_info 모델에 대한 메타데이터가 포함된 객체:

# Update task from the list below if your model task is not binary classification
model_task = 'binary' 

if model_task == 'regression':
    model_task_fdl = fdl.ModelTask.REGRESSION
    
elif model_task == 'binary':
    model_task_fdl = fdl.ModelTask.BINARY_CLASSIFICATION

elif model_task == 'multiclass':
    model_task_fdl = fdl.ModelTask.MULTICLASS_CLASSIFICATION

elif model_task == 'ranking':
    model_task_fdl = fdl.ModelTask.RANKING

    
# Specify column types|
target = 'TARGET'
outputs = ['prediction']  # change this to your target variable
features = [‘<add your feature list here>’]
     
# Generate ModelInfo
model_info = fdl.ModelInfo.from_dataset_info(
    dataset_info=dataset_info,
    dataset_id=DATASET_ID,
    model_task=model_task_fdl,
    target=target,
    outputs=outputs,
    features=features,
    binary_classification_threshold=.125,  # update this if your task is not a binary classification
    description='<model-description>',
    display_name='<model-display-name>'
)
model_info

그런 다음 새 제품을 사용하여 모델을 등록할 수 있습니다. model_info 목적:

# Register Info about your model with Fiddler
client.register_model(
    project_id=PROJECT_ID,
    dataset_id=DATASET_ID,
    model_id=MODEL_ID,
    model_info=model_info
)

엄청난! 이제 모델의 성능을 관찰하기 위해 일부 이벤트를 Fiddler에 게시할 수 있습니다.

SageMaker 추론을 Fiddler에 게시하는 Lambda 함수 생성

배포가 간편한 Lambda의 서버리스 아키텍처를 사용하면 이전에 설정한 S3 버킷에서 새로 프로비저닝된 Fiddler 평가판 환경으로 추론을 이동하는 데 필요한 메커니즘을 빠르게 구축할 수 있습니다. 이 Lambda 함수는 모델의 S3 버킷에서 새 JSONL 이벤트 로그 파일을 열고 JSONL 콘텐츠를 구문 분석 및 데이터 프레임으로 형식화한 다음 해당 이벤트 데이터 프레임을 Fiddler 평가판 환경에 게시하는 역할을 합니다. 다음 스크린샷은 함수의 코드 세부 정보를 보여줍니다.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

Lambda 함수는 S3 버킷에서 새로 생성된 파일을 트리거하도록 구성해야 합니다. 다음과 같은 지도 시간 만드는 과정을 안내합니다. 아마존 이벤트 브리지 파일이 Amazon S3에 업로드될 때마다 Lambda 함수를 호출하는 트리거입니다. 다음 스크린샷은 함수의 트리거 구성을 보여줍니다. 따라서 모델이 새로운 추론을 수행할 때마다 Amazon S3에 저장된 해당 이벤트가 Fiddler에 로드되어 회사에 필요한 모델 관찰 가능성을 구동할 수 있습니다.

이를 더욱 단순화하기 위해 이 Lambda 함수에 대한 코드는 다음에서 공개적으로 사용할 수 있습니다. Fiddler의 문서 사이트. 이 코드 예제는 현재 구조화된 입력이 있는 이진 분류 모델에서 작동합니다. 기능이나 작업이 다른 모델 유형이 있는 경우 코드에 대한 사소한 변경에 대한 도움을 받으려면 Fiddler에 문의하세요.

Lambda 함수는 Fiddler Python 클라이언트를 참조해야 합니다. Fiddler는 다음을 확인하기 위해 참조할 수 있는 공개적으로 사용 가능한 Lambda 계층을 생성했습니다. import fiddler as fdl 단계가 원활하게 작동합니다. us-west-2 리전의 ARN을 통해 이 계층을 참조할 수 있습니다. arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1다음 스크린 샷에 표시된대로

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

또한 Lambda 함수가 Fiddler 평가판 환경에 연결하는 방법과 모델이 캡처하는 .jsonl 파일 내에 있는 입력 및 출력을 알 수 있도록 Lambda 환경 변수를 지정해야 합니다. 다음 스크린샷은 필수 환경 변수 목록을 보여줍니다. Fiddler의 문서 사이트. 모델 및 데이터세트와 일치하도록 환경 변수 값을 업데이트합니다.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

Fiddler 평가판 환경에서 Fiddler의 모니터링 기능 살펴보기

해냈어! 기준 데이터, 모델 및 트래픽이 연결되면 이제 다음을 설명할 수 있습니다. 데이터 드리프트, 이상치, 모델 편향, 데이터 문제 및 성능 정보를 확인하고 대시보드를 다른 사람과 공유할 수 있습니다. 여행을 완료하세요. 데모 시청 귀사에 도입한 모델 성과 관리 기능에 대해

아래의 예시 스크린샷은 Fiddler 평가판 환경에서 볼 수 있는 드리프트, 이상값 감지, 로컬 포인트 설명 및 모델 분석과 같은 모델 통찰력을 보여줍니다.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.

결론

이 게시물은 엔터프라이즈급의 필요성을 강조했습니다. 모델 모니터링 SageMaker에 배포된 모델을 Fiddler 모델 성능 관리 플랫폼 몇 단계만 거치면 됩니다. Fiddler는 모델 모니터링, 설명 가능한 AI, 편향 감지 및 근본 원인 분석을 위한 기능을 제공하며 AWS Marketplace. 귀하의 MLOps 사용하기 쉬운 단일 창으로 팀을 구성하여 모델이 예상대로 작동하는지 확인하고 성능 저하의 근본적인 근본 원인을 식별하기 위해 Fiddler는 데이터 과학자 생산성을 개선하고 문제를 감지하고 해결하는 시간을 줄이는 데 도움이 될 수 있습니다.

Fiddler에 대해 자세히 알아보려면 다음을 방문하십시오. fiddler.ai 또는 개인화된 데모 및 기술 토론 이메일을 설정하려는 경우 sales@fiddler.ai.


저자에 관하여

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.대니 브록 Fiddler AI의 수석 솔루션 엔지니어입니다. Danny는 분석 및 ML 분야에서 오랫동안 재직하며 Endeca 및 Incorta와 같은 신생 기업을 위한 사전 판매 및 사후 판매 팀을 운영하고 있습니다. 그는 2012년 자신의 빅 데이터 분석 컨설팅 회사인 Branchbird를 설립했습니다.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.라지브 고빈단 Fiddler AI의 수석 솔루션 엔지니어입니다. Rajeev는 AppDynamics를 비롯한 여러 기업에서 영업 엔지니어링 및 소프트웨어 개발에 대한 광범위한 경험을 보유하고 있습니다.

Fiddler PlatoBlockchain Data Intelligence를 사용하여 Amazon SageMaker 모델에 대한 엔터프라이즈급 모니터링을 달성하십시오. 수직 검색. 일체 포함.크리슈나람 켄타파디 Fiddler AI의 수석 과학자입니다. 이전에는 Amazon AWS AI에서 수석 과학자로 근무하면서 Amazon AI 플랫폼의 공정성, 설명 가능성, 개인 정보 보호 및 모델 이해 이니셔티브를 주도했으며, 그 전에는 LinkedIn AI 및 Microsoft Research에서 직책을 역임했습니다. Krishnaram은 2006년 Stanford University에서 컴퓨터 공학 박사 학위를 받았습니다.

타임 스탬프 :

더보기 AWS 기계 학습