第3章 Leader Worker Set Operator
3.1. Leader Worker Set Operator の概要 リンクのコピーリンクがクリップボードにコピーされました!
AI/ML 推論に大規模言語モデル (LLM) を使用するには、多くの場合、大量のコンピュートリソースが必要です。通常はワークロードを複数のノードに分散する必要があります。そのため、デプロイメントが複雑になり、スケーリング、障害からの回復、効率的な Pod の配置に関する課題が生じる可能性があります。
Leader Worker Set Operator は、Pod のグループを 1 つの連携したユニットとして扱うことで、このようなマルチノードのデプロイメントを簡素化します。また、グループ内の各 Pod のライフサイクルを管理し、グループ全体をまとめてスケーリングし、グループレベルで更新と障害回復を実行して、一貫性を確保します。
3.1.1. Leader Worker Set Operator について リンクのコピーリンクがクリップボードにコピーされました!
Leader Worker Set Operator は、LeaderWorkerSet オープンソースプロジェクトをベースにしています。LeaderWorkerSet
は、Pod のグループをユニットとしてデプロイするために使用できるカスタム Kubernetes API です。これは、大規模言語モデル (LLM) が複数のノードに分散される人工知能 (AI) および機械学習 (ML) 推論ワークロードに役立ちます。
LeaderWorkerSet
API を使用すると、Pod が 1 つのリーダーと複数のワーカーで構成されるユニットにグループ化され、すべての Pod が単一のエンティティーとしてまとめて管理されます。グループ内の各 Pod には、一意の Pod アイデンティティーがあります。グループ内の Pod は並行して作成され、同一のライフサイクルステージを共有します。ロールアウト、ローリング更新、および Pod 障害時の再起動は、グループとして実行されます。
LeaderWorkerSet
の設定では、グループのサイズとグループのレプリカの数を定義します。必要に応じて、リーダー Pod とワーカー Pod に個別のテンプレートを定義して、ロール別のカスタマイズを行うことができます。また、同じグループ内の Pod が同じトポロジー内に配置されるように、トポロジーを考慮した配置を設定することもできます。
Leader Worker Set Operator をインストールする前に、cert-manager Operator for Red Hat OpenShift をインストールする必要があります。これはサービスを設定し、メトリクス収集を管理するために必要です。
OpenShift Container Platform では、Leader Worker Set Operator のモニタリングが Prometheus を通じてデフォルトで提供されます。
3.1.1.1. LeaderWorkerSet のアーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
次の図は、LeaderWorkerSet
API が、分散ワークロードを連携させるために、1 つの Pod をリーダー、残りの Pod をワーカーとして、Pod のグループを 1 つのユニットに編成する方法を示しています。
図3.1 リーダーワーカーセットのアーキテクチャー
LeaderWorkerSet
API は、リーダーステートフルセットを使用して、Pod グループのデプロイメントとライフサイクルを管理します。定義されたレプリカごとに、リーダーワーカーグループが作成されます。
各リーダーワーカーグループには、リーダー Pod とワーカーステートフルセットが含まれます。ワーカーステートフルセットは、リーダー Pod によって所有され、そのリーダー Pod に関連付けられたワーカー Pod のセットを管理します。size を指定すると、各リーダーワーカーグループ内の Pod の合計数が定義されます。その数にはリーダー Pod も含まれます。