1.5. AI モデルを OCI イメージにパッケージ化する


モデルを OCI イメージにパッケージ化し、ModelCar アプローチを使用して、オフライン環境をセットアップすることができます。ModelCar アプローチを使用すると、モデルを他のコンテナーイメージと同じように埋め込むことができます。

注記

S3 互換のオブジェクトストレージまたは設定済みの永続ボリューム要求がすでにある場合は、AI モデルをそれらのリソースにアップロードできますが、ModelCar アプローチのみがテストおよびサポートされます。

前提条件

  • マシンへの root ユーザーアクセス権がある。
  • OpenShift CLI (oc) がインストールされている。
  • Podman がインストールされている。
  • モデルをいつでも使用できる。
  • vLLM モデルサーバーに適した OCI イメージの構築に関する記事 Build and deploy a ModelCar container in OpenShift AI の "How to build a ModelCar container" セクションの概念を理解している。

    注記

    正確なディレクトリー構造はモデルサーバーによって異なります。次の例では、OpenVINO Model Server OVMS と互換性のある ResNet-50 モデルを含む Containerfile を使用します。OVMS では通常、追加のハードウェアアクセラレーターは必要ありません。

手順

  1. 互換性のあるモデルとモデルサーバーを備えた Containerfile を準備します。

    OVMS で使用される ResNet-50 モデルを含む Containerfile の例

    FROM registry.access.redhat.com/ubi9/ubi-minimal:latest
    RUN microdnf install -y wget && microdnf clean all
    RUN mkdir -p /models/1 && chmod -R 755 /models/1
    RUN wget -q -P /models/1 \
      https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/resnet50-binary-0001/FP32-INT1/resnet50-binary-0001.bin \
      https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/resnet50-binary-0001/FP32-INT1/resnet50-binary-0001.xml
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、IMAGE_REF 環境変数を設定し、プロセスを簡素化します。

    $ IMAGE_REF=<ovms-resnet50:test> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <ovms-resnet50:test> は、イメージ参照の名前に置き換えます。この例では、<repo:tag> 形式が使用されています。イメージ参照名はユースケースに固有です。
  3. 次のコマンドを実行して Containerfile をビルドします。

    $ sudo podman build -t $IMAGE_REF 
    1
    Copy to Clipboard Toggle word wrap
    1
    CRI-O と Podman はストレージを共有するため、イメージをルートのコンテナーストレージの一部にして MicroShift で使用できるようにするには、sudo を使用する必要があります。

    出力例

    STEP 1/4: FROM registry.access.redhat.com/ubi9/ubi-minimal:latest
    Trying to pull registry.access.redhat.com/ubi9/ubi-minimal:latest...
    Getting image source signatures
    Checking if image destination supports signatures
    Copying blob 533b69cfd644 done   |
    Copying blob 863e9a7e2102 done   |
    Copying config 098048e6f9 done   |
    Writing manifest to image destination
    Storing signatures
    STEP 2/4: RUN microdnf install -y wget && microdnf clean all
    << SNIP >>
    --> 4c74352ad42e
    STEP 3/4: RUN mkdir -p /models/1 && chmod -R 755 /models/1
    --> bfd31acb1e81
    STEP 4/4: RUN wget -q -P /models/1   https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/resnet50-binary-0001/FP32-INT1/resnet50-binary-0001.bin   https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/resnet50-binary-0001/FP32-INT1/resnet50-binary-0001.xml
    COMMIT ovms-resnet50:test
    --> 375b265c1c4b
    Successfully tagged localhost/ovms-resnet50:test
    375b265c1c4bc6f0a059c8739fb2b3a46e1b563728f6d9c51f26f29bb2c87
    Copy to Clipboard Toggle word wrap

  4. オプション: 次のコマンドを実行して、Containerfile をレジストリーにプッシュします。

    $ sudo podman push $IMAGE_REF
    Copy to Clipboard Toggle word wrap
    重要

    オフラインで使用する場合は、latest 以外のタグを含めます。latest タグが使用されている場合、モデルを取得してセットアップするコンテナーは、imagePullPolicy: パラメーターが Always に設定されて構成されており、ローカルのイメージは無視されます。latest 以外のタグを使用する場合、imagePullPolicy: パラメーターは IfNotPresent に設定されます。

検証

  • 次のコマンドを実行して、イメージが存在することを確認します。

    $ sudo podman images ovms-resnet50
    Copy to Clipboard Toggle word wrap

    出力例

    REPOSITORY                TAG   IMAGE ID        CREATED         SIZE
    localhost/ovms-resnet50   test  375b265c1c4b    3 minutes ago   136 MB
    Copy to Clipboard Toggle word wrap

次のステップ

  • モデルサービングランタイムを設定します。
  • AI モデルが推論の準備ができていることを確認します。
  • モデルサーバーに対してリクエストを実行します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat