用語集

Kubernetes

KubernetesがどのようにAIワークフローを合理化し、シームレスなスケーリング、セルフヒーリング、クラウドネイティブなコンピューティングのための効率的なモデル展開を可能にするかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するために設計されたオープンソースのコンテナオーケストレーションプラットフォームである。元々はGoogle によって開発された Kubernetes は、現在 Cloud Native Computing Foundation (CNCF) によってメンテナンスされており、最新のクラウドネイティブなワークロードを管理するための業界標準となっている。

Kubernetesの主な特徴

Kubernetesは、分散環境における複雑なアプリケーションの管理を簡素化する幅広い機能を提供する:

  • コンテナのオーケストレーション:Kubernetesは、マシンのクラスタ全体でコンテナのスケジュールと管理を自動的に行い、最適なリソース利用を保証します。
  • スケーリング:Kubernetesは、CPU 、メモリ、またはカスタムメトリクスに基づいて、アプリケーションの手動と自動の両方のスケーリングをサポートしています。
  • 自己修復:アプリケーションの健全性を監視し、障害が発生したコンテナを自動的に再起動または交換することで、システムの安定性を維持します。
  • ロードバランシング:Kubernetesはネットワークトラフィックを複数のコンテナに分散し、高可用性と信頼性の高いパフォーマンスを確保する。
  • ストレージ管理:アプリケーションのニーズに合わせて、ローカルストレージ、クラウドベースのストレージ、ネットワークファイルシステムなど、さまざまなストレージバックエンドをサポートします。

コンテナ化の入門については、Dockerの用語集ページを参照のこと。

AIと機械学習におけるKubernetes

Kubernetesは、分散されたリソース集約的なタスクの管理が不可欠なAIや機械学習のワークフローにおいて、重要な役割を果たしている。機械学習パイプラインのような複雑なシステムのデプロイを簡素化し、スケーラビリティと信頼性を確保します。

例1:機械学習モデルのトレーニング

Kubernetesは、複数のGPU 対応ノードにまたがる機械学習モデルの分散トレーニングを管理するために使用できる。例えば、ディープラーニングモデルを PyTorchを使用してディープラーニングモデルをトレーニングするチームは、トレーニングジョブをKubernetesポッドとしてデプロイできる。これにより、効率的なリソース割り当てが保証され、ワークロード要件に基づいてトレーニングプロセスを動的にスケーリングできます。分散トレーニングとKubernetesによる促進方法の詳細については、こちらをご覧ください。

例2:モデルの配置

Kubernetesは、機械学習モデルをプロダクションにデプロイするために広く使われている。例えば Ultralytics YOLOをコンテナ化してKubernetes上にデプロイすることができる。このセットアップでは、ローリングアップデートやレプリケーションなどの機能によって高可用性を確保し、ダウンタイムを最小限に抑えてサービスの信頼性を維持する。

Kubernetesと関連テクノロジーの比較

Kubernetesがコンテナのオーケストレーションに秀でているのに対し、Dockerのようなテクノロジーはコンテナ化そのものに重点を置いている。Dockerはコンテナを作成して実行するための基盤を提供するのに対し、Kubernetesはこれらのコンテナをオーケストレーションしてスケール管理する。より深く理解するには、コンテナ化とオーケストレーションの違いをご覧ください。

もう1つの関連概念は、インフラ管理を完全に抽象化するサーバーレス・コンピューティングだ。Kubernetesとは異なり、サーバーレス・プラットフォームはユーザーの介入なしに、イベント・ドリブン・トリガーに基づいてリソースを自動的にスケールする。サーバーレス・コンピューティングの詳細はこちら。

実世界での応用

Kubernetesは、AIや機械学習のワークフローを効率化するために、さまざまな業界で活用されている:

  • ヘルスケアKubernetesは、大規模なデータセットを処理する際のスケーラビリティと信頼性を確保することで、医用画像解析で説明されているような医用画像解析モデルのデプロイを可能にする。
  • 自律走行車:Kubernetesは、自動運転車のためのAIで説明されているような、自律走行車のパイプラインにおけるアプリケーションのスケーラブルなデプロイをサポートします。
  • 小売業小売業では、Kubernetesが在庫管理の最適化や顧客体験の向上のようなリアルタイムのオブジェクト検出モデルを支援しています。 Ultralytics YOLO在庫管理を最適化し、顧客体験を向上させます。

Kubernetes入門

AIプロジェクトにKubernetesを活用することに興味がある人にとって、Ultralytics HUBのようなツールはKubernetesとうまく統合し、シームレスなモデルトレーニングとデプロイを実現する。さらに、Google Kubernetes Engine(GKE)やAmazon Elastic Kubernetes Service(EKS)などのプラットフォームは、Kubernetesクラスタ管理を簡素化する。

AIモデルのスケール展開について詳しくは、モデル展開オプションガイドをご覧ください。

Kubernetesは、AIワークロードを効率的に管理・拡張することを可能にし、最新のクラウドネイティブなコンピューティングの要となっている。その堅牢な機能セットと広範な採用は、AIと機械学習のコミュニティにとって不可欠なツールであり続けることを保証します。

すべて読む