Translation not up to date
Amazon SageMaker można używać do rejestrowania danych dotyczących ładunku i informacji zwrotnych, a także do mierzenia dokładności wydajności, wykrywania, wytłumaczalności i automatycznego debiuowania w programie IBM Watson OpenScale.
Produkt IBM Watson OpenScale w pełni obsługuje następujące środowiska Amazon SageMaker :
Tabela 1. Szczegóły obsługi środowiska
Środowisko | Typ problemu | Typ danych |
---|---|---|
Własne | Danych | Strukturalne |
Własne | Regresja1 | Strukturalne |
1Obsługa modeli regresji nie obejmuje wielkości dryftu.
Dodawanie Amazon SageMaker do Watson OpenScale
Usługę Watson OpenScale można skonfigurować do pracy z produktem Amazon SageMaker przy użyciu jednej z następujących metod:
- Przy pierwszym dodaniu dostawcy uczenia maszynowego do systemu Watson OpenScalemożna skorzystać z interfejsu konfiguracyjnego. Więcej informacji na ten temat zawiera sekcja Określanie instancji usługi Amazon SageMaker.
- Korzystając z pakietu Python SDK, można również dodać dostawcę uczenia maszynowego. Tej metody należy użyć, jeśli wymagane jest posiadanie więcej niż jednego dostawcy. Więcej informacji na ten temat zawiera sekcja Dodawanie mechanizmu uczenia maszynowego Amazon SageMaker.
Przykładowe notebooki
W następujących notatnikach przedstawiono sposób pracy z Amazon SageMaker:
Określanie instancji usługi Amazon SageMaker ML
Pierwszym krokiem w narzędziu Watson OpenScale jest określenie instancji usługi Amazon SageMaker . Instancja usługi Amazon SageMaker służy do przechowywania modeli i wdrożeń AI.
Połącz instancję usługi Amazon SageMaker
Usługa Watson OpenScale łączy się z modelami i wdrożeniami AI w instancji usługi Amazon SageMaker . Aby połączyć usługę z usługą Watson OpenScale, przejdź do karty Konfiguruj , dodaj dostawcę uczenia maszynowego i kliknij ikonę Edytuj . Oprócz nazwy i opisu oraz tego, czy środowisko Pre-production lub Production, należy podać następujące informacje specyficzne dla tego typu instancji usługi:
- Identyfikator klucza dostępu: ID klucza dostępu AWS
aws_access_key_id
, który sprawdza, czy użytkownik jest uwierzytelniany i autoryzowany oraz autoryzuje wywołania na potrzeby AWS. - Klucz tajnego dostępu: klucz tajnego dostępu użytkownika AWS
aws_secret_access_key
, który jest wymagany do sprawdzenia, kto jest i do uwierzytelniania i autoryzacji wywołań, które są używane w systemie AWS. - Region: wprowadź region, w którym został utworzony identyfikator klucza dostępu. Klucze są przechowywane i używane w regionie, w którym zostały utworzone i nie mogą być przenoszone do innego regionu.
Teraz można wybrać wdrożone modele i skonfigurować monitory. Watson OpenScale przedstawia listę wdrożonych modeli na panelu kontrolnym Insights , na którym można kliknąć opcję Dodaj do panelu kontrolnego. Wybierz wdrożenia, które mają być monitorowane, a następnie kliknij przycisk Konfiguruj.
Więcej informacji na ten temat zawiera sekcja Konfigurowanie monitorów.
Rejestrowanie ładunku przy użyciu mechanizmu uczenia maszynowego Amazon SageMaker
Dodaj mechanizm uczenia maszynowego Amazon SageMaker
Mechanizm inny niżIBM Watson Machine Learning jest powiązany jako niestandardowy przy użyciu metadanych. Nie jest możliwa bezpośrednia integracja z usługą inną niżIBM Watson Machine Learning .
SAGEMAKER_ENGINE_CREDENTIALS = {
'access_key_id':””,
'secret_access_key':””,
'region': '}
wos_client.service_providers.add(
name="AWS",
description="AWS Service Provider",
service_type=ServiceTypes.AMAZON_SAGEMAKER,
credentials=SageMakerCredentials(
access_key_id=SAGEMAKER_ENGINE_CREDENTIALS['access_key_id'],
secret_access_key=SAGEMAKER_ENGINE_CREDENTIALS['secret_access_key'],
region=SAGEMAKER_ENGINE_CREDENTIALS['region']
),
background_mode=False
).result
Aby wyświetlić subskrypcję usługi, należy uruchomić następujący kod:
client.service_providers.list()
Dodaj subskrypcję usługi Amazon SageMaker ML
Aby dodać subskrypcję, uruchom następujący kod:
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='684e35eee8a479470cee05983e1f9d64'
for model_asset_details in asset_deployment_details['resources']:
if model_asset_details['metadata']['guid']==deployment_id:
break
aws_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',
problem_type=ProblemType.BINARY_CLASSIFICATION,
input_data_type=InputDataType.STRUCTURED,
)
from ibm_watson_openscale.base_classes.watson_open_scale_v2 import ScoringEndpointRequest
deployment_scoring_endpoint = model_asset_details['entity']['scoring_endpoint']
scoring_endpoint = ScoringEndpointRequest(url = model_asset_details['entity']['scoring_endpoint']['url'] )
deployment = AssetDeploymentRequest(
deployment_id=model_asset_details['metadata']['guid'],
url=model_asset_details['metadata']['url'],
name=model_asset_details['entity']['name'],
#description="asset['entity']['description']",
deployment_type=model_asset_details['entity']['type'],
scoring_endpoint = scoring_endpoint
)
asset_properties = AssetPropertiesRequest(
label_column="Risk",
prediction_field='predicted_label',
probability_fields=['score'],
training_data_reference=training_data_reference,
training_data_schema=None,
input_data_schema=None,
output_data_schema=None,
feature_fields=feature_columns,
categorical_fields=categorical_columns
)
subscription_details = wos_client.subscriptions.add(
data_mart_id=data_mart_id,
service_provider_id=service_provider_id,
asset=aws_asset,
deployment=deployment,
asset_properties=asset_properties,
background_mode=False
).result
Aby uzyskać listę subskrypcji, uruchom następującą komendę:
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
Włącz rejestrowanie ładunku
Aby włączyć rejestrowanie ładunku, uruchom następującą komendę:
request_data = {'fields': feature_columns,
'values': [[payload_values]]}
Aby uzyskać szczegóły rejestrowania, uruchom następującą komendę:
response_data = {'fields': list(result['predictions'][0]),
'values': [list(x.values()) for x in result['predictions']]}
Rejestrowanie i rejestrowanie ładunku
- Oceniaj swój model. Pełny przykład znajduje się w sekcji Praca z programem SageMaker machine learning Engine Notebook.
Aby zapisać żądanie i odpowiedź w tabeli rejestrowania ładunku, należy uruchomić następujący kod:
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
)])
W przypadku języków innych niż Pythonmożna również rejestrować ładunek przy użyciu interfejsu REST API.
Temat nadrzędny: Obsługiwane mechanizmy uczenia maszynowego, środowiska i modele