프로비전된 처리량이란?

프로비전된 처리량 기능을 사용하면 배포에 필요한 처리량을 지정할 수 있습니다. 그런 다음 서비스는 필요한 모델 처리 용량을 할당하고 준비가 되었는지 확인합니다. 처리량은 배포에 대한 처리량을 나타내는 정규화된 방법인 PTU(프로비전된 처리량 단위)로 정의됩니다. 각 모델-버전 쌍에는 배포를 위해 서로 다른 양의 PTU가 필요하며 PTU당 서로 다른 양의 처리량을 제공합니다.

프로비전된 배포 유형은 무엇을 제공하나요?

  • 예측 가능한 성능: 균일한 워크로드에 대한 안정적인 최대 대기 시간 및 처리량입니다.
  • 예약된 처리 용량: 배포는 처리량을 구성합니다. 일단 배포되면 사용 여부에 관계없이 처리량을 사용할 수 있습니다.
  • 비용 절약: 처리량이 많은 워크로드는 토큰 기반 사용량에 비해 비용 절약 효과를 제공할 수 있습니다.

Azure OpenAI 배포는 특정 OpenAI 모델에 대한 관리 단위입니다. 배포는 유추를 위한 모델에 대한 고객 액세스를 제공하고 콘텐츠 조정과 같은 추가 기능을 통합합니다(콘텐츠 조정 설명서 참조).

참고 항목

PTU(프로비전된 처리량 단위) 할당량은 Azure OpenAI의 표준 할당량과 다르며 기본적으로 사용할 수 없습니다. 이 서비스에 대해 자세히 알아보려면 Microsoft 계정 팀에 문의하세요.

어떤 결과가 나왔나요?

항목 프로비전됨
이것은 무엇인가요? 기존 프로비전된 제품보다 작은 증분으로 보장된 처리량을 제공합니다. 배포에는 특정 모델 버전에 대해 일관된 최대 대기 시간이 있습니다.
누구를 위한 것인가요? 대기 시간 차이를 최소화하면서 처리량을 보장하려는 고객을 위한 것입니다.
할당량 특정 모델에 대한 프로비전된 관리 처리량 단위입니다.
대기 시간 모델에 따라 최대 대기 시간이 제한됩니다. 전체 대기 시간은 호출 형태에 영향을 미치는 요소입니다.
사용률 Azure Monitor에서 제공되는 프로비전 관리 사용률 측정입니다.
크기 예측 스튜디오 및 벤치마킹 스크립트에서 제공된 계산기입니다.

프로비전에 액세스할 어떻게 할까요? 있나요?

프로비전된 처리량을 획득하려면 Microsoft 영업/계정 팀과 상의해야 합니다. 영업/계정 팀이 없는 경우 아쉽게도 현재 프로비전된 처리량을 구매할 수 없습니다.

주요 개념

프로비전된 처리량 단위

프로비전된 처리량 단위(PTU)는 프롬프트 처리 및 완료 생성을 위해 예약하고 배포할 수 있는 모델 처리 용량의 단위입니다. 각 장치와 관련된 최소 PTU 배포, 증분 및 처리 용량은 모델 형식 및 버전에 따라 다릅니다.

배포 형식

Azure OpenAI에서 모델을 배포할 때 sku-name을 프로비전 관리되도록 설정해야 합니다. sku-capacity는 배포에 할당된 PTU 수를 할당합니다.

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyDeployment \
--model-name gpt-4 \
--model-version 0613  \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged 

할당량

프로비전된 처리량 할당량은 배포할 수 있는 총 처리량의 특정 양을 나타냅니다. Azure OpenAI Service의 할당량은 구독 수준에서 관리됩니다. 구독 내의 모든 Azure OpenAI 리소스는 이 할당량을 공유합니다.

할당량은 프로비전된 처리량 단위로 지정되며 세 가지 항목(배포 유형, 모델, 지역)에 따라 다릅니다. 할당량은 서로 바꿔 사용할 수 없습니다. 즉, GPT-35-turbo를 배포하기 위해 GPT-4 할당량을 사용할 수 없습니다. 배포 유형, 모델 또는 지역 간에 할당량을 이동하기 위해 지원 요청을 제기할 수 있지만 교환이 보장되지는 않습니다.

할당량이 배포 가능한지 확인하기 위해 모든 노력을 기울이고 있지만 할당량이 기본 용량의 사용 가능 여부를 보장하지는 않습니다. 서비스는 배포 작업 중에 용량을 할당하며 용량을 사용할 수 없는 경우 용량 부족 오류로 인해 배포가 실패합니다.

워크로드에 필요한 PTU 수 결정

PTU는 모델 처리 용량을 나타냅니다. 컴퓨터나 데이터베이스와 마찬가지로, 모델에 대한 다양한 워크로드나 요청은 기본 처리 용량을 다양한 양으로 소비합니다. 호출 형태 특성(프롬프트 크기, 생성 크기 및 호출 속도)에서 PTU로의 변환은 복잡하고 비선형적입니다. 이 프로세스를 간소화하려면 Azure OpenAI 용량 계산기를 사용하여 특정 워크로드 형태의 크기를 정할 수 있습니다.

