用語集

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

スケーラビリティ、コスト効率、迅速な導入により、サーバーレス・コンピューティングがAI/MLにどのような革命をもたらすかをご覧ください。今すぐ、より賢く、より速く構築しましょう!

サーバーレス・コンピューティングは、クラウド・プロバイダーがサーバーの割り当てとプロビジョニングを動的に管理するクラウド実行モデルである。このアプローチにより、開発者は基盤となるサーバーインフラを意識することなく、アプリケーションやサービスを構築し、実行することができる。サーバーのプロビジョニングと管理の代わりに、開発者はコードを関数の形でデプロイする。これらの関数はプロバイダーによってオンデマンドで実行され、1日あたり数リクエストから1秒あたり数千リクエストまで自動的にスケーリングされる。この従量課金モデルは、機械学習(ML)アプリケーションで一般的なシナリオである、トラフィックが変動したり予測できないワークロードに対して非常に効率的です。

サーバーレス・コンピューティングの仕組み

サーバーレス・コンピューティングの中核は、FaaS(Function-as-a-Service)モデルだ。このセットアップでは、アプリケーション・ロジックは、特定のイベントによってトリガーされる小さな単一目的の関数に分解される。イベントとは、ウェブアプリケーションからのHTTPリクエスト、キュー内の新しいメッセージ、クラウドストレージにアップロードされるファイルなどである。

トリガーイベントが発生すると、クラウドプラットフォームは即座に対応する機能を実行する。プラットフォームは、コンピュート・インスタンスのプロビジョニング、オペレーティング・システムの管理、高可用性とスケーラビリティの確保など、リソース管理のあらゆる側面を処理する。機能の実行が終了すると、リソースは解放される。これにより、アイドル状態のサーバー時間をなくし、アプリケーションが消費する正確なコンピュート・リソースに対してのみ料金を支払うことを保証します。これは、最新のMLOpsの基本原則です。

AIと機械学習における応用

サーバーレスアーキテクチャは、AI/MLのライフサイクルの様々な段階、特にモデル推論に特に適している。

  • データパイプラインの自動化:サーバーレスの関数は、データの前処理タスクを自動化できる。例えば、Amazon S3のようなストレージサービスに新しい画像がアップロードされるたびに関数をトリガーすることができる。この関数は、自動的に画像のサイズを変更し、ピクセル値を正規化し、モデル学習に適した形式で保存することができる。
  • 費用対効果の高いモデル提供:多くのAIアプリケーションは、常時大量の処理を必要としません。コンピュータ・ビジョン・モデル用のサーバーレス・エンドポイントを使用すると、Ultralytics YOLOのようなモデルを、常時稼動する高価なサーバーを維持することなくデプロイできます。この機能は、リクエストを処理するためにオンデマンドでスピンアップし、その後シャットダウンするため、運用コストを大幅に削減できます。このアプローチは、断続的な使用パターンを持つアプリケーションのモデル展開を簡素化します。

実例

  1. オンデマンド画像分析:モバイル・アプリでは、ユーザーが植物の写真をアップロードして同定することができる。各写真のアップロードは、API Gatewayを介してサーバーレス関数をトリガーする。この関数は画像分類モデルをロードし、写真を分析して植物の種類を特定し、その結果をユーザーのアプリに返します。このプロセス全体は、専用サーバーを使わずに数秒で行われる。
  2. リアルタイムチャットボット処理:カスタマーサービスチャットボットでは、各ユーザーメッセージはサーバーレス関数をトリガーするイベントです。この関数は、ユーザーの意図を理解するために自然言語処理(NLP)モデルを呼び出します。分析に基づき、イベント駆動型アーキテクチャに従って、データベースに問い合わせたり、別のAPIを呼び出したりする別の関数がトリガーされるかもしれない。

サーバーレス対関連概念

サーバーレス・コンピューティングを関連技術と区別することは重要だ:

  • クラウド・コンピューティングとサーバーレスの比較 クラウド・コンピューティングとは、インターネットを介してコンピューティング・サービスを提供することである。サーバーレスとは、クラウド・コンピューティングの特定の実行モデルで、自動リソース管理を重視し、サーバー管理を完全に抽象化する。IaaS(Infrastructure as a Service)のような他のクラウドモデルでは、ユーザーが仮想マシンをプロビジョニングし、管理する必要がある。
  • コンテナ化とサーバーレスの比較: Dockerのようなコンテナ化ツールは、アプリケーションとその依存関係をパッケージ化する。Kubernetesのようなオーケストレーション・プラットフォームは、これらのコンテナのデプロイとスケーリングを自動化する。これにより運用負荷は軽減されるが、基盤となるクラスタ・インフラを管理することに変わりはない。サーバーレス・プラットフォームは、このレイヤーを完全に抽象化する。UltralyticsでDockerを使用する方法をご覧ください。
  • エッジコンピューティングとサーバーレスの比較: エッジコンピューティングは、データソースの近くにあるデバイスでローカルにデータを処理する。対照的に、サーバーレス・コンピューティングは中央集中型のクラウド・データセンターで機能を実行する。エッジAIデバイス(NVIDIA Jetson上で動作するようなもの)が最初のフィルタリングを実行し、その後、より集中的な分析のためにクラウド上のサーバーレス機能をトリガーするかもしれない。

代表的なサーバーレスプラットフォームには、AWS LambdaGoogle Cloud FunctionsAzure Functionsなどがある。これらのサービスは、サーバーレスAI/MLアプリケーションを効率的に構築・実行するためのインフラを提供する。Ultralytics HUBのようなプラットフォームは、サーバーレスセットアップを含む様々なアーキテクチャ内でのモデルのデプロイと管理をさらに効率化することができる。

Ultralyticsコミュニティに参加する

AIの未来に参加しませんか。世界のイノベーターとつながり、協力し、成長する

今すぐ参加する
クリップボードにコピーされたリンク