Skip to main content

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 modal
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 대시보드 함수 호출

더 빠른 추론을 위한 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 볼륨을 사용하십시오. 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 볼륨은 함수 실행 간에 데이터를 유지합니다. 학습된 가중치는 /data/runs/detect/train/weights/에 저장됩니다.

축하합니다! Modal에서 Ultralytics YOLO26을 성공적으로 설정하였습니다. 추가 학습을 위해:

FAQ

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 가격 정책을 확인하십시오.

직접 학습한 커스텀 YOLO 모델을 사용할 수 있습니까?

네! Modal 볼륨에서 커스텀 모델을 로드하십시오:

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

커스텀 모델 학습에 대한 자세한 내용은 학습 가이드를 참조하십시오.

댓글