Problema de localização de faltas após redução de custos em roteamento multimodelo
O que você economiza na redução de custos é o dinheiro de uma única chamada, mas o que você paga on-line é o custo da recorrência, o custo da atribuição e o tempo que leva para avaliar erroneamente o problema de “qualidade” para “aleatório” repetidas vezes.
A primeira vez que senti que algo estava errado online foi uma reclamação difícil de explicar: o mesmo usuário fez a mesma pergunta três vezes em 5 minutos. Na primeira vez ele respondeu bem, na segunda vez começou a falar bobagens e na terceira vez voltou ao normal.
Não há anormalidades nos logs, a latência é estável e o uso do token não aumentou. A única mudança que pode ser vista é que acabamos de ativar o “roteamento multimodelo” e usamos modelos mais baratos para cobrir parte do tráfego.
Naquela época, a intuição da equipe era muito consistente: o modelo é uma distribuição de probabilidade e as flutuações são normais. Além disso, o roteamento é apenas uma camada do gateway, então quais grandes problemas podem ocorrer?
Nas duas semanas seguintes, sofremos muitas vezes com essa sentença.
Julgamento central
O principal custo do roteamento multimodelo é alterar o comportamento da mesma solicitação de “reprodutível” para “distribuição de probabilidade”.
Na era do modelo único, não importa quão difícil seja um problema on-line, contanto que você obtenha a entrada, o prompt, o contexto e o número da versão, provavelmente poderá reproduzi-lo em um determinado ambiente e, em seguida, seguir a cadeia de chamadas para identificar a causa raiz.
Uma vez envolvido o roteamento, o problema se tornará:
-Qual modelo, qual versão e qual conjunto de parâmetros usei desta vez?
- Por que a rota foi escolhida desta forma e quais características o limiar atingiu?
- Você percorreu caminhos diferentes duas vezes na mesma sessão?
- Quando ocorre uma falha, é possível repetir a “decisão tomada naquele momento”?
Se não houver logs rastreáveis e mecanismos de reversão, as falhas online serão atualizadas de “modelo impreciso” para “causa raiz não localizável”.
Como as coisas ficam mais difíceis passo a passo
Adotamos apenas a estratégia mais simples no início: usar modelos pequenos sempre que possível e atualizar para modelos grandes apenas quando eles “parecerem complicados”.
A chamada “aparência complexa” são alguns recursos baratos: comprimento de entrada, se contém blocos de código, se há múltiplas rodadas de diálogo e a confiança de um pequeno classificador.
A primeira onda de problemas depois de ficar online foi a falha dos métodos de solução de problemas.
O mesmo prompt não pode ser reproduzido por colegas de teste no ambiente de escala de cinza e não pode ser reproduzido localmente pelos desenvolvedores. No final, apenas usuários online podem acioná-lo de forma estável.
Certa vez, suspeitamos que fosse um bug na emenda de contexto, no cache ou em algum pós-processamento. Só quando capturamos a entrada completa de uma solicitação é que descobrimos que desta vez um modelo pequeno foi usado on-line, e o modelo grande foi usado por padrão quando o reproduzimos.
Esta é uma “mudança de caminho”.
As mudanças de caminho alteram a solução de problemas de “entradas recorrentes” para “decisões recorrentes”. As decisões não podem ser repetidas naquele momento.
Mal-entendido 1: trate o roteamento como pura otimização de custos
O que você vê na tabela de custos é:
- 30% do tráfego vai para modelos pequenos
- O custo médio por chamada caiu 18%
Mas o que você não pode ver na tabela de falhas é:
- Cada problema de qualidade levará 1-2 dias extras para determinar se é causado pelo roteamento.
- A reprodução online requer um “contexto de tomada de decisão” mais completo
- A reversão não é mais um “modelo de reversão”, mas uma “estratégia de reversão + limite de reversão + lógica de extração de recursos de reversão”
Quando você trata o roteamento como uma mudança leve, como “mudar de fornecedor”, definitivamente terá que pagar juros mais tarde na solução de problemas.
Mal-entendido 2: Interpretando a instabilidade como “LLM é inerentemente aleatório”
A maioria dos problemas causados pela aleatoriedade de um único modelo é “amostrar a mesma entrada várias vezes com saídas diferentes”.
O problema causado pela aleatoriedade do roteamento é que “a mesma entrada vai para sistemas diferentes”.
Ambos parecem flutuações, mas são diagnosticados de maneiras completamente diferentes.
O primeiro frequentemente ajusta a temperatura, avisa o sistema e adiciona restrições; este último deve primeiro responder: Será que desta vez seguiram o caminho errado?
Sem rotear os logs de decisão, a equipe adquirirá um péssimo hábito: atribuir todas as anomalias à “instabilidade do modelo”, de modo que a estratégia se torne cada vez mais agressiva e a qualidade se torne cada vez mais parecida com um dado.
Três tipos de rastreabilidade que realmente precisam ser concluídos
Para tornar o roteamento um sistema “solucionável”, pelo menos três tipos de registros devem ser preenchidos e devem poder ser agrupados em uma dimensão de solicitação.
1) Registro de decisão de roteamento (registro de decisão)
Não apenas registre “qual modelo foi selecionado”, mas também registre:
- Conjunto de candidatos (quais modelos disponíveis estão disponíveis naquele momento)
- Pontuação ou julgamento limite para cada candidato
- Valores de recursos usados (comprimento de entrada, contagem de múltiplas rodadas, saída do classificador, etc.)
- Número da versão da política (muito crítico)
Só assim poderemos responder “Por que escolhi desta vez?”
2) Solicitar instantâneo (reproduzir instantâneo)
Pelo menos o seguinte deve estar disponível em caso de falha:
- Entrada bruta do usuário
- O prompt realmente enviado ao modelo (incluindo palavras de prompt do sistema, contexto combinado e resultados da ferramenta)
- Configuração de chaves (temperatura, top_p, max_tokens, stop e seu próprio switch de pós-processamento)
Sem instantâneos, as recorrências são apenas suposições.
3) Reversão de roteamento (primitiva de reversão)
A reversão deve ser bastante “áspera” e pode ser executada com um clique:
- Forçar todos os jogadores a seguirem um determinado modelo estável
- Ou consertar uma determinada versão da estratégia
Não espere alterar temporariamente o limite em caso de acidente. O que é necessário em um acidente é certeza.
Caso de falha: “limiar adaptativo” aparentemente inteligente
Posteriormente, tentamos uma abordagem mais “inteligente”: ajustar dinamicamente o limite com base na qualidade do sinal dos últimos 10 minutos para permitir que o modelo pequeno engolisse mais tráfego.
O resultado é uma autooscilação muito típica:
- Modelos pequenos engolem mais e a qualidade do sinal piora
- O limite é aumentado, modelos grandes engolem mais e a qualidade do sinal melhora.
- O limite é reduzido e os modelos pequenos engolem mais
Externamente parece “bons e maus momentos”, mas internamente a estratégia está vacilante.
Se não houver um número de versão da política e um registro de decisões para esse tipo de problema, é basicamente impossível explicá-lo claramente e muito menos corrigi-lo.
Limites aplicáveis
O roteamento multimodelo não é impossível, mas é mais adequado para equipes que atendem aos seguintes pré-requisitos:
- É aceitável pagar custos adicionais de armazenamento e conformidade de privacidade pela rastreabilidade?
- Tenha métricas e avisos de qualidade claros, em vez de depender de reclamações de usuários
- A estratégia pode ser mantida como um “sistema online” com versões, escalas de cinza e reversões?
Se a observabilidade atual ainda estiver limitada a “volume de solicitação, atraso, código de erro”, não se apresse em fazer roteamento complexo ainda. O dinheiro economizado pode ser perdido no tempo de solução de problemas.
Resumo
A coisa mais subestimada sobre o roteamento multimodelo é que ele altera os objetos de solução de problemas.
O que antes era reproduzido era input, mas agora o que precisa ser reproduzido é a tomada de decisão. Sem logs de decisão, instantâneos de solicitação e primitivas de reversão, as falhas on-line se tornarão “aleatórias” e não poderão ser explicadas e reparadas.
As contas de redução de custos são fáceis de calcular, enquanto as contas recorrentes são as mais difíceis de calcular, mas com certeza aparecerão na revisão do acidente no final.
What to read next
Want more posts about AI?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #AI?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home