OCIでの大規模言語モデルのデプロイについて

大規模言語モデル(LLM)を効率的かつ大規模にデプロイすることは、困難でリソース集約的なタスクです。Oracle Cloud Infrastructure (OCI)は、LLama2 70Bモデルを実行するベア・メタル製品でAMD Instinct™ MI300X GPUを提供します。
vLLMは、LLM推論とサービスのための高速で使いやすいライブラリです。vLLMの中心となるPagedAttentionは、仮想メモリーとして管理することで、アテンション・メカニズムの効率を高めます。GPUメモリー使用率を高め、より長いシーケンスの処理を可能にし、ハードウェア・リソースの制約内での作業をサポートします。また、vLLMを使用すると、連続的なバッチ処理によってスループットが向上し、待機時間が短縮されます。

このソリューション・プレイブックでは、AMD Instinct™ MI300X GPUを使用して、OCIにLLMをデプロイする方法を学習します。

ソリューション・ワークフロー

Hugging Faceは、事前トレーニング済のAIモデル、開発ツール、AIアプリケーションのホスティング・インフラストラクチャを提供する機械学習のためのコラボレーション・プラットフォームおよびハブであり、高度な機械学習を世界中の開発者が利用できるようにします。

次のワークフロー図は、モデル・アーティファクトをHugging Face GitHubオープンソース・ライブラリから取得し、OCIオブジェクト・ストレージに格納する方法を示しています。


モデルから構築されたイメージは、モデル・イメージ管理、バージョン管理およびセキュアなアクセス管理のためにOCIレジストリに格納できます。AMD BM GPUインスタンスを使用したOCIのOracle Cloud Infrastructure Kubernetes Engine拡張クラスタは、CLIまたはコンソールから起動できます。最後に、モデル推論エンドポイントは、ネットワークまたはインターネットを介して保護できます。

次に、サードパーティのコンポーネントを示します。

  • AMD Instinct™GPU

    AMD ROCm™を搭載したAMD Instinct™ MI300X GPUは、BM.GPU.MI300X.8と呼ばれるオープン・ソフトウェア・パワーOCI Compute Superclusterインスタンスを提供します。AMD Instinct MI300X GPUとROCmソフトウェアは、最も重要なOCI AIワークロードを強化します。

    AMD Instinct MI300X GPUの推論機能は、OCIの幅広い高パフォーマンス・ベア・メタル・インスタンスに追加され、AIインフラストラクチャで一般的に使用される仮想化コンピューティングのオーバーヘッドがなくなります。

  • 推論エンドポイント

    Inference Endpointsは、推論エンドポイントによって管理される専用および自動スケーリング・インフラストラクチャ上のハブから任意のTransformers、Sentence-TransformersおよびDiffusersモデルを簡単にデプロイできるセキュアな本番ソリューションを提供します。

次に、OCIコンポーネントを示します。

  • OCIのリージョン

    OCIリージョンとは、可用性ドメインをホストする1つ以上のデータ・センターを含む、ローカライズされた地理的領域のことです。リージョンは他のリージョンから独立しており、長距離の場合は複数の国または大陸にまたがる領域を分離できます。

  • OCI virtual cloudのネットワークおよびサブネット

    仮想クラウド・ネットワーク(VCN)は、ソフトウェアで定義されたカスタマイズ可能なネットワークであり、OCIリージョン内に設定します。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには、VCNの作成後に変更できる重複しない複数のクラスレス・ドメイン間ルーティング(CIDR)ブロックを複数含むことができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • OCI Block Volumes

    Oracle Cloud Infrastructure Block Volumesを使用すると、ストレージ、パフォーマンスおよびアプリケーションの要件を満たすように、ストレージ・ボリュームを作成、アタッチ、接続および移動したり、ボリュームのパフォーマンスを変更できます。ボリュームをインスタンスにアタッチおよび接続した後は、そのボリュームを通常のハード・ドライブのように使用できます。また、データを失わずにボリュームの切断と別のインスタンスにアタッチを行うこともできます。

  • OCI Kubernetes Engine

    Oracle Cloud Infrastructure Kubernetes Engine(OCI Kubernetes EngineまたはOKE)は、コンテナ化されたアプリケーションをクラウドに導入するために使用できるフルマネージドのスケーラブルな高可用性サービスです。アプリケーションに必要なコンピュート・リソースを指定し、OKEによって既存のテナンシのOCIにプロビジョニングされます。OKEは、Kubernetesを使用して、ホスト・クラスタ間のコンテナ化されたアプリケーションのデプロイメント、スケーリングおよび管理を自動化します。

  • OCIオブジェクト・ストレージ

    OCIオブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージおよびビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データの大量へのアクセスを提供します。アプリケーションから直接、またはクラウド・プラットフォーム内から、安全かつ安全にデータを格納できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージを拡張することができます。

    迅速、即時、頻繁にアクセスする必要のあるホット・ストレージに標準ストレージを使用します。長期間保存し、ほとんどまたはめったにアクセスしないコールド・ストレージにアーカイブ・ストレージを使用します。

  • OCIレジストリ

    Oracle Cloud Infrastructure Registryは、開発から本番へのワークフローを簡略化できる、Oracle管理のサービスです。レジストリを使用すると、Dockerイメージなどの開発アーティファクトを簡単に格納、共有および管理できます。

開始する前に

開始する前に、次の設定を確認してください。

必要な製品およびロールについて

このソリューションには、次の製品が必要です。

  • Oracle Cloud Infrastructure Compute AMD GPUを使用したベア・メタル
  • Oracle Cloud Infrastructure Object Storage
  • Oracle Cloud Infrastructure Block Volumes
  • Oracle Cloud Infrastructure Kubernetes Engine
  • Oracle Cloud Infrastructure Registry

各製品に必要なロールは次のとおりです。

サービス名: ロール 必要...
Oracle Cloud Instance Launch Using Custom Imageポリシー
  • グループImageUsersに、コンパートメントABCinstance-imagesの検査を許可します。
  • target.image.id=''のコンパートメントABCで、グループImageUsers{INSTANCE_IMAGE_READ}に許可します。
  • グループImageUsersに、コンパートメントABCのインスタンスの管理を許可します。
  • グループImageUsersにテナンシのapp-catalog-listingの読取りを許可します。
  • グループImageUsersに、コンパートメントABCでのvolume-familyの使用を許可します。
  • グループImageUsersに、コンパートメントXYZでのvirtual-network-familyの使用を許可します。
Oracle Cloud Manage Kubernetes Clusterポリシー
  • <location>でグループ<group-name>manage cluster-familyに許可します。
  • グループacme-dev-team-pool-admins<location>cluster-node-poolsを使用できるようにします。
OCIでOKEクラスタを作成するには、テナンシのAdministratorsグループに属する、またはポリシーがCLUSTER_MANAGE権限を付与するグループに属するのいずれかである必要があります。

「クラスタの作成とデプロイメントのためのポリシー構成」を参照してください。

Oracle Cloud working with Images from Registryポリシー
  • グループacme-pullersにテナンシ内のリポジトリの読取りを許可します。
  • グループacme-pushersにテナンシ内のリポジトリの管理を許可します。

必要なものを取得するには、Oracle製品、ソリューションおよびサービスを参照してください。