Serverless Computing
サーバーレスコンピューティングがAIのデプロイをどのように簡素化するかを探ります。Ultralytics YOLO26を使用して、効率的なML推論のためのスケーラブルで費用対効果の高いワークフローを構築する方法を学びましょう。
Serverless computing is a cloud execution model that enables developers to build and run applications without the complexity of managing infrastructure. In this paradigm, the cloud provider dynamically manages the allocation and provisioning of servers, abstracting the underlying hardware and operating systems away from the user. Code is executed in stateless containers triggered by specific events, such as an HTTP request, a database modification, or a file upload. This approach is highly relevant to modern cloud computing strategies, as it allows organizations to pay only for the compute time consumed, automatically adhering to scalability requirements by expanding from zero to thousands of instances based on traffic demand.
Link to this sectionAIにおけるサーバーレスの仕組み#
サーバーレスコンピューティングの中核となるのは、アプリケーションを個別のタスクを実行する関数に分解するFunction-as-a-Service (FaaS)の概念です。機械学習 (ML)の実務者にとって、これはモデルデプロイのための効率的な経路を提供します。トラフィックの少ない期間にアイドル状態となる専用サーバーを維持する代わりに、サーバーレス関数は必要に応じて起動してデータを処理し、完了後すぐにシャットダウンすることができます。
しかし、このアーキテクチャにおける重要な考慮事項は「コールドスタート」です。これは、関数が初めて呼び出されたとき、または非アクティブな期間の後に発生するレイテンシのことです。これを軽減するために、開発者はYOLO26のような軽量なアーキテクチャやモデル量子化のような手法を使用して、迅速な読み込み時間を確保することが多く、これは低い推論レイテンシを維持するために不可欠です。
Link to this section機械学習における実世界の応用#
サーバーレスアーキテクチャは、イベント駆動型のコンピュータビジョン (CV)ワークフローやデータパイプラインに特に効果的です。
- 自動データ前処理: ユーザーがAmazon S3のようなストレージサービスに生のデータセットをアップロードすると、サーバーレス関数がトリガーされて即座にデータ前処理を実行できます。関数は、データがトレーニングデータパイプラインに入る前に、画像のサイズ変更、ピクセル値の正規化、ファイル形式の検証を行い、手動介入なしで一貫性を確保します。
- オンデマンドのスマート監視: AI in Securityにおいて、モーションセンサーがカメラをトリガーしてフレームをキャプチャすることができます。このイベントにより、物体検出モデルをホストするクラウド関数が呼び出されます。モデルは画像を分析して無害な動物と潜在的な侵入者を区別し、必要な場合にのみアラートを送信します。これにより、継続的なストリーミングと比較して帯域幅とストレージコストが大幅に削減されます。
Link to this sectionPythonの例: サーバーレス推論ハンドラー#
以下のコードは、概念的なサーバーレスハンドラーを示しています。これはグローバルなモデルインスタンスを初期化して「ウォームスタート」(コンテナがリクエスト間でアクティブな状態を維持すること)を活用し、入力された画像のパスを処理します。
from ultralytics import YOLO
# Initialize the model outside the handler to cache it for subsequent requests
# YOLO26n is ideal for serverless due to its compact size and speed
model = YOLO("yolo26n.pt")
def lambda_handler(event, context):
"""Simulates a serverless function handler triggered by an event. 'event' represents the input payload containing
the image source.
"""
image_source = event.get("url", "https://ultralytics.com/images/bus.jpg")
# Perform inference
results = model(image_source)
# Return prediction summary
return {
"statusCode": 200,
"body": {
"objects_detected": len(results[0].boxes),
"top_class": results[0].names[int(results[0].boxes.cls[0])] if len(results[0].boxes) > 0 else "None",
},
}Link to this section関連技術の区別#
サーバーレスコンピューティングを理解するには、MLOpsでよく使用される他のインフラストラクチャモデルと区別する必要があります。
- サーバーレス vs. エッジコンピューティング: 両者とも効率の最適化を目指していますが、動作する場所が異なります。エッジコンピューティングは、ネットワークの移動時間を最小限に抑えるため、デバイス(スマートカメラやIoTデバイスなど)上でローカルにデータを処理します。サーバーレスコンピューティングは、中央集権的なパブリッククラウドで発生します。ハイブリッドソリューションでは、初期データをエッジで処理し、複雑な異常はサーバーレスクラウド関数に送信して、より詳細な医療画像分析や法医学的レビューを行うことがよくあります。
- サーバーレス vs. Kubernetes: Kubernetesは、コンテナ化のためのオーケストレーションプラットフォームであり、開発者にクラスター環境、ネットワーキング、ポッドに対する詳細な制御を提供します。強力ではありますが、かなりの管理オーバーヘッドが必要です。Google Cloud FunctionsやAzure Functionsなどのサーバーレスプラットフォームは、このオーケストレーションを完全に抽象化し、チームがノードの状態ではなくコードのロジックのみに集中できるようにします。
- サーバーレス vs. IaaS: Infrastructure-as-a-Service (IaaS)は、Amazon EC2のように、仮想化されたコンピューティングリソースをインターネット経由で提供します。IaaSでは、ユーザーがオペレーティングシステムのパッチ適用やミドルウェアの管理を行う責任があります。対照的に、サーバーレスコンピューティングはこれらの運用責任を取り除き、開発者が画像分類の精度向上といった、より上位のタスクに集中できるようにします。
サーバーレスアーキテクチャを活用することで、開発者はコスト効率が高く、予測不可能なワークロードを処理できる堅牢なAIソリューションをデプロイできます。また、デプロイ前にモデルのトレーニングと管理プロセスを合理化するためにUltralytics Platformのようなツールを利用できます。






