1.13. データサイエンスパイプラインのキャッシングの概要


データサイエンスパイプライン内でキャッシングを使用すると、実行時間を最適化し、リソース効率を向上させることができます。キャッシングは、同一の入力による以前の実行の結果を再利用することで、冗長なタスク実行を削減します。

キャッシングは、中間ステップを繰り返す必要がない反復タスクに特に役立ちます。キャッシングを理解することで、より効率的なパイプラインを設計し、モデル開発の時間を短縮できます。

キャッシングは、正常に完了したタスクの出力を保存し、新規タスクの入力を以前にキャッシュされた入力と比較することで実行されます。一致が見つかった場合、OpenShift AI はタスクを再実行する代わりにキャッシュされた結果を再利用し、計算時間とリソース使用量を削減します。

1.13.1. キャッシング基準

キャッシングを有効に活用するには、あるタスクが以前にキャッシュされた結果を再利用できるかどうかを、次の基準に基づいて判断します。

  • 入力データとパラメーター: タスクの入力データとパラメーターが前回の実行から変更されていない場合、キャッシュされた結果は再利用できます。
  • タスクコードと設定: タスクコードまたは設定を変更すると、キャッシュが向こうになり、変更が常に反映されるようになります。
  • パイプライン環境: 依存関係のバージョンなどのパイプライン環境の変更も、キャッシングが一貫性維持に有効かどうかに影響します。

1.13.2. OpenShift AI ユーザーインターフェイスでキャッシュされたステップを表示する

パイプライン内のキャッシュされたステップは、ユーザーインターフェイス (UI) に視覚的に示されます。

  • キャッシュされた結果を使用するタスクには緑色のアイコンが表示されるため、キャッシュされたステップをすぐに識別できます。キャッシュされたタスクは、サイドパネルの Status フィールドに Cached が表示されます。
  • UI にはタスクが以前に実行された日時の情報も含まれており、キャッシュの使用状況を簡単に確認できます。

特定のタスクのキャッシングステータスを確認するには、UI のパイプライン詳細ビューに移動します。キャッシュされたタスクとキャッシュされていないタスクが明確に示されます。キャッシュされたタスクは、以前に生成された出力を再利用し、再実行されないため、実行ログを表示しません。

1.13.3. データサイエンスパイプラインにおけるキャッシングの制御

OpenShift AI では、パフォーマンスを向上させるためにキャッシングがデフォルトで有効になっています。しかし、場合によっては、特定のタスク、パイプライン全体、またはパイプライン全体に対してキャッシングを無効にする必要があります。たとえば、頻繁に更新されるデータを利用するタスクや、特殊な計算要件を持つタスクでは、キャッシングが有益でない場合があります。その他にも、デバッグ時、開発時や、確定的な再実行が必要なときなどに、すべてのパイプラインのキャッシングを無効する場合があります。

Important

パイプラインまたはパイプラインサーバーレベルでキャッシングを無効にすると、すべてのタスクが再実行され、計算時間とリソース使用量が増加する可能性があります。

データサイエンスパイプラインのキャッシングは、次の方法で制御できます。

  • 個々のタスク: データサイエンティストは、パイプラインの特定ステップのキャッシングを無効にできます。
  • パイプライン (送信時): データサイエンティストは、パイプライン実行の送信時のキャッシングを無効にできます。
  • パイプライン (コンパイル時): データサイエンティストは、パイプラインのコンパイル時のキャッシングを無効にできます。
  • すべてのパイプライン (パイプラインサーバー): パイプラインサーバー内の全パイプラインのキャッシングを無効にできます。これにより、すべてのパイプラインおよびタスクレベルのキャッシング設定がオーバーライドされます。

1.13.3.1. 個々のタスクのキャッシングを無効にする

特定タスクのキャッシングを無効にするには、パイプラインコード内のタスクに set_caching_options メソッドを直接適用します。

task_name.set_caching_options(False)
Copy to Clipboard Toggle word wrap

この設定を適用すると、OpenShift AI はキャッシュされた結果を無視して、それ以降のパイプライン実行でタスクを実行します。

