YOLO Vision 2026:

Ultralytics向けModalクイックスタートガイド#

本ガイドでは、サーバーレスGPU推論とモデルのトレーニングをカバーし、Modal上でUltralytics YOLO26を実行するための包括的なイントロダクションを提供します。

Modalとは何ですか?#

Modalは、AIおよび機械学習ワークロード向けのサーバーレスクラウドコンピューティングプラットフォームです。プロビジョニング、スケーリング、実行を自動的に処理するため、ローカルでPythonコードを記述すれば、ModalがGPUアクセスを伴うクラウド上でそれを実行します。これにより、インフラストラクチャを管理することなく、YOLO26のようなディープラーニングモデルを実行するのに最適です。

学習内容#

  • Modalのセットアップと認証
  • Modal上でのYOLO26推論の実行
  • 推論を高速化するためのGPU使用
  • Modal上でのYOLO26モデルのトレーニング

前提条件#

  • Modalアカウント(modal.comで無料登録)
  • ローカルマシンにインストールされたPython 3.9以降

インストール#

Modal Pythonパッケージをインストールします:

pip install modal

次に、ModalアカウントでCLIを認証します:

modal token new
認証

modal 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ダッシュボードで関数の実行を監視できます:

Modal Dashboard Function Calls

推論を高速化するための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メモリ最適な用途
T416 GB推論、小規模モデルのトレーニング
A10G24 GB中規模のトレーニングジョブ
A10040 GB大規模トレーニング
H10080 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.py
ボリュームの永続性

Modal Volumesは、関数の実行間でデータを永続化します。トレーニング済みの重みは/data/runs/train/weights/に保存されます。

おめでとうございます!これでModal上でUltralytics YOLO26のセットアップが完了しました。さらに学習を進めるには:

よくある質問 (FAQ)#

  • 推論の場合、通常はNVIDIA T4 (16 GB)で十分かつコスト効率が良いです。トレーニングやYOLO26xのような大規模モデルの場合は、A10GまたはA100 GPUを検討してください。

  • Modalは秒単位の従量課金制を採用しています。概算料金:CPU ~$0.05/hr、T4 ~$0.59/hr、A10G ~$1.10/hr、A100 ~$2.10/hr。最新の料金についてはModal pricingをご確認ください。

  • はい、Modalボリュームから重みファイルを読み込むことで、独自のカスタムトレーニング済みYOLOモデルをModal上で実行できます:

    model = YOLO("/data/my_custom_model.pt")

    カスタムモデルのトレーニングの詳細については、トレーニングガイドをご覧ください。

コメント