Azure OpenAI 서비스 할당량 관리

할당량은 구독 내에서 배포 전반에 걸쳐 비율 제한 할당을 적극적으로 관리할 수 있는 유연성을 제공합니다. 이 문서에서는 Azure OpenAI 할당량을 관리하는 프로세스를 안내합니다.

필수 조건

Important

할당량을 보고 모델을 배포하려면 Cognitive Services 사용량 읽기 권한자 역할이 필요합니다. 이 역할은 Azure 구독 전체의 할당량 사용량을 보는 데 필요한 최소한의 액세스 권한을 제공합니다. 이 역할과 Azure OpenAI에 액세스하는 데 필요한 다른 역할에 대해 자세히 알아보려면 Azure RBAC(Azure 역할 기반 액세스) 가이드를 참조하세요.

이 역할은 Azure Portal의 구독>IAM(액세스 제어)>역할 할당 추가> 검색에서 찾을 수 있습니다. Cognitive Services 사용량 읽기 권한자. 이 역할은 구독 수준에서 적용되어야 하며 리소스 수준에는 존재하지 않습니다.

이 역할을 사용하지 않으려면 구독 읽기 권한자 역할이 동등한 액세스 권한을 제공하지만 할당량 및 모델 배포를 보는 데 필요한 범위를 넘어서는 읽기 권한도 부여합니다.

할당량 소개

Azure OpenAI의 할당량 기능을 사용하면 "할당량"이라는 전역 제한까지 배포에 속도 제한을 할당할 수 있습니다. 할당량은 TPM(분당 토큰) 단위로 지역별, 모델별로 구독에 할당됩니다. Azure OpenAI 구독을 온보딩하면 사용할 수 있는 대부분의 모델에 대한 기본 할당량을 받게 됩니다. 그런 다음 배포가 만들어질 때 각 배포에 TPM을 할당하면 해당 모델에 사용할 수 있는 할당량이 그만큼 줄어듭니다. 할당량 한도에 도달할 때까지 계속해서 배포를 만들고 TPM을 할당할 수 있습니다. 그런 일이 발생하면 동일한 모델의 다른 배포에 할당된 TPM을 줄이거나(따라서 TPM을 사용할 수 있게 됨) 원하는 지역에서 모델 할당량 증가를 요청하고 승인받아 해당 모델의 새 배포를 만들 수 있습니다.

참고 항목

미국 동부의 GPT-35-Turbo에 대해 240,000TPM 할당량을 사용하여 고객은 240K TPM의 단일 배포, 각각 120K TPM의 2개 배포 또는 하나 이상의 Azure OpenAI 리소스에 원하는 수의 배포를 만들 수 있습니다. 해당 지역의 TPM 합계는 총 240K 미만입니다.

배포가 만들어지면 할당된 TPM은 유추 요청에 적용되는 분당 토큰 속도 제한에 직접 매핑됩니다. RPM(분당 요청) 속도 제한도 적용되며 이 값은 다음 비율을 사용하여 TPM 할당에 비례하여 설정됩니다.

1000TPM당 6RPM.

구독 및 지역 내에서 TPM을 전역적으로 배포할 수 있는 유연성을 통해 Azure OpenAI Service는 다른 제한 사항을 완화할 수 있었습니다.

  • 지역당 최대 리소스가 30개로 늘어났습니다.
  • 리소스에 동일한 모델의 배포를 두 개만 만들 수 있는 제한이 제거되었습니다.

할당량 할당

모델 배포를 만들 때 해당 배포에 TPM(분당 토큰)을 할당하는 옵션이 있습니다. TPM은 1,000 단위로 수정할 수 있으며 위에서 설명한 대로 배포에 적용되는 TPM 및 RPM 속도 제한에 매핑됩니다.

Azure AI Studio 내에서 관리 아래에서 새 배포를 만들려면 배포>새 배포 만들기를 선택합니다.

TPM 설정 옵션은 고급 옵션 드롭다운에 있습니다.

Screenshot of the deployment UI of Azure AI Studio

배포 후에는 Azure AI Studio의 관리>배포에서 배포 편집을 선택하여 TPM 할당을 조정할 수 있습니다. 관리>할당량 아래의 새로운 할당량 관리 환경 내에서 이 선택을 수정할 수도 있습니다.

Important

할당량 및 제한은 변경될 수 있습니다. 최신 정보를 보려면 할당량 및 제한 문서을 참조하세요.

모델별 설정

