OCIでの大規模言語モデルのデプロイについて
PagedAttention
は、仮想メモリーとして管理することで、アテンション・メカニズムの効率を高めます。GPUメモリー使用率を高め、より長いシーケンスの処理を可能にし、ハードウェア・リソースの制約内での作業をサポートします。また、vLLMを使用すると、連続的なバッチ処理によってスループットが向上し、待機時間が短縮されます。
このソリューション・プレイブックでは、AMD Instinct™ MI300X GPUを使用して、OCIにLLMをデプロイする方法を学習します。
ソリューション・ワークフロー
Hugging Faceは、事前トレーニング済のAIモデル、開発ツール、AIアプリケーションのホスティング・インフラストラクチャを提供する機械学習のためのコラボレーション・プラットフォームおよびハブであり、高度な機械学習を世界中の開発者が利用できるようにします。
モデルから構築されたイメージは、モデル・イメージ管理、バージョン管理およびセキュアなアクセス管理のために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イメージなどの開発アーティファクトを簡単に格納、共有および管理できます。
開始する前に
- ブログ: 早期LLMがAMD Instinct MI300X GPUでエクスペリエンスとパフォーマンスの結果を提供
- vLLMについて学習します。
BM.GPU.MI300X.8
インスタンスを起動するには、コンピュート容量の作成を実行して、テナンシのコンピュート容量を確認します。BM.GPU.MI300X.8
インスタンスを予約する必要がある場合は、これらのステップに従います。- VCNでGPUインスタンスを起動するには、テナンシおよびリージョン内の既存のVCNを選択するか、作成します。Oracle Cloud Infrastructure Networkingのドキュメントを参照してください。
- 独自のSSHキーを使用してSSHを使用してインスタンスに接続する場合は、使用する予定するSSHキー・ペアの公開鍵が必要です。キーは
OpenSSH
形式である必要があります。Linuxインスタンスでのキー・ペアの管理を参照してください。 - インスタンスを起動および操作する認可については、インスタンスと連携するために必要なIAMポリシーのドキュメントを参照してください。
必要な製品およびロールについて
このソリューションには、次の製品が必要です。
- 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 ポリシー
|
|
Oracle Cloud Manage Kubernetes Cluster ポリシー
|
Administrators グループに属する、またはポリシーがCLUSTER_MANAGE 権限を付与するグループに属するのいずれかである必要があります。
「クラスタの作成とデプロイメントのためのポリシー構成」を参照してください。 |
Oracle Cloud working with Images from Registry ポリシー
|
|
必要なものを取得するには、Oracle製品、ソリューションおよびサービスを参照してください。