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 볼륨을 사용하십시오. 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 볼륨은 함수 실행 간에 데이터를 유지합니다. 학습된 가중치는 /data/runs/detect/train/weights/에 저장됩니다.
축하합니다! Modal에서 Ultralytics YOLO26을 성공적으로 설정하였습니다. 추가 학습을 위해:
- 고급 기능을 위한 Ultralytics YOLO26 문서를 살펴보십시오
- 자신의 데이터셋으로 커스텀 모델 학습에 대해 알아보십시오
- 고급 플랫폼 기능을 위해 Modal 문서를 방문하십시오
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")커스텀 모델 학습에 대한 자세한 내용은 학습 가이드를 참조하십시오.