프로덕션에서 유추를 위한 엔드포인트

적용 대상:Azure CLI ml extension v2(현재)Python SDK azure-ai-ml v2(현재)

기계 학습 모델 또는 파이프라인을 학습하거나 모델 카탈로그에서 적합한 모델을 찾은 후에는 다른 사용자가 유추에 사용할 수 있도록 프로덕션에 배포해야 합니다. 유추는 출력을 생성하기 위해 기계 학습 모델 또는 파이프라인에 새 입력 데이터를 적용하는 프로세스입니다. 이러한 출력은 일반적으로 "예측"이라고 하지만, 유추는 분류 및 클러스터링과 같은 다른 기계 학습 작업에 대한 출력을 생성할 수 있습니다. Azure Machine Learning endpoints 사용하여 유추를 수행합니다.

엔드포인트 및 배포

엔드포인트는 모델을 요청하거나 호출하는 데 사용할 수 있는 안정적이고 지속성 있는 URL입니다. 엔드포인트에 필요한 입력을 제공하고 출력을 받습니다. Azure Machine Learning 표준 배포, 온라인 엔드포인트 및 일괄 처리 엔드포인트를 지원합니다. 엔드포인트는 다음을 제공합니다.

  • 안정적이고 지속성 있는 URL(예: endpoint-name.region.inference.ml.azure.com)
  • 인증 메커니즘
  • 권한 부여 메커니즘

배포는 실제 유추를 수행하는 모델 또는 구성 요소를 호스트하는 데 필요한 리소스 및 컴퓨팅 집합입니다. 엔드포인트에는 배포가 포함됩니다. 온라인 및 일괄 처리 엔드포인트의 경우 하나의 엔드포인트에 여러 배포가 포함될 수 있습니다. 배포는 독립적인 자산을 호스트하고 자산의 요구에 따라 다른 리소스를 사용할 수 있습니다. 엔드포인트에는 자신이 관리하는 모든 배포로 요청을 보낼 수 있는 라우팅 메커니즘이 있습니다.

Azure Machine Learning 일부 유형의 엔드포인트는 배포에서 전용 리소스를 사용합니다. 이러한 엔드포인트를 실행하려면 Azure 구독에 대한 컴퓨팅 할당량이 있어야 합니다. 그러나 특정 모델은 서버리스 배포를 지원하므로 구독에서 할당량을 사용하지 않을 수 있습니다. 서버리스 배포의 경우 사용량에 따라 요금이 청구됩니다.

직감

사진에서 자동차의 종류와 색을 예측하는 애플리케이션을 작업한다고 가정해 보겠습니다. 이 애플리케이션의 경우 특정 자격 증명을 가진 사용자는 URL에 대한 HTTP 요청을 수행하고 요청의 일부로 자동차 사진을 제공합니다. 그 대가로 사용자는 자동차의 유형과 색을 문자열 값으로 포함하는 응답을 받습니다. 이 시나리오에서 URL은 엔드포인트 역할을 합니다.

엔드포인트의 개념을 보여 주는 다이어그램입니다.

이제 데이터 과학자인 Alice가 애플리케이션을 구현한다고 가정합니다. Alice는 광범위한 TensorFlow 환경을 보유하고 있으며 TensorFlow Hub의 ResNet 아키텍처와 함께 Keras 순차적 분류자를 사용하여 모델을 구현하기로 결정했습니다. 모델을 테스트한 후 Alice는 결과에 만족하고 모델을 사용하여 자동차 예측 문제를 해결하기로 결정합니다. 모델은 크기 때문에 실행하려면 4코어와 8GB의 메모리가 필요합니다. 이 시나리오에서는 모델을 실행하는 데 필요한 Alice의 모델과 코드 및 컴퓨팅과 같은 리소스가 엔드포인트에서 배포를 구성합니다.

배포의 개념을 보여 주는 다이어그램입니다.

몇 달 후 조직은 조명 조건이 좋지 않은 이미지에서 애플리케이션이 제대로 수행되지 않는다는 사실을 알게 됩니다. 또 다른 데이터 과학자인 Bob은 모델이 이 요소에 대한 견고성을 구축하는 데 도움이 되는 데이터 확대 기술에 대한 전문 지식을 보유하고 있습니다. 그러나 Bob은 PyTorch를 사용하여 모델을 구현하고 PyTorch를 사용하여 새 모델을 학습하는 것을 선호합니다. Bob은 조직이 이전 모델을 사용 중지할 준비가 될 때까지 프로덕션에서 이 모델을 점진적으로 테스트하려고 합니다. 또한 새 모델은 GPU에 배포할 때 더 나은 성능을 발휘하므로 배포에 GPU를 포함해야 합니다. 이 시나리오에서는 모델을 실행하는 데 필요한 Bob의 모델 및 리소스(예: 코드 및 컴퓨팅)가 동일한 엔드포인트에서 다른 배포를 구성합니다.

