YOLO Vision 2026:

전용 엔드포인트#

Ultralytics Platform은(는) 42개의 전 세계 리전에 전용 엔드포인트로 YOLO 모델을 배포할 수 있도록 지원합니다. 각 엔드포인트는 스케일 투 제로(scale-to-zero) 동작, 고유한 엔드포인트 URL, 독립적인 모니터링을 갖춘 단일 테넌트 서비스입니다.

Ultralytics Platform Model Deploy Tab With Region Map And Table

엔드포인트 생성#

배포(Deploy) 탭에서 생성#

Deploy 탭에서 모델을 배포합니다:

  1. 모델로 이동합니다
  2. Deploy 탭을 클릭합니다.
  3. 사용자의 위치에서 측정한 지연 시간(latency)을 기준으로 정렬된 세계 지도와 리전(region) 테이블을 검토합니다.
  4. 사용하고자 하는 리전 행에서 Deploy를 클릭합니다.

배포는 이름 지정 단계 없이 즉시 시작됩니다. 이름은 모델 이름과 지역 도시 이름(예: yolo26n-iowa)을 조합하여 생성됩니다. 모델에는 가중치가 포함되어 있어야 하며, 그렇지 않으면 탭에 지역 테이블 대신 빈 상태가 표시됩니다.

배포(Deployments) 페이지에서 생성#

사이드바의 전역 Deploy 페이지에서 배포를 생성합니다:

  1. New Deployment를 클릭합니다.
  2. 완료된 모델이 나열되는 모델 선택기에서 모델을 선택하세요.
  3. 미니 맵 또는 지연 시간 테이블에서 지역을 선택하세요.
  4. 여기서 편집할 수 있는 자동 생성된 배포 이름을 검토하세요.
  5. Deploy Model을 클릭합니다.

Ultralytics Platform New Deployment Dialog With Model Selector And Region Map

배포 수명 주기#

stateDiagram-v2
    [*] --> Creating: Deploy
    Creating --> Deploying: Service starting
    Deploying --> Ready: Service URL published
    Ready --> Stopping: Stop
    Ready --> Deploying: Replace model
    Stopping --> Stopped: Stopped
    Stopped --> Deploying: Start
    Deploying --> Stopped: Start failed
    Ready --> [*]: Delete
    Stopped --> [*]: Delete
    Creating --> Failed: Error
    Deploying --> Failed: Error
    Failed --> [*]: Delete

    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff
    classDef error fill:#F44336,color:#fff
    classDef extern fill:#607D8B,color:#fff
    class Creating,Deploying,Stopping proc
    class Ready out
    class Failed error
    class Stopped extern

Slack alerts을(를) 연결하여 배포가 준비되었거나 시작에 실패했을 때 메시지를 받으세요.

리전 선택#

전 세계 42개 지역 중에서 선택하십시오. 대화형 지역 지도와 표는 다음 정보를 보여줍니다:

  • 지역 핀(Region pins): 지연 시간에 따라 녹색에서 빨간색으로 그라데이션 색상이 지정됩니다(빠를수록 녹색, 느릴수록 빨간색).
  • 배포된 지역: 테이블에서 "Deployed" 배지로 강조 표시됩니다.
  • 배포 중인 지역: 핀과 테이블 행에 애니메이션 펄스 표시기가 나타납니다.
  • 양방향 강조(Bidirectional highlighting): 지도에 마우스를 올리면 표의 행이 강조 표시되며, 그 반대의 경우도 동일합니다.

Ultralytics Platform Deploy Tab Region Latency Table Sorted By Latency 모델의 Deploy 탭에 있는 리전 테이블에는 다음 내용이 포함됩니다:

설명
위치(Location)국기 아이콘이 포함된 도시 및 국가
영역(Zone)지역 식별자
지연 시간브라우저에서 측정한 핑 시간입니다.
거리(Distance)대략적인 위치로부터의 거리(km 단위)입니다.
작업(Actions)배포 버튼 또는 "Deployed" 상태 배지

테이블은 도시, 국가, 영역별로 검색할 수 있으며 기본적으로 지연 시간 순으로 정렬됩니다.

새 배포 대화 상자

