Taxa de transferência provisionada¶
Visão geral¶
Use a taxa de transferência provisionada para reservar taxa de transferência para inferência gerenciada no Snowflake Cortex. Você especifica o tamanho da taxa de transferência como unidade de taxa de transferência provisionada (PTU), e o Cortex aloca a capacidade necessária para o período de um mês. Você pode usar as PTUs em suas chamadas REST API para obter uma experiência consistente para o usuário final. A funcionalidade está disponível para os seguintes modelos nas nuvens AWS e Azure:
Mistral Large 2
Llama 3.1-405B
Llama 3.1-70B
Llama 3.1-8B
Snowflake-Llama3.3-70B
Snowflake-Llama3.3-405B
Requisitos de controle de acesso¶
Os usuários devem usar uma função que tenha recebido a função de banco de dados SNOWFLAKE.CORTEX_USER com o privilégio USAGE no ID de PT. Para obter mais informações sobre esse privilégio, consulte Privilégios.
Privilégios¶
As seções a seguir descrevem os privilégios necessários para criar, gerenciar e usar a taxa de transferência provisionada.
Criação de uma taxa de transferência provisionada¶
Para criar uma taxa de transferência provisionada, você deve usar uma função que tenha recebido o privilégio CREATE PROVISIONED THROUGHPUT no nível da conta. Por padrão, ACCOUNTADMIN é a única função que pode criar a taxa de transferência provisionada. Você pode usar a função ACCOUNTADMIN para conceder o privilégio CREATE PROVISIONED THROUGHPUT a outra função.
Use o seguinte comando SQL para conceder o privilégio de criação de uma taxa de transferência provisionada:
GRANT CREATE PROVISIONED THROUGHPUT ON ACCOUNT TO ROLE <role>
A taxa de transferência provisionada é um objeto no nível de esquema. Uma função com o privilégio CREATE PROVISIONED THROUGHPUT pode criar uma taxa de transferência provisionada em qualquer esquema em que tenha o privilégio USAGE.
A função que você usou para criar a taxa de transferência provisionada recebe automaticamente o privilégio OWNERSHIP na taxa de transferência provisionada. O privilégio OWNERSHIP permite que você renomeie ou elimine a taxa de transferência provisionada.
Como conceder às funções o privilégio de usar uma taxa de transferência provisionada¶
Conceda funções com o privilégio USAGE na taxa de transferência provisionada. O privilégio USAGE oferece às funções a capacidade de realizar chamadas REST API ou SQL com um ID de taxa de transferência provisionada.
O seguinte comando SQL concede o privilégio USAGE em uma taxa de transferência provisionada:
GRANT USAGE ON PROVISIONED THROUGHPUT <pt_id> TO ROLE <role>
Uso de uma taxa de transferência provisionada¶
Uma função com privilégio USE ou OWNERSHIP em uma taxa de transferência provisionada pode usar a taxa de transferência provisionada para inferência. Para obter informações sobre os privilégios necessários para usar uma taxa de transferência provisionada, consulte Privilégios de taxa de transferência provisionada.
Requisitos mínimos de unidade de taxa de transferência provisionada¶
A taxa de transferência provisionada está sujeita aos requisitos mínimos e incrementais do PTU. Cada modelo ou recurso na coluna Mínimo de PTUs mostra o número mínimo de PTUs que você deve solicitar. Se você solicitar menos PTUs do que o mínimo, sua solicitação será rejeitada.
Se você precisar de mais rendimento do que o mínimo oferecido pelas PTUs ao modelo, precisará de PTUs adicionais. A coluna Incrementar PTUs mostra os incrementos de PTU que excedem o mínimo de PTUs que você pode solicitar. As solicitações devem especificar as PTUs de forma que o valor que exceder o mínimo seja um múltiplo inteiro do incremento; caso contrário, a solicitação será rejeitada.
A tabela abaixo lista os modelos disponíveis, o mínimo de PTUs exigido para cada modelo e os requisitos de incremento para as PTUs adicionais além do mínimo.
Modelo |
Mínimo de PTUs |
Incrementar 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 |
Determinação do tamanho da PTU¶
As PTUs necessárias para seu aplicativo depende do perfil da carga de trabalho. Por exemplo, no Llama 3.1-8B, uma carga de trabalho com 500 solicitações por minuto (RPM) e 500 tokens por saída de solicitação tem um mínimo de 64 PTUs. Ele fornece 960 mil tokens de rendimento por minuto. Se você precisar de mais rendimento, poderá solicitar mais PTUs em incrementos de 32.
Quando estiver começando, você pode usar o mínimo de PTUs para o modelo e adicionar incrementos conforme necessário.
Considerações sobre custo¶
Durante o período da taxa de transferência provisionada, você consome créditos por PTU por hora à taxa listada na Tabela de consumo de créditos Snowflake. Você incorre em cobranças para as PTUs alocadas, independentemente de seu uso real durante o período. O período começa e termina às 8 horas. PT para as datas fornecidas na criação da taxa de transferência provisionada.
A taxa de transferência provisionada não é renovada automaticamente. Para reservar a taxa de transferência para outro período, consulte a seção a seguir.
Reserva de taxa de transferência¶
Este tutorial orienta você no processo de reservar e usar a taxa de transferência provisionada em uma chamada REST API para a função Cortex COMPLETE.
Etapa 1: crie um ID de taxa de transferência provisionada¶
Para começar a usar a taxa de transferência provisionada, use SQL para criar uma solicitação com as seguintes informações:
O provedor de nuvem
O modelo
O número de PTUs
O início do prazo (período de disponibilidade da taxa de transferência provisionada)
O fim do prazo (período de disponibilidade da taxa de transferência provisionada)
Os exemplos a seguir criam o recurso de taxa de transferência provisionada my_pt
no AWS, especificando o modelo llama3.1-8B
, alocando 64 unidades de taxa de transferência provisionadas (PTUs) de 15 de abril de 2025 a 15 de maio de 2025.
CREATE PROVISIONED THROUGHPUT my_pt CLOUD_PROVIDER='aws', MODEL='llama3.1-8B', PTUS=64, TERM_START='2025-04-15' TERM_END='2025-05-15'
O ID da taxa de transferência provisionada (ID da PT) está na resposta.
Etapa 2: abra um chamado de suporte para alocar a taxa de transferência provisionada¶
Após criar um ID, crie um tíquete de suporte com o suporte Snowflake para ativar a taxa de transferência provisionada. No tíquete, informe seu Identificadores de conta e o ID da PT. Recomendamos criar o tíquete sete dias úteis antes do início do período para garantir que a taxa de transferência seja reservada quando necessário.
Etapa 3: verifique o status da taxa de transferência provisionada¶
Após criar o tíquete de suporte, você pode verificar o status da taxa de transferência provisionada usando o seguinte comando.
DESCRIBE PROVISIONED THROUGHPUT my_pt
Esse comando retorna um dos seguintes estados:
REQUESTED: solicitação de PT recebida, mas capacidade ainda não alocada.
APPROVED: PT está ativada e será ACTIVE na data de início especificada.
ACTIVE: PT já está disponível para uso.
EXPIRED: PT não está mais disponível para uso ou não foi ativado antes do início do período.
Etapa 4: use o ID da taxa de transferência provisionada em suas chamadas REST API¶
Depois que a PT estiver no estado ACTIVE, você poderá usá-la em suas chamadas AI_COMPLETE REST API. Para usar a taxa de transferência provisionada na solicitação de inferência, especifique o ID da PT na chamada da API. O uso da taxa de transferência provisionada na solicitação não altera o comportamento da API.
O exemplo a seguir mostra como usar o ID da PT em uma chamada COMPLETE REST API:
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"
}'
Nota
A função que você usa para realizar a chamada REST API deve ter o privilégio USE no ID da taxa de transferência provisionada. Para obter mais informações sobre os privilégios necessários, consulte Privilégios de taxa de transferência provisionada.
Rescisão¶
A taxa de transferência provisionada interrompe o processamento de solicitações de inferência após o término do prazo. Se você estiver usando a taxa de transferência provisionada para solicitações da API após a expiração do termo, deverá criar um novo ID da taxa de transferência provisionada e usá-lo em suas solicitações.