set_caching_options パラメーターを True に設定するか、set_caching_options を省略することで、個々のタスクのキャッシングを再度有効にできます。

パイプラインサーバーでキャッシングが無効な場合、この設定は無視されます。

1.13.3.2. 送信時のパイプラインのキャッシングを無効にする

パイプライン送信時のパイプライン全体のキャッシングを無効にするには、パイプラインコードで enable_caching パラメーターを False に設定します。この設定により、パイプライン実行中にステップはキャッシュされなくなります。enable_caching パラメーターは、kfp.client を使用してパイプラインを送信したりパイプライン実行を開始 (run_pipeline メソッドなど) したりする場合にのみ使用できます。

以下に例を示します。

import kfp
client = kfp.Client()
client.run_pipeline(
    experiment_id=experiment.id,
    pipeline_id=pipeline.id,
    job_name="no-cache-run",
    params={},                # optional
    enable_caching=False,
)
Copy to Clipboard Toggle word wrap

パイプラインのコンパイル時またはパイプラインサーバーでキャッシングが無効な場合、この設定は無視されます。

1.13.3.3. コンパイル時のパイプラインのキャッシングを無効にする

コンパイル時のパイプライン全体のキャッシングを無効にするには、ローカル環境またはワークベンチで次のいずれかのオプションを設定します。

  • 環境変数:

    export KFP_DISABLE_EXECUTION_CACHING_BY_DEFAULT=true
    Copy to Clipboard Toggle word wrap
  • CLI のフラグ (kfp dsl compile を使用する場合):

    kfp dsl compile --disable-execution-caching-by-default
    Copy to Clipboard Toggle word wrap

パイプラインサーバーでキャッシングが無効な場合、これらの設定は無視されます。

1.13.3.4. すべてのパイプラインのキャッシングを無効にする (パイプラインサーバー)

パイプラインサーバー内のすべてのパイプラインのキャッシュを無効にして、すべてのパイプラインおよびタスクレベルのキャッシュ設定をオーバーライドするには、次のいずれかの方法を使用します。

パイプラインサーバーの設定
  1. OpenShift AI ダッシュボードから、Data science pipelines Pipelines をクリックします。
  2. Pipelines ページの Project ドロップダウンリストから、設定するパイプラインサーバーを含むプロジェクトを選択します。
  3. Pipeline server actions リストから、Manage pipeline server configuration を選択します。
  4. Pipeline caching セクションで、Allow caching to be configured per pipeline and task チェックボックスをオフにします。
  5. Save をクリックします。
データサイエンスパイプラインアプリケーション (クラスター管理者)

OpenShift コンソールまたは CLI で、プロジェクトの DataSciencePipelinesApplication (DSPA) カスタムリソースの cacheEnabled フィールドを false に設定します。

以下に例を示します。

apiVersion: datasciencepipelinesapplications.opendatahub.io/v1
kind: DataSciencePipelinesApplication
metadata:
  name: my-dspa
  namespace: my-namespace
spec:
  apiServer:
    cacheEnabled: false
Copy to Clipboard Toggle word wrap

パイプラインおよびタスクレベルでキャッシングを設定することを許可するには、DSPA カスタムリソースで cacheEnabled フィールドを true に設定します。

この設定を適用すると、すべてのパイプラインおよびタスクレベルのキャッシング設定が無視されます。

注記

この設定を変更すると、パイプラインサーバーのデプロイメント内の CACHEENABLED 環境変数が更新されます。

検証

キャッシング設定を設定した後、次のいずれかの方法を使用してその動作を確認できます。

  • UI を確認する: タスクリスト内の緑色のアイコンを探して、キャッシュされたステップを特定します。
  • タスクの再実行をテストする: 特定のタスクまたはパイプラインのキャッシングを無効にして、ステップが期待どおりに再実行されることを確認します。
  • 入力を検証する: キャッシングが適用されたときに、タスクの入力、パラメーター、およびランタイム設定が変更されていないことを確認します。
注記

Elyra を使用して、JupyterLab で単一のノードまたはパイプライン全体のキャッシュを無効にすることもできます。詳細は、Elyra でのノードキャッシュの無効化 を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る