New Deployment 대화상자(전역 Deploy 페이지에서 열림)는 Location, Latency, Select 열만 포함된 더 단순한 지역 테이블을 표시하며, 가장 빠른 20개의 지역을 나열하고 나머지 지역에 대한 안내 메모를 제공합니다. 다른 지역을 선택하려면 미니 맵을 사용하세요.

지연 시간이 측정되는 방식

브라우저는 42개 지역 각각에 대한 지연 시간을 측정하며, 결과는 30분 동안 캐시되어 Deploy 탭과 New Deployment 대화상자 간에 공유됩니다. 현재 네트워크 상태에서 다시 측정하려면 모델 Deploy 탭의 Rescan 버튼을 사용하세요. 거리는 요청의 대략적인 위치를 기반으로 계산되므로 정확한 값이라기보다는 대략적인 참고용입니다.

사용 가능한 지역#

영역위치
us-central1미국 아이오와주
us-east1미국 사우스캐롤라이나
us-east4미국 북부 버지니아
us-east5미국 콜럼버스
us-south1미국 댈러스
us-west1미국 오리건
us-west2미국 로스앤젤레스
us-west3미국 솔트레이크시티
us-west4미국 라스베이거스
northamerica-northeast1캐나다 몬트리올
northamerica-northeast2캐나다 토론토
northamerica-south1멕시코 케레타로
southamerica-east1브라질 상파울루
southamerica-west1칠레 산티아고

엔드포인트 구성#

새 배포 대화 상자#

New Deployment 대화상자는 다음 세 가지 입력을 수집합니다:

필드설명
모델선택기로 선택한 워크스페이스의 완료된 모델
리전미니 맵 또는 지연 시간 테이블에서 선택한 배포 지역
배포 이름모델과 지역이 설정되면 자동으로 생성되며 편집 가능합니다.

Ultralytics Platform New Deployment Dialog Fixed Resource Defaults 이름 아래에는 읽기 전용 Resources 패널과 Custom resources coming soon 배지가 표시됩니다. 현재 리소스를 구성할 수는 없습니다. 모든 엔드포인트는 유휴 상태일 때 0으로 축소(scale-to-zero)되는 단일 인스턴스로 실행됩니다.

자동 생성된 이름

배포 이름은 모델 이름과 지역 도시를 결합한 형태입니다(예: yolo26n-iowa). 모델 Deploy 탭에서는 해당 모델에 이미 해당 지역에 배포가 존재하는 경우 숫자 접미사가 추가됩니다(예: yolo26n-iowa-2). 이름은 워크스페이스 내에서 고유해야 하며, 이미 존재하는 이름으로 배포를 시도하면 조용히 이름을 바꾸는 대신 오류가 반환됩니다.

배포 탭 (빠른 배포)#

모델의 Deploy 탭에서 배포를 진행하면 대화상자 단계 없이 동일한 고정 리소스와 자동 생성된 이름이 사용됩니다. 배포가 생성되는 동안 지역 테이블 아래의 Active Deployments 목록에 즉시 나타납니다.

엔드포인트 관리#

보기 모드#

배포 목록은 다음 세 가지 보기 모드를 지원합니다:

모드설명
카드로그, 코드 예제, 예측 패널이 포함된 상세 카드 보기
컴팩트주요 지표가 포함된 작은 카드 그리드 보기
테이블정렬 가능한 열과 검색 기능을 갖춘 데이터 테이블 보기

Ultralytics Platform Deploy Tab Active Deployments Cards View

배포 카드 (카드 보기)#

카드 보기에 있는 각 배포 카드는 다음 정보를 표시합니다:

  • 헤더: 이름, 지역 국기, 상태 배지, 그리고 현재 상태에서 사용할 수 있는 작업 버튼(준비 완료 상태일 때는 Ready, 중지 상태일 때는 Ready 상태에서 교체 및 중지, Stopped 상태일 때는 시작, 언제든지 삭제 가능)
  • 엔드포인트 URL: 엔드포인트 고유의 API 참조 링크가 포함된 복사 가능한 URL
  • 측정 항목: 요청 수(24시간), P95 지연 시간, 오류율 또는 "No traffic yet"
  • 상태 점검: 지연 시간과 수동 새로 고침 기능을 갖춘 실시간 상태 표시기
  • : Logs, Code, Predict
  • 푸터: 배포에 바인딩된 API 키 접두사와 준비 완료된 날짜
  • 상태 메시지: 배포가 실패한 경우의 실패 원인

