Realize seu próprio benchmarking de pontos finais do LLM

Este artigo fornece um exemplo recomendado pela Databricks no site Notebook para a avaliação comparativa de um endpoint LLM. Ele também inclui uma breve introdução sobre como o Databricks realiza a inferência LLM e calcula a latência e a taxa de transferência como métricas de desempenho do endpoint.

A inferência LLM no Databricks mede tokens por segundo para o modo de provisionamento Taxa de transferência para APIs do modelo Foundation. Consulte O que significam os intervalos de tokens por segundo no provisionamento Taxa de transferência?

Exemplo de benchmarking Notebook

O senhor pode importar o seguinte Notebook para o seu ambiente Databricks e especificar o nome do seu endpoint LLM para executar um teste de carga.

Avaliação comparativa de um ponto de extremidade do LLM

Abra o bloco de anotações em outra guia

Introdução à inferência LLM

Os LLMs realizam a inferência em um processo de duas etapas:

  • Preenchimento prévio, em que os tokens no prompt de entrada são processados em paralelo.

  • Decodificação, em que o texto é gerado um token por vez de forma auto-regressiva. Cada token gerado é anexado à entrada e alimentado novamente no modelo para gerar os próximos tokens. A geração é interrompida quando o LLM emite tokens de parada especiais ou quando uma condição definida pelo usuário é atendida.

A maioria dos aplicativos de produção tem um orçamento de latência, e a Databricks recomenda que o senhor maximize a taxa de transferência com base nesse orçamento de latência.

  • O número de tokens de entrada tem um impacto substancial sobre a memória necessária para processar solicitações.

  • O número de tokens de saída domina a latência geral da resposta.

A Databricks divide a inferência LLM nas seguintes sub-métricas:

  • Tempo para os primeiros tokens (TTFT): É a rapidez com que os usuários começam a ver o resultado do modelo depois de inserir a consulta. Baixos tempos de espera por uma resposta são essenciais em interações em tempo real, mas menos importantes em cargas de trabalho off-line. Essa métrica é determinada pelo tempo necessário para processar o prompt e, em seguida, gerar os primeiros tokens de saída.

  • Tempo por tokens de saída (TPOT): tempo para gerar tokens de saída para cada usuário que está consultando o sistema. Essa métrica corresponde à forma como cada usuário percebe a "velocidade" do modelo. Por exemplo, um TPOT de 100 milissegundos por tokens seria 10 tokens por segundo, ou cerca de 450 palavras por minuto, o que é mais rápido do que uma pessoa comum consegue ler.

Com base nessas métricas, a latência total e a taxa de transferência podem ser definidas da seguinte forma:

  • Latência = TTFT + (TPOT) * (o número de tokens a serem gerados)

  • Taxa de transferência = número de tokens de saída por segundo em todas as solicitações de simultaneidade

No Databricks, o endpoint de atendimento do LLM é capaz de escalar para corresponder à carga enviada por clientes com várias solicitações concorrentes. Há uma compensação entre a latência e a taxa de transferência. Isso ocorre porque, no endpoint de serviço do LLM, as solicitações de concorrente podem ser e são processadas ao mesmo tempo. Em cargas de solicitação de baixa concorrência, a latência é a mais baixa possível. No entanto, se o senhor aumentar a carga de solicitações, a latência poderá aumentar, mas a Taxa de transferência provavelmente também aumentará. Isso ocorre porque duas solicitações de tokens por segundo podem ser processadas em menos do dobro do tempo.

Portanto, controlar o número de solicitações paralelas em seu sistema é fundamental para equilibrar a latência com a Taxa de transferência. Se o senhor tiver um caso de uso de baixa latência, deverá enviar menos solicitações de concorrente ao endpoint para manter a latência baixa. Se o senhor tiver um caso de uso com alta taxa de transferência, vai querer saturar o endpoint com muitas solicitações de simultaneidade, já que uma taxa de transferência mais alta vale a pena, mesmo às custas da latência.

Arnês de benchmarking da Databricks

O exemplo de benchmarking compartilhado anteriormente Notebooké o chicote de benchmarking da Databricks. O site Notebook exibe as métricas de latência e Taxa de transferência, além de graficar a curva Taxa de transferência versus latência em diferentes números de solicitações paralelas. O Databricks endpoint autoscale é baseado em uma estratégia "equilibrada" entre latência e taxa de transferência. No site Notebook, o senhor observa que, à medida que mais usuários da concorrente consultam o endpoint ao mesmo tempo, a latência aumenta, assim como a taxa de transferência.

Taxa de transferência-Latência gráfica

Mais detalhes sobre a filosofia da Databricks em relação ao benchmarking de desempenho do LLM estão descritos no blog LLM Inference desempenho engenharia: Best Practices.