𝗟𝗶𝗺𝗶𝘁𝗮çã𝗼 𝗱𝗲 𝗧𝗮𝘅𝗮 𝗲 𝗖𝗶𝗿𝗰𝘂𝗶𝘁 𝗕𝗿𝗲𝗮𝗸𝗲𝗿𝘀 𝗲𝗺 𝗦𝗶𝘀𝘁𝗲𝗺𝗮𝘀 𝗱𝗲 𝗜𝗔
Sistemas de IA distribuídos são complexos. Eles lidam com volumes enormes de requisições e inferências de modelos pesadas. Você depende de clusters de GPU, bancos de dados e APIs de terceiros. Um único componente defeituoso ou um pico de tráfego pode derrubar todo o seu sistema.
Você precisa de duas ferramentas para proteger seu sistema: rate limiting e circuit breakers.
Rate Limiting O rate limiting impede que um único usuário ou serviço utilize recursos excessivos. Isso garante acesso justo para todos.
Métodos comuns:
- Token Bucket: O melhor para IA. Permite rajadas curtas de atividade enquanto mantém uma média constante.
- Leaky Bucket: Mantém um fluxo constante de requisições.
- Fixed Window: Simples, mas pode causar picos no início de uma nova janela.
- Sliding Window: Mais preciso do que janelas fixas.
Dica de especialista para IA: Limite pela contagem de tokens, não apenas por requisições. Um prompt com 4.000 tokens utiliza mais recursos do que um prompt com 10 tokens.
Circuit Breakers Um circuit breaker monitora chamadas para serviços como seu servidor de GPU ou banco de dados vetorial. Se um serviço falhar muitas vezes, o disjuntor abre. Ele interrompe imediatamente todas as chamadas para esse serviço. Isso evita o colapso total do sistema.
O circuito segue três estados:
- Closed: Tudo está funcionando normalmente.
- Open: O serviço está falhando. As chamadas falham rapidamente ou utilizam um fallback.
- Half-Open: O sistema testa o serviço para ver se ele se recuperou.
Melhores práticas:
- Monitore chamadas lentas. Se um LLM demorar muito, trate-o como uma falha.
- Separe os tipos de erro. Não acione o circuit breaker para erros do usuário, como 400 Bad Request. Acione-o apenas para erros de conexão ou timeouts.
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi