Yolo 深圳
深セン
今すぐ参加
用語集

Kubernetes

Kubernetesが、スケーラブルなモデルのデプロイ、分散トレーニング、効率的なリソース管理により、AI/MLワークロードをどのように効率化するかを発見してください。

Kubernetesは、しばしばK8sと略され、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオープンソースのコンテナ・オーケストレーション・システムである。 コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオープンソースのコンテナ・オーケストレーション・システムだ。もともとはGoogle エンジニアによって設計され、現在は クラウド・ネイティブ・コンピューティング・ファウンデーション(CNCF)によって保守されているKubernetesは、弾力性のあるアプリケーションを運用するための業界標準へと発展した。 弾力性のある分散ソフトウェアシステムを運用するための業界標準へと発展した。急速に進歩する 人工知能(AI)と 機械学習(ML)の分野では、Kubernetesは基本的なインフラ層として機能している。 エンジニアリングチームが複雑なモデルの実験的な開発から大規模な生産に至るまで、完全なライフサイクルを効率的に管理できるようにします。 実験的な開発から大規模な生産まで、複雑なモデルのライフサイクル全体を効率的に管理できるようにします。

コアコンセプトとアーキテクチャ

その中核となるKubernetesは、コンテナ化されたワークロードを実行するノードと呼ばれるコンピューティングマシンのクラスタを管理する。Kubernetesは コンテナ化に大きく依存している 依存関係とともにコードをパッケージ化する技術であるコンテナ化に大きく依存している。 に大きく依存している。Kubernetesは、デプロイ可能な最小単位である「ポッド(Pod)」や「デプロイメント(Deployments)」といった抽象化を導入している、 アプリケーションの望ましい状態を維持する「デプロイメント」。ソフトウェアを基礎となるハードウェアから切り離すことで ハードウェアから切り離すことで コンピュータ・ビジョンのエンジニアは、サーバーのメンテナンスよりもモデルのパフォーマンスに集中することができる。 のようなマネージド・サービスを利用することができる。 Amazon EKSGoogle Kubernetes Engine (GKE)のようなマネージド・サービスを利用します。

AIおよび機械学習におけるKubernetes

機械学習オペレーション 機械学習オペレーション(MLOps)にとって、Kubernetesは不可欠だ。 スケーラビリティ最新のAIワークロード、特に 特にディープラーニングを含む最新のAIワークロードには 計算リソースが必要です。Kubernetesは以下を容易にします。 分散学習を容易にします。 を搭載した複数のノードにまたがってトレーニングジョブをスケジューリングすることで、分散トレーニングを容易にします。 グラフィックス・プロセッシング・ユニット(GPU)を搭載した複数のノードにトレーニング・ジョブをインテリジェントにスケジューリングすることで、分散トレーニングを容易にします。 モデルのデプロイ段階において、K8sは推論APIの高可用性を保証します。 推論APIの高可用性を保証し、リアルタイムのトラフィック需要に基づいて実行ポッド数を自動的に増減させます。 これにより、パフォーマンスとコストの両方が最適化されます。

実際のアプリケーション

  1. スマートシティ交通監視:都市行政は Ultralytics YOLO11モデルを導入して交通の流れを分析し リアルタイムで渋滞をdetect する。アプリケーションはコンテナ化され、Kubernetesクラスタ上でオーケストレーションされる。アプリケーションはコンテナ化され、Kubernetesクラスタ上でオーケストレーションされる。 利用する ホリゾンタル・ポッド・オートスケーラー このシステムは、ラッシュアワーにおけるビデオストリームデータの急増を検出し、自動的に追加の推論ポッドを提供する。 ポッドを追加する。これにより オブジェクト検出サービスを サーバーの手動プロビジョニングを必要としません。
  2. Eコマースのビジュアル・サーチ:オンライン小売業者が レコメンデーションシステムを レコメンデーションシステムを実装している。パイプラインは、画像の前処理、特徴抽出、ベクトルデータベース検索のための個別のマイクロサービスから構成される。 ベクターデータベースの検索。Kubernetesがこれらのコンポーネントをオーケストレーションすることで、フィーチャーエンジニアリングチームは次のようなことが可能になる。 特徴エンジニアリングチームは 抽出モデルは検索インデックスとは独立して更新され、本番環境での俊敏性とシステムの安定性が確保される。 生産環境の俊敏性とシステムの安定性を保証します。

関連技術の区別

Kubernetesが他の一般的なインフラストラクチャーツールとどのように異なるかを理解することは有益だ:

  • KubernetesとDockerの比較:Dockerは個々のコンテナを作成・実行するためのツールである。 Dockerは個々のコンテナを作成して実行するためのツールであり、Kubernetesはそれらのコンテナをマシン群全体で管理するオーケストレーターである。 オーケストレーターである。通常、開発者はDockerを使用してニューラルネットワーク・アプリケーション・イメージを構築し、その後 ニューラルネットワークのアプリケーションイメージを構築し Kubernetesに依存する。
  • Kubernetes vs. サーバーレス・コンピューティング サーバーレス・コンピューティング AWS Lambdaのようなサーバーレス・プラットフォームは、すべてのインフラ管理を抽象化する。 のようなサーバーレス・プラットフォームは、すべてのインフラ管理を抽象化するため、イベント駆動型の機能に最適です。対照的に、Kubernetesは以下のようなきめ細かい制御を提供する。 ネットワーキング、ストレージ、リソース割り当てに対するきめ細かい制御を提供する。 複雑なモデル・サービング・アーキテクチャに必要なことが多い。

ツールとエコシステム

Kubernetesのエコシステムは広大で、パッケージ管理用のHelmや、クラスタの健全性を監視するPrometheusなどのツールがある。 クラスタの健全性を監視するPrometheusなどのツールがある。専門的なMLワークフローでは、Kubeflowのようなプラットフォームが KubeflowのようなプラットフォームがKubernetesの上で動作し、エンドツーエンドのパイプラインを合理化する。 将来的には、Ultralytics Platformがこれらのプロセスをさらに簡素化するように設計されています。 データ管理とモデルトレーニングのための包括的な環境を提供し、基本的なインフラストラクチャの複雑さを抽象化します。 インフラストラクチャの複雑さを抽象化します。

例コンテナ化の推論スクリプト

Kubernetes上にモデルをデプロイするには、まず推論を実行するスクリプトが必要だ。このPython スニペットは YOLO11 モデルをロードし、DockerコンテナにラッピングしてK8sでスケジューリングします。

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image source
# This script would typically run inside a Kubernetes Pod
results = model("https://ultralytics.com/images/bus.jpg")

# Print the detected class names
for result in results:
    for cls_id in result.boxes.cls:
        print(f"Detected: {result.names[int(cls_id)]}")

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加