다음을 통해 공유


서버리스 API로 모델 배포

이 문서에서는 종량제 토큰 기반 청구를 사용하여 모델 카탈로그에서 모델을 서버리스 API로 배포하는 방법을 알아봅니다.

Important

미리 보기에 있는 모델은 모델 카탈로그의 모델 카드에서 미리 보기표시됩니다.

모델 카탈로그 특정 모델은 종량제 청구를 사용하여 서버리스 API로 배포할 수 있습니다. 이 종류의 배포를 활용하면 조직에 필요한 엔터프라이즈 보안 및 규정 준수를 유지하면서 구독에서 모델을 호스트하지 않고 API로 모델을 사용할 수 있습니다. 이 배포 옵션에는 구독으로부터의 할당량이 필요하지 않습니다.

이 문서에서는 설명을 위해 Meta Llama 모델 배포를 사용합니다. 그러나 동일한 단계를 사용하여 서버리스 API 배포에 사용할 수 있는 모델 카탈로그의 모델을 배포할 수 있습니다.

필수 조건

  • 유효한 결제 방법을 사용하는 Azure 구독입니다. 무료 또는 평가판 Azure 구독은 작동하지 않습니다. Azure 구독이 없으면 유료 Azure 계정을 만들어 시작합니다.

  • Azure AI 스튜디오 허브.

  • Azure AI 스튜디오 프로젝트.

  • Azure RBAC(Azure 역할 기반 액세스 제어)는 Azure AI Studio의 작업에 대한 액세스 권한을 부여하는 데 사용됩니다. 이 문서의 단계를 수행하려면 사용자 계정에 리소스 그룹에 대한 Azure AI 개발자 역할이 할당되어야 합니다. 권한에 대한 자세한 내용은 Azure AI Studio의 역할 기반 액세스 제어를 참조하세요.

  • Azure AI Studio를 사용하려면 다음 소프트웨어를 설치해야 합니다.

    호환되는 웹 브라우저를 사용하여 Azure AI Studio를 탐색할 수 있습니다.

모델 카탈로그에서 모델 및 모델 ID 찾기

  1. Azure AI 스튜디오에 로그인합니다.

  2. Azure Marketplace를 통해 제공되는 모델의 경우 계정에 리소스 그룹에 대한 Azure AI 개발자 역할 권한이 있는지 또는 모델 제품을 구독하는 데 필요한 권한을 충족하는지 확인합니다.

    Microsoft 이외의 공급자가 제공하는 모델(예: Llama 및 Mistral 모델)은 Azure Marketplace를 통해 요금이 청구됩니다. 이러한 모델의 경우 프로젝트에서 특정 모델 제품을 구독해야 합니다. 이 요구 사항은 Microsoft에서 제공하는 모델(예: Phi-3 모델)의 경우 청구가 다르게 수행되므로 적용되지 않습니다. 모델 카탈로그의 서버리스 모델 배포에 대한 청구에 대한 자세한 내용은 서버리스 API 청구를 참조하세요.

  3. 왼쪽 사이드바에서 모델 카탈로그를 선택하고 배포하려는 모델의 모델 카드를 찾습니다. 이 문서에서는 Meta-Llama-3-8B-Instruct 모델을 선택합니다.

    1. Azure CLI, Python 또는 ARM을 사용하여 모델을 배포하는 경우 모델 ID를 복사합니다.

      Important

      모델 ID를 복사할 때 버전을 포함하지 마세요. 서버리스 API 엔드포인트는 항상 사용 가능한 모델의 최신 버전을 배포합니다. 예를 들어, 모델 ID가 azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/3인 경우 azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct을(를) 복사합니다.

    모델의 세부 정보 페이지를 보여 주는 스크린샷.

다음 섹션에서는 프로젝트를 모델 제품에 구독하는 단계를 설명합니다. Microsoft 모델을 배포하는 경우 이 섹션을 건너뛰고 서버리스 API 엔드포인트에 모델 배포로 이동할 수 있습니다.

모델 제품에 프로젝트 구독

서버리스 API 엔드포인트는 Microsoft 제공 모델과 타사 제공 모델을 모두 배포할 수 있습니다. Microsoft 모델(예: Phi-3 모델)의 경우 Azure Marketplace 구독을 만들 필요가 없으며 예측을 사용하도록 서버리스 API 엔드포인트에 직접 배포할 수 있습니다. 타사 모델의 경우 먼저 구독을 만들어야 합니다. 프로젝트에 모델을 처음 배포하는 경우 Azure Marketplace에서 제공하는 특정 모델 제품에 대해 프로젝트를 구독해야 합니다. 각 프로젝트에는 지출을 제어하고 모니터링할 수 있는 모델의 특정 Azure Marketplace 제품에 대한 자체 구독이 있습니다.

Phi-3 모델 제품군에서 모델을 배포하는 경우에는 이 단계를 건너뜁니다. 직접 서버리스 API 엔드포인트에 모델을 배포합니다.

참고 항목

Azure Marketplace를 통해 제공되는 모델은 특정 지역의 서버리스 API 엔드포인트에 배포하는 데 사용할 수 있습니다. 서버리스 API 배포의 모델 및 지역 가용성을 확인하여 사용 가능한 모델 및 지역을 확인합니다. 필요한 항목이 목록에 없으면 지원되는 지역의 작업 영역에 배포한 다음 다른 작업 영역에서 서버리스 API 엔드포인트를 사용할 수 있습니다.

  1. 모델의 마켓플레이스 구독을 만듭니다. 구독을 만들면 모델 제품과 관련된 사용 약관에 동의하게 됩니다.

    1. 모델의 세부 정보 페이지에서 배포를 선택합니다. 배포 옵션 창이 열리면 서버리스 API 배포와 관리형 컴퓨팅을 사용하는 배포 중에서 선택할 수 있습니다.

      참고 항목

      서버리스 API 배포를 통해서만 배포할 수 있는 모델의 경우 모델의 세부 정보 페이지에서 배포를 선택한 직후 서버리스 API 배포 마법사가 열립니다.

    2. Azure AI 콘텐츠 보안이 포함된 서버리스 API(미리 보기)를 선택하여 서버리스 API 배포 마법사를 엽니다.

    3. 모델을 배포하려는 프로젝트를 선택합니다. 서버리스 API 모델 배포 서비스를 사용하려면 프로젝트가 특정 모델에 대해 서버리스 배포가 지원되는 지역 중 하나에 속해야 합니다.

      서버리스 API 옵션을 사용하여 모델을 배포하는 방법을 보여 주는 스크린샷.

    4. 이 프로젝트에 대한 Azure Marketplace 구독이 이미 메모가 표시되면 구독이 이미 있으므로 구독을 만들 필요가 없습니다. 서버리스 API 엔드포인트에 모델 배포를 진행할 수 있습니다.

    5. 배포 마법사에서 Azure Marketplace 사용 약관에 대한 링크를 선택하여 사용 약관에 대해 자세히 알아봅니다. 또한 가격 책정 및 사용 약관 탭을 선택하여 선택한 모델의 가격 책정을 알아볼 수도 있습니다.

    6. 구독 및 배포를 선택합니다.

  2. 특정 Azure Marketplace 제공 사항에 대한 프로젝트를 구독하고 나면 이후에 동일 프로젝트에서 동일 제품을 배포할 때 다시 구독할 필요가 없습니다.

  3. 언제든지 프로젝트가 현재 구독된 모델 제품을 볼 수 있습니다.

    1. Azure Portal로 이동합니다.

    2. 프로젝트가 속한 리소스 그룹으로 이동합니다.

    3. 형식 필터에서 SaaS를 선택합니다.

    4. 현재 구독 중인 모든 서비스가 표시됩니다.

    5. 세부 정보를 보려면 리소스를 선택합니다.

서버리스 API 엔드포인트에 모델 배포

Microsoft 이외의 모델에 대한 구독을 만든 후에는 연결된 모델을 서버리스 API 엔드포인트에 배포할 수 있습니다. Microsoft 모델(예: Phi-3 모델)의 경우 구독을 만들 필요가 없습니다.

서버리스 API 엔드포인트는 모델을 구독에서 호스팅하지 않고 모델을 API로 사용하는 동시에 조직에 필요한 엔터프라이즈 보안 및 규정 준수를 유지하는 방법을 제공합니다. 이 배포 옵션에는 구독으로부터의 할당량이 필요하지 않습니다.

