YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

サーバーレスコンピューティング

サーバーレスコンピューティングがAIデプロイメントをどのように簡素化するかを探ります。効率的なML推論のためにUltralytics YOLO26を使用して、スケーラブルで費用対効果の高いワークフローを構築する方法を学びましょう。

サーバーレスコンピューティングは、開発者がインフラ管理の複雑さなしにアプリケーションを構築および実行できるクラウド実行モデルです。このパラダイムでは、クラウドプロバイダーがサーバーの割り当てとプロビジョニングを動的に管理し、基盤となるハードウェアとオペレーティングシステムをユーザーから抽象化します。コードは、HTTPリクエスト、データベースの変更、ファイルのアップロードなどの特定のイベントによってトリガーされるステートレスコンテナで実行されます。このアプローチは、組織が消費されたコンピューティング時間に対してのみ支払い、トラフィック需要に基づいてゼロから数千のインスタンスに拡張することで、スケーラビリティ要件に自動的に準拠できるため、現代のクラウドコンピューティング戦略に非常に適しています。

AIのためのサーバーレスの仕組み

サーバーレスコンピューティングの中核にあるのは、 Function-as-a-Service(FaaS)という概念です。 ここではアプリケーションが個別のタスクを実行する 単一の関数に分解されます。機械学習(ML)の実践者にとって、これはモデル展開の効率的な道筋を提供する。トラフィックが少ない時間帯にアイドル状態となる専用サーバーを維持する代わりに、サーバーレス関数はオンデマンドで起動してデータを処理し、処理終了後すぐにシャットダウンできる。

しかし、このアーキテクチャにおける重要な考慮事項は、「コールドスタート」です。これは、関数が初めて呼び出されたとき、または一定期間非アクティブであった場合に発生するレイテンシを指します。これを軽減するために、開発者はしばしばYOLO26のような軽量アーキテクチャやモデル量子化のような技術を使用して、迅速な読み込み時間を確保します。これは、低い推論レイテンシを維持するために不可欠です。

機械学習の実世界での応用

サーバーレスアーキテクチャは、イベント駆動型のコンピュータービジョン(CV)ワークフローやデータパイプラインにおいて特に効果的です。

  • 自動化されたデータ前処理: ユーザーがAmazon S3のようなストレージサービスに生のデータセットをアップロードすると、サーバーレス関数がトリガーされ、即座にデータ前処理を実行します。この関数は、データがトレーニングデータパイプラインに入る前に、画像のサイズ変更、ピクセル値の正規化、ファイル形式の検証などを行い、手動介入なしに一貫性を確保します。
  • オンデマンド型スマート監視: セキュリティ分野におけるAIでは、モーションセンサーがカメラを起動してフレームを撮影します。このイベントがオブジェクト検出モデルをホストするクラウド機能を呼び出します。モデルは画像を分析し、無害な動物と潜在的な侵入者を区別し、必要な場合にのみアラートを送信します。これにより、連続ストリーミングと比較して帯域幅とストレージコストが大幅に削減されます。

Python 例:サーバーレス推論ハンドラ

以下のコードは概念的なサーバーレスハンドラーを示しています。グローバルモデルインスタンスを初期化して 「ウォームスタート」(リクエスト間でコンテナがアクティブな状態を維持する)を活用し、受信した画像パスを処理します。

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",
        },
    }

関連技術の区別

サーバーレスコンピューティングを理解するには、MLOpsで頻繁に使用される他のインフラストラクチャモデルとの違いを明確にする必要がある。

  • サーバーレスとエッジコンピューティング: 両者とも効率化を目的とするが、動作する場所が異なる。 エッジコンピューティングはデバイス(例:スマートカメラやIoTデバイス)上でデータをローカルに処理し、 ネットワーク経由の移動時間を最小化する。 サーバーレスコンピューティングは集中型のパブリッククラウド上で実行される。 ハイブリッドソリューションでは、初期データをエッジで処理し、 複雑な異常をサーバーレスクラウド関数に送信して、 より深い医療画像分析や法医学的検証を行うことが多い。
  • サーバーレス vs. Kubernetes: Kubernetesは コンテナ化のためのオーケストレーションプラットフォームであり、 開発者がクラスタ環境、ネットワーク、ポッドを細かく制御できるようにします。 強力である一方、かなりの管理オーバーヘッドを必要とします。 Google FunctionsやAzure Functionsなどのサーバーレスプラットフォームは、 このオーケストレーションを完全に抽象化し、 チームがノードの健全性ではなくコードロジックのみに集中できるようにします。
  • サーバーレス vs. IaaS:Infrastructure-as-a-Service (IaaS)は、Amazon EC2のように、インターネット経由で仮想化されたコンピューティングリソースを提供します。IaaSでは、ユーザーはオペレーティングシステムのパッチ適用とミドルウェアの管理に責任を負います。対照的に、サーバーレスコンピューティングはこれらの運用上の責任を取り除き、開発者が画像分類の精度向上といったより高レベルのタスクに集中できるようにします。

サーバーレスアーキテクチャを活用することで、開発者は費用対効果が高く、予測不可能なワークロードを処理できる堅牢なAIソリューションをデプロイできます。デプロイ前にUltralytics Platformのようなツールを利用して、モデルの訓練と管理プロセスを効率化します。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。