여러 배포가 있는 엔드포인트의 개념을 보여 주는 다이어그램

엔드포인트: 표준 배포, 온라인 및 일괄 처리

Azure Machine Learning 표준 배포, 온라인 엔드포인트배치 엔드포인트 지원합니다.

표준 배포 및온라인 엔드포인트는 실시간 유추를 위해 설계되었습니다. 엔드포인트를 호출하면 결과가 엔드포인트의 응답에 반환됩니다. 표준 배포는 구독에서 할당량을 사용하지 않습니다. 대신 표준 청구로 요금이 청구됩니다.

배치 엔드포인트는 장기 실행 배치 추론을 위해 설계되었습니다. 일괄 처리 엔드포인트를 호출하면 실제 작업을 수행하는 일괄 처리 작업이 생성됩니다.

표준 배포, 온라인 및 일괄 처리 엔드포인트를 사용하는 경우

표준 배포:

표준 배포를 통해 대형 파운데이션 모델을 기성품으로 실시간 추론에 사용하거나, 해당 모델을 미세 조정하는 데 활용할 수 있습니다. 모든 모델을 표준 배포에 배포할 수 있는 것은 아닙니다. 다음과 같은 경우 이 배포 모드를 사용하는 것이 좋습니다.

  • 모델은 기본 모델 또는 표준 배포에 사용할 수 있는 기본 모델의 미세 조정된 버전입니다.
  • 할당량이 없는 배포를 활용할 수 있습니다.
  • 모델을 실행하는 데 사용되는 유추 스택을 사용자 지정할 필요가 없습니다.

온라인 엔드포인트:

온라인 엔드포인트를 사용하여 동기 대기 시간이 짧은 요청에서 실시간 유추를 위해 모델을 운영합니다. 다음 경우에 사용하는 것이 좋습니다.

  • 모델은 기본 모델 또는 기본 모델의 미세 조정된 버전이지만 표준 배포에서는 지원되지 않습니다.
  • 대기 시간이 짧은 요구 사항이 있습니다.
  • 모델은 비교적 짧은 시간 안에 요청에 응답할 수 있습니다.
  • 모델의 입력은 요청의 HTTP 페이로드에 적합합니다.
  • 요청 수를 늘리는 방식으로 확장해야 합니다.

일괄 처리 엔드포인트:

일괄 처리 엔드포인트를 사용하여 장기 실행 비동기 유추를 위해 모델 또는 파이프라인을 운영합니다. 다음 경우에 사용하는 것이 좋습니다.

  • 실행하는 데 시간이 더 오래 필요한 비용이 많이 드는 모델 또는 파이프라인이 있습니다.
  • 기계 학습 파이프라인을 운영하여 구성 요소를 다시 사용하려고 합니다.
  • 여러 파일에 분산된 대량의 데이터에 대해 유추를 수행해야 합니다.
  • 낮은 대기 시간 요구 사항이 없습니다.
  • 모델의 입력은 스토리지 계정 또는 Azure Machine Learning 데이터 자산에 저장됩니다.
  • 병렬 처리를 활용할 수 있습니다.

표준 배포, 온라인 및 일괄 처리 엔드포인트 비교

모든 표준 배포, 온라인 엔드포인트 및 일괄 처리 엔드포인트는 엔드포인트의 개념을 기반으로 하므로 한 엔드포인트에서 다른 엔드포인트로 쉽게 전환할 수 있습니다. 온라인 및 일괄 처리 엔드포인트는 동일한 엔드포인트에 대한 여러 배포를 관리할 수도 있습니다.

엔드포인트

다음 표에서는 엔드포인트 수준에서 표준 배포, 온라인 엔드포인트 및 일괄 처리 엔드포인트에 사용할 수 있는 다양한 기능에 대한 요약을 보여 줍니다.

