프로비전된 처리량이란?
참고 항목
Azure OpenAI 프로비전 제품은 2024년 8월 12일에 구매 모델을 Azure 표준에 맞추고 모델에 독립적인 할당량으로 전환하는 것을 포함하여 중요한 업데이트를 받았습니다. 이 날짜 이전에 온보딩한 고객은 이러한 변경 내용에 대해 자세히 알아보려면 Azure OpenAI 프로비전 8월 업데이트를 읽어보는 것이 좋습니다.
프로비전된 처리량 기능을 사용하면 배포에 필요한 처리량을 지정할 수 있습니다. 그런 다음 서비스는 필요한 모델 처리 용량을 할당하고 준비가 되었는지 확인합니다. 처리량은 배포에 대한 처리량을 나타내는 정규화된 방법인 PTU(프로비전된 처리량 단위)로 정의됩니다. 각 모델-버전 쌍에는 배포를 위해 서로 다른 양의 PTU가 필요하며 PTU당 서로 다른 양의 처리량을 제공합니다.
프로비전된 배포 유형과 전역 프로비전된 배포 유형은 어떤 기능을 제공하나요?
- 예측 가능한 성능: 균일한 워크로드에 대한 안정적인 최대 대기 시간 및 처리량입니다.
- 예약된 처리 용량: 배포는 처리량을 구성합니다. 일단 배포되면 사용 여부에 관계없이 처리량을 사용할 수 있습니다.
- 비용 절약: 처리량이 많은 워크로드는 토큰 기반 사용량에 비해 비용 절약 효과를 제공할 수 있습니다.
Azure OpenAI 배포는 특정 OpenAI 모델에 대한 관리 단위입니다. 배포는 유추를 위한 모델에 대한 고객 액세스를 제공하고 콘텐츠 조정과 같은 추가 기능을 통합합니다(콘텐츠 조정 설명서 참조). 글로벌 배포는 글로벌이 아닌 배포 유형과 동일한 Azure OpenAI 리소스에서 사용할 수 있지만 Azure의 글로벌 인프라를 활용하여 각 요청에 대해 최상의 가용성을 제공하면서 트래픽을 데이터 센터로 동적으로 라우팅할 수 있습니다.
어떤 결과가 나왔나요?
항목 | 프로비전됨 |
---|---|
이것은 무엇인가요? | 기존 프로비전된 제품보다 작은 증분으로 보장된 처리량을 제공합니다. 배포에는 특정 모델 버전에 대해 일관된 최대 대기 시간이 있습니다. |
누구를 위한 것인가요? | 대기 시간 차이를 최소화하면서 처리량을 보장하려는 고객을 위한 것입니다. |
할당량 | 지역별로 할당된 프로비전된 관리형 처리량 단위 또는 전역 프로비전된 관리형 처리량 단위. 할당량은 사용 가능한 모든 Azure OpenAI 모델에서 사용할 수 있습니다. |
대기 시간 | 모델에 따라 최대 대기 시간이 제한됩니다. 전체 대기 시간은 호출 형태에 영향을 미치는 요소입니다. |
사용률 | Azure Monitor에서 제공되는 프로비전 관리 사용률 V2 측정입니다. |
크기 예측 | 스튜디오 및 벤치마킹 스크립트에서 제공된 계산기입니다. |
프롬프트 캐싱 | 지원되는 모델의 경우 캐시된 입력 토큰의 최대 100%를 할인합니다. |
각 모델에 대해 얻을 수 있는 PTU당 처리량
PTU당 배포가 가져오는 처리량(분당 토큰 또는 TPM)은 분 단위의 입력 및 출력 토큰의 함수입니다. 출력 토큰을 생성하려면 입력 토큰보다 더 많은 처리가 필요하므로 출력 토큰이 많을수록 전체 TPM이 낮아지게 됩니다. 이 서비스는 입력 및 출력 비용의 동적 균형을 조정하므로 사용자는 특정 입력 및 출력 제한을 설정할 필요가 없습니다. 이 방법은 배포가 워크로드 셰이프의 변동에 탄력적임을 의미합니다.
크기 조정 작업을 간소화하기 위해 다음 표에서는 모든 트래픽이 입력 또는 출력인 최대 트래픽을 나타내는 모델 및 gpt-4o-mini
PTU gpt-4o
당 TPM을 간략하게 설명합니다. 또한 이 표에는 모델당 SLA(서비스 수준 약정) 대기 시간 대상 값도 표시됩니다. Azure OpenAI Service용 SLA에 대한 자세한 내용은 [온라인 서비스용 SLA(서비스 수준 계약) 페이지]를 참조하세요. (https://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services?lang=1)
gpt-4o, 2024-05-13 및 gpt-4o, 2024-08-06 | gpt-4o-mini, 2024-07-18 | |
---|---|---|
배포 가능한 증분 | 50 | 25 |
PTU당 최대 입력 TPM | 2,500 | 37,000 |
PTU당 최대 출력 TPM | 8:33 | 12,333 |
대기 시간 대상 값 | 초당 25개의 토큰* | 초당 33개의 토큰* |
전체 목록은 AOAI Studio 계산기를 참조하세요.
주요 개념
배포 형식
Azure OpenAI Studio에서 프로비전된 배포를 만들 때, 배포 만들기 대화 상자의 배포 유형은 프로비전-관리입니다. Azure OpenAI Studio에서 전역 프로비전된 관리형 배포를 만들 때, 배포 만들기 대화 상자의 배포 유형은 전역 프로비전 관리형입니다.
CLI 또는 API를 통해 Azure OpenAI에서 프로비전된 배포를 만들 때 sku-name
을 ProvisionedManaged
로 설정해야 합니다. CLI 또는 API를 통해 Azure OpenAI에서 전역 프로비전된 배포를 만들 때 sku-name
을 GlobalProvisionedManaged
로 설정해야 합니다. 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
할당량
프로비전된 처리량 단위
PTU(프로비전된 처리량 단위)는 프롬프트 처리 및 완료 생성에 필요한 처리량을 달성하기 위해 프로비전된 배포의 크기를 조정하는 데 사용할 수 있는 일반적인 모델 처리 용량 단위입니다. 프로비전된 처리량 단위는 구독에 할당량으로 부여됩니다. 각 할당량은 지역에 한정되며 해당 구독 및 지역의 배포에 할당할 수 있는 최대PTU 수를 정의합니다.
모델 독립 할당량
다른 Azure OpenAI 제공 사항에서 사용하는 TPM(분당 토큰) 할당량과 달리 PTU는 모델에 독립적입니다. PTU는 해당 지역에서 지원되는 모델/버전을 배포하는 데 사용될 수 있습니다.
프로비전된 배포의 경우 새로운 할당량은 Azure OpenAI Studio에 프로비전된 관리형 처리량 단위라는 할당량 항목으로 표시됩니다. 전역 프로비전된 관리형 배포의 경우 새로운 할당량은 Azure OpenAI Studio에 전역 프로비전된 관리형 처리량 단위라는 할당량 항목으로 표시됩니다. Studio 할당량 창에서 할당량 항목을 확장하면 각 할당량의 사용량에 기여하는 배포가 표시됩니다.
PTU 할당량 가져오기
PTU 할당량은 많은 지역에서 기본적으로 제공됩니다. 더 많은 할당량이 필요한 경우 고객은 요청 할당량 링크를 통해 할당량을 요청할 수 있습니다. 이 링크는 Azure OpenAI Studio의 프로비전된 관리 처리량 단위 또는 전역 프로비전된 관리 처리량 단위 할당량 탭의 오른쪽에 있습니다. 이 양식을 이용하면 고객은 지정된 지역의 지정된 PTU 할당량 증가를 요청할 수 있습니다. 요청이 승인되면 고객은 일반적으로 영업일 기준 2일 이내에 포함된 주소로 이메일을 받습니다.
모델별 PTU 최솟값
각 장치와 관련된 최소 PTU 배포, 증분 및 처리 용량은 모델 형식 및 버전에 따라 다릅니다.
용량 투명성
Azure OpenAI는 고객 수요가 서비스 GPU 용량을 초과할 수 있는 매우 인기 있는 서비스입니다. Microsoft는 수요가 많은 모든 지역과 모델에 용량을 제공하기 위해 노력하지만, 특정 지역이 매진될 가능성이 항상 있습니다. 이 제약 조건은 해당 지역에서 사용 가능한 할당량이 있더라도 원하는 지역에서 원하는 모델, 버전 또는 수의PTU 배포를 만드는 일부 고객의 기능을 제한할 수 있습니다. 일반적으로는
- 할당량은 구독 및 지역에 배포할 수 있는 최대PTU 수에 제한을 두고 용량 가용성을 보장하지 않습니다.
- 용량은 배포 시점에 할당되며 배포가 존재하는 동안 유지됩니다. 서비스 용량을 사용할 수 없으면 배포가 실패합니다.
- 고객은 할당량/용량 가용성에 대한 실시간 정보를 사용하여 필요한 모델 용량을 갖춘 시나리오에 적절한 지역을 선택합니다.
- 배포를 축소하거나 삭제하면 해당 지역의 용량이 다시 확보됩니다. 나중에 배포의 크기를 조정하거나 다시 만들 경우 용량을 사용할 수 있다는 보장은 없습니다.
지역별 용량 지침
배포에 필요한 용량을 찾으려면 용량 API 또는 Studio 배포 환경을 사용하여 용량 가용성에 대한 실시간 정보를 제공합니다.
Azure OpenAI Studio에서 배포 환경은 지역에 모델을 배포하는 데 필요한 용량이 부족한 경우를 식별합니다. 원하는 모델, 버전 및 CPU 수를 확인합니다. 용량을 사용할 수 없는 경우 환경은 사용자를 다른 지역으로 안내합니다.
새로운 배포 환경에 대한 자세한 내용은 Azure OpenAI 프로비전 시작 가이드에서 확인할 수 있습니다.
새 모델 용량 API 를 사용하여 지정된 모델의 최대 크기 배포를 프로그래밍 방식으로 식별할 수 있습니다. API는 해당 지역의 할당량과 서비스 용량을 모두 고려합니다.
원하는 모델, 버전 및/또는 PTU를 지원하는 허용 가능한 지역이 없는 경우 고객은 다음 단계를 시도할 수도 있습니다.
- 더 적은 수의 PTU로 배포를 시도합니다.
- 다른 시간에 배포를 시도합니다. 공급 용량은 고객 수요에 따라 동적으로 변경되며 나중에 더 많은 공급 용량이 생길 수도 있습니다.
- 모든 허용 지역에서 할당량을 사용할 수 있는지 확인합니다. 모델 용량 API와 Studio 환경은 배포를 만들기 위해 대체 지역을 반환할 때 할당량 가용성을 고려합니다.
워크로드에 필요한 PTU 수 결정
PTU는 모델 처리 용량을 나타냅니다. 컴퓨터나 데이터베이스와 마찬가지로, 모델에 대한 다양한 워크로드나 요청은 기본 처리 용량을 다양한 양으로 소비합니다. 호출 형태 특성(프롬프트 크기, 생성 크기 및 호출 속도)에서 PTU로의 변환은 복잡하고 비선형적입니다. 이 프로세스를 간소화하려면 Azure OpenAI 용량 계산기를 사용하여 특정 워크로드 형태의 크기를 정할 수 있습니다.
몇 가지 개략적인 고려 사항:
- 생성에는 프롬프트보다 더 많은 용량이 필요합니다.
- GPT-4o 이상 모델의 경우 PTU당 TPM은 입력 및 출력 토큰에 대해 별도로 설정됩니다. 이전 모델의 경우 더 큰 호출은 컴퓨팅 비용이 점점 더 많이 듭니다. 예를 들어, 1000개의 토큰 프롬프트 크기를 가진 100개의 호출은 프롬프트에 100,000개의 토큰이 있는 하나의 호출보다 적은 용량이 필요합니다. 이 계층화는 이러한 호출 셰이프의 분포가 전체 처리량에서 중요하다는 것을 의미합니다. 일부 큰 호출을 포함하는 광범위한 배포의 트래픽 패턴은 동일한 평균 프롬프트 및 완료 토큰 크기를 사용하는 더 좁은 배포보다 PTU당 처리량이 낮을 수 있습니다.
사용률 성능 작동 방식
프로비전된 배포 및 전역 프로비전된 배포는 특정 모델을 실행하기 위해 할당된 모델 처리 용량을 제공합니다.
프로비전된 관리형 및 전역 프로비저닝된 관리형 배포에서 용량이 초과되면 API는 429 HTTP 상태 오류를 반환합니다. 이 빠른 응답을 통해 사용자는 트래픽을 관리하는 방법을 결정할 수 있습니다. 사용자는 요청을 별도의 배포, 표준 종량제 인스턴스로 리디렉션하거나 재시도 전략을 사용하여 지정된 요청을 관리할 수 있습니다. 이 서비스는 사용률이 100% 미만으로 떨어질 때까지 429 HTTP 상태 코드를 계속 반환합니다.
용량을 어떻게 모니터링할 수 있나요?
Azure Monitor의 Provisioned-Managed Utilization V2 메트릭은 1분 단위로 특정 배포 사용률을 측정합니다. 프로비전된 관리형 및 전역 프로비전된 관리형 배포는 수락된 호출이 일관된 모델 처리 시간으로 처리되도록 최적화되었습니다(실제 엔드투엔드 대기 시간은 호출의 특성에 따라 다름).
429 응답을 받으면 어떻게 해야 하나요?
429 응답은 오류가 아니지만 대신 지정된 배포가 특정 시점에 완전히 활용된다는 것을 사용자에게 알리기 위한 디자인의 일부입니다. 빠른 실패 응답을 제공함으로써 애플리케이션 요구 사항에 가장 적합한 방식으로 이러한 상황을 처리하는 방법을 제어할 수 있습니다.
응답의 retry-after-ms
및 retry-after
헤더는 다음 호출이 수락되기까지 기다려야 하는 시간을 알려 줍니다. 이 응답을 처리하기 위해 선택하는 방법은 애플리케이션 요구 사항에 따라 다릅니다. 다음은 몇 가지 고려 사항입니다.
- 트래픽을 다른 모델, 배포 또는 환경으로 리디렉션하는 것을 고려할 수 있습니다. 이 옵션은 429 신호를 받는 즉시 조치를 취할 수 있으므로 대기 시간이 가장 짧은 솔루션입니다. 이 패턴을 효과적으로 구현하는 방법에 대한 아이디어는 이 커뮤니티 게시물을 참조하세요.
- 호출당 대기 시간이 길어도 괜찮다면 클라이언트 쪽 다시 시도 논리를 구현합니다. 이 옵션은 PTU당 최대 처리량을 제공합니다. Azure OpenAI 클라이언트 라이브러리에는 다시 시도 처리를 위한 기본 제공 기능이 포함되어 있습니다.
서비스는 429를 보낼 시기를 어떻게 결정하나요?
프로비전된 관리형 및 전역 프로비전된 관리형 서비스에서는 각 요청을 프롬프트 크기, 예상 생성 크기 및 모델에 따라 개별적으로 평가하여 예상 사용률을 결정합니다. 이는 예상 트래픽 부하에 따라 사용자 지정 속도 제한 동작을 갖는 종량제 배포와 대조됩니다. 종량제 배포의 경우 트래픽이 균등하게 분산되지 않으면 정의된 할당량 값이 초과되기 전에 HTTP 429 오류가 생성될 수 있습니다.
전역 관리형 및 전역 프로비전된 관리형의 경우 변형된 누출 버킷 알고리즘을 사용하여 트래픽의 버스트를 어느 정도 허용하면서 사용률을 100% 미만으로 유지합니다. 개략적인 논리는 다음과 같습니다.
각 고객은 배포 시 활용할 수 있는 용량이 정해져 있습니다.
요청이 있을 때:
a. 현재 사용률이 100%를 초과하면 서비스는 사용률이 100% 미만이 될 때까지의 시간으로 설정된
retry-after-ms
헤더와 함께 429 코드를 반환합니다.b. 그렇지 않으면 서비스는 프롬프트 토큰과 호출에 지정된
max_tokens
를 결합하여 요청을 처리하는 데 필요한 사용량의 증분 변화를 예상합니다. 1024개 이상의 캐시된 토큰을 포함하는 요청의 경우 캐시된 토큰은 프롬프트 토큰 값에서 빼집니다. 고객은 캐시된 토큰의 크기에 따라 프롬프트 토큰에 대해 최대 100% 할인을 받을 수 있습니다. 매개 변수를max_tokens
지정하지 않으면 서비스에서 값을 추정합니다. 이 예측은 실제 생성된 토큰의 수가 적을 때 예상보다 낮은 동시성을 초래할 수 있습니다. 동시성을 높이려면max_tokens
값이 실제 생성 크기에 최대한 가까워야 합니다.요청이 완료되면 이제 호출에 대한 실제 컴퓨팅 비용을 알 수 있습니다. 정확한 계산을 보장하기 위해 다음 논리를 사용하여 사용률을 수정합니다.
a. 실제 > 예상된 경우 차이가 배포의 사용률에 추가됩니다.
b. 실제 <이 예상된 경우 차이가 차감됩니다.
전체 사용률은 배포된 PTU 수에 따라 지속적인 비율로 감소합니다.
참고 항목
사용률이 100%에 도달할 때까지 호출이 수락됩니다. 짧은 기간에는 100%를 약간 넘는 버스트가 허용될 수 있지만 시간이 지나면 트래픽 사용률이 100%로 제한됩니다.
내 배포에서 동시 호출 수는 몇 개인가요?
수행할 수 있는 동시 호출 수는 각 호출의 셰이프(프롬프트 크기, max_token 매개 변수 등)에 따라 달라집니다. 서비스는 사용률이 100%에 도달할 때까지 호출을 계속 수락합니다. 대략적인 동시 호출 수를 확인하려면 용량 계산기의 특정 호출 셰이프에 대한 분당 최대 요청을 모델링할 수 있습니다. 시스템에서 max_token 같은 샘플링 토큰 수보다 적은 수의 토큰을 생성하는 경우 더 많은 요청을 수락합니다.
프로비전된 처리량에 사용할 수 있는 모델 및 지역은 무엇인가요?
지역 | gpt-4o, 2024-05-13 | gpt-4o, 2024-08-06 | gpt-4o-mini, 2024-07-18 | gpt-4, 0613 | gpt-4, 1106-미리 보기 | gpt-4, 0125-미리 보기 | gpt-4, turbo-2024-04-09 | gpt-4-32k, 0613 | gpt-35-turbo, 1106 | gpt-35-turbo, 0125 |
---|---|---|---|---|---|---|---|---|---|---|
australiaeast | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
brazilsouth | ✅ | - | ✅ | ✅ | ✅ | ✅ | - | ✅ | ✅ | - |
canadacentral | - | - | - | ✅ | - | - | - | ✅ | - | ✅ |
canadaeast | ✅ | - | ✅ | ✅ | ✅ | - | ✅ | - | ✅ | - |
eastus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
eastus2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
francecentral | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | ✅ | - | ✅ |
germanywestcentral | ✅ | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - |
japaneast | ✅ | ✅ | ✅ | - | ✅ | ✅ | ✅ | - | - | ✅ |
koreacentral | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | ✅ | - |
northcentralus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
norwayeast | ✅ | - | ✅ | ✅ | - | ✅ | - | ✅ | - | - |
polandcentral | ✅ | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
southafricanorth | ✅ | - | - | ✅ | ✅ | - | ✅ | ✅ | ✅ | - |
southcentralus | ✅ | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
southindia | ✅ | - | ✅ | ✅ | ✅ | ✅ | - | ✅ | ✅ | ✅ |
스웨덴 중부 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
스위스 북부 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
switzerlandwest | - | - | - | - | - | - | - | - | - | ✅ |
uaenorth | ✅ | - | - | - | ✅ | - | - | - | ✅ | ✅ |
uksouth | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
westus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
westus3 | ✅ | ✅ | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
참고 항목
gpt-4
버전: turbo-2024-04-09
의 프로비전된 버전은 현재 텍스트로만 제한됩니다.