이 섹션에서는 meta-llama3-8b-qwerty라는 이름의 엔드포인트를 만듭니다.

  1. 서버리스 엔드포인트 만들기

    1. 모델 제품을 구독할 필요가 없는 Microsoft 모델을 배포하려면 다음을 수행합니다.

      1. 배포를 선택한 다음, Azure AI 콘텐츠 보안이 포함된 서버리스 API(미리 보기)를 선택하여 배포 마법사를 엽니다.
      2. 모델을 배포하려는 프로젝트를 선택합니다. 모든 지역이 지원되는 것은 아닙니다.
    2. 또는 모델 구독이 필요한 Microsoft 이외의 모델의 경우, 이전 섹션에서 모델 제품에 프로젝트를 구독했다면 계속해서 배포를 선택합니다. 또는 계속 배포를 선택합니다(배포 마법사에 이 프로젝트에 대한 Azure Marketplace 구독이 이미 있음이라는 메모가 있는 경우).

      이미 해당 제품을 구독하고 있는 프로젝트를 보여 주는 스크린샷.

    3. 배포에 이름을 지정합니다. 이 이름은 배포 API URL의 일부가 됩니다. 이 URL은 각 Azure 지역에서 고유해야 합니다.

      만들려는 배포 이름을 지정하는 방법을 보여 주는 스크린샷.

      콘텐츠 필터(미리 보기) 옵션은 기본적으로 사용하도록 설정되어 있습니다. 증오, 자해, 성적, 폭력적인 콘텐츠와 같은 유해한 콘텐츠를 감지하려면 서비스에 대한 기본 설정을 그대로 둡니다. 콘텐츠 필터링(미리 보기)에 대한 자세한 내용은 Azure AI Studio의 콘텐츠 필터링을 참조 하세요.

    4. 배포를 선택합니다. 배포가 준비되고 배포 페이지로 리디렉션될 때까지 기다립니다.

  2. 언제든지 프로젝트에 배포된 엔드포인트를 볼 수 있습니다.

    1. 프로젝트로 이동합니다.

    2. 배포 섹션을 선택합니다.

    3. 서버리스 API 엔드포인트가 표시됩니다.

  3. 만들어진 엔드포인트는 권한 부여를 위해 키 인증을 사용합니다. 특정 엔드포인트와 연결된 키를 가져오려면 다음 단계를 따릅니다.

    배포 페이지로 돌아가 배포를 선택하고 엔드포인트의 대상 URI를 기록해 둡니다. 이를 사용하여 배포를 호출하고 예측을 생성합니다.

    참고 항목

    Azure Portal을 사용할 때 서버리스 API 엔드포인트는 기본적으로 리소스 그룹에 표시되지 않습니다. 리소스 그룹에 표시하려면 숨겨진 형식 표시 옵션을 사용합니다.

  4. 이제 엔드포인트를 사용할 준비가 되었습니다.

  5. 다른 프로젝트 또는 허브에서 이 배포를 사용해야 하거나 프롬프트 흐름을 사용하여 지능형 애플리케이션을 빌드하려는 경우 서버리스 API 배포에 대한 연결을 만들어야 합니다. 새 프로젝트 또는 허브에서 기존 서버리스 API 엔드포인트를 구성하는 방법을 알아보려면 다른 프로젝트 또는 프롬프트 흐름 배포된 서버리스 API 엔드포인트 사용을 참조하세요.

    배포가 배포된 동일한 프로젝트 또는 허브에서 프롬프트 흐름을 사용하는 경우에도 연결을 만들어야 합니다.

서버리스 API 엔드포인트 사용

서버리스 API 엔드포인트의 Azure Machine Learning 및 Azure AI 스튜디오에 배포된 모델은 기본 모델에 대한 공통 기능 집합을 공개하고 개발자가 균일하고 일관된 방식으로 다양한 모델 집합의 예측을 사용하는 데 사용할 수 있는 Azure AI 모델 유추 API를 지원합니다.

이 API의 기능애플리케이션 빌드 시 API를 사용할 수 있는 방법에 대해 자세히 알아봅니다.

네트워크 격리

서버리스 API로 배포된 모델의 엔드포인트는 배포가 존재하는 프로젝트가 있는 AI 스튜디오 허브의 PNA(공용 네트워크 액세스) 플래그 설정을 따릅니다. MaaS 엔드포인트를 보호하려면 AI 스튜디오 허브에서 PNA 플래그를 사용하지 않도록 설정합니다. 허브에 프라이빗 엔드포인트를 사용하여 클라이언트에서 엔드포인트로의 인바운드 통신을 보호할 수 있습니다.