기능 표준 배포 온라인 엔드포인트 일괄 처리 엔드포인트
안정적인 호출 URL
여러 배포에 대한 지원 아니요
배포의 라우팅 없음 트래픽 분할 기본값으로 전환
안전한 롤아웃을 위한 트래픽 미러링 아니요 아니요
Swagger 지원 아니요
인증 키 및 Microsoft Entra ID(미리 보기) Microsoft Entra ID
프라이빗 네트워크 지원(레거시) 아니요
관리되는 네트워크 격리 (필요한 추가 구성 참조)
고객 관리형 키 Na
비용 기준 엔드포인트당, 분당1 없음 없음

1분당 표준 배포에 소액의 요금이 부과됩니다. 토큰당 청구되는 소비와 관련된 요금은 배포 섹션을 참조하세요.

배포

다음 표에서는 배포 수준에서 표준 배포, 온라인 엔드포인트 및 일괄 처리 엔드포인트에 사용할 수 있는 다양한 기능에 대한 요약을 보여 줍니다. 이러한 개념은 엔드포인트 아래의 각 배포(온라인 및 일괄 처리 엔드포인트의 경우)에 적용되며, 표준 배포(배포 개념이 엔드포인트에 기본 제공됨)에 적용됩니다.

기능 표준 배포 온라인 엔드포인트 일괄 처리 엔드포인트
배포 유형 모델 모델 모델 및 파이프라인 구성 요소
MLflow 모델 배포 아니요, 카탈로그의 특정 모델만
사용자 지정 모델 배포 아니요, 카탈로그의 특정 모델만 예, 스크립트로 점수를 매깁니다 예, 스크립트로 점수를 매깁니다
유추 서버 2 Azure AI 모델 유추 API - Azure Machine Learning 추론 서버
-트리톤
- 사용자 지정(BYOC 사용)
일괄 추론
사용된 컴퓨팅 리소스 없음 (서버리스) 인스턴스 또는 세분화된 리소스 클러스터 인스턴스
컴퓨팅 유형 없음 (서버리스) 관리형 컴퓨팅 및 Kubernetes 관리형 컴퓨팅 및 Kubernetes
우선 순위가 낮은 컴퓨팅 Na 아니요
컴퓨팅 자원을 0으로 축소 기본 제공 아니요
컴퓨팅 자동 스케일링3 기본 제공 예, 리소스 사용 기준 예, 작업 수에 따라
과잉 용량 관리 제한 제한
비용 기준4 토큰당 배포당: 실행 중인 컴퓨팅 인스턴스 작업당: 작업에서 사용되는 컴퓨팅 인스턴스(클러스터의 최대 인스턴스 수로 제한됨)
배포의 로컬 테스트 아니요 아니요

2유추 서버 는 요청을 받아서 처리하고 응답을 만드는 서비스 기술을 나타냅니다. 또한 유추 서버는 입력 형식과 예상 출력을 결정합니다.

3자동 크기 조정 은 부하에 따라 배포의 할당된 리소스를 동적으로 확장하거나 축소하는 기능입니다. 온라인 및 일괄 처리 배포는 자동 크기 조정을 위해 다양한 전략을 사용합니다. 온라인 배포는 리소스 사용률(예: CPU, 메모리, 요청 등)에 따라 확장 및 축소되지만 일괄 처리 엔드포인트는 생성된 작업 수에 따라 확장 또는 축소됩니다.

4 온라인 및 일괄 처리 배포는 모두 사용된 리소스에 의해 청구됩니다. 온라인 배포에서 리소스는 배포 시 프로비전됩니다. 일괄 배포에서 리소스는 배포 시가 아니라 작업이 실행될 때 소비됩니다. 따라서 일괄 처리 배포 자체와 관련된 비용은 없습니다. 마찬가지로 큐에 대기된 작업도 리소스를 사용하지 않습니다.

개발자 인터페이스

엔드포인트는 조직이 Azure Machine Learning 프로덕션 수준 워크로드를 운영할 수 있도록 설계되었습니다. 엔드포인트는 강력하고 확장 가능한 리소스이며 MLOps 워크플로를 구현하는 데 가장 적합한 기능을 제공합니다.

다음과 같은 여러 개발자 도구를 사용하여 일괄 처리 및 온라인 엔드포인트를 만들고 관리할 수 있습니다.

  • Azure CLI 및 Python SDK
  • Azure Resource Manager/REST API
  • Azure Machine Learning 스튜디오 웹 포털
  • Azure 포털(IT/관리자)
  • Azure CLI 인터페이스 및 REST/ARM 인터페이스를 사용하여 CI/CD MLOps 파이프라인을 지원합니다.