몇 가지 개략적인 고려 사항:

  • 생성에는 프롬프트보다 더 많은 용량이 필요합니다.
  • 호출이 클수록 컴퓨팅 비용이 점점 더 높아집니다. 예를 들어, 1,000개 토큰 프롬프트 크기의 100회 호출은 프롬프트에서 100,000개 토큰의 1회 호출보다 더 적은 용량이 필요합니다. 이는 또한 이러한 호출 형태의 배포가 전체 처리량에서 중요하다는 것을 의미합니다. 일부 매우 큰 호출을 포함하는 넓은 배포의 트래픽 패턴은 평균 프롬프트 및 완료 토큰 크기가 동일한 좁은 배포보다 PTU당 처리량이 더 낮을 수 있습니다.

사용률 적용 작동 방식

프로비전된 배포는 특정 모델을 실행하기 위해 할당된 모델 처리 용량을 제공합니다. Azure Monitor의 Provisioned-Managed Utilization 메트릭은 1분 단위로 지정된 배포 사용률을 측정합니다. 프로비전-관리 배포는 수락된 호출이 일관된 모델 처리 시간으로 처리되도록 최적화되었습니다(실제 엔드투엔드 대기 시간은 호출의 특성에 따라 다름). 워크로드가 할당된 PTU 용량을 초과하면 서비스는 사용률이 100% 아래로 떨어질 때까지 429 HTTP 상태 코드를 반환합니다.

429 응답을 받으면 어떻게 해야 하나요?

429 응답은 오류가 아니지만 대신 지정된 배포가 특정 시점에 완전히 활용된다는 것을 사용자에게 알리기 위한 디자인의 일부입니다. 빠른 실패 응답을 제공함으로써 애플리케이션 요구 사항에 가장 적합한 방식으로 이러한 상황을 처리하는 방법을 제어할 수 있습니다.

응답의 retry-after-msretry-after 헤더는 다음 호출이 수락되기까지 기다려야 하는 시간을 알려 줍니다. 이 응답을 처리하기 위해 선택하는 방법은 애플리케이션 요구 사항에 따라 다릅니다. 다음은 몇 가지 고려 사항입니다.

  • 트래픽을 다른 모델, 배포 또는 환경으로 리디렉션하는 것을 고려할 수 있습니다. 이 옵션은 429 신호를 받는 즉시 조치를 취할 수 있으므로 대기 시간이 가장 짧은 솔루션입니다.
  • 호출당 대기 시간이 길어도 괜찮다면 클라이언트 쪽 다시 시도 논리를 구현합니다. 이 옵션은 PTU당 최대 처리량을 제공합니다. Azure OpenAI 클라이언트 라이브러리에는 다시 시도 처리를 위한 기본 제공 기능이 포함되어 있습니다.

서비스는 429를 보낼 시기를 어떻게 결정하나요?

누수 버킷 알고리즘의 변형을 사용하여 트래픽의 버스트를 허용하면서 사용률을 100% 미만으로 유지합니다. 개략적인 논리는 다음과 같습니다.

  1. 각 고객은 배포 시 활용할 수 있는 용량이 정해져 있습니다.

  2. 요청이 있을 때:

    a. 현재 사용률이 100%를 초과하면 서비스는 사용률이 100% 미만이 될 때까지의 시간으로 설정된 retry-after-ms 헤더와 함께 429 코드를 반환합니다.

    b. 그렇지 않으면 서비스는 프롬프트 토큰과 호출에 지정된 max_tokens를 결합하여 요청을 처리하는 데 필요한 사용량의 증분 변화를 예상합니다. max_tokens 매개 변수가 지정되지 않은 경우 서비스는 값을 예상합니다. 이 예측은 실제 생성된 토큰의 수가 적을 때 예상보다 낮은 동시성을 초래할 수 있습니다. 동시성을 높이려면 max_tokens 값이 실제 생성 크기에 최대한 가까워야 합니다.

  3. 요청이 완료되면 이제 호출에 대한 실제 컴퓨팅 비용을 알 수 있습니다. 정확한 계산을 보장하기 위해 다음 논리를 사용하여 사용률을 수정합니다.

    a. 실제 >이 예상된 경우 배포 사용률 b에 차이가 추가됩니다. 실제 <이 예상된 경우 차이가 차감됩니다.

  4. 전체 사용률은 배포된 PTU 수에 따라 지속적인 비율로 감소합니다.

참고 항목

사용률이 100%에 도달할 때까지 호출이 수락됩니다. 짧은 기간에는 100%를 약간 넘는 버스트가 허용될 수 있지만 시간이 지나면 트래픽 사용률이 100%로 제한됩니다.

Diagram showing how subsequent calls are added to the utilization.

내 배포에서 동시 호출 수는 몇 개인가요?

수행할 수 있는 동시 호출 수는 각 호출의 셰이프(프롬프트 크기, max_token 매개 변수 등)에 따라 달라집니다. 서비스는 사용률이 100%에 도달할 때까지 호출을 계속 수락합니다. 대략적인 동시 호출 수를 결정하려면 용량 계산기에서 특정 호출 형태에 대한 분당 최대 요청 수를 모델링할 수 있습니다. 시스템에서 max_token 같은 샘플링 토큰 수보다 적은 수의 토큰을 생성하는 경우 더 많은 요청을 수락합니다.

다음 단계