2.3. カスタムトレーニングイメージの管理


分散トレーニングジョブを実行するには、OpenShift AI に付属するベーストレーニングイメージのいずれかを使用するか、独自のカスタムトレーニングイメージを作成できます。オプションで、カスタムトレーニングイメージを統合された OpenShift イメージレジストリーにプッシュすることで、他のユーザーによるイメージの利用を可能にすることもできます。

2.3.1. ベーストレーニングイメージについて

分散ワークロードのベーストレーニングイメージは、分散トレーニングジョブの実行に必要なツールとライブラリーを使用して最適化されています。提供されているベースイメージを使用することも、ニーズに応じたカスタムイメージを作成することもできます。

トレーニングイメージとパッケージに対する Red Hat のサポートに関する詳細は、Red Hat OpenShift AI: サポートされる構成 を参照してください。

次の表は、Red Hat OpenShift AI と併せてデフォルトでインストールされているトレーニングイメージを示しています。これらのイメージは AMD64 イメージであり、他のアーキテクチャーでは動作しない可能性があります。

Expand
表2.1 デフォルトのトレーニングベースイメージ
イメージタイプ説明

Ray CUDA

計算集約型モデルを使用しており、NVIDIA GPU サポートを使用してトレーニングジョブを高速化する場合は、Ray Compute Unified Device Architecture (CUDA) ベースイメージを使用して NVIDIA CUDA Toolkit にアクセスできます。このツールキットを使用すると、NVIDIA GPU 向けに最適化されたライブラリーとツールを使用して作業を高速化できます。

Ray ROCm

計算集約型モデルを使用しており、AMD GPU サポートを使用してトレーニングジョブを高速化する場合は、Ray ROCm ベースイメージを使用して AMD ROCm ソフトウェアスタックにアクセスできます。このソフトウェアスタックを使用すると、AMD GPU 向けに最適化されたライブラリーとツールを使用して作業を高速化できます。

KFTO CUDA

計算集約型モデルを使用しており、NVIDIA GPU サポートを使用してトレーニングジョブを高速化する場合は、Kubeflow Training Operator CUDA ベースイメージを使用して NVIDIA CUDA Toolkit にアクセスできます。このツールキットを使用すると、NVIDIA GPU 向けに最適化されたライブラリーとツールを使用して作業を高速化できます。

KFTO ROCm

計算集約型モデルを使用しており、AMD GPU サポートを使用してトレーニングジョブを高速化する場合は、Kubeflow Training Operator ROCm ベースイメージを使用して AMD ROCm ソフトウェアスタックにアクセスできます。このソフトウェアスタックを使用すると、AMD GPU 向けに最適化されたライブラリーとツールを使用して作業を高速化できます。

これらのイメージで提供されるプリインストールされたパッケージがユースケースに十分でない場合は、次のオプションがあります。

  • デフォルトのイメージを起動した後、追加のライブラリーをインストールします。このオプションは、トレーニングジョブの実行時にアドホックベースでライブラリーを追加する場合に適しています。ただし、インストールされたライブラリーの依存関係の管理は難しい場合があります。
  • 追加のライブラリーまたはパッケージを含むカスタムイメージを作成します。詳細は、カスタムトレーニングイメージの作成 を参照してください。

2.3.2. カスタムトレーニングイメージの作成

ベーストレーニングイメージにパッケージを追加することで、カスタムトレーニングイメージを作成できます。

前提条件

  • カスタムイメージのベースとして使用するトレーニングイメージにアクセスできる。

    イメージタイプ (Ray や Kubeflow Training Operator など)、アクセラレーターフレームワーク (NVIDIA GPU の場合は CUDA、AMD GPU の場合は ROCm など)、および Python バージョン (3.9 または 3.11 など) に基づいてイメージを選択します。

    以下の表は、基本トレーニングイメージの例を示しています。

    Expand
    表2.2 基本トレーニングイメージの例
    イメージタイプアクセラレーターフレームワークPython バージョン基本トレーニングイメージの例インストール済みパッケージ

    Ray

    CUDA

    3.9

    ray:2.35.0-py39-cu121

    ray 2.35.0、Python 3.9、CUDA 12.1

    Ray

    CUDA

    3.11

    ray:2.35.0-py311-cu121

    ray 2.35.0、Python 3.11、CUDA 12.1

    Ray

    ROCm

    3.9

    ray:2.35.0-py39-rocm62

    Ray 2.35.0、Python 3.9、ROCm 6.2

    Ray

    ROCm

    3.11

    ray:2.35.0-py311-rocm62

    ray 2.35.0、Python 3.11、ROCm 6.2

    KFTO

    CUDA

    3.11

    training:py311-cuda121-torch241

    Python 3.11、CUDA 12.1、PyTorch 2.4.1

    KFTO

    ROCm

    3.11

    training:py311-rocm62-torch241

    Python 3.11、ROCm 6.2、PyTorch 2.4.1

    OpenShift AI ベースのトレーニングイメージとそのプリインストールパッケージの完全なリストは、サポートされる構成 を参照してください。

  • ローカル環境に Podman がインストールされており、コンテナーレジストリーにアクセスできる。

    Podman とコンテナーレジストリーの詳細は、コンテナーのビルド、実行、管理 を参照してください。

