Compound AI Systems
Sistemas de IA compostos resolvem tarefas com vários componentes que interagem entre si, como modelos, recuperadores, ferramentas e regras, em vez de uma única chamada de modelo.
Um sistema de IA composto é uma aplicação que resolve uma tarefa com vários componentes interativos, como várias chamadas a modelos, sistemas de recuperação, ferramentas externas, regras e revisão humana, em vez de uma única chamada a um modelo. Matei Zaharia e os coautores da Berkeley, Stanford, Databricks e outros grupos deram nome a esta tendência numa publicação da Berkeley AI Research de fevereiro de 2024, defendendo que os resultados de ponta provinham cada vez mais de sistemas, e não de modelos monolíticos. Os exemplos incluem AlphaCode 2, que gera até um milhão de programas candidatos com modelos de linguagem de grande escala (LLM) e depois os filtra e classifica; AlphaGeometry, que combina um LLM com um motor de dedução simbólica para resolver problemas de geometria de olimpíadas; e ChatGPT, cujo modelo decide quando navegar na Web, executar Python ou gerar uma imagem. A mesma publicação cita dados da Databricks que mostram que 60% das aplicações de LLM usam alguma forma de geração aumentada por recuperação (RAG) e 30% usam cadeias com várias etapas.
Por que razão criar sistemas em vez de modelos maiores#
- Melhorias de qualidade mais económicas: A amostragem, a votação e a verificação podem aumentar a exatidão a um custo inferior ao do treino de um modelo maior. A Google comunicou que o Gemini Ultra obteve 90,04% no benchmark MMLU com CoT@32, que recolhe 32 respostas de cadeia de pensamento e apresenta a resposta maioritária quando há concordância suficiente, em comparação com os 86,4% do GPT-4 com prompting de cinco exemplos.
- Dados atualizados: O conhecimento de um modelo termina na data-limite do seu treino, e um sistema de recuperação ou uma base de dados vetorial fornece informações recentes, privadas ou com acesso controlado no momento da consulta.
- Controlo e confiança: Os filtros, as salvaguardas de IA, as citações e as etapas de verificação facilitam o controlo do comportamento, em comparação com pedir algo a um modelo e esperar que cumpra.
- Objetivos de custo: O encaminhamento de modelos envia os pedidos simples para modelos pequenos e os pedidos complexos para modelos grandes, permitindo que cada aplicação escolha o seu próprio equilíbrio entre qualidade, latência e preço.
Um único fluxo de pedido pode combinar as quatro ideias:
Sistemas compostos em visão computacional#
Por predefinição, as aplicações de visão em produção são quase sempre compostas: um detetor encontra objetos, um rastreador associa-os entre fotogramas, as regras geométricas convertem posições em eventos e o armazenamento e os alertas processam esses eventos. As Ultralytics Solutions incluem vários sistemas deste tipo com base num modelo YOLO26: a contagem de objetos combina deteção, rastreamento de múltiplos objetos e um teste de linha ou região que conta cada ID de rastreamento uma vez, quando entra ou sai; e o sistema de alarme de segurança envia um fotograma por e-mail quando o número de deteções visíveis atinge um limite definido. Os pipelines mais pequenos seguem o mesmo padrão, com um modelo a produzir observações estruturadas para serem processadas por uma lógica separada:
from ultralytics import YOLO
# Componente de perceção: o detetor converte os píxeis em observações estruturadas
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
detections = results[0].summary()
# Componente de política: regras determinísticas aceitam deteções fiáveis e assinalam as incertas
accepted = [d["name"] for d in detections if d["confidence"] >= 0.5]
uncertain = [d["name"] for d in detections if d["confidence"] < 0.5]
# Componente de encaminhamento: os resultados incertos são encaminhados para uma pessoa, em vez de para a automatização subsequente
action = "human review" if uncertain else "auto-approve"
print({"accepted": accepted, "uncertain": uncertain, "action": action})A decisão apresentada resulta de regras que um revisor pode ler e alterar sem voltar a treinar o modelo; além disso, rotular as imagens incertas encaminhadas para as pessoas acrescenta dados de treino ao modelo seguinte num ciclo de aprendizagem ativa.
Criar e operar sistemas compostos#
Os erros multiplicam-se entre componentes: três etapas que acertam cada uma 90% das vezes produzem um resultado correto de ponta a ponta apenas cerca de 73% das vezes, por isso as equipas medem o sistema completo com um conjunto fixo de tarefas, em vez de avaliarem apenas cada parte. Os componentes que não podem ser treinados com gradientes, como motores de pesquisa e regras, precisam de outros otimizadores, e frameworks como o DSPy ajustam cada prompt de um pipeline com base numa única métrica de ponta a ponta. Em produção, os rastos de observabilidade acompanham cada pedido através de todas as chamadas a modelos e ferramentas, e as práticas de operações de aprendizagem automática (MLOps), como o controlo de versões e a monitorização de modelos, aplicam-se a todos os componentes, uma vez que uma atualização de um deles pode alterar silenciosamente as entradas do seguinte.
IA composta vs. termos relacionados#
- Conjuntos de modelos: Combinam as previsões de vários modelos para a mesma entrada numa única saída, sendo um conjunto um dos padrões que um sistema composto pode incluir.
- Fluxos de trabalho agênticos: Sistemas compostos nos quais um modelo decide o fluxo de controlo em tempo de execução e escolhe ferramentas e etapas. Muitos sistemas compostos usam pipelines fixos sem estas decisões.
- Mistura de especialistas (MoE): Encaminha tokens entre sub-redes especializadas dentro de um único modelo, cujas partes são treinadas em conjunto. Os sistemas compostos encaminham pedidos entre componentes criados e implementados separadamente.










