0 / 0
Go back to the English version of the documentation
Watson OpenScale içindeki özel makine öğrenimi çerçeveleri
Last updated: 20 Eki 2023
Watson OpenScale içindeki özel makine öğrenimi çerçeveleri

Ö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 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:

Özel çalışma grafiği nasıl görüntülenir. İstemci API 'si ve Watson OpenScale API 'si ile özel ortama ilişkin kutuları gösterir

Aşağıdaki bağlantılara da başvurabilirsiniz:

Watson OpenScale bilgi yükü günlük kaydı API 'si

Python istemcisi SDK

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, noneya 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:

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 Yapılandırma sekmesi simgesi sekmesine gidin, bir makine öğrenimi sağlayıcısı ekleyin ve Düzenle Yapılandırma sekmesi simgesi 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 gibi https://host:portbiç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()

Soysal ML bağ tanımı

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

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more