Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

직접 모델 배포 생성과 운영

직접 모델 배포는 모델 리소스에서 시작하는 온라인 HTTP 엔드포인트입니다. 모델 함수를 통해 Workshop, Slate와 다른 업무 앱에서 호출하거나 외부에서 REST API를 사용할 수 있습니다. Modeling Objective의 제출 및 릴리스 절차 없이 모델 브랜치의 새 버전을 반영하는 경로입니다.

생성과 질의

모델의 Live deployment > Overview에서 Start deployment를 선택합니다. 실행된 뒤 Query live deployment를 펼쳐 입력을 작성하고 Run으로 질의할 수 있습니다.

실행 및 크기 조정

Live deployment > Configuration에서 scaling, resources, environment variables와 sources를 설정하고 Update로 저장합니다.

직접 배포는 최소 복제본을 0으로 설정할 수 있습니다. 용량이 75%에 도달하면 구성한 최대 복제본 수까지 복제본을 추가합니다. 온라인 요청 없이 30분이 지나면 자동 축소할 수도 있습니다. 최소 및 최대 범위는 사용자가 설정합니다.

직접 배포의 실행 기반은 Compute Modules입니다. Modeling Objective 온라인 배포도 최소 및 최대 복제본 범위로 요청량에 따라 확장할 수 있지만 두 배포 방식의 기능 및 사용량 산정은 구분합니다.

주간 일정 재정의

Configuration의 Scaling에서 Enable schedule overrides를 켜면 특정 요일 및 시간대에 다른 최소 및 최대 복제본 수를 적용할 수 있습니다.

설정의미
Override minimum replicas예약 기간의 최소 복제본 수입니다.
Override maximum replicas예약 기간의 최대 복제본 수입니다.
Active on적용할 요일입니다.
Time range시작 및 종료 시각과 시간대입니다.

Update로 저장합니다. 예약 기간 밖에는 기본 복제본 구성을 사용합니다. 현재 재정의 일정은 하나만 구성할 수 있습니다.

함수 게시

Overview의 Function 영역에서 Create function을 선택하고 이름을 지정합니다. 브랜치마다 함수 하나를 등록할 수 있습니다. 모델 API를 Functions 자료형으로 감싼 함수이며 함수 저장소에 가져와 업무 로직을 추가하거나 앱에서 직접 사용할 수 있습니다.

함수 버전과 API 변경을 확인합니다. 전역 브랜치에서는 브랜치 로컬 함수 버전을 게시하고 시험할 수 있습니다. 모델, 기본 브랜치 배포와 게시 함수를 Marketplace 제품으로 배포하는 경로도 있습니다.

새 모델 버전 반영

모델 브랜치마다 직접 배포 하나를 둘 수 있습니다. 해당 브랜치에 새 모델 버전을 게시하면 배포를 중단 없이 새 버전으로 업그레이드합니다. 새 버전 게시만으로 배포를 바꾸고 싶지 않으면 Modeling Objective의 릴리스 기반 배포를 사용합니다.

함수가 있으면 새 함수 버전도 자동 생성합니다. 단, 모델이 Marketplace 설치의 출력으로 남아 있다면 기본 브랜치 새 모델은 배포만 갱신하고 함수 버전은 제품 설치 및 업그레이드에서 관리합니다. 서비스 업그레이드와 별개로 모델 API를 바꾼 경우에는 소비 함수 및 앱도 맞춰 갱신해야 합니다.

입력 자료형

직접 배포는 선언한 모델 API에 맞게 입력을 변환하고 필수 필드를 요구합니다. int 입력에 3.6을 주면 소수 부분을 버리고 3으로 전달합니다. 날짜와 타임스탬프도 predict 전에 변환하며 타임스탬프는 ISO 8601 문자열을 받습니다.

Modeling Objective 온라인 배포는 이런 자동 자료형 변환을 지원하지 않습니다. 두 경로에 같은 입력을 보낼 때 이 차이를 고려합니다.

로그, 지표와 프로파일링

Logs에서는 로그를 스트리밍하고 필터링하거나 내려받을 수 있습니다. 이전 추론 요청의 run history도 확인합니다.

Metrics에서는 시간 범위를 선택하여 scaling, job, container와 replica 지표를 봅니다.

Query live deployment의 Run 옆 메뉴에서 Run with Flamegraph를 선택하면 Python 함수별 실행 시간을 볼 수 있습니다. 컨테이너 모델과 오류를 반환한 요청에서는 flame graph를 사용할 수 없습니다.

모니터링과 사용 관계

Monitoring View에서 Live deployment 리소스 종류와 Single 범위를 사용합니다. heartbeat, 복제본 프로비저닝, 작업 대기열 깊이, CPU 사용량, 메모리 부족 재시작과 복제본 응답성을 다루는 온라인 배포 규칙 일곱 개를 사용할 수 있습니다.

모델에서 Open in Workflow Lineage를 선택하거나 macOS의 Cmd+I 및 Windows의 Ctrl+I를 사용하면 trained model 노드로 사용 관계를 봅니다. 함수 의존성, 모델 API와 질의 및 배포 상태, 로그와 지표에 접근할 수 있습니다.

Modeling Objective 배포와 비교

기능직접 모델 배포Modeling Objective 온라인 배포
모델 브랜치의 새 버전 게시만으로 자동 갱신지원릴리스 단계가 필요
자동 수평 확장지원지원
입력 자동 자료형 변환지원미지원
주간 복제본 일정 재정의지원미지원
HTTP 엔드포인트V2만 지원V1 및 V2 지원. V1은 종료 예정
전용 모델 추론 이력 데이터셋미지원지원
목표의 제출물 사전 검토미지원지원
목표의 자동 모델 평가미지원지원하는 모델에서 가능
Code Repositories 학습 모델지원지원
Code Workspaces 학습 모델지원지원
컨테이너 이미지 모델지원지원
외부 호스팅 모델 리소스미지원지원
Spark 모델 어댑터 API 타입미지원실험적 로컬 Spark 지원
Marketplace 배포기본 브랜치의 직접 배포에 지원미지원

직접 배포의 구성 변경은 별도의 전역 브랜치 승인 절차로 보호할 수 있습니다. 외부 호스팅 모델은 목표의 온라인 배포에 사용할 수 있지만 목표의 자동 평가 및 배치 배포에서는 제외됩니다. Marketplace는 기본 브랜치만 지원하고 외부 소스가 구성된 직접 배포는 패키징하지 않습니다. 직접 배포의 Logs/run history와 목표의 추론 이력 데이터셋은 별도 기능입니다.