모델 클래스라고도 하는 다양한 모델 배포에는 이제 제어할 수 있는 고유한 최대 TPM 값이 있습니다. 이는 특정 지역에서 해당 형식의 모델 배포에 할당할 수 있는 최대 TPM 양을 나타냅니다. 각 모델 형식은 고유한 모델 클래스를 나타내지만 최대 TPM 값은 현재 특정 모델 클래스에서만 다릅니다.

  • GPT-4
  • GPT-4-32K
  • Text-Davinci-003

다른 모든 모델 클래스에는 공통된 최대 TPM 값이 있습니다.

참고 항목

TPM(분당 토큰 할당량) 할당은 모델의 최대 입력 토큰 제한과 관련이 없습니다. 모델 입력 토큰 제한은 모델 테이블에 정의되어 있으며 TPM 변경 내용의 영향을 받지 않습니다.

할당량 보기 및 요청

특정 지역의 배포 전체에 대한 할당량 할당을 모두 보려면 Azure AI Studio에서 관리>할당량을 선택합니다.

Screenshot of the quota UI of Azure AI Studio

  • 할당량 이름: 각 모델 형식에 대해 지역당 하나의 할당량 값이 있습니다. 할당량에는 해당 모델의 모든 버전이 포함됩니다. 할당량 이름을 UI에서 확장하여 할당량을 사용하는 배포를 표시할 수 있습니다.
  • 배포: 모델 배포를 모델 클래스로 나눕니다.
  • 사용량/제한: 할당량 이름의 경우 배포에 사용된 할당량과 이 구독 및 지역에 승인된 총 할당량이 표시됩니다. 사용된 할당량은 막대 그래프에도 표시됩니다.
  • 할당량 요청: 이 필드의 아이콘은 할당량 증가 요청을 제출할 수 있는 양식으로 이동합니다.

기존 배포 마이그레이션

새로운 할당량 시스템 및 TPM 기반 할당으로의 전환에 대한 일환으로 모든 기존 Azure OpenAI 모델 배포는 할당량을 사용하도록 자동으로 마이그레이션되었습니다. 이전 사용자 지정 비율 제한 증가로 인해 기존 TPM/RPM 할당이 기본값을 초과하는 경우 영향을 받는 배포에 동등한 TPM이 할당되었습니다.

속도 제한 이해

배포에 TPM을 할당하면 위에서 설명한 대로 배포에 대한 TPM(분당 토큰) 및 RPM(분당 요청) 속도 제한이 설정됩니다. TPM 속도 제한은 요청이 수신될 때 요청에 의해 처리될 것으로 예상되는 최대 토큰 수를 기반으로 합니다. 모든 처리가 완료된 후 계산되는 청구에 사용되는 토큰 개수와는 다릅니다.

각 요청이 수신되면 Azure OpenAI는 다음을 포함하는 예상 최대 처리 토큰 수를 계산합니다.

  • 프롬프트 텍스트 및 개수
  • max_tokens 매개 변수 설정
  • best_of 매개 변수 설정

요청이 배포 엔드포인트로 들어오면 예상되는 최대 처리 토큰 수가 1분마다 다시 설정되는 모든 요청의 실행 중인 토큰 수에 추가됩니다. 해당 분 동안 언제든지 TPM 속도 제한 값에 도달하면 카운터가 다시 설정될 때까지 추가 요청에 429 응답 코드가 수신됩니다.

RPM 속도 제한은 시간 경과에 따라 수신된 요청 수를 기준으로 합니다. 속도 제한은 요청이 1분 동안 균등하게 분산될 것으로 예상합니다. 이 평균 흐름이 유지되지 않으면 1분 동안 측정했을 때 제한이 충족되지 않더라도 요청이 429 응답을 받을 수 있습니다. 이 동작을 구현하기 위해 Azure OpenAI 서비스는 짧은 시간(일반적으로 1초 또는 10초) 동안 수신 요청의 속도를 평가합니다. 해당 시간 동안 수신된 요청 수가 설정된 RPM 제한에서 예상되는 수를 초과하는 경우 새 요청은 다음 평가 기간까지 429 응답 코드를 받게 됩니다. 예를 들어, Azure OpenAI가 1초 간격으로 요청 속도를 모니터링하는 경우 1초마다 10개 이상의 요청이 수신되면(분당 600개 요청 = 초당 10개 요청) 600RPM 배포에 대해 속도 제한이 발생합니다. ).

속도 제한 모범 사례