URL, 측정 항목, 상태 확인 및 탭은 배포가 Ready 상태인 동안에만 표시됩니다. Logs 탭에는 심각도 필터링(전체 / 오류)이 포함된 최근 로그 항목이 표시됩니다. Code 탭에는 엔드포인트 URL이 포함된 Python, JavaScript, cURL 형식의 즉시 사용 가능한 코드 예제와 워크스페이스 소유자를 위한 바인딩된 API 키가 표시됩니다(Monitoring 참조). Predict 탭은 배포에서 직접 테스트할 수 있는 인라인 예측 패널을 제공합니다.

컴팩트 뷰 및 테이블 뷰

컴팩트 카드에는 국기, 이름, 도시, 상태 및 세 가지 측정 항목이 표시됩니다. 테이블 뷰는 이름, 지역, 상태, 요청 수, P95, 오류를 기준으로 정렬할 수 있으며 이름, 지역, 상태 전체 검색을 지원합니다. 두 뷰 모두 삭제 작업을 지원하며, 카드 뷰에서는 시작, 중지, 교체 작업을 사용할 수 있습니다.

모델 교체하기#

URL을 변경하지 않고 준비된 엔드포인트 뒤의 모델을 교체합니다:

  1. 배포를 Cards 뷰로 엽니다
  2. Replace model을 클릭합니다
  3. 동일한 워크스페이스에서 완료된 다른 모델을 선택합니다
  4. 선택 사항으로 배포 이름을 수정합니다
  5. Replace Model을 클릭합니다

교체 작업이 시작되는 동안 기존 모델은 계속 트래픽을 처리합니다. 교체가 완료되면 트래픽이 새 모델로 이동합니다. 배포 ID, URL, 지역, API 키는 유지되며, 표시 이름은 새 이름을 입력할 때만 변경됩니다. 교체가 실패하면 이전 모델과 이름이 그대로 활성 상태로 유지됩니다.

모델을 교체하려면 다음 조건을 모두 충족해야 하며, 그렇지 않으면 요청이 거부됩니다:

  • 배포가 Ready 상태이며 진행 중인 다른 수명 주기 작업이 없음
  • 교체할 모델에 가중치가 있고 배포와 동일한 워크스페이스에 속함
  • 교체할 모델이 현재 이미 배포된 모델이 아님
엔드포인트당 하나의 모델

교체 시 배포에서 이전 모델이 제거됩니다. 각 엔드포인트는 하나의 모델을 서비스하므로, 두 모델을 동시에 사용해야 할 때는 다른 배포를 생성하십시오.

배포 상태#

상태설명
생성 중(Creating)배포가 설정되는 중입니다
배포 중(Deploying)컨테이너가 시작되는 중입니다
준비 완료(Ready)엔드포인트가 활성화되어 요청을 수락하고 있습니다
중지 중(Stopping)엔드포인트가 종료되는 중입니다
중지됨(Stopped)엔드포인트가 일시 중지되었으며 사용할 수 없습니다.
실패함(Failed)배포 실패(오류 메시지 참조)

엔드포인트 URL#

각 엔드포인트는 다음과 같은 고유한 URL을 가집니다:

https://predict-<deployment-id>-<hash>-<region>.a.run.app

Ultralytics Platform Deployment Card Endpoint Url With Copy Button 복사 버튼을 클릭하여 URL을 복사합니다. 문서 아이콘을 클릭하여 엔드포인트 고유의 API 참조를 엽니다. 엔드포인트는 다음 경로를 제공합니다:

경로메서드설명
/predictPOST추론 실행; 배포 API 키 필요
/healthGET서비스 상태 및 캐시된 모델 수를 보고하는 라이브니스(liveness) 확인
/GET배포된 서비스에 대한 상태 요약
/docsGET이 배포, 모델, 지역에 대해 생성된 대화형 API 참조

