Ultralytics向けModalクイックスタートガイド
このガイドでは、Modal上でUltralytics YOLO26を実行するための包括的な入門として、サーバーレスGPU推論とモデルトレーニングについて説明します。
Modalとは?
Modalは、AIおよび機械学習ワークロード向けのサーバーレスクラウドコンピューティングプラットフォームです。プロビジョニング、スケーリング、実行を自動的に処理します。ローカルでPythonコードを記述すれば、ModalがGPUアクセスを備えたクラウドでそれを実行します。これにより、インフラを管理することなくYOLO26のようなディープラーニングモデルを実行するのに最適です。
学習内容
- Modalのセットアップと認証
- Modal上でのYOLO26推論の実行
- 高速推論のためのGPUの使用
- Modal上でのYOLO26モデルのトレーニング
前提条件
- Modalアカウント(modal.comで無料登録)
- ローカルマシンにPython 3.9以降がインストールされていること
インストール
ModalのPythonパッケージをインストールして認証します:
pip install modalmodal token newmodal token new コマンドを実行すると、Modalアカウントを認証するためのブラウザウィンドウが開きます。認証後、ターミナルからModalコマンドを実行できます。
YOLO26推論の実行
以下のコードを含む modal_yolo.py という新しいPythonファイルを作成します:
"""
Modal + Ultralytics YOLO26 Quickstart
Run: modal run modal_yolo.py.
"""
import modal
app = modal.App("ultralytics-yolo")
image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")
@app.function(image=image)
def predict(image_url: str):
"""Run YOLO26 inference on an image URL."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model(image_url)
for r in results:
print(f"Detected {len(r.boxes)} objects:")
for box in r.boxes:
print(f" - {model.names[int(box.cls)]}: {float(box.conf):.2f}")
@app.local_entrypoint()
def main():
"""Test inference with sample image."""
predict.remote("https://ultralytics.com/images/bus.jpg")推論を実行します:
modal run modal_yolo.py期待される出力:
✓ Initialized. View run at https://modal.com/apps/your-username/main/ap-xxxxxxxx
✓ Created objects.
├── 🔨 Created mount modal_yolo.py
└── 🔨 Created function predict.
Downloading https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26n.pt to 'yolo26n.pt'...
Downloading https://ultralytics.com/images/bus.jpg to 'bus.jpg'...
image 1/1 /root/bus.jpg: 640x480 4 persons, 1 bus, 377.8ms
Speed: 5.8ms preprocess, 377.8ms inference, 0.3ms postprocess per image at shape (1, 3, 640, 480)
Detected 5 objects:
- bus: 0.92
- person: 0.91
- person: 0.91
- person: 0.87
- person: 0.53
✓ App completed.Modalダッシュボードで関数の実行を監視できます:
高速推論のためのGPUの使用
gpu パラメータを指定して関数にGPUを追加します:
@app.function(image=image, gpu="T4") # Options: "T4", "A10G", "A100", "H100"
def predict_gpu(image_url: str):
"""Run YOLO26 inference on GPU."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model(image_url)
print(results[0].boxes)| GPU | メモリ | 最適な用途 |
|---|---|---|
| T4 | 16 GB | 推論、小規模モデルのトレーニング |
| A10G | 24 GB | 中規模トレーニングジョブ |
| A100 | 40 GB | 大規模トレーニング |
| H100 | 80 GB | 最大パフォーマンス |
Modal上でのYOLO26のトレーニング
トレーニングには、GPUと永続ストレージ用のModal Volumesを使用します。train_yolo.py という新しいPythonファイルを作成します:
import modal
app = modal.App("ultralytics-training")
volume = modal.Volume.from_name("yolo-training-vol", create_if_missing=True)
image = modal.Image.debian_slim(python_version="3.11").apt_install("libgl1", "libglib2.0-0").pip_install("ultralytics")
@app.function(image=image, gpu="T4", timeout=3600, volumes={"/data": volume})
def train():
"""Train YOLO26 model on Modal."""
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, project="/data/runs")
@app.local_entrypoint()
def main():
train.remote()トレーニングを実行します:
modal run train_yolo.pyModal Volumesは関数実行間でデータを永続化します。トレーニング済みの重みは /data/runs/detect/train/weights/ に保存されます。
おめでとうございます!Modal上でUltralytics YOLO26のセットアップが完了しました。さらに学習するには:
- 高度な機能についてはUltralytics YOLO26ドキュメントを参照してください
- 独自のデータセットを使用したカスタムモデルのトレーニングについて学んでください
- 高度なプラットフォーム機能についてはModalドキュメントをご覧ください
よくある質問
YOLO26ワークロードに適したGPUを選ぶにはどうすればよいですか?
推論の場合、NVIDIA T4(16 GB)が通常は十分でコスト効率が高いです。YOLO26xなどの大規模モデルのトレーニングには、A10GまたはA100 GPUの使用をご検討ください。
Modal上でYOLO26を実行するコストはいくらですか?
Modalは秒単位の課金制を採用しています。概算料金:CPU 約$0.05/時間、T4 約$0.59/時間、A10G 約$1.10/時間、A100 約$2.10/時間。最新の料金についてはModal pricingをご確認ください。
独自のカスタムトレーニング済みYOLOモデルを使用できますか?
はい!Modal Volumeからカスタムモデルをロードできまメす:
model = YOLO("/data/my_custom_model.pt")カスタムモデルのトレーニングの詳細については、トレーニングガイドを参照してください。