AIにおけるスケーラビリティの重要性を探る。Ultralytics Ultralytics 、効率的で高性能なモデル展開を可能にする仕組みを学ぶ。
スケーラビリティとは、システム、ネットワーク、またはプロセスがリソースを追加することで増加する作業量を処理する能力を指します。人工知能(AI) および機械学習(ML)の文脈では、スケーラビリティは需要の増加に伴いモデルやインフラストラクチャが性能レベルを維持する能力を説明します。 この需要は通常、トレーニング時の大規模データセット、推論時の高ユーザートラフィック、計算タスクの複雑性増加として現れる。スケーラブルなアーキテクチャは、コンピュータビジョンモデルを単一の組み込みデバイスに展開する場合でも、クラウドクラスター経由で数百万のAPIリクエストを処理する場合でも、シームレスな拡張を可能にし、高負荷下でも推論レイテンシを低く保つことを保証する。
スケーラビリティを考慮した設計は、成功する機械学習運用(MLOps)の重要な要素である。制御された研究環境では完璧に機能するモデルも、本番環境で発生する高速データストリームに晒されると失敗する可能性がある。ビッグデータを効果的に管理するには、水平方向(クラスターへのマシン追加)または垂直方向(既存マシンへのRAMやGPUなどの処理能力追加)に拡張可能なシステムが必要である。
スケーラブルなAIシステムの主な利点には以下が含まれます:
スケーラブルなAIソリューションを構築するには、モデル・アーキテクチャと導入インフラの両方を最適化する必要がある。
推論時のスケーラビリティを向上させる効果的な手法の一つは、入力を順次処理するのではなくバッチ処理することである。 GPU 最大化され、全体のスループットが向上する。
from ultralytics import YOLO
# Load a scalable YOLO26 model (smaller 'n' version for speed)
model = YOLO("yolo26n.pt")
# Define a batch of images (URLs or local paths)
# Processing multiple images at once leverages parallel computation
batch_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference on the batch
results = model(batch_images)
# Print the number of detections for the first image
print(f"Detected {len(results[0].boxes)} objects in the first image.")
スケーラビリティにより、AI技術は理論研究から世界的な産業ツールへと移行することが可能となる。
頻繁に混同されるが、スケーラビリティはパフォーマンスや効率性とは異なる概念である。