Fehlerbehebung bei Watson OpenScale
Sie können die folgenden Techniken verwenden, um Probleme mit IBM Watson OpenScale zu umgehen.
Ich kann die Überwachungsmetriken nicht sehen, wenn meine Auswertung abgeschlossen ist.
Ich kann ein Db2 -Notebook für allgemeine Konfiguration nicht ausführen
Warum bekomme ich bei Verwendung von AutoAI einen Fehler wegen nicht übereinstimmender Daten?
Warum fehlen meine Klassenkennzeichnungen, wenn ich XGBoost benutze?
Warum wird die Nutzdatenanalyse nicht ordnungsgemäß angezeigt?
Fehler: Bei der Berechnung der Bedeutung des Merkmals ist ein Fehler aufgetreten
Warum fehlen einige meiner Datensätze für die aktive Verzerrungsbereinigung?
Eine Überwachungsausführung schlägt mit einer
OutOfResources exception-Fehlernachricht fehlAuswertung vonWatson OpenScale kann aufgrund einer großen Anzahl von Subskriptionen fehlschlagen
DieWatson OpenScale -Konfiguration schlägt möglicherweise mit der Db2 -Standarddatenbank fehl
Meine Modellauswertungen schlagen fehl
Wenn Sie die Mindestanzahl von Nutzdatendatensätzen für Modellauswertungen angeben, werden die Auswertungen nicht erfolgreich ausgeführt und können die erwarteten Metriken nicht erstellen. Das Fenster Auswertung in Ihrem Dashboard zeigt entweder Metriken aus der letzten erfolgreichen Auswertung oder eine Fehlernachricht an.
Die Leistung der Auswertungen kann durch die Latenz beeinflusst werden, die während der Verarbeitung der Nutzdatenprotokolldaten auftritt.
Um dieses Problem zu beheben, können Sie die Rate der Scoring-Anforderungen verlangsamen, indem Sie einen der folgenden Schritte ausführen, um Massenscoring-Anforderungen zu senden:
Wenn Sie das IBM Watson Machine Learning Python SDKverwenden, können Sie mehrere Anforderungswerte an das Array values anhängen, wie im folgenden Beispiel gezeigt:
scoring_payload = {wml_client.deployments.ScoringMetaNames.INPUT_DATA:
[{'fields':
['GENDER','AGE','MARITAL_STATUS','PROFESSION'],
'values': [
['M',24,'Single','Student'],
['F',21,'Single','Retail'],
...
['M',40,'Married','Retail']
]
}
]}
predictions = client.deployments.score(deployment_id, scoring_payload)
Wenn Sie das Watson OpenScale Python SDKverwenden, können Sie mehrere Anforderungswerte an das Array values im Argument request anhängen. Hängen Sie anschließend die entsprechenden Mehrfachantwortwerte an das Array values im Argument response an, wie im folgenden Beispiel gezeigt:
store_record_info = client.data_sets.store_records(
request_body=[PayloadRecord(
scoring_id='42e62c3ae2244f0d851009dec4754d74',
request={
'fields': ['GENDER','AGE','MARITAL_STATUS','PROFESSION'],
'values': [
['M',24,'Single','Student'],
['F',21,'Single','Retail'],
...
['M',40,'Married','Retail']
]
},
response={
'fields': ['probability', 'prediction'],
'values': [
[[0.9800331274776278, 0.01996687252237212], True],
[[0.7256561304103799, 0.2743438695896201], False],
...
[[0.9998955605441558, 0.00010443945584419821], False]
]
},
response_time=4600
)],
data_set_id='997b1474-00d2-4g05-ac02-287ebfc603b5',
)
Durch das Senden von Scoring-Massenanforderungen können Sie die Scoring-Anforderungen verlangsamen, indem Sie beispielsweise 10 Sekunden Scoring-Anforderungen gleichzeitig senden, anstatt jede Sekunde eine kleine Anforderung zu senden.
Ich kann die Überwachungsmetriken nicht sehen, wenn meine Bewertung abgeschlossen ist
Nachdem die Auswertung erfolgreich ausgeführt wurde, werden die Metriken für Fairness, Qualität und Driftüberwachung nicht im Dashboard angezeigt.
Die Metriken werden möglicherweise nicht angezeigt, weil die Ereignisse, die sich auf die Auswertungen beziehen, möglicherweise im internen Warteschlangenservice blockiert sind.
Zur Behebung dieses Problems können Sie die Pods des Datamart-Service erneut starten, indem Sie die folgenden Schritte ausführen:
Überprüfen Sie die Datamart-Service-Pods, indem Sie den folgenden Befehl ausführen:
oc get pod -l release=<your openscale release name>,component=aios-datamartDie Pods werden mit den Bezeichnungen
component=aios-datamartundrelease=<your openscale release name>angegeben. Der Releasename wird normalerweise alsaiopenscaleoderwos-crangegeben, wenn Sie während der Installation keinen angepassten Releasenamen angeben.Starten Sie die Pods erneut, indem Sie den folgenden Befehl ausführen:
oc delete pod -l release=<your openscale release name>,component=aios-datamartZeigen Sie den aktuellen Status der Pods an, indem Sie den Befehl
oc get pod -l release=,component=aios-datamartwie im folgenden Beispiel gezeigt ausführen:NAME READY STATUS RESTARTS AGE aiopenscale-ibm-aios-datamart-858c4ccd-4dcvb 1/1 Running 0 14h
Warum schlägt mein Spark-Job fehl?
Sie führen eine Modellevaluierung aus und ein Spark-Job schlägt fehl.
Ein Spark-Job kann fehlschlagen, weil die Ressourcenquote für die Spark-Instanz nicht ausreicht, um den Spark-Job auszuführen.
Wenn dieses Problem auftritt, können Sie das Ressourcenkontingent für die Spark-Instanz erhöhen. Führen Sie die folgenden Schritte aus, um das Ressourcenkontingent zu erhöhen:
Rufen Sie zuerst die URL der Spark-Instanz ab, indem Sie zur Detailseite der Spark-Instanz im Cluster Cloud Pak for Data wechseln.
- Wenn Sie eine Spark 4.0 -Instanz verwenden, ist
https://<CLUSTER_HOST>/v2/spark/v3/instances/<INSTANCE_ID>die Spark-Instanz-URL, dieCLUSTER_HOSTundINSTANCE_IDfür Ihren Cluster und Ihre Instanz ersetzt. - Wenn Sie keine Spark 4.0 -Instanz verwenden, ist
https://<CLUSTER_HOST>/ae/spark/v2/<INSTANCE_ID>die Spark-Instanz-URL, die Ihren Cluster und Ihre Instanz inCLUSTER_HOSTundINSTANCE_IDersetzt.
- Wenn Sie eine Spark 4.0 -Instanz verwenden, ist
API-Schlüssel für die Authentifizierung bei Cloud Pak for Data -APIs generieren. Weitere Informationen finden Sie unter API-Berechtigungstoken generieren.
Führen Sie den folgenden Befehl aus, um das vorhandene Ressourcenkontingent abzurufen:
curl -iX GET -ivk -H "Content-Type: application/json" -H "Authorization: Bearer ${TOKEN}" <INSTANCE_URL>Aktualisieren Sie das Ressourcenkontingent.
Wenn Sie eine Spark 4.0 -Instanz verwenden, aktualisieren Sie das Ressourcenkontingent mit dem folgenden Befehl:
curl -i -X PUT \
-H "Accept:application/json" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type:application/json" \
-d \
'{
"max_cores": 40,
"max_memory": 80
} \
<INSTANCE_URL>/resource_consumption_limits
Wenn Sie keine Spark 4.0 -Instanz verwenden, aktualisieren Sie das Ressourcenkontingent, indem Sie den folgenden Befehl ausführen:
curl -i -X PUT \
-H "Accept:application/json" \
-H "Authorization: ZenApiKey ${TOKEN}" \
-H "Content-Type:application/json" \
-d \
'{
"cpu_quota": 40,
"memory_quota": "80g"
} \
<INSTANCE_URL>/resource_quota
Ich kann ein Db2 -Notebook für die allgemeine Konfiguration nicht ausführen
Wenn Sie das Db2 -Konfigurationsnotizbuch ausführen, schlägt mindestens eine Zelle mit dem folgenden Ausnahmebedingungsfehler fehl:
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS11 is not accepted by client preferences [TLS12]
Dieser Fehler tritt auf, weil der Client (der Spark-Job) versucht, mit dem Server Db2über ein TLS-Protokoll (Transport Layer Security) zu kommunizieren, das vom Server nicht unterstützt wird.
Um dieses Problem zu beheben, aktualisieren Sie die Einstellung SSL_VERSIONS in Ihrer Datenbank. Wenn dieser Fehler auftritt, verwendet der Client normalerweise TLS Version 1.2 und der Server unterstützt nur TLS Version 1.1. In diesem Fall können Sie Ihre Db2 Konfiguration mit dem folgenden Befehl aktualisieren. In diesem Beispiel referenziert TLSV12 TLS Version 1.2:
db2 update dbm cfg using SSL_VERSIONS TLSV12
Der Benutzer, der diesen Befehl ausführt, muss Administratorzugriff haben. Dies ist häufig db2inst1. Führen Sie den Befehl aus, nachdem alle Anwendungen, die den Db2 -Server verwenden, gestoppt wurden. Zur Behebung dieses Problems können Sie die folgenden Befehle in der angegebenen Reihenfolge aufrufen:
db2stop forcedb2 update dbm cfg using SSL_VERSIONS TLSV12db2start
Warum bekomme ich bei Verwendung von AutoAI einen Fehler wegen nicht übereinstimmender Daten?
Bei der Verwendung von AutoAI für eine binäre Klassifizierung erhalten Sie eine Fehlernachricht zu nicht übereinstimmenden Daten. Beachten Sie, dass AutoAI nur in IBM Watson OpenScale for IBM Cloud Pak for Data unterstützt wird.
Beim binären Klassifizierungstyp legt AutoAI automatisch den booleschen Datentyp als Datentyp der Vorhersagespalte fest.
Beheben Sie dieses Problem, indem Sie eine der folgenden Lösungen anwenden:
- Ändern Sie die Werte der Kennzeichnungsspalte in den Trainingsdaten je nach Ergebnis in ganzzahlige Werte, z. B.
0oder1. - Ändern Sie die Werte der Kennzeichnungsspalte in den Trainingsdaten in Zeichenfolgewerte, z. B.
AundB.
Warum treten bei der Modellkonfiguration Fehler auf?
Die folgenden Fehlermeldungen erscheinen, wenn Sie Modelldetails konfigurieren: Feld ' feature_fields verweist auf Spalte ' <name>, die in ' input_schema des Modells fehlt. Merkmal wurde im Eingabeschema nicht gefunden.
Die vorangehenden Meldungen beim Ausfüllen des Abschnitts Modelldetails während der Konfiguration deuten auf eine Nichtübereinstimmung zwischen dem Modelleingabeschema und dem Schema der Modelltrainingsdaten hin:
Um das Problem zu beheben, müssen Sie feststellen, welche der folgenden Bedingungen den Fehler verursacht, und Korrekturmaßnahmen ergreifen: Wenn Sie IBM Watson Machine Learning als Anbieter für maschinelles Lernen verwenden und der Modelltyp XGBoost/scikit-learn ist, finden Sie in der Machine Learning Python SDK-Dokumentation wichtige Informationen zum Speichern des Modells. Zum Generieren des Drifterkennungsmodells müssen Sie scikit-learn Version 0.20.2 in Notebooks verwenden. In allen anderen Fällen müssen Sie sicherstellen, dass die Spaltennamen in den Trainingsdaten den Spaltennamen des Eingabeschemas entsprechen.
Warum fehlen meine Klassenkennzeichnungen, wenn ich XGBoost benutze?
Bei der nativen XGBoost-Klassifizierung mit mehreren Klassen werden keine Klassenbezeichnungen zurückgegeben.
Bei binären Modellen und Modellen mit mehreren Klassen gibt das XGBoost-Framework standardmäßig keine Klassenbezeichnungen zurück.
Bei binären XGBoost-Modellen und XGBoost-Modellen mit mehreren Klassen müssen Sie das Modell so aktualisieren, dass Klassenbezeichnungen zurückgegeben werden.
Warum wird die Nutzdatenanalyse nicht ordnungsgemäß angezeigt?
Die Nutzdatenanalyse wird nicht korrekt angezeigt und die folgende Fehlernachricht wird angezeigt: AIQDT0044E Unzulässiges Zeichen " im Spaltennamen <column name>
Um eine ordnungsgemäße Verarbeitung von Payload-Analysen zu gewährleisten, unterstützt Watson OpenScale keine Spaltennamen mit doppelten Anführungszeichen (") in der Payload. Dies wirkt sich sowohl auf Scoring-Nutzdaten als auch auf Rückmeldedaten in CSV- und in JSON-Format aus.
Entfernen Sie die Anführungszeichen in den Spaltennamen der Datei mit den Nutzdaten.
Fehler: Bei der Berechnung der Bedeutung des Merkmals ist ein Fehler aufgetreten
Sie erhalten während der Verarbeitung folgende Fehlermeldung: Error: An error occurred while computing feature importance.
Ein Gleichheitszeichen (=) im Spaltennamen eines Datensatzes verursacht ein Problem mit der Erklärbarkeit.
Entfernen Sie das Gleichheitszeichen (=) aus dem Spaltennamen und schicken Sie den Datensatz erneut durch die Verarbeitung.
Warum fehlen einige meiner Datensätze für die aktive Verzerrungsbereinigung?
Datensätze für aktive Verzerrungsbereinigung gelangen nicht in die Tabelle für die Nutzdatenprotokollierung.
Bei Verwendung der API für aktive Verzerrungsbereinigung können maximal 1.000 Datensätze gleichzeitig an die Nutzdatenprotokollierung gesendet werden.
Zur Vermeidung von Datenverlust müssen Sie die API für aktive Verzerrungsbereinigung für das Scoring in Blöcken von maximal 1.000 Datensätzen verwenden.
Watson OpenScale zeigt keine verfügbaren Schemata an
Wenn ein Benutzer versucht, Schemainformationen für Watson OpenScale abzurufen, sind keine verfügbar. Nach einem Versuch direkt in DB2, ohne Bezug auf Watson OpenScale, gibt die Überprüfung, welche Schemata für die Datenbankbenutzernummer verfügbar sind, ebenfalls kein Ergebnis.
Unzureichende Berechtigungen für die Datenbank-Benutzerkennung verursachen Datenbankverbindungsprobleme für Watson OpenScale.
Vergewissern Sie sich, dass der Datenbankbenutzer über die richtigen Berechtigungen für Watson OpenScale verfügt.
Ein Monitorlauf schlägt mit einer ' OutOfResources exception -Fehlermeldung fehl
Sie erhalten eine ' OutOfResources exception -Fehlermeldung.
Die Anzahl der Zeilen in den Tabellen Feedback Payload, Scoring Payload und Business Payload ist jedoch nicht mehr begrenzt. Die 50.000er-Grenze gilt jetzt für die Anzahl der Datensätze, die Sie pro Abrechnungszeitraum durch die Qualitäts- und Bias-Monitore laufen lassen können.
Wenn Sie Ihr Limit erreicht haben, müssen Sie entweder ein Upgrade auf einen Standardtarif vornehmen oder den nächsten Abrechnungszeitraum abwarten.
Fehlende Bereitstellungen
Ein bereitgestelltes Modell wird nicht als Bereitstellung angezeigt, die zum Erstellen eines Abonnements ausgewählt werden kann.
Es gibt verschiedene Gründe dafür, dass ein Einsatz nicht in der Liste der verfügbaren Einsatzmodelle angezeigt wird. Wenn es sich bei dem Modell um einen nicht unterstützten Modelltyp handelt, weil es einen nicht unterstützten Algorithmus oder ein nicht unterstütztes Framework verwendet, wird es nicht angezeigt. Möglicherweise ist Ihr Machine Learning-Provider nicht ordnungsgemäß konfiguriert. Es könnte auch sein, dass es Probleme mit Berechtigungen gibt.
Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:
- Überprüfen Sie, ob das Modell ein unterstützter Typ ist.
- Überprüfen Sie, ob ein Anbieter für maschinelles Lernen in der Watson OpenScale für den spezifischen Bereitstellungsbereich vorhanden ist.
- Prüfen Sie, ob der CP4D "
admindie Berechtigung hat, auf den Bereitstellungsraum zuzugreifen.
Die Auswertung von Watson OpenScale kann aufgrund einer großen Anzahl von Subskriptionen fehlschlagen
Wenn eine Watson OpenScale -Instanz zu viele Abonnements enthält, z. B. 100 Abonnements, können Ihre Qualitätsbewertungen fehlschlagen. Sie können die Details des Fehlers im Protokoll für den Pod des Datamart-Service anzeigen, der die folgende Fehlernachricht anzeigt:
"Failure converting response to expected model EntityStreamSizeException: actual entity size (Some(8644836)) exceeded content length limit (8388608 bytes)! You can configure this by setting akka.http.[server|client].parsing.max-content-length or calling HttpEntity.withSizeLimit before materializing the dataBytes stream".
Sie können den Befehl oc get pod -l component=aios-datamart verwenden, um den Namen des Pods zu suchen. Sie können auch den Befehl oc logs <pod name> für das Protokoll für den Pod verwenden.
Sie können diesen Fehler beheben, indem Sie mit dem folgenden Befehl die maximale Größe des Anforderungshauptteils erhöhen, indem Sie die Umgebungsvariable "ADDITIONAL_JVM_OPTIONS" bearbeiten:
oc patch woservice <release name> -p '{"spec": {"datamart": {"additional_jvm_options":"-Dakka.http.client.parsing.max-content-length=100m"} }}' --type=merge
Der Releasename lautet "aiopenscale" , wenn Sie den Releasenamen nicht anpassen, wenn Sie Watson OpenScaleinstallieren.
Microsoft Azure ML Studio
Von den beiden Arten von Azure Machine Learning Web Services wird nur der Typ "
Newvon Watson OpenScale unterstützt. Der TypClassicwird nicht unterstützt.Standardeingabename muss verwendet werden: Im Web-Service Azure lautet der Standardeingabename
"input1". Derzeit ist dieses Feld für Watson OpenScale obligatorisch, und wenn es fehlt, funktioniert Watson OpenScale nicht.Wenn Ihr Azure -Web-Service nicht den Standardnamen verwendet, ändern Sie den Eingabefeldnamen in
"input1", implementieren Sie Ihren Web-Service erneut und konfigurieren Sie Ihre Einstellungen für den Machine Learning-Provider OpenScale neu.Wenn an Microsoft Azure ML Studio gerichtete Aufrufe zur Auflistung der Machine Learning-Modelle zur Folge haben, dass die Antwort das Zeitlimit überschreitet, wenn zum Beispiel eine große Anzahl von Web-Services vorhanden ist, so müssen Sie einen höheren Wert für das Zeitlimit festlegen. Möglicherweise müssen Sie dieses Problem umgehen, indem Sie die Konfigurationseinstellung
/etc/haproxy/haproxy.cfgändern:Melden Sie sich am Knoten für die Lastausgleichsfunktion an und aktualisieren Sie
/etc/haproxy/haproxy.cfg, um den Zeitlimitwert für Client und Server von1mauf5mhochzusetzen:timeout client 5m timeout server 5mFühren Sie
systemctl restart haproxyaus, um die HAProxy -Lastausgleichsfunktion erneut zu starten.
Wenn Sie eine andere Lastausgleichsfunktion als HAProxy verwenden, müssen Sie die Zeitlimitwerte gegebenenfalls auf ähnliche Weise anpassen.
- Von den beiden Arten von Azure Machine Learning Web Services wird nur der Typ "
Newvon Watson OpenScale unterstützt. Der TypClassicwird nicht unterstützt.
Das Hochladen von Feedback-Daten schlägt nach dem Import von Einstellungen im Produktionsabonnement fehl
Nach dem Importieren der Einstellungen aus dem Vorproduktionsbereich in den Produktionsbereich kann es zu Problemen beim Hochladen von Feedback-Daten kommen. Dies geschieht, wenn die Datentypen nicht genau übereinstimmen. Wenn Sie Einstellungen importieren, referenziert die Rückmeldungstabelle die Nutzdatentabelle für ihre Spaltentypen. Sie können dieses Problem vermeiden, indem Sie zuerst sicherstellen, dass die Nutzdaten den genauesten Werttyp haben. So müssen Sie beispielsweise einem Double-Datentyp Vorrang vor einem Integer-Datentyp geben.
Microsoft Azure Machine Learning-Service
Bei der Durchführung der Modellevaluierung können Probleme auftreten, bei denen Watson OpenScale nicht mit Azure Machine Learning Service kommunizieren kann, wenn es Scoring-Endpunkte für die Bereitstellung aufrufen muss. Sicherheitstools, die die Sicherheitsrichtlinie Ihres Unternehmens umsetzen, wie zum Beispiel Symantec Blue Coat, können einen solchen Zugriff verhindern.
Watson OpenScale kann keine neue Hive -Tabelle für das Abonnement der Batchbereitstellung erstellen
Wenn Sie eine neue Apache Hive -Tabelle mit dem Format Parquet während Ihrer Watson OpenScale -Batchbereitstellungskonfiguration erstellen, tritt möglicherweise der folgende Fehler auf:
Attribute name "table name" contains invalid character(s) among " ,;{}()\\n\\t=". Please use alias to rename it.;
Dieser Fehler tritt auf, wenn Watson OpenScale die SQL-Operation CREATE TABLE aufgrund von Leerzeichen in einem Spaltennamen nicht ausführen kann. Um diesen Fehler zu vermeiden, können Sie Leerzeichen aus Ihren Spaltennamen entfernen oder das Format von Apache Hive in csvändern.
Watson OpenScale -Konfiguration schlägt möglicherweise mit der Db2 -Standarddatenbank fehl
Wenn Sie Watson OpenScale einrichten und die Db2 -Standarddatenbank angeben, schlägt die Konfiguration möglicherweise fehl.
Zur Behebung dieses Problems müssen Sie den folgenden Befehl in Cloud Pak for Data ausführen, um Db2:
db2 update db cfg using DFT_EXTENT_SZ 32
Nachdem Sie den Befehl ausgeführt haben, müssen Sie eine neue Db2 -Datenbank erstellen, um Watson OpenScaleeinzurichten.