Azure AI 스튜디오 허브에 대한 PNA 플래그를 설정하려면 다음을 수행합니다.

  1. Azure Portal로 이동합니다.
  2. 허브가 속한 리소스 그룹을 검색하고 이 리소스 그룹에 나열된 리소스에서 Azure AI 허브를 선택합니다.
  3. 왼쪽 메뉴의 허브 개요 페이지에서 설정>네트워킹을 선택합니다.
  4. 퍼블릭 액세스 탭에서 공용 네트워크 액세스 플래그에 대한 설정을 구성할 수 있습니다.
  5. 변경 내용을 저장합니다. 변경 내용을 전파하는 데 최대 5분이 걸릴 수 있습니다.

엔드포인트 및 구독 삭제

모델 구독 및 엔드포인트를 삭제할 수 있습니다. 모델 구독을 삭제하면 연결된 엔드포인트가 비정상이 되고 사용할 수 없게 됩니다.

서버리스 API 엔드포인트를 삭제하려면 다음을 수행합니다.

  1. Azure AI Studio로 이동합니다.

  2. 구성 요소>배포로 이동합니다.

  3. 삭제할 배포를 엽니다.

  4. 삭제를 선택합니다.

연결된 모델 구독을 삭제하려면 다음을 수행합니다.

  1. Azure Portal로 이동

  2. 프로젝트가 속한 리소스 그룹으로 이동합니다.

  3. 형식 필터에서 SaaS를 선택합니다.

  4. 삭제하려는 구독을 선택합니다.

  5. 삭제를 선택합니다.

서버리스 API 엔드포인트로 배포된 모델에 대한 비용 및 할당량 고려 사항

할당량은 배포당 관리됩니다. 각 배포에는 분당 200,000개의 토큰과 분당 1,000개의 API 요청의 속도 제한이 있습니다. 그러나 현재는 프로젝트별 모델당 하나의 배포로 제한됩니다. 현재 속도 제한이 시나리오에 충분하지 않은 경우 Microsoft Azure 지원에 문의하세요.

Microsoft 모델 비용

Microsoft 모델(예: Phi-3 모델)을 서버리스 API 엔드포인트로 배포할 때 배포 마법사의 가격 책정 및 사용 조건 탭에서 가격 책정 정보를 확인할 수 있습니다.

Microsoft 이외의 모델 비용

서버리스 API 엔드포인트로 배포된 Microsoft 이외의 모델은 Azure Marketplace를 통해 제공되며 Azure AI Studio와 통합되어 사용할 수 있습니다. 이러한 모델을 배포하거나 미세 조정하는 경우 Azure Marketplace 가격 책정을 찾을 수 있습니다.

프로젝트가 Azure Marketplace에서 지정된 제품을 구독할 때마다 사용에 연결된 비용을 추적하기 위해 새 리소스가 만들어집니다. 유추 및 미세 조정과 관련된 비용을 추적하는 데는 동일한 리소스가 사용되지만 여러 미터를 사용하여 각 시나리오를 독립적으로 추적할 수 있습니다.

비용을 추적하는 방법에 대한 자세한 내용은 Azure Marketplace를 통해 제공되는 모델에 대한 비용 모니터링을 참조하세요.

다양한 모델 제품 및 관련 미터에 해당하는 다양한 리소스를 보여 주는 스크린샷.

모델 제품을 구독하는 데 필요한 권한

Azure RBAC(Azure 역할 기반 액세스 제어)는 Azure AI Studio의 작업에 대한 액세스 권한을 부여하는 데 사용됩니다. 이 문서의 단계를 수행하려면 사용자 계정에 Azure 구독에 대한 소유자, 기여자 또는 Azure AI 개발자 역할이 할당되어야 합니다. 또는 계정에 다음 권한이 있는 사용자 지정 역할을 할당할 수 있습니다.

  • Azure 구독에서 작업 영역을 Azure Marketplace 제품에 등록하려면(각 작업 영역에 대해 제품별로 한 번씩) 다음을 수행합니다.

    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • 리소스 그룹에서 SaaS 리소스를 만들고 사용하려면 다음을 수행합니다.

    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write
  • 작업 영역에서 엔드포인트를 배포하려면 다음을 수행합니다(Azure Machine Learning 데이터 과학자 역할에는 이미 이러한 권한이 포함되어 있음).

    • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
    • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

권한에 대한 자세한 내용은 Azure AI Studio의 역할 기반 액세스 제어를 참조하세요.