Compartilhar via


O que significam os intervalos de tokens por segundo na taxa de transferência provisionada?

Este artigo descreve como e por que o Databricks mede tokens por segundo para cargas de trabalho de taxa de transferência provisionada para APIs do modelo de Base.

O desempenho de modelos de linguagem grande (LLMs) é geralmente medido em termos de tokens por segundo. Ao configurar pontos de extremidade de serviço de modelo de produção, é importante considerar o número de solicitações que seu aplicativo envia para o ponto de extremidade. Isso ajuda você a entender se o ponto de extremidade precisa ser configurado para ser dimensionado para não afetar a latência.

Ao configurar os intervalos de expansão para pontos de extremidade implantados com taxa de transferência provisionada, o Databricks encontrou mais facilidade para raciocinar sobre as entradas indo para o sistema usando tokens.

O que são tokens?

Os LLMs leem e geram textos em termos do que é chamado de token. Os tokens podem ser palavras ou subpalavras, e as regras exatas para dividir o texto em tokens variam de modelo para modelo. Por exemplo, você pode usar ferramentas online 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 pontos de extremidade de serviço são configurados com base no número de solicitações simultâneas por segundo (RPS). No entanto, uma solicitação de inferência de LLM demora uma quantidade de tempo diferente com base na quantidade de tokens passados e na quantidade de tokens que ele gera, que pode entrar em desequilíbrio entre as solicitações. Portanto, decidir a escala horizontal necessária pelo ponto de extremidade requer medir a escala do ponto de extremidade em termos do conteúdo de sua solicitação - tokens.

Diferentes casos de uso apresentam diferentes taxas de token de entrada e saída:

  • Comprimentos variáveis de contextos de entrada: enquanto algumas solicitações podem envolver apenas alguns tokens, como uma pergunta curta, outras podem envolver centenas ou até mesmo milhares de tokens, como o resumo de um documento longo. Essa variabilidade torna desafiador configurar um ponto de extremidade de serviço baseado apenas em RPS, uma vez que isso não leva em consideração as diferentes demandas de processamento das solicitações diversas.
  • Comprimentos de saída variáveis, dependendo do caso de uso: diferentes casos de uso para LLMs podem resultar em comprimentos de token de saída bastante diferentes. A geração de tokens de saída é a parte mais demorada da inferência de LLM, portanto, isso pode afetar drasticamente a taxa de transferência. Por exemplo, o resumo envolve respostas mais curtas e concisas, mas a geração de texto, como gravar artigos ou descrições de produtos, pode gerar respostas muito mais longas.

Como fazer para selecionar o intervalo de tokens por segundo do meu ponto de extremidade?

Os pontos de extremidade de fornecimento de taxa de transferência provisionada são configurados em termos de um intervalo de tokens por segundo que você pode enviar ao ponto de extremidade. O ponto de extremidade é escalado verticalmente/horizontalmente para lidar com a carga do seu aplicativo de produção. Você será cobrado por hora com base em um intervalo de tokens por segundo para o qual seu ponto de extremidade será escalado.

A melhor maneira de saber em qual intervalo de tokens por segundo seu ponto de extremidade de serviço de taxa de transferência provisionada funciona para o seu caso de uso é realizar um teste de carga com um conjunto de dados representativo. Consulte Conduzir seu próprio parâmetro de comparação de ponto de extremidade do LLM.

Há dois fatores importantes que devem ser considerados:

  • Como o Databricks mede o desempenho de tokens por segundo do LLM

    O Databricks compara os pontos de extremidade com uma carga de trabalho que representa tarefas de resumo comuns para casos de uso de geração com recuperação aumentada. Especificamente, a carga de trabalho consiste em:

    • 2048 tokens de entrada
    • 256 tokens de saída

    Os intervalos de token exibidos combinam a taxa de transferência de token de entrada e saída e, por padrão, otimizam o equilíbrio entre a taxa de transferência e a latência.

    O Databricks comprova que os usuários podem enviar muitos tokens por segundo simultaneamente para o ponto de extremidade em um tamanho de lote de 1 por solicitação. Isso simula várias solicitações atingindo o ponto de extremidade ao mesmo tempo, o que representa com mais precisão como você realmente usaria o ponto de extremidade em produção.

  • Como funciona o dimensionamento automático

    O Serviço de Modelo apresenta um sistema de dimensionamento automático rápido que dimensiona a computação subjacente para atender à demanda de tokens por segundo do seu aplicativo. O Databricks escalar verticalmente a taxa de transferência provisionada em partes de tokens por segundo, de modo que você será cobrado por unidades adicionais de taxa de transferência provisionada somente quando as estiver usando.