Entendendo a latência

Latência, no contexto de LLMs como o Claude, refere-se ao tempo que o modelo leva para processar sua entrada (o prompt) e gerar uma saída (a resposta, também conhecida como “completion”). A latência pode ser influenciada por vários fatores, como o tamanho do modelo, a complexidade do prompt e a infraestrutura subjacente que suporta o modelo e o ponto de interação.

É sempre melhor primeiro elaborar um prompt que funcione bem sem restrições de modelo ou prompt, e depois tentar estratégias de redução de latência. Tentar reduzir a latência prematuramente pode impedir você de descobrir como é o desempenho máximo.


Medindo a latência

Ao discutir latência, você pode encontrar vários termos e medidas:

  • Latência de base: É o tempo que o modelo leva para processar o prompt e gerar a resposta, sem considerar os tokens de entrada e saída por segundo. Ele fornece uma ideia geral da velocidade do modelo.
  • Tempo até o primeiro token (TTFT): Essa métrica mede o tempo que o modelo leva para gerar o primeiro token da resposta, a partir do momento em que o prompt foi enviado. É particularmente relevante quando você está usando streaming (mais sobre isso depois) e deseja fornecer uma experiência responsiva aos seus usuários.

Para um entendimento mais aprofundado desses termos, confira nosso glossário.


Estratégias para reduzir a latência

Agora que você tem um melhor entendimento da latência, vamos mergulhar em três estratégias eficazes para ajudá-lo a minimizá-la e tornar seus aplicativos baseados no Claude mais rápidos do que nunca.

1. Escolha o modelo certo

Uma das maneiras mais diretas de reduzir a latência é selecionar o modelo apropriado para o seu caso de uso. A Anthropic oferece uma variedade de modelos com diferentes capacidades e características de desempenho:

  • Claude 3 Haiku: Como nosso modelo mais rápido, o Haiku é ideal para aplicativos que exigem respostas rápidas e podem tolerar um tamanho de modelo um pouco menor.
  • Claude 3 Sonnet: Equilibrando velocidade e tamanho do modelo, o Sonnet oferece melhor desempenho que o Haiku, mantendo uma latência relativamente rápida.
  • Claude 3 Opus: Como nosso maior e mais poderoso modelo, o Opus é perfeito para tarefas complexas que exigem a mais alta qualidade de saída. No entanto, pode ter uma latência maior em comparação com o Haiku e o Sonnet.

Considere seus requisitos específicos e escolha o modelo que melhor se adapta às suas necessidades em termos de velocidade e qualidade de saída. Para mais detalhes sobre as métricas do modelo, consulte nossa página de visão geral dos modelos.

2. Otimize o comprimento do prompt e da saída

Outra maneira eficaz de reduzir a latência é minimizar o número de tokens tanto no seu prompt de entrada quanto na saída esperada. Quanto menos tokens o modelo tiver que processar e gerar, mais rápida será a resposta.

Aqui estão algumas dicas para ajudá-lo a otimizar seus prompts e saídas:

  • Seja claro, mas conciso: Procure transmitir sua intenção de forma clara e concisa no prompt. Evite detalhes desnecessários ou informações redundantes, lembrando que o Claude não tem contexto sobre seu caso de uso e pode não fazer os saltos lógicos pretendidos se as instruções não forem claras.
  • Peça respostas mais curtas: Peça diretamente ao Claude para ser conciso. A família de modelos Claude 3 tem uma capacidade de direcionamento aprimorada em relação às gerações anteriores. Se o Claude estiver gerando um comprimento indesejado, peça a ele para reduzir sua prolixidade.

    Nota: Devido à forma como os LLMs contam tokens em vez de palavras, pedir uma contagem exata de palavras ou um limite de contagem de palavras não é uma estratégia tão eficaz quanto pedir limites de contagem de parágrafos ou frases.

  • Defina limites de saída apropriados: Use o parâmetro max_tokens para definir um limite rígido no comprimento máximo da resposta gerada. Isso impede que o Claude gere saídas excessivamente longas.

    Nota: Quando a resposta atinge max_tokens tokens, a resposta será cortada, talvez no meio da frase ou da palavra, então esta é uma técnica bruta que pode exigir pós-processamento e geralmente é mais apropriada para respostas de múltipla escolha ou respostas curtas onde a resposta vem logo no início.

  • Experimente com a temperatura: O parâmetro temperature controla a aleatoriedade da saída. Valores mais baixos (por exemplo, 0,2) às vezes podem levar a respostas mais focadas e curtas, enquanto valores mais altos (por exemplo, 0,8) podem resultar em saídas mais diversas, mas potencialmente mais longas.

Encontrar o equilíbrio certo entre clareza do prompt, qualidade da saída e contagem de tokens pode exigir alguma experimentação, mas vale muito a pena o esforço se alcançar a latência ideal for importante para o seu caso de uso.

Para mais informações sobre parâmetros, visite nossa documentação da API.

3. Aproveite o streaming

Streaming é um recurso que permite que o modelo comece a enviar sua resposta antes que a saída completa esteja pronta. Isso pode melhorar significativamente a responsividade percebida do seu aplicativo, pois os usuários podem ver a saída do modelo em tempo real.

Com o streaming habilitado, você pode processar a saída do modelo à medida que ela chega, atualizando sua interface de usuário ou executando outras tarefas em paralelo. Isso pode melhorar muito a experiência do usuário e tornar seu aplicativo mais interativo e responsivo.

Visite streaming de Mensagens para aprender como você pode implementar o streaming para o seu caso de uso.


Concluindo

Reduzir a latência pode ser crucial para construir aplicativos responsivos e envolventes com o Claude, dependendo do seu caso de uso. Ao escolher o modelo certo, otimizar seus prompts e saídas e aproveitar o streaming, você pode melhorar significativamente a velocidade e o desempenho geral dos seus projetos baseados no Claude. Encontrar o equilíbrio perfeito pode exigir alguma tentativa e erro, mas os resultados valem muito a pena.

Se você tiver mais perguntas ou precisar de orientação adicional, não hesite em entrar em contato com nossa comunidade em nosso servidor Discord ou equipe de suporte ao cliente. Estamos sempre aqui para ajudar e apoiar você em sua jornada com o Claude.

Feliz codificação! Que seus aplicativos sejam tão rápidos quanto poderosos!