Watson Machine Learning のトラブルシューティング
Watson Machine Learning で作業する際に発生する可能性がある一般的な問題を解決するには、以下のヒントに従ってください。
トラブルシューティング AutoAI
- AutoAI RAG エクスペリメントの推論ノートブックがモデル制限を超えています
- サービス ID 資格情報を使用した AutoAI エクスペリメントのトレーニングが失敗する
- AutoAI 時系列モデルの予測要求は、新しい観測値が多すぎるとタイムアウトになる可能性があります
- AutoAI エクスペリメントのトレーニング・データに十分なクラス・メンバーがありません
- watsonx.ai を必要とする Cloud Pak for Data から 資産 を開くことができません
デプロイメント のトラブルシューティング
トラブルシューティング AutoAI
AutoAI で作業する際に発生する可能性がある一般的な問題を解決するには、以下のヒントに従ってください。
異常予測を使用した AutoAI 時系列実験の実行が失敗する
時系列実験の結果における異常を予測する機能はサポートされなくなりました。 既存のエクスペリメントを実行しようとすると、ランタイム・ライブラリーが欠落していることを示すエラーが発生します。 例えば、次のエラーが表示される場合があります。
The selected environment seems to be invalid: Could not retrieve environment. CAMS error: Missing or invalid asset id
異常予測のランタイムはサポートされていないため、この動作は予期されるものです。 この問題の回避策はありません。
AutoAI RAG エクスペリメントの推論ノートブックがモデル制限を超えています
AutoAI RAG エクスペリメント用に生成された推論ノートブックを実行すると、以下のエラーが発生することがあります。
MissingValue: No "model_limits" provided. Reason: Model <model-nam> limits cannot be found in the model details.
このエラーは、エクスペリメントに使用される 基盤モデル の推論のためのトークン制限が欠落していることを示しています。 この問題を解決するには、関数 default_inference_function を見つけて、 get_max_input_tokens をモデルの最大トークン数に置き換えます。 例:
model = ModelInference(api_client=client, **params['model"])
# model_max_input_tokens = get+max_input_tokens(model=model, params=params)
model_max_input_tokens = 4096
watsonx.ai で使用可能な 基盤モデル の表で、モデルの最大トークン値を見つけることができます。
サービス ID 資格情報を使用した AutoAI エクスペリメントのトレーニングが失敗する
serviceID, のトレーニングに API キーを使用して AutoAI エクスペリメントをトレーニングしている場合、次のエラーでトレーニングが失敗する可能性があります。
User specified in query parameters does not match user from token.
この問題を解決する 1 つの方法は、ユーザー資格情報を使用してエクスペリメントを実行することです。 サービスの資格情報を使用してエクスペリメントを実行する場合は、以下のステップに従ってサービス ID の役割とポリシーを更新します。
- serviceID on IBM Cloud を開きます。

- 以下のアクセス・ポリシーを使用して、新規 serviceID を作成するか、既存の ID を更新します。
- 役割 API キー・レビューアー、ユーザー API キー作成者、ビューアー、オペレーター、およびエディターを持つすべての IAM アカウント管理サービス。 ServiceId には新しい API キーを作成することが最適です。

- 役割 API キー・レビューアー、ユーザー API キー作成者、ビューアー、オペレーター、およびエディターを持つすべての IAM アカウント管理サービス。 ServiceId には新しい API キーを作成することが最適です。
- 更新されたポリシーは、以下のようになります。

- 更新された serviceID の資格情報を使用して、トレーニングを再度実行します。
AutoAI 時系列モデルの予測要求は、新しい観測値が多すぎるとタイムアウトになる可能性がある
渡された新しい観測値が多すぎる場合、デプロイ済みの時系列モデルに対する予測要求はタイムアウトになることがあります。 AutoAI この問題を解決するには、次のいずれかを実行します。
- 新しい観測の数を減らしてください。
- 新しい観測値を追加して、エクスペリメントに使用するトレーニング・データを拡張します。 次に、更新されたトレーニング・データを使用して、時系列実験を再実行します。 AutoAI
AutoAI エクスペリメントのトレーニング・データに十分なクラス・メンバーがありません
AutoAI エクスペリメントのトレーニング・データには、クラスごとに少なくとも 4 つのメンバーが必要です。 トレーニング・データにクラス内のメンバー数が不十分な場合、次のエラーが発生します。
ERROR: ingesting data Message id: AC10011E. Message: Each class must have at least 4 members. The following classes have too few members: ['T'].
この問題を解決するには、トレーニング・データを更新してクラスを削除するか、メンバーを追加します。
watsonx.ai を必要とする Cloud Pak for Data から 資産 を開くことができません
Cloud Pak for Data コンテキストで作業している場合、 watsonx.ai などの異なる製品コンテキストを必要とする 資産 を開くことはできません。 例えば、 watsonx.ai を使用して RAG パターンの AutoAI エクスペリメントを作成した場合、 Cloud Pak for Data コンテキストでその 資産 を開くことはできません。 AutoAI 実験の場合、 資産 リストからトレーニング・タイプを表示できます。 タイプ 機械学習 のエクスペリメントは開くことができますが、タイプ 検索拡張生成 のエクスペリメントは開くことができません。
デプロイメント のトラブルシューティング
Watson Machine Learning デプロイメント で作業する際に発生する可能性がある一般的な問題を解決するには、以下のヒントに従ってください。
大量のデータ・ボリュームを入力として使用するバッチ・ デプロイメント が失敗する可能性がある
大量のデータを入力ソースとして使用するバッチ・ ジョブ をスコアリングする場合、内部タイムアウト設定が原因で ジョブ が失敗する可能性があります。 この問題の症状として、以下の例のようなエラー・メッセージが表示されることがあります。
Incorrect input data: Flight returned internal error, with message: CDICO9999E: Internal error occurred: Snowflake sQL logged error: JDBC driver internal error: Timeout waiting for the download of #chunk49(Total chunks: 186) retry=0.
バッチ・ デプロイメント のスコアリング時にタイムアウトが発生した場合は、長時間実行ジョブを処理するためにデータ・ソース・ クエリー ・レベルのタイムアウト制限を構成する必要があります。
クエリー
| データ・ソース | クエリー | デフォルトの時間制限 | デフォルトの時間制限の変更 |
|---|---|---|---|
| Apache Cassandra | はい | 10 秒間 | Apache Cassandra 構成ファイルまたは Apache Cassandra 接続 URL で read_timeout_in_ms パラメーターと write_timeout_in_ms パラメーターを設定して、デフォルトの時間制限を変更します。 |
| Cloud Object Storage | いいえ | 該当なし | 該当なし |
| Db2 | はい | 該当なし | クライアントが クエリー 実行の取り消しを試行してアプリケーションに制御を戻すまでに待機する時間 (秒) を指定するには、 QueryTimeout パラメーターを設定します。 |
| Hive via Execution Engine for Hadoop | はい | 60 分 (3600 秒) | 接続 URL の hive.session.query.timeout プロパティーを設定して、デフォルトの時間制限を変更します。 |
| Microsoft SQL Server | はい | 30 秒間 | QUERY_TIMEOUT サーバー構成オプションを設定して、デフォルトの制限時間を変更します。 |
| MongoDB | はい | 30 秒間 | クエリー オプションの maxTimeMS パラメーターを設定して、デフォルトの時間制限を変更します。 |
| MySQL | はい | 0 秒 (デフォルトの時間制限なし) | 接続 URL または JDBC ドライバー・プロパティーに timeout プロパティーを設定して、 クエリー の時間制限を指定します。 |
| Oracle | はい | 30 秒間 | Oracle JDBC ドライバーの QUERY_TIMEOUT パラメーターを設定して、 クエリー が自動的に取り消されるまでに実行できる最大時間を指定します。 |
| PostgreSQL | いいえ | 該当なし | queryTimeout プロパティーを設定して、 クエリー が実行できる最大時間を指定します。 queryTimeout プロパティーのデフォルト値は 0 です。 |
| Snowflake | はい | 6 時間 | queryTimeout パラメーターを設定して、デフォルトの制限時間を変更します。 |
バッチ・ デプロイメント が失敗しないようにするには、データ・セットをパーティション化するか、そのサイズを小さくします。
ファイル・アップロードのセキュリティー
Watson Studio または Watson Machine Learning UI を使用してアップロードしたファイルは、悪意のある可能性があるコンテンツの検証やスキャンは行われません。 コンテンツのセキュリティーを確保するために、アンチウィルス・アプリケーションなどのセキュリティー・ソフトウェアをすべてのファイルに対して実行してからアップロードすることをお勧めします。
デプロイメント
IBM Cloud Pak for Data のより新しいバージョンにアップグレードし、 FIPS モードで制約されたソフトウェア仕様を使用して作成された R Shiny アプリケーション・ 資産 をデプロイすると、 デプロイメント が失敗します。
例えば、 shiny-r3.6 および shiny-r4.2 ソフトウェア仕様を使用する デプロイメント は、 IBM Cloud Pak for Data バージョン 4.7.0 から 4.8.4 以降にアップグレードした後に失敗します。 エラー・メッセージ Error 502 - Bad Gateway が表示される場合があります。
デプロイメント が失敗しないようにするには、デプロイ済みの 資産 の制約された仕様を更新して、最新のソフトウェア仕様を使用します。 詳しくは、古いソフトウェア仕様またはフレームワークの管理を参照してください。 アプリケーションが不要になった場合は、その デプロイメント を削除することもできます。
デプロイメント・スペース 内の SPSS Modeler ・フローの ジョブ の作成が失敗する
デプロイメント・スペース 内の SPSS Modeler ・フロー用のバッチ・ ジョブ の構成プロセス中に、 データ資産 とそれぞれの接続の自動マッピングが失敗する可能性があります。

ジョブ が デプロイメント・スペース 内で同じ名前の データ資産 または接続を見つけられないため、失敗します。 自動マッピングでのエラーを修正するには、以下のステップを実行します。
デプロイメント・ジョブ の詳細を確認して、 データ資産 または接続が欠落していないか、またはフローが正しい データ資産 を参照していないかを判別します。
作成(C) をクリックして、進行状況を保存し、 新規 ジョブ 構成ダイアログ・ボックスを終了します。
データ資産 または接続が デプロイメント・スペース にない場合は、プロジェクトで見つけて デプロイメント・スペース にプロモートします。
SPSS Modeler フローが正しい データ資産 または接続を参照していない場合は、プロジェクト・スペース内の SPSS Modeler ・フローを更新し、それを デプロイメント・スペース に再度プロモートします。
デプロイメント・スペース で、 ジョブ タブをクリックし、 SPSS Modeler ・フロー・ ジョブ を 対象として選択します。
ジョブ の詳細ページで、 編集 アイコン
をクリックして、 データ資産 と接続のマッピングを確認します。エラーが訂正されたら、「 新規 ジョブ 」ダイアログ・ボックスで ジョブ の設定を構成するプロセスを再開できます。 詳しくは、 SPSS Modeler ・フローの デプロイメント・ジョブ の作成 を参照してください。

Watson OpenScale での デプロイメント の評価が失敗する
デプロイメント・スペース 内の デプロイメント を評価するように Watson OpenScale を構成すると、予測要求が失敗したために構成設定が失敗する可能性があります。 次のエラー・メッセージとともにエラー・コード 504 を受け取る場合があります。
既存のダッシュボードの OpenScale モニターの構成中にエラーが発生しました
回避策として、 suspend エンドポイントを使用して デプロイメント を中断し、予測を再試行してください。 以下のコード・サンプルを使用して、予測を中断し、 デプロイメント をリカバリーします。
curl -k -X POST '/ml/v4/deployments/deployment-id/suspend?space_id=&version=2020-09-01' -H 'content-type: application/json' -H 'Authorization: Bearer $token'
Pytorch から ONNX に変換されたディープ・ラーニング・モデルのデプロイが失敗する
PyTorch で作成され、 ONNX 形式に変換されたディープ・ラーニング・モデルのオンライン・ デプロイメント を作成すると、 デプロイメント が失敗します。 これは、モデルのバージョンと ONNX オペレーターの間の不一致が原因である可能性があります。
次のエラー・メッセージが返される場合があります。
UserWarning: このバージョンの onnx-caffe2 は ONNX オペレーター・セット・バージョン 9 をターゲットとしていますが、インポートしようとしているモデルはバージョン 17 を使用しています。 それでもインポートを試行しますが、その間にバージョンが変更されたために BC 破壊的な変更が行われたオペレーターがモデルで使用されている場合は、インポートは失敗します。
この問題を解決するには、モデルのエクスポート時に正しいオペレーター・バージョンを設定します。
以下のコード・サンプルは、正しいオペレーター・バージョンを設定する方法を示しています。
- torch.onnx.export(model, dummy_input, output_model_onnx, export_params=True)
+ torch.onnx.export(model, dummy_input, output_model_onnx, export_params=True, keep_initializers_as_inputs=True, opset_version=9)