Prévia

Esse recurso está em Public Preview e é compatível com os sites us-east1 e us-central1.

Realize seu próprio benchmarking de pontos finais do LLM

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

LLM inferência em Databricks mede tokens por segundo para o modo de provisionamento Taxa de transferência para o modelo de fundação APIs. Veja o que significa tokens per second ranges in 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 LLM endpoint 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 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 site 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 o site 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.

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 ~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

Em Databricks, o endpoint de atendimento LLM é capaz de escalonar para corresponder à carga enviada por clientes com várias solicitações concorrente. Há uma compensação entre a latência e a taxa de transferência. Isso ocorre porque, no endpoint de atendimento 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 para o site 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 site 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 Notebook compartilhado anteriormente é Databricks' benchmarking harness. O Notebook exibe a latência e a Taxa de transferência métricas, além de graficar a curva Taxa de transferência versus latência em diferentes números de solicitações paralelas. Databricks endpoint A autoescala é baseada em uma estratégia "equilibrada" entre latência e taxa de transferência. No Notebook, o senhor observa que, à medida que mais usuários do 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 do Databricks sobre LLM desempenho benchmarking estão descritos nos blogsLLM Inference desempenho engenharia: Best Practices.