Cloud Computing
クラウドコンピューティングでは、サーバー、ストレージ、GPU、ソフトウェアをインターネット経由で利用し、使用量に応じて料金を支払います。サービスモデル、AIの学習、クラウドとエッジの比較を解説します。
クラウドコンピューティングとは、プロバイダーのデータセンターからインターネット経由で、サーバー、ストレージ、データベース、ネットワーク、GPU、完全なソフトウェアアプリケーションなどのコンピューティングリソースをオンデマンドで提供し、使用量に応じて課金する仕組みです。米国国立標準技術研究所は2011年にNIST SP 800-145でクラウドコンピューティングを定義し、オンデマンドセルフサービス、幅広いネットワークアクセス、複数顧客間でのリソースプール、迅速な弾力性、計測可能なサービスという5つの本質的な特性を示しました。Amazon Web Servicesは2006年にS3ストレージサービスとEC2コンピューティングサービスを開始し、現在ではAWS、Microsoft Azure、Google Cloudが最大規模のプロバイダーです。人工知能において、クラウドを利用すれば高価なアクセラレーターを数時間だけ借りられるため、ほとんどのチームはデータセンターを所有せずに大規模モデルを学習できます。
サービスモデルとデプロイモデル#
サービスモデルの違いは、プロバイダーがスタックのどこまでを管理するかです。
- サービスとしてのインフラストラクチャ (IaaS):仮想マシン、ブロックストレージ、ネットワークを提供し、オペレーティングシステム、ドライバー、ソフトウェアは顧客が管理します。Amazon EC2 P5インスタンスなどのGPU仮想マシンはIaaSです。
- サービスとしてのプラットフォーム (PaaS):マネージドランタイム、データベース、Kubernetesクラスターを提供し、顧客はコードをデプロイし、プロバイダーがサーバーとパッチ適用を管理します。Amazon SageMaker、Google Vertex AI、Azure Machine LearningなどのマネージドMLプラットフォームは、トレーニングジョブとモデルエンドポイントをその上に追加します。
- サーバーレスコンピューティング:リクエストごとに起動し、アイドル時にはゼロまでスケールし、リクエスト数と実行時間に応じて課金する関数またはコンテナです。サーバーを完全に意識せずに利用できる、後発のモデルです。
- サービスとしてのソフトウェア (SaaS):ブラウザーまたはAPI経由で使用する完全なアプリケーションで、顧客が運用するものはありません。
NISTはさらに、複数の顧客が共有するパブリッククラウド、1つの組織向けに運用されるプライベートクラウド、共通の要件を持つ組織が共有するコミュニティクラウド、これらを組み合わせたハイブリッドクラウドという4つのデプロイモデルを挙げています。どのモデルでも、プロバイダーは共有責任モデルに従います。プロバイダーは物理データセンターと仮想化レイヤーを保護し、顧客はID、設定、データセキュリティに責任を負います。
AI向けクラウドコンピューティング#
AIで最も多くの計算能力を必要とするのはトレーニングです。クラウドプロバイダーは、単体のGPUや、分散トレーニング向けに広帯域幅のインターコネクトで接続されたNVIDIA H100、H200、B200アクセラレーターのクラスターを貸し出しており、Google Cloudは独自のTPUも提供しています。余剰容量はより安価です。AWS Spot Instancesはオンデマンド料金より最大90%安くなりますが、2分前の通知で回収される可能性があります。そのため、これらを利用するジョブは、再開できるようにモデルの重みを十分な頻度でチェックポイントに保存します。
データの配置はクラウドのコストを左右します。データセットはオブジェクトストレージに保存され、多くの場合はデータレイクとして整理されます。プロバイダーはネットワーク外へ出るデータに対してエグレス料金を請求し、イングレスは通常無料なので、トレーニングの計算処理は読み込むビッグデータと同じリージョンで実行する傾向があります。推論側では、Dockerコンテナとしてパッケージ化したモデルを、モデルサービング用のマネージドエンドポイントや、トラフィックに応じてレプリカを増減するKubernetesクラスターで実行します。これはNISTの定義にある迅速な弾力性に相当し、ユーザーに近いリージョンを選ぶことで推論レイテンシを低く保てます。クラウドMLプラットフォームは、実験管理、モデルレジストリ、モデルモニタリングのためのMLOpsツールもホストします。
Ultralytics Platformは、YOLOトレーニングにこの従量課金モデルを適用します。クラウドトレーニングでは、VRAM 16 GBのRTX 2000 AdaからVRAM 288 GBのB300まで、26種類のGPUを利用できます。実行で実際に使用したGPU時間に対して課金され、選択したGPUの容量が不足している場合は、VRAM、速度、価格の順に優先して、最も近い利用可能なGPUが提案されます。
クラウドコンピューティングとエッジコンピューティングの比較#
エッジコンピューティングは、カメラ、ロボット、ゲートウェイなど、データを生成するデバイス上またはその近くでデータを処理します。これにより、データセンターとのネットワーク往復が不要になり、接続が切れても動作を続けられます。クラウドコンピューティングは、トレーニング、大規模なバッチ処理、長期ストレージ、数十ミリ秒のネットワーク遅延を許容できるユーザー向けサービスなど、特に必要とされるジョブに弾力的な容量を集約します。ほとんどのコンピュータービジョンシステムは、この2つを組み合わせています。クラウドGPUで学習したモデルをONNXやTensorRTなどのコンパクトな形式にエクスポートし、デバイス上でエッジAIとして実行します。デバイスは検出結果と選択した画像をクラウドに送り返し、次のモデルバージョンの学習データとして利用します。










