O que significam os intervalos de tokens por segundo no provisionamento Taxa de transferência?
Este artigo descreve como e por que a Databricks mede tokens por segundo para cargas de trabalho de provisionamento Taxa de transferência para APIs do modelo Foundation.
O desempenho de modelos de linguagem grandes (LLMs) é geralmente medido em termos de tokens por segundo. Ao configurar os pontos de extremidade do modelo de serviço de produção, é importante considerar o número de solicitações que seu aplicativo envia para o site endpoint. Isso ajuda o senhor a entender se o seu endpoint precisa ser configurado para escalonar de modo a não afetar a latência.
Ao configurar os intervalos de escala-out para o endpoint implantado com provisionamento Taxa de transferência, a Databricks achou mais fácil raciocinar sobre as entradas que entram em seu sistema usando tokens.
O que são fichas?
Os LLMs leem e geram texto em termos do que é chamado de tokens. tokens podem ser palavras ou subpalavras, e as regras exatas para dividir o texto em tokens variam de modelo para modelo. Por exemplo, o senhor pode usar ferramentas on-line para ver como o tokenizador do Llama converte palavras em tokens.
Por que medir o desempenho do LLM em termos de tokens por segundo?
Tradicionalmente, os endpoints de atendimento são configurados com base no número de solicitações de concorrente por segundo (RPS). No entanto, uma solicitação de inferência LLM leva um tempo diferente com base em quantos tokens são passados e quantos são gerados, o que pode ser desequilibrado entre as solicitações. Portanto, para decidir a quantidade de escala que seu endpoint precisa, é necessário medir a escala do endpoint em termos do conteúdo da solicitação - tokens.
Diferentes casos de uso exigem diferentes proporções de tokens de entrada e saída:
Comprimentos variados dos contextos de entrada: Enquanto algumas solicitações podem envolver apenas alguns tokens de entrada, por exemplo, uma pergunta curta, outras podem envolver centenas ou até milhares de tokens, como um documento longo para resumo. Essa variabilidade faz com que a configuração de um endpoint de atendimento com base apenas no RPS seja um desafio, pois não account atende às demandas de processamento variáveis das diferentes solicitações.
Comprimentos variáveis de saída, dependendo do caso de uso: Casos de uso diferentes para LLMs podem levar a comprimentos de tokens de saída muito diferentes. A geração de tokens de saída é a parte mais demorada da inferência LLM, portanto, isso pode afetar drasticamente a Taxa de transferência. Por exemplo, a sumarização envolve respostas mais curtas e concisas, mas a geração de texto, como escrever artigos ou descrições de produtos, pode gerar respostas muito mais longas.
Como faço para selecionar o intervalo de tokens por segundo para meu endpoint?
provisionamento Os endpoints de serviço da taxa de transferência são configurados em termos de um intervalo de tokens por segundo que o senhor pode enviar para endpoint. O endpoint sobe e desce para lidar com a carga do seu aplicativo de produção. O senhor é cobrado por hora com base no intervalo de tokens por segundo para o qual seu endpoint é dimensionado.
A melhor maneira de saber qual intervalo de tokens por segundo no seu endpoint de provisionamento funciona para o seu caso de uso é realizar um teste de carga com um representante dataset. Consulte Conduzir seu próprio LLM endpoint benchmarking.
Há dois fatores importantes a serem considerados:
Como o Databricks mede o desempenho de tokens por segundo do LLM
A Databricks avalia o endpoint em relação a uma carga de trabalho que representa uma tarefa de sumarização comum para casos de uso de geração aumentada de recuperação. Especificamente, a carga de trabalho consiste em:
2.048 tokens de entrada
256 tokens de saída
Os intervalos de tokens exibidos combinam a Taxa de transferência de entrada e saída e, pelo site default, otimizam o equilíbrio da Taxa de transferência e da latência.
O Databricks avalia que os usuários podem enviar essa quantidade de tokens por segundo simultaneamente ao endpoint com um tamanho de lote de 1 por solicitação. Isso simula várias solicitações que atingem o endpoint ao mesmo tempo, o que representa com mais precisão como o senhor realmente usaria o endpoint na produção.
Como funciona autoscale
modelo específico recurso um sistema autoscale rápido que escala a compute subjacente para atender à demanda de tokens por segundo de seu aplicativo. Os Databricks aumentam o provisionamento Taxa de transferência em pedaços de tokens por segundo, portanto, você será cobrado por unidades adicionais de provisionamento Taxa de transferência somente quando estiver usando-os.