속도 제한과 관련된 문제를 최소화하려면 다음 기술을 사용하는 것이 좋습니다.

  • max_tokens 및 best_of를 시나리오 요구 사항에 맞는 최솟값으로 설정합니다. 예를 들어, 응답이 작을 것으로 예상된다면 max-tokens 값을 크게 설정하지 마세요.
  • 할당량 관리를 사용하여 트래픽이 많은 배포에서 TPM을 늘리고 요구 사항이 제한된 배포에서 TPM을 줄입니다.
  • 애플리케이션에서 다시 시도 논리를 구현합니다.
  • 워크로드가 급격히 변경되지 않도록 합니다. 워크로드를 점진적으로 늘립니다.
  • 다양한 로드 증가 패턴을 테스트합니다.

배포 자동화

이 섹션에는 할당량을 사용하여 TPM 속도 제한을 설정하는 배포 만들기를 프로그래밍 방식으로 시작하는 데 도움이 되는 간략한 예 템플릿이 포함되어 있습니다. 할당량이 도입되면 리소스 관리 관련 작업에 API 버전 2023-05-01을 사용해야 합니다. 이 API 버전은 리소스 관리용으로만 사용되며 완료, 채팅 완료, 포함, 이미지 생성 등과 같은 호출 유추에 사용되는 API 버전에는 영향을 미치지 않습니다.

배포

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01

경로 매개 변수

매개 변수 형식 필수 여부 설명
accountName string Required Azure OpenAI 리소스의 이름입니다.
deploymentName string Required 기존 모델을 배포할 때 선택한 배포 이름 또는 새 모델 배포에 사용하려는 이름입니다.
resourceGroupName string Required 이 모델 배포에 연결된 리소스 그룹의 이름입니다.
subscriptionId string Required 연결된 구독의 구독 ID입니다.
api-version string Required 이 작업에 사용할 API 버전입니다. YYYY-MM-DD 형식을 따릅니다.

지원되는 버전

요청 본문

이는 사용할 수 있는 요청 본문 매개 변수의 하위 집합일 뿐입니다. 매개 변수의 전체 목록을 보려면 REST API 참조 설명서를 참조하세요.

매개 변수 형식 설명
sku SKU SKU를 나타내는 리소스 모델 정의입니다.
capacity 정수 이는 이 배포에 할당하는 할당량의 양을 나타냅니다. 값 1은 분당 토큰(TPM) 1,000개와 같습니다. 값 10은 분당 토큰(TPM) 10,000개와 같습니다.

예제 요청

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-35-turbo-test-deployment?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":10},"properties": {"model": {"format": "OpenAI","name": "gpt-35-turbo","version": "0613"}}}'

참고 항목

권한 부여 토큰을 생성하는 방법에는 여러 가지가 있습니다. 초기 테스트를 위한 가장 쉬운 방법은 Azure Portal에서 Cloud Shell을 시작하는 것입니다. 그런 다음 az account get-access-token를 실행합니다. 이 토큰을 API 테스트를 위한 임시 권한 부여 토큰으로 사용할 수 있습니다.

자세한 내용은 사용법배포에 대한 REST API 참조 설명서를 참조하세요.

사용

특정 지역에서 특정 구독에 대한 할당량 사용량을 쿼리하려면

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages?api-version=2023-05-01

경로 매개 변수

매개 변수 형식 필수 여부 설명
subscriptionId string Required 연결된 구독의 구독 ID입니다.
location string Required 사용량을 볼 수 있는 위치(예: eastus)
api-version string Required 이 작업에 사용할 API 버전입니다. YYYY-MM-DD 형식을 따릅니다.

지원되는 버전

예제 요청

curl -X GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/eastus/usages?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' 

리소스 삭제

배포가 여전히 존재하는 경우 Azure Portal에서 Azure OpenAI 리소스를 삭제하려고 시도하면 연결된 배포가 삭제될 때까지 삭제가 차단됩니다. 배포를 먼저 삭제하면 할당량 할당이 적절하게 해제되어 새 배포에서 사용할 수 있습니다.

그러나 REST API 또는 기타 프로그래밍 방식을 사용하여 리소스를 삭제하면 먼저 배포를 삭제할 필요가 없습니다. 이런 일이 발생하면 리소스가 제거될 때까지 48시간 동안 관련 할당량 할당을 새 배포에 할당할 수 없는 상태로 유지됩니다. 제거된 리소스를 즉시 제거하여 할당량을 확보하려면 제거된 리소스 제거 지침을 따릅니다.

다음 단계