수명 주기 관리#

엔드포인트 상태 제어:

graph LR
    R[Ready]:::out -->|Stop| S[Stopped]:::extern
    S -->|Start| R
    R -->|Delete| D[Deleted]:::error
    S -->|Delete| D

    classDef out fill:#9C27B0,color:#fff
    classDef error fill:#F44336,color:#fff
    classDef extern fill:#607D8B,color:#fff
작업설명
시작중지된 엔드포인트 다시 시작
중지엔드포인트 일시 중지
Delete엔드포인트 영구 삭제

엔드포인트 중지#

요청을 수락하지 않도록 하려면 엔드포인트를 중지합니다:

  1. 배포 카드에서 일시 중지 아이콘을 클릭하십시오
  2. 엔드포인트 상태가 "중지 중"에서 "중지됨"으로 변경됩니다

중지된 엔드포인트:

  • 요청을 수락하지 않으며, 측정 항목이나 상태 정보를 보고하지 않습니다.
  • URL, 지역, 바인딩된 API 키가 유지되며 언제든지 다시 시작할 수 있습니다.
  • 플랜의 배포 할당량에 계속산되므로 슬롯을 확보하려면 엔드포인트를 삭제하세요.

엔드포인트 삭제#

엔드포인트를 영구적으로 제거하려면:

  1. 배포 카드에서 삭제(휴지통) 아이콘을 클릭하십시오
  2. 대화 상자에서 삭제를 확인하십시오
영구적인 작업

삭제는 즉시 영구적으로 이루어지며, 배포는 휴지통으로 이동하지 않습니다. 엔드포인트를 삭제하면 해당 서비스가 제거되고 배포 할당량의 슬롯이 확보됩니다. 언제든지 새 엔드포인트를 생성할 수 있지만, 새로운 URL이 부여됩니다.

모델이나 프로젝트가 영구적으로 삭제되거나, 휴지통에 버려진 모델 또는 프로젝트가 보관 기간 만료에 도달했을 때도 배포가 제거됩니다.

엔드포인트 사용#

인증#

각 배포는 모델을 소유한 워크스페이스의 단일 API 키에 바인딩됩니다. 요청에 해당 키를 포함하세요:

Authorization: Bearer YOUR_API_KEY

엔드포인트는 생성 시 바인딩된 키만 수락하므로 다른 어떤 키도 이를 열 수 없습니다. 동일한 워크스페이스 내의 다른 활성 키조차도 불가능합니다. 바인딩될 키를 제어하려면 워크스페이스 소유자의 키로 인증된 API를 통해 배포하세요. 해당 정확한 키가 바인딩되며 이미 보유하고 있는 키입니다. 그 외의 방법(플랫폼 UI 또는 팀원의 권한으로 인증된 API 호출)으로 생성된 배포는 소유 워크스페이스의 활성 키 중 하나를 자동으로 바인딩합니다. 배포 카드 푸터에 표시되는 키 접두사로 이를 식별하고, 소유자만 키 값을 볼 수 있으므로 워크스페이스 소유자에게 값을 문의하세요(API Keys 참조). 바인딩된 키가 없는 팀원도 브라우저의 플랫폼 예측 프록시를 통해 추론을 실행할 수 있습니다.

바인딩된 키를 삭제해도 엔드포인트가 잠기지 않음

바인딩된 API 키를 삭제하거나 비활성화해도 엔드포인트에 대한 직접적인 접근 권한은 취소되지 않습니다. 키 문자열을 가지고 있는 사람이면 누구나 여전히 엔드포인트 URL을 호출할 수 있습니다. 문제가 발생하는 부분은 키를 실시간으로 확인하고 더 이상 사용할 수 없음을 보고하는 플랫폼 예측 프록시입니다. 접근 권한을 완전히 취소하려면 배포를 중지하거나 삭제하세요. 키를 회전한 후에는 새 키가 바인딩되도록 엔드포인트를 다시 생성해야 합니다.

직접 엔드포인트 요청#

