Translation not up to date
Özel makine öğrenimi çerçevenizi, IBM Watson OpenScale' de bilgi yükü günlük kaydını, geribildirim günlük kaydını tamamlamak ve performans doğruluğunu, çalıştırma zamanı yanlılığı algılamasını, açıklanabilirliği, sürüklenme algılamasını ve otomatik sapma işlevini ölçmek için kullanabilirsiniz. Özel makine öğrenimi çerçevesinin IBM Watson Machine Learningile eşdeğeri olmalıdır.
IBM Watson OpenScale , aşağıdaki özel makine öğrenimi çerçevelerini tam olarak destekler:
Tablo 1. Çerçeve desteği ayrıntıları
Çerçeve | Sorun tipi | Veri tipi |
---|---|---|
IBM Watson Machine Learning ile eşdeğer | Sınıflandırma | Yapılandırılmış |
IBM Watson Machine Learning ile eşdeğer | Regresyon | Yapılandırılmış |
IBM Watson Machine Learningile eşdeğer olmayan bir model için, gerekli REST API uç noktalarını gösteren özel model için bir sarıcı oluşturmanız gerekir. Ayrıca, Watson OpenScale ile gerçek özel makine öğrenimi motoru arasında giriş/çıkış arasında köprü oluşturmanız ve köprü oluşturmanız gerekir.
Özel bir makine öğrenimi motoru benim için en iyi seçim ne zaman?
Özel bir makine öğrenimi motoru, aşağıdaki durumlar doğru olduğunda en iyi seçimdir:
- Makine öğrenimi modellerine hizmet vermek için hemen kullanıma sunulan herhangi bir ürünü kullanmıyorsunuz. Modellerinize hizmet verecek bir sisteminiz var ve bu işlev için Watson OpenScale ' de doğrudan destek yok.
- 3rd-party sağlayıcısından kullandığınız hizmet motoru henüz Watson OpenScale tarafından desteklenmiyor. Bu durumda, özgün ya da yerel devreye alımlarınıza sarıcı olarak özel bir makine öğrenimi motoru geliştirmeyi düşünün.
Nasıl çalışır
Aşağıdaki resim özel ortam desteğini gösterir:
Aşağıdaki bağlantılara da başvurabilirsiniz:
Watson OpenScale bilgi yükü günlük kaydı API 'si
Python SDK for IBM Watson OpenScale
İzleme programlarını desteklemek için modele ilişkin giriş ölçütleri
Aşağıdaki örnekte, modeliniz bir özellik vektörü alır; bu vektör, temel olarak adlandırılmış alanların ve değerlerinin bir toplamıdır.
{ "fields": [ "name", "age", "position" ], "values": [ [ "john", 33, "engineer" ], [ "mike", 23, "student" ] ]
“age”
alanı adil olarak değerlendirilebilir.Giriş, giriş özelliği alanından dönüştürülen bir tensör ya da matrisse, bu model geçerli yayın düzeyinde Watson OpenScale platformu tarafından işlenemez. Ek olarak, metin veya resim girişi içeren derin öğrenme modelleri sapma algılama ve azaltma için işlenemez.
Ayrıca, Explainability desteği için eğitim verileri yüklenmelidir.
Metindeki açıklanabilirlik için, tam metin özelliklerden biri olmalıdır. Bir Özel modele ilişkin görüntülerde açıklanabilirlik geçerli yayında desteklenmiyor.
İzleme programlarını desteklemek için modele ilişkin çıkış ölçütleri
Modeliniz, giriş özellik vektörünü, o modeldeki çeşitli sınıfların öngörü olasılıklarının yanı sıra çıkarır.
{ "fields": [ "name", "age", "position", "prediction", "probability" ], "labels": [ "personal", "camping" ], "values": [ [ "john", 33, "engineer", "personal", [ 0.6744664422398081, 0.3255335577601919 ] ], [ "mike", 23, "student" "camping", [ 0.2794765664946941, 0.7205234335053059 ] ] ] }
Bu örnekte,
"personal”
ve“camping”
olası sınıflardır ve her puanlama çıkışındaki puanlar her iki sınıfa da atanır. Eğer öngörü olasılıkları eksikse, sapma tespiti işe yarar, ama otomatik sapma işe yaramaz.Puanlama çıkışına, Watson OpenScale ' in REST API ile çağırabileceği canlı bir puanlama uç noktasından erişebilirsiniz. CUSTOMML, SageMakerve IBM Watson Machine Learningiçin Watson OpenScale doğrudan yerel puanlama uç noktalarına bağlanır.
Özel makine öğrenimi motoru
Özel bir makine öğrenimi motoru, makine öğrenimi modelleri ve web uygulamaları için altyapı ve barındırma yetenekleri sağlar. Watson OpenScale tarafından desteklenen özel makine öğrenimi motorları aşağıdaki gereksinimlere uygun olmalıdır:
İki tip REST API uç noktasını göster:
- keşif uç noktası (GET konuşlandırmalar ve ayrıntılar listesi)
- uç noktaları puanlama (çevrimiçi ve gerçek zamanlı puanlama)
Tüm uç noktaların desteklenmek için swagger belirtimiyle uyumlu olması gerekir.
Devreye alma işleminin giriş bilgi yükü ve çıkışı, belirtimde açıklanan JSON dosya biçimiyle uyumlu olmalıdır.
Watson OpenScale yalnızca BasicAuth
, none
ya da apiKey
kimlik doğrulama biçimlerini destekler.
REST API uç noktaları belirtimini görmek için bkz. Watson OpenScale REST API.
Watson OpenScale ' e özel bir makine öğrenimi motoru ekleme
Watson OpenScale ürününü, aşağıdaki yöntemlerden birini kullanarak özel bir makine öğrenimi sağlayıcısıyla çalışacak şekilde yapılandırabilirsiniz:
- İlk özel makine öğrenimi sağlayıcınızı Watson OpenScale' e eklemek için yapılandırma arabirimini kullanabilirsiniz. Daha fazla bilgi için Özel bir makine öğrenimi eşgörünümünün belirtilmesibaşlıklı konuya bakın.
- Python SDK ' yı kullanarak da makine öğrenimi sağlayıcınızı ekleyebilirsiniz. Birden çok sağlayıcıya sahip olmak istiyorsanız bu yöntemi kullanmanız gerekir. Daha fazla bilgi için bkz. Özel makine öğrenimi motorunun eklenmesi.
Daha fazla araştırma
Diğer hizmetlerle etkileşim kurmanın bir yolunu yaratmak için özel bir makine öğrenimi izleme programı kullanın:
Özel ML hizmeti örneğini belirtme
Watson OpenScale aracındaki ilk adımınız bir hizmet eşgörünümü belirtmektir. Hizmet eşgörünümünüz, yapay zeka modellerinizi ve devreye alımlarınızı sakladığınız yerdir.
Özel hizmet örneğinizi bağlayın
Watson OpenScale , bir hizmet eşgörünümünde yapay zeka modellerine ve devreye alımlarına bağlanır. Özel bir hizmeti bağlayabilirsiniz. Hizmetinizi Watson OpenScale' e bağlamak için Yapılandır sekmesine gidin, bir makine öğrenimi sağlayıcısı ekleyin ve Düzenle simgesini tıklatın. Bir ad, açıklama ve Üretim Öncesi ya da Üretim ortam tipini belirtmeye ek olarak, bu hizmet eşgörünümü tipine özgü aşağıdaki bilgileri de sağlamanız gerekir:
- Kullanıcı adı
- Parola
https://custom-serve-engine.example.net:8443
gibihttps://host:port
biçimini kullanan API uç noktası
Bir liste isteyerek ya da tek tek puanlama uç noktaları girerekdevreye alımlarınıza bağlanıp bağlanmayacağınızı seçin.
Devreye alma listesi isteniyor
Devreye alma listesini iste döşemesini seçtiyseniz, kimlik bilgilerinizi ve API Uç Noktayı girin ve yapılandırmanızı kaydedin.
Tek tek puanlama uç noktalarının sağlanması
Tek tek puanlama uç noktalarını girin döşemesini seçtiyseniz, API Uç Noktası için kimlik bilgilerinizi girin ve yapılandırmanızı kaydedin.
Artık devreye alınan modelleri seçmeye ve monitörlerinizi yapılandırmaya hazırsınız. Watson OpenScale , Gösterge panosuna ekle' yi tıklatabileceğiniz Öngörüler gösterge panosunda devreye alınan modellerinizi listeler. İzlemek istediğiniz konuşlandırmaları seçin ve Yapılandır' ı tıklatın.
Daha fazla bilgi için bkz. İzleme programlarının yapılandırılması.
Özel makine öğrenimi motoru örnekleri
Kendi özel makine öğrenimi motorunuzu ayarlamak için aşağıdaki fikirleri kullanın.
Python ve matara
Scikit-learn modelini sunmak için Python ve matara kullanabilirsiniz.
Drift detection modelini oluşturmak için not defterinde scikit-learn sürümünü 0.20.2 kullanmanız gerekir.
Uygulama, test amacıyla ve IBM Cloudüzerinde bir uygulama olarak yerel olarak devreye alınabilir.
Node.js
Node.js içindeyazılan özel bir makine öğrenimi motoru örneği de bulabilirsiniz.
End2end kod kalıbı
Özel motor devreye alma ve Watson OpenScaleile bütünleştirme için end2end örneğini gösteren kod kalıbı .
Özel makine öğrenimi motoruyla bilgi yükü günlük kaydı
IBM Watson Machine Learning ya da özel makine öğrenimi motoru için bilgi yükü günlük kaydını yapılandırmak üzere ML motorunu özel olarak bağlamanız gerekir.
Özel makine öğrenimi motorunuzu ekleyin
Watson Machine Learning motoru, meta veriler kullanılarak özel olarak eklenir veIBM Watson Machine Learning hizmetiyle doğrudan bütünleştirme yoktur. wos_client.service_providers.add
yöntemini kullanarak Watson OpenScale ' e birden fazla makine öğrenimi motoru ekleyebilirsiniz.
CUSTOM_ENGINE_CREDENTIALS = {
"url": "***",
"username": "***",
"password": "***",
}
wos_client.service_providers.add(
name=SERVICE_PROVIDER_NAME,
description=SERVICE_PROVIDER_DESCRIPTION,
service_type=ServiceTypes.CUSTOM_MACHINE_LEARNING,
credentials=CustomCredentials(
url= CUSTOM_ENGINE_CREDENTIALS['url'],
username= CUSTOM_ENGINE_CREDENTIALS['username'],
password= CUSTOM_ENGINE_CREDENTIALS['password'],
),
background_mode=False
).result
Hizmet sağlayıcınızı aşağıdaki komutla görebilirsiniz:
client.service_providers.get(service_provider_id).result.to_dict()
API anahtarıyla güvenliği yapılandır
Özel makine öğrenimi motorunuzun güvenliğini yapılandırmak için Watson OpenScale , kimlik doğrulama sağlayıcıları olarak IBM Cloud ve IBM Cloud Pak for Data ürünlerini destekler. https://iam.cloud.ibm.com/identity/token
URL adresini kullanarak IBM Cloud için bir IAM belirteci oluşturabilir ve https://<$hostname>/icp4d-api/v1/authorize
URL 'sini kullanarak Cloud Pak for Dataiçin bir belirteç oluşturabilirsiniz.
Puanlama API ' nizi aşağıdaki biçimlerde uygulamak için POST /v1/deployments/{deployment_id}/online
isteğini kullanabilirsiniz:
İstek
{
"input_data": [{
"fields": [
"name",
"age",
"position"
],
"values": [
[
"john",
33,
"engineer"
],
[
"mike",
23,
"student"
]
]
}]
}
Yanıt
{
"predictions": [{
"fields": [
"name",
"age",
"position",
"prediction",
"probability"
],
"labels": [
"personal",
"camping"
],
"values": [
[
"john",
33,
"engineer",
"personal",
[
0.6744664422398081,
0.32553355776019194
]
],
[
"mike",
23,
"student",
"camping",
[
0.2794765664946941,
0.7205234335053059
]
]
]
}]
}
Özel abonelik ekle
Özel abonelik eklemek için şu komutu çalıştırın:
custom_asset = Asset(
asset_id=asset['entity']['asset']['asset_id'],
name=asset['entity']['asset']['name'],
url = "dummy_url",
asset_type=asset['entity']['asset']['asset_type'] if 'asset_type' in asset['entity']['asset'] else 'model',
problem_type=ProblemType.MULTICLASS_CLASSIFICATION,
input_data_type=InputDataType.STRUCTURED,
)
deployment = AssetDeploymentRequest(
deployment_id=asset['metadata']['guid'],
url=asset['metadata']['url'],
name=asset['entity']['name'],
deployment_type=asset['entity']['type'],
scoring_endpoint = scoring_endpoint
)
asset_properties = AssetPropertiesRequest(
prediction_field='predicted_label',
probability_fields = ["probability"],
training_data_reference=None,
training_data_schema=None,
input_data_schema=None,
output_data_schema=output_schema,
)
result = ai_client.subscriptions.add(
data_mart_id=cls.datamart_id,
service_provider_id=cls.service_provider_id,
asset=custom_asset,
deployment=deployment,
asset_properties=asset_properties,
background_mode=False
).result
Abonelik listesini almak için şu komutu çalıştırın:
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
Bilgi yükü günlük kaydını etkinleştir
Abonelikte bilgi yükü günlük kaydını etkinleştirmek için şu komutu çalıştırın:
request_data = {'fields': feature_columns,
'values': [[payload_values]]}
Günlük kaydı ayrıntılarını almak için şu komutu çalıştırın:
response_data = {'fields': list(result['predictions'][0]),
'values': [list(x.values()) for x in result['predictions']]}
Puanlama ve bilgi yükü günlük kaydı
Mankeni puanlasana.
İsteği ve yanıtı bilgi yükü günlük kaydı tablosunda sakla
records_list = [PayloadRecord(request=request_data, response=response_data, response_time=response_time), PayloadRecord(request=request_data, response=response_data, response_time=response_time)] subscription.payload_logging.store(records=records_list)
Pythondışındaki diller için, REST APIkullanarak bilgi yükünü de günlüğe kaydedebilirsiniz.
Üst konu: Desteklenen makine öğrenimi motorları, çerçeveler ve modeller