YOLO Vision 2025にご期待ください!
2025年9月25日
10:00 — 18:00(英国夏時間)
ハイブリッドイベント
Yolo Vision 2024
用語集

コンテナ化

AI/MLプロジェクトのためのコンテナ化の力を発見しましょう。ワークフローを効率化し、一貫性を確保し、最先端のツールで効率的にスケールします。

コンテナ化は、オペレーティングシステムの仮想化の軽量な形式であり、アプリケーションとその依存関係(ライブラリ、フレームワーク、構成ファイルなど)を、コンテナと呼ばれる単一の分離されたユニットにパッケージ化できます。これにより、ソフトウェアをあるコンピューティング環境から別の環境に移動したときに、ソフトウェアが正しく実行されないという一般的な問題が解決されます。機械学習(ML)のコンテキストでは、コンテナ化により、複雑なAIモデルとそれらの複雑なソフトウェアスタックが移植可能、再現可能、スケーラブルになり、最新のMLOpsプラクティスの重要なコンポーネントを形成します。

最も広く使用されているコンテナ化技術はDockerであり、コンテナを構築、配布、実行するための標準化された方法を提供します。各コンテナはホストシステムのOSカーネルを共有しますが、ユーザー空間で隔離されたプロセスとして実行されます。このアプローチは、Open Container Initiative(OCI)のような組織によって標準化されており、従来の仮想マシンよりもはるかにリソース効率が高く、起動が高速です。コンテナ化の基礎については、Red Hatによるコンテナの説明などのリソースで詳しく学ぶことができます。

コンテナ化と関連概念の比較

コンテナ化と類似技術との違いを理解することは、AI/MLワークフローにおけるその役割を理解するための鍵となります。

  • 仮想マシン(VM): コンテナとVMはどちらも隔離された環境を提供しますが、動作するレベルが異なります。VMは、完全なゲストオペレーティングシステムを含むハードウェアスタック全体をエミュレートするため、起動に時間がかかります。対照的に、コンテナはOSを仮想化し、ホストカーネルを共有します。これにより、コンテナははるかに軽量で高速になりますが、VMはより高度なハードウェアレベルの分離を提供できます。
  • Docker: コンテナ化は、基盤となる概念です。Dockerは、この概念を実装する最も一般的なプラットフォームであり、個々のコンテナを作成および管理するためのツールを提供します。実践的な開始のために、UltralyticsはYOLOモデルを実行するためのDockerクイックスタートガイドを提供しています。詳細については、Dockerの公式リソースも参照してください。
  • Kubernetes: Dockerがホスト上の単一のコンテナを管理するのに対し、Kubernetesはコンテナオーケストレーションプラットフォームです。マシンのクラスター全体で数千のコンテナのデプロイ、スケーリング、および管理を自動化します。一般的なワークフローは、Dockerでコンテナを構築し、Kubernetesを使用して大規模に管理することです。詳細については、Kubernetesの公式ドキュメントを参照してください。
  • サーバーレスコンピューティング: サーバーレスとは、クラウドプロバイダーがコードを実行するために必要なインフラストラクチャを自動的に管理する実行モデルです。これにより、サーバーとコンテナが完全に抽象化されます。コンテナ化はアプリケーションの環境を制御できますが、AWS Lambdaなどのサーバーレスプラットフォームは、すべてのインフラストラクチャ管理を隠すことで使いやすさを優先します。

AI/MLにおける実世界のアプリケーション

コンテナ化は、実験から本番環境へのモデルデプロイメントまで、AI/MLライフサイクル全体で広く使用されています。

  1. 物体検出モデルのデプロイ:物体検出用にトレーニングされたUltralytics YOLOモデルは、Dockerコンテナにパッケージ化できます。このコンテナには、モデルの重み、推論スクリプト、およびPyTorchNVIDIA CUDAライブラリなど、必要なすべての依存関係が含まれています。この自己完結型のユニットは、強力なクラウドGPUからリソースが制約されたエッジAIデバイスまで、さまざまなプラットフォームに一貫してデプロイでき、環境に関係なくモデルが期待どおりに動作することを保証します。
  2. マイクロサービスとしてのNLPモデルのServing: Hugging Faceのようなプラットフォームのモデルを使用して自然言語処理(NLP)アプリケーションを開発しているチームは、異なるコンポーネント(テキスト前処理、モデル推論、APIエンドポイントなど)を個別のマイクロサービスとしてコンテナ化できます。これらのコンテナはKubernetesを使用して管理でき、各コンポーネントの独立したスケーリングと更新が可能です。これは、マイクロサービスアーキテクチャの原則に従い、より回復力のあるシステムにつながります。Ultralytics HUBのようなプラットフォームは、合理化されたモデル管理とデプロイメントのために、コンテナ化の原則を活用しています。

コンテナ化は、一貫性のある隔離された環境を提供することにより、現代のソフトウェア開発、特に急速に進化しているAIおよびコンピュータビジョン(CV)分野の基礎となっています。これにより、開発者とMLOpsエンジニアは、Google CloudAmazon Elastic Container Serviceなどのプラットフォーム上で、信頼性の高いAIアプリケーションをより迅速かつ効率的に構築、テスト、およびデプロイできます。

Ultralyticsコミュニティに参加しませんか?

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

今すぐ参加
クリップボードにコピーしました