手順

  1. ターミナルウィンドウで、作業用のディレクトリーを作成し、そのディレクトリーに移動します。
  2. IMG 環境変数をカスタムイメージの名前に設定します。このセクションのコマンド例では、my_training_image がカスタムイメージの名前です。

    export IMG=my_training_image
    Copy to Clipboard Toggle word wrap
  3. 次の内容を含むファイルを、Dockerfile という名前で作成します。

    1. FROM 命令を使用して、適切なベーストレーニングイメージの場所を指定します。

      以下のコマンドで、_<base-training-image>_ を選択した基本トレーニングイメージの名前に置き換えます。

      FROM quay.io/modh/<base-training-image>
      Copy to Clipboard Toggle word wrap

      例:

      FROM quay.io/modh/ray:2.35.0-py311-cu121
      Copy to Clipboard Toggle word wrap
      FROM quay.io/modh/training:py311-rocm62-torch241
      Copy to Clipboard Toggle word wrap
    2. 追加パッケージをインストールするには、RUN 命令を使用します。各コメント行の先頭に番号記号 (#) を付けることで、Dockerfile にコメントを追加することもできます。

      次の例は、Python PyTorch パッケージの特定バージョンをインストールする方法を示しています。

      # Install PyTorch
      RUN python3 -m pip install torch==2.4.0
      Copy to Clipboard Toggle word wrap
  4. イメージファイルをビルドします。イメージの参照と管理を容易にするために、podman build コマンドで -t オプションを使用して、カスタムイメージ名とバージョンを指定するイメージタグを作成します。

    podman build -t <custom-image-name>:_<version>_ -f Dockerfile
    Copy to Clipboard Toggle word wrap

    以下に例を示します。

    podman build -t ${IMG}:0.0.1 -f Dockerfile
    Copy to Clipboard Toggle word wrap

    ビルド出力は、ビルドプロセスが完了したことを示します。

  5. イメージのリストを表示します。

    podman images
    Copy to Clipboard Toggle word wrap

    新しいイメージが正常に作成された場合、そのイメージはイメージのリストに含まれます。

  6. イメージをコンテナーレジストリーにプッシュします。

    podman push ${IMG}:0.0.1
    Copy to Clipboard Toggle word wrap
  7. オプション: 統合 OpenShift イメージレジストリーにイメージをプッシュする の説明に従って、新しいイメージを他のユーザーが利用できるようにします。

2.3.3. 統合された OpenShift イメージレジストリーにイメージをプッシュする

OpenShift クラスター内の他のユーザーがイメージを使用できるようにするには、ビルトインコンテナーイメージレジストリーである 統合 OpenShift イメージレジストリー にイメージをプッシュします。

統合 OpenShift イメージレジストリーの詳細は、統合 OpenShift イメージレジストリー を参照してください。

前提条件

手順

  1. ターミナルウィンドウで、次の例に示すように OpenShift CLI にログインします。

    $ oc login <openshift_cluster_url> -u <admin_username> -p <password>
    Copy to Clipboard Toggle word wrap
  2. IMG 環境変数をイメージの名前に設定します。このセクションのコマンド例では、my_training_image はイメージの名前です。

    export IMG=my_training_image
    Copy to Clipboard Toggle word wrap
  3. 統合イメージレジストリーにログインします。

    podman login -u $(oc whoami) -p $(oc whoami -t) $(oc registry info)
    Copy to Clipboard Toggle word wrap
  4. 統合イメージレジストリーのイメージにタグを付けます。

    podman tag ${IMG} $(oc registry info)/$(oc project -q)/${IMG}
    Copy to Clipboard Toggle word wrap
  5. イメージを統合イメージレジストリーにプッシュします。

    podman push $(oc registry info)/$(oc project -q)/${IMG}
    Copy to Clipboard Toggle word wrap
  6. 必要なタグのイメージリポジトリーの場所を取得します。

    oc get is ${IMG} -o jsonpath='{.status.tags[?(@.tag=="<TAG>")].items[0].dockerImageReference}'
    Copy to Clipboard Toggle word wrap

    ユーザーは、取得したイメージの場所の値を Ray クラスターまたはトレーニングジョブの image パラメーターに指定することでイメージを使用できます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat