Ir para o conteúdo principal

Modelos Encadeados (Pipeline Multi-Estágio)

A ideia: Modelo A gera uma tradução bruta → Modelo B faz pós-edição → Modelo C avalia ou valida o resultado. Cada estágio se especializa em uma coisa. A saída do pipeline é melhor do que qualquer modelo único sozinho.

:::info Este é um cookbook, não uma implementação finalizada Este guia esboça a arquitetura de pipeline multi-estágio. Os modelos específicos e a configuração da cadeia dependem do seu par de idiomas e orçamento. :::

Quando Usar Isto

  • Um único modelo produz qualidade inconsistente — bom em algumas entradas, ruim em outras
  • Você quer separar geração de validação — um modelo cria, outro critica
  • Você tem orçamento para múltiplas chamadas de API por tradução (latência e custo escalam linearmente com os estágios)
  • Você quer combinar modelos com diferentes pontos fortes (por exemplo, um gerador criativo + um editor preciso)

Como Funciona

Input ──→ [Stage 1: Generator] ──→ [Stage 2: Editor] ──→ [Stage 3: Validator] ──→ Output
│ │ │
│ "Translate this" │ "Fix errors in │ "Rate 1-5 and
│ │ this translation" │ flag issues"
▼ ▼ ▼
Raw translation Polished translation Score + accept/reject

Exemplo: Pipeline de Três Estágios

# Stage 1: Fast model generates candidate
raw = await fast_model.translate(source, target_lang="crk")

# Stage 2: Strong model post-edits
edited = await strong_model.complete(
f"The following {target_lang} translation may contain errors. "
f"Fix any grammatical or vocabulary mistakes:\n"
f"Source: {source}\nTranslation: {raw}\nCorrected:"
)

# Stage 3: Validator model scores
score = await validator.complete(
f"Rate this translation 1-5 for accuracy and fluency:\n"
f"Source: {source}\nTranslation: {edited}\nScore:"
)

# Accept if score >= 3, otherwise retry Stage 1 with different temperature

Padrões Comuns de Cadeia

PadrãoEstágiosCaso de Uso
Gerar → EditarLLM rápido → LLM forteMelhoria de qualidade eficiente em custo
Gerar → Validar → Tentar NovamenteLLM → FST/regras → LLM (tentar novamente em caso de falha)Correção morfológica (veja FST-Gated)
Gerar → Traduzir de Volta → AvaliarLLM(en→crk) → LLM(crk→en) → compararVerificação de consistência de ida e volta
Ensemble → Votação3 LLMs independentemente → votação por maioriaRobustez através da diversidade

Decisões Principais de Design

Orçamento de latência: Cada estágio multiplica a latência. Uma cadeia de 3 estágios com 2s por estágio = 6s por tradução. Para avaliação em lote isso é aceitável; para tempo real pode não ser.

Multiplicador de custo: 3 estágios = 3× o custo da API. Use modelos mais baratos para estágios iniciais, modelos caros para estágios críticos.

Propagação de erros: Uma saída ruim do Estágio 1 pode enganar o Estágio 2. Inclua a fonte original em cada estágio para que modelos posteriores possam se recuperar.

Prós e Contras

✅ Pode combinar pontos fortes de especialistas❌ Latência e custo se multiplicam por estágio
✅ Separação de responsabilidades (gerar vs. validar)❌ Complexo para depurar — qual estágio introduziu o erro?
✅ Fácil trocar estágios individuais❌ Propagação de erros entre estágios
✅ Validação de ida e volta detecta alucinações❌ Retornos decrescentes além de 2-3 estágios

Combina Bem Com

Veja Também