Microsoft Azure ML Studio 프레임워크

마지막 업데이트 날짜: 2024년 11월 21일
Microsoft Azure ML Studio 프레임워크

Microsoft Azure ML Studio를 사용하여 페이로드 또는 피드백 데이터를 기록하고, 모델을 평가할 때 배포된 모델의 성능 정확도, 런타임 편향 탐지, 설명 가능성 및 자동 편향 제거 결과를 측정할 수 있습니다.

다음 Microsoft Azure Machine Learning Studio 프레임워크는 모델 평가를 위해 완벽하게 지원됩니다.

테이블 1. 프레임워크 지원 세부사항

프레임워크 지원 세부사항
프레임워크 문제점 유형 데이터 유형
네이티브 분류 구조화됨
네이티브 회귀분석 구조화됨
주의: Microsoft Azure Machine Learning Studio(클래식)는 2024년 8월 31일에 더 이상 사용되지 않습니다. Azure Studio 클래식 배포 목록 및 채점은 2024년 8월 31일 이후에는 작동하지 않습니다.

모델 평가에는 Azure 디자이너 컨테이너 인스턴스 엔드포인트가 지원됩니다.

Microsoft Azure ML Studio 추가

다음 방법 중 하나를 사용하여 Microsoft Azure ML Studio에서 작동하도록 모델 평가를 구성할 수 있습니다.

  • 처음으로 머신 러닝 공급자를 추가하는 경우 구성 인터페이스를 사용할 수 있습니다. 자세한 정보는 Microsoft Azure ML Studio 인스턴스 지정을 참조하십시오.
  • Python SDK를 사용하여 기계 학습 제공자를 추가할 수도 있습니다. 둘 이상의 제공자를 원하는 경우 이 방법을 사용해야 합니다. 프로그래밍 방식으로 이를 수행하는 방법에 대한 자세한 정보는 Microsoft Azure 머신 러닝 엔진 추가를 참조하십시오.

샘플 노트북

다음 노트북에서는 Microsoft Azure ML Studio에서 작동하는 방법을 보여줍니다.

자세히 알아보기

웹 서비스로서 배치된 Azure Machine Learning 모델 사용

Microsoft Azure ML Studio 인스턴스 지정

Watson OpenScale 도구에서 첫 번째 단계는 Microsoft Azure ML Studio 인스턴스를 지정하는 것입니다. Azure ML Studio 인스턴스는 AI 모델과 배치를 저장하는 곳입니다.

Python SDK를 사용하여 기계 학습 제공자를 추가할 수도 있습니다. 자세한 정보는 Microsoft Azure 머신 러닝 엔진 추가를 참조하십시오.

Azure ML Studio 인스턴스 연결

Azure ML Studio 인스턴스에서 AI 모델과 배포에 연결하여 모델을 평가할 수 있습니다. 서비스를 연결하려면 구성 탭 아이콘 구성 탭으로 이동하여 머신 러닝 공급자를 추가하고 구성 탭 아이콘 편집 아이콘을 클릭합니다. 이름 및 설명 외에 환경이 사전 프로덕션 또는 프로덕션인지에 따라 다음 정보를 제공해야 합니다.

  • 클라이언트 ID: 클라이언트 ID의 실제 문자열 값입니다. 사용자를 확인하고 인증하며 Azure Studio 호출 권한을 부여합니다.
  • 클라이언트 시크릿: 시크릿의 실제 문자열 값입니다. 사용자를 확인하고 인증하며 Azure Studio 호출 권한을 부여합니다.
  • 테넌트: 테넌트 ID는 조직에 해당하며 Azure AD의 전용 인스턴스입니다. 테넌트 ID를 찾으려면 계정 이름 위로 마우스를 이동하여 디렉토리 및 테넌트 ID를 가져오거나 Azure 포털에서 Azure Active Directory > Properties > Directory ID를 선택하십시오.
  • 구독 ID: Microsoft Azure 구독을 고유하게 식별하는 구독 인증 정보입니다. 구독 ID는 모든 서비스 호출에 대한 URL의 일부를 구성합니다. Microsoft Azure 인증 정보를 가져오는 방법에 대한 지시사항은 How to: Use the portal to create an Azure AD application and service principal that can access resources를 참조하십시오.

Microsoft Azure Machine Learning Studio 엔진으로 페이로드 로깅

Microsoft Azure 기계 학습 엔진 추가

비 IBM watsonx.ai Runtime 엔진은 사용자 정의로 바인딩되어 메타데이터일 뿐이며, IBM IBM watsonx.ai Runtime 서비스와 직접 통합되지 않습니다.

AZURE_ENGINE_CREDENTIALS = {
    "client_id": "",
    "client_secret": "",
    "subscription_id": "",
    "tenant": ""
}
 
