프로비저닝된 처리량¶
개요¶
프로비저닝된 처리량을 사용하여 관리되는 추론에 대한 처리량을 Snowflake Cortex에 예약합니다. 처리량 크기를 프로비저닝된 처리량 단위(PTU)로 지정하면 Cortex가 1개월 동안 필요한 용량을 할당합니다. 일관된 최종 사용자 경험을 위해 REST API 호출에 PTUs 를 사용할 수 있습니다. 이 기능은 AWS 및 Azure 클라우드의 다음 모델에서 사용할 수 있습니다.
Mistral Large 2
Llama 3.1-405B
Llama 3.1-70B
Llama 3.1-8B
Snowflake-Llama3.3-70B
Snowflake-Llama3.3-405B
액세스 제어 요구 사항¶
사용자는 PT ID 에 대한 USAGE 권한이 있는 SNOWFLAKE.CORTEX_USER 데이터베이스 역할을 부여받은 역할을 사용해야 합니다. 이 권한에 대한 자세한 내용은 권한 섹션을 참조하십시오.
권한¶
다음 섹션에서는 프로비저닝된 처리량을 생성, 관리 및 사용하는 데 필요한 권한에 대해 설명합니다.
프로비저닝된 처리량 생성¶
프로비저닝된 처리량을 생성하려면 계정 수준 CREATE PROVISIONED THROUGHPUT 권한이 부여된 역할을 사용해야 합니다. 기본적으로 ACCOUNTADMIN 는 프로비저닝된 처리량을 생성할 수 있는 유일한 역할입니다. ACCOUNTADMIN 역할을 사용하여 다른 역할에 CREATE PROVISIONED THROUGHPUT 권한을 부여할 수 있습니다.
다음 SQL 명령을 사용하여 프로비저닝된 처리량을 생성할 수 있는 권한을 부여합니다.
GRANT CREATE PROVISIONED THROUGHPUT ON ACCOUNT TO ROLE <role>
프로비저닝된 처리량은 스키마 수준의 오브젝트입니다. CREATE PROVISIONED THROUGHPUT 권한이 있는 역할은 USAGE 권한이 있는 모든 스키마에서 프로비저닝된 처리량을 생성할 수 있습니다.
프로비저닝된 처리량을 생성하는 데 사용한 역할에는 프로비저닝된 처리량에 대한 OWNERSHIP 권한이 자동으로 부여됩니다. OWNERSHIP 권한을 사용하면 프로비저닝된 처리량의 이름을 변경하거나 삭제할 수 있습니다.
역할에 프로비저닝된 처리량을 사용할 수 있는 권한 부여하기¶
프로비저닝된 처리량에 대해 USAGE 권한으로 역할을 부여하십시오. USAGE 권한은 프로비저닝된 처리량 ID 로 REST API 또는 SQL 호출을 수행할 수 있는 기능을 역할에 제공합니다.
다음 SQL 명령은 프로비저닝된 처리량에 대해 USAGE 권한을 부여합니다.
GRANT USAGE ON PROVISIONED THROUGHPUT <pt_id> TO ROLE <role>
프로비저닝된 처리량 사용¶
프로비저닝된 처리량에 대해 USE 또는 OWNERSHIP 권한이 있는 역할은 프로비저닝된 처리량을 추론에 사용할 수 있습니다. 프로비저닝된 처리량을 사용하는 데 필요한 권한에 대한 자세한 내용은 프로비저닝된 처리량 권한 섹션을 참조하십시오.
최소 프로비저닝된 처리량 단위 요구 사항¶
프로비저닝된 처리량에는 최소 및 증분 PTU 요구 사항이 적용됩니다. 최소 PTUs 열의 각 모델 또는 기능에는 요청해야 하는 최소 PTUs 개수가 표시됩니다. 최소값보다 적은 PTUs 를 요청하면 요청이 거부됩니다.
모델에 대한 최소 PTUs 제공보다 더 많은 처리량이 필요한 경우 추가 PTUs 가 필요합니다. 증분 PTUs 열에는 요청할 수 있는 최소값 PTUs 를 초과하는 PTU 증분이 표시됩니다. 요청은 최소값을 초과하는 양이 증분의 정수 배수가 되도록 PTUs 를 지정해야 하며, 그렇지 않으면 요청이 거부됩니다.
아래 테이블에는 사용 가능한 모델, 각 모델의 필수 최소 PTUs 및 최소값을 초과하는 추가 PTUs 에 대한 증분 요구 사항이 나열되어 있습니다.
모델 |
최소 PTUs |
증분 PTUs |
---|---|---|
Mistral Large 2 |
256 |
128 |
Llama 3.1-405B |
512 |
256 |
Llama 3.1-70B |
128 |
64 |
Llama 3.1-8B |
64 |
32 |
Snowflake-Llama3.3-70B |
128 |
64 |
Snowflake-Llama3.3-405B |
512 |
256 |
PTU 크기 결정¶
애플리케이션의 필수 PTUs 는 워크로드 프로필에 따라 다릅니다. 예를 들어, Llama 3.1-8B에서 분당 500개의 요청(RPM)과 요청당 500개의 토큰 출력을 가진 워크로드의 최소 요구 사양은 64 PTUs 입니다. 분당 960만 토큰의 처리량을 제공합니다. 더 많은 처리량이 필요한 경우, 32 단위로 추가 PTUs 를 요청할 수 있습니다.
처음 시작할 때는 모델에 최소 PTUs 를 사용하고 필요에 따라 증분을 추가할 수 있습니다.
비용 고려 사항¶
프로비저닝 처리량 기간 동안 시간당 PTU 당 Snowflake Credit Consumption Table 에 나열된 비율로 크레딧을 소비합니다. 기간 중 실제 사용량과 관계없이 할당된 PTUs 요금이 부과됩니다. 기간은 오전 8시에 시작하고 오전 8시에 종료합니다. PT 를 프로비저닝된 처리량 생성에 제공된 날짜로 설정합니다.
프로비저닝된 처리량은 자동으로 갱신되지 않습니다. 다른 기간의 처리량을 예약하려면 다음 섹션을 참조하십시오.
처리량 예약¶
이 자습서에서는 Cortex COMPLETE 함수에 대한 REST API 호출에서 프로비저닝된 처리량을 예약하고 사용하는 과정을 안내합니다.
1단계: 프로비저닝된 처리량 ID 생성하기¶
프로비저닝된 처리량을 시작하려면 SQL 을 사용하여 다음 정보를 포함한 요청을 생성하십시오.
클라우드 공급자
모델
PTUs 개수
기간 시작(프로비저닝된 처리량을 사용할 수 있는 기간)
기간 종료(프로비저닝된 처리량을 사용할 수 있는 기간)
다음 예제에서는 AWS 에 my_pt
프로비저닝된 처리량 리소스를 생성하고, 모델 llama3.1-8B
를 지정하여 2025년 4월 15일부터 2025년 5월 15일까지 64개의 프로비저닝된 처리량 유닛(PTUs)을 할당합니다.
CREATE PROVISIONED THROUGHPUT my_pt CLOUD_PROVIDER='aws', MODEL='llama3.1-8B', PTUS=64, TERM_START='2025-04-15' TERM_END='2025-05-15'
프로비저닝된 처리량 ID (PT ID)가 응답에 있습니다.
2단계: 지원 케이스를 열어 프로비저닝된 처리량 할당하기¶
ID 를 생성한 후 Snowflake 지원으로 지원 티켓을 생성해 프로비저닝된 처리량을 사용 설정하십시오. 티켓에 계정 식별자 및 PT ID 를 제공합니다. 필요할 때 처리량을 예약할 수 있도록 기간이 시작되기 7영업일 전에 티켓을 생성하는 것이 좋습니다.
3단계: 프로비저닝된 처리량 상태 확인¶
지원 티켓을 생성한 후에는 다음 명령을 사용하여 프로비저닝된 처리량 상태를 확인할 수 있습니다.
DESCRIBE PROVISIONED THROUGHPUT my_pt
이 명령은 다음 상태 중 하나를 반환합니다.
REQUESTED: PT 요청을 받았지만, 아직 용량이 할당되지 않았습니다.
APPROVED: PT 가 활성화되어 있으며 지정된 시작 날짜에 ACTIVE 상태가 됩니다.
ACTIVE: PT 를 이제 사용할 수 있습니다.
EXPIRED: PT 를 더 이상 사용할 수 없거나 기간 시작 전에 활성화되지 않았습니다.
4단계: REST API 호출에서 프로비저닝된 처리량 ID 사용¶
PT 가 ACTIVE 상태가 되면 AI_COMPLETE REST API 호출에서 사용할 수 있습니다. 추론 요청에서 프로비저닝된 처리량을 사용하려면 API 호출에 PT ID 를 지정하십시오. 요청에 프로비저닝된 처리량을 사용해도 API 의 동작은 변경되지 않습니다.
다음 예제는 COMPLETE REST API 호출에서 PT ID 를 사용하는 방법을 보여줍니다.
curl --location 'https://some-account-identifier.snowflakecomputing.com/api/v2/cortex/inference:complete' \
--header 'X-Snowflake-Authorization-Token-Type: KEYPAIR_JWT' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: ••••••' \
--data '{
"model": "snowflake-llama-3.1-8b",
"messages": [
{
"content": "Write an essay on the benefits of provisioned throughput."
}
],
"provisioned_throughput_id": "f3a27d60-f61f-4247-8aa3-6272ea0d7a8d"
}'
참고
REST API 호출에 사용하는 역할에는 프로비저닝된 처리량 ID 에 대한 USE 권한이 있어야 합니다. 필수 권한에 대한 자세한 내용은 프로비저닝된 처리량 권한 섹션을 참조하십시오.
해지¶
프로비저닝된 처리량은 기간이 만료되면 추론 요청 처리를 중지합니다. 기간이 만료된 후 API 요청에 프로비저닝된 처리량을 사용하는 경우 새 프로비저닝된 처리량 ID 를 생성하여 요청에 사용해야 합니다.