프로덕션 요청을 배포 카드에 표시된 URL로 직접 전송하세요. 이 요청은 플랫폼 API 속도 제한기를 거치지 않으므로 분당 20회의 예측 제한이 적용되지 않습니다. 단, 엔드포인트 자체의 용량 한계는 여전히 존재합니다:

  • 각 엔드포인트는 단일 인스턴스로 서빙되며 한 번에 제한된 수의 요청을 처리합니다.
  • 즉시 처리할 수 없는 요청은 429 헤더와 함께 Retry-After을 반환합니다.
  • 단일 요청은 최대 1시간 동안 실행될 수 있으므로 비디오 추론이 완료될 수 있습니다.
  • 1 KB보다 큰 응답은 gzip으로 압축되며, 교차 출처(CORS) 브라우저 요청이 허용됩니다.

요청 예시#

import requests

# Deployment endpoint
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())

요청 파라미터#

파라미터유형기본값범위설명
file파일--이미지 또는 비디오 파일 (source이(가) 설정된 경우 제외 필수)
conf부동 소수점(float)0.250.01 – 1.0최소 신뢰도 임계값
iou부동 소수점(float)0.70.0 – 0.95NMS IoU 임계값
imgsz정수(int)64032 – 1280입력 이미지 크기 (픽셀 단위)
normalizeboolfalse-바운딩 박스 좌표를 0 – 1 범위로 반환
decimals정수(int)50 – 10좌표 값에 대한 소수점 정밀도
bits정수(int)88, 12, 16깊이 맵 양자화, 깊이 모델 전용
source문자열(string)--이미지 URL 또는 base64 문자열 (file의 대안)

bits이 반환된 깊이 맵(depth map)을 변경하는 방식과 이를 디코딩하는 방법에 대해서는 Depth responses를 참조하세요.

비디오 추론

전용 엔드포인트는 file 파라미터를 통해 이미지와 비디오를 모두 수용합니다.

  • 이미지 형식 (최대 100 MB): AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WEBP
  • 비디오 형식 (최대 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV

각 비디오 프레임은 개별적으로 처리되며 결과는 프레임별로 반환됩니다. file 대신 source 파라미터를 통해 공개 이미지 URL이나 base64로 인코딩된 이미지를 전달할 수도 있습니다. 용량을 초과하는 업로드는 413 오류와 함께 거부됩니다.

응답 형식#

태스크별 필드가 포함된 shared inference와 동일합니다.

FAQ#

  • 엔드포인트 제한은 플랜에 따라 다릅니다:

    • Free: 최대 3개 배포
    • Pro: 최대 10개 배포
    • Enterprise: 무제한 배포

    각 모델은 플랜 할당량 내에서 여러 지역에 계속 배포할 수 있습니다. 할당량은 모델을 소유한 워크스페이스를 기준으로 계산되므로, 공유 모델을 배포하는 팀원은 소유자의 허용량을 소모하게 됩니다. 한도에 도달하면 기존 배포를 먼저 삭제하라는 오류가 반환됩니다.

  • 아니요, 지역은 고정되어 있습니다. 지역을 변경하려면 다음을 수행하십시오:

    1. 기존 엔드포인트 삭제
    2. 원하는 지역에 새 엔드포인트 생성

    새 엔드포인트에는 새로운 URL이 부여됩니다. 엔드포인트 뒤의 모델만 변경하려면 URL을 유지하는 model replacement를 사용하세요.

  • 글로벌 커버리지를 위해 다음을 수행하십시오:

    1. 여러 지역에 배포
    2. 로드 밸런서 또는 DNS 라우팅 사용
    3. 사용자를 가장 가까운 엔드포인트로 라우팅
  • 콜드 스타트 시간은 모델의 특성과 엔드포인트가 0으로 축소(scale-to-zero)되었는지 여부에 따라 다릅니다. 플랫폼은 유휴 엔드포인트가 비정상 상태로 보고되기 전에 시작할 수 있도록 추가 시간을 허용합니다. 트래픽 폭주 전에 배포 카드에서 상태 확인을 실행하면 인스턴스가 미리 예열됩니다.

  • 아니요. 각 배포는 배포 카드에 표시된 생성된 엔드포인트 URL을 통해 트래픽을 처리하며, 이 URL은 모델 교체를 포함하여 배포 수명 동안 안정적으로 유지됩니다.

댓글