wos_client.service_providers.add(
        name=SERVICE_PROVIDER_NAME,
        description=SERVICE_PROVIDER_DESCRIPTION,
        service_type=ServiceTypes.AZURE_MACHINE_LEARNING,
        #deployment_space_id = WML_SPACE_ID,
        #operational_space_id = "production",
        credentials=AzureCredentials(
            subscription_id= AZURE_ENGINE_CREDENTIALS['subscription_id'],
            client_id = AZURE_ENGINE_CREDENTIALS['client_id'],
            client_secret= AZURE_ENGINE_CREDENTIALS['client_secret'],
            tenant = AZURE_ENGINE_CREDENTIALS['tenant']
        ),
        background_mode=False
    ).result

서비스 구독을 보려면 다음 명령을 실행하십시오.

client.service_providers.list()

Microsoft Azure ML Studio 구독 추가

다음 코드 샘플을 적응시켜서 구독을 추가하십시오.

asset_deployment_details = wos_client.service_providers.list_assets(data_mart_id=data_mart_id, service_provider_id=service_provider_id).result
asset_deployment_details
 
deployment_id=''
for model_asset_details in asset_deployment_details['resources']:
    if model_asset_details['metadata']['guid']==deployment_id:
        break
 
azure_asset = Asset(
            asset_id=model_asset_details["entity"]["asset"]["asset_id"],
            name=model_asset_details["entity"]["asset"]["name"],
            url=model_asset_details["entity"]["asset"]["url"],
            asset_type=model_asset_details['entity']['asset']['asset_type'] if 'asset_type' in model_asset_details['entity']['asset'] else 'model',
            input_data_type=InputDataType.STRUCTURED,
            problem_type=ProblemType.BINARY_CLASSIFICATION
        )
 
deployment_scoring_endpoint = model_asset_details['entity']['scoring_endpoint']
scoring_endpoint = ScoringEndpointRequest(url = model_asset_details['entity']['scoring_endpoint']['url'],request_headers = model_asset_details['entity']['scoring_endpoint']['request_headers'],
                                                 credentials = None)  
 
deployment = AssetDeploymentRequest(
    deployment_id=model_asset_details['metadata']['guid'],
    url=model_asset_details['metadata']['url'],
    name=model_asset_details['entity']['name'],
    description=model_asset_details['entity']['description'],
    deployment_type=model_asset_details['entity']['type'],
    scoring_endpoint = scoring_endpoint
)
 
asset_properties = AssetPropertiesRequest(
        label_column="Risk ",
        prediction_field='Scored Labels',
        probability_fields=['Scored Probabilities'],
        training_data_reference=training_data_reference,
        training_data_schema=None,
        input_data_schema=None,
        output_data_schema=None,
    )
 
subscription_details = wos_client.subscriptions.add(
        data_mart_id=data_mart_id,
        service_provider_id=service_provider_id,
        asset=azure_asset,
        deployment=deployment,
        asset_properties=asset_properties,
        background_mode=False
).result

구독 목록을 가져오려면 다음 코드를 실행하십시오.

subscription_id = subscription_details.metadata.id
subscription_id
 
details: wos_client.subscriptions.get(subscription_id).result.to_dict()

페이로드 로깅 사용 설정

페이로드 로깅을 사용으로 설정하려면 다음 코드를 실행하십시오.

payload_data_set_id = None
payload_data_set_id = wos_client.data_sets.list(type=DataSetTypes.PAYLOAD_LOGGING, 
                                                target_target_id=subscription_id, 
                                                target_target_type=TargetTypes.SUBSCRIPTION).result.data_sets[0].metadata.id
 
payload store:
 
wos_client.data_sets.store_records(data_set_id=payload_data_set_id, request_body=[PayloadRecord(
           scoring_id=str(uuid.uuid4()),
           request=request_data,
           response=response_data,
           response_time=460
)])

로깅 세부사항을 가져오려면 다음 명령을 실행하십시오.

subscription.payload_logging.get_details()

스코어링 및 페이로드 로깅

모델을 스코어링하십시오. 전체 예는 Azure Machine Learning Studio Engine Notebook에 대한 작업을 참조하십시오.

페이로드 로깅 테이블에서 요청 및 응답을 저장하려면 다음 코드를 사용하십시오.

records_list = [PayloadRecord(request=request_data, response=response_data, response_time=response_time),
                PayloadRecord(request=request_data, response=response_data, response_time=response_time)]

for i in range(1, 10):
records_list.append(PayloadRecord(request=request_data, response=response_data, response_time=response_time))

subscription.payload_logging.store(records=records_list)

Python 외의 언어의 경우 REST API를 사용하여 페이로드를 로깅할 수도 있습니다.

상위 주제: 지원되는 머신 러닝 엔진, 프레임워크 및 모델