Observabilidade e Monitoramento para LLMs

Por Que Observabilidade em LLMs?

  • Debug: LLMs são caixas pretas — ver o que entra e sai de cada camada da pipeline
  • Custos: Monitorar gastos por API (tokens de entrada/saída por endpoint)
  • Qualidade: Rastrear latências, taxa de erros, qualidade das respostas
  • Feedback: Coletar thumbs-up/down do usuário para dados de preferência

Plataformas de LLM Observability

LangFuse

  • URL: langfuse.com
  • Open-source: Sim (self-hostável)
  • Features: Traces, spans, prompts versionados, scores, datasets, playground
  • Integração: langfuse SDK para Python/JS; integrações com LangChain, LlamaIndex, OpenAI
  • Quando usar: Self-hosted; open-source; privacy-first
  • Auto-host: Docker compose; PostgreSQL
from langfuse.openai import openai  # drop-in replacement
response = openai.chat.completions.create(...)  # auto-traced

Phoenix (Arize)

  • URL: phoenix.arize.com · github.comArize-aiphoenix
  • Open-source: Sim
  • Features: Traces (OpenTelemetry), evals automáticos, datasets, embeddings explorer
  • Integração: OpenTelemetry-native; funciona com qualquer LLM
  • Diferencial: Evals integrados (hallucination, relevância, toxicidade)

Helicone

  • URL: helicone.ai
  • Modelo: Proxy reverso — troca openai.com por oai.helicone.ai
  • Features: Custos, latências, rate limiting, caching, usuário tracking
  • Zero-code: Só muda a URL base
  • Quando usar: Monitoramento de custos de API sem código

Braintrust

  • URL: braintrustdata.com
  • Foco: Evals + datasets + tracing integrados
  • Diferencial: CI/CD para evals — roda benchmark a cada PR

PromptLayer

  • URL: promptlayer.com
  • Foco: Versionamento de prompts + tracing
  • Quando usar: Times com muitos prompts em produção

Weights & Biases (Wandb)

  • URL: wandb.ai
  • Foco primário: Treino de modelos (curvas de loss, hiperparâmetros, artifacts)
  • LLM features: Prompt versioning, traces, evals, Weave framework
  • Quando usar: Já usa wandb para treino; também quer monitorar produção

MLflow

  • URL: mlflow.org (Linux Foundation)
  • Open-source: Sim (self-hostável)
  • Features: Experiment tracking, model registry, serving, tracing (LLM)
  • Backend: PostgreSQL + S3/MinIO para artifacts
  • Quando usar: Stack totalmente open-source; integração com Spark/Databricks

Pipeline de Dados

datatrove (HuggingFace)

  • URL: github.comhuggingfacedatatrove
  • Foco: Processamento de dados de pré-treino em larga escala
  • Features: Leitores (Common Crawl, Parquet, JSON), filtros, deduplicação, writers
  • Paralelismo: Nativo; processa petabytes de dados
  • Uso: FineWeb foi construído com datatrove

HuggingFace Datasets

  • URL: huggingface.codocsdatasets
  • Features: Arrow format, streaming, map/filter paralelos, pushtohub
  • Integração: PyTorch DataLoader, JAX, Spark
  • Deduplicação: MinHash LSH via datasets.dedup

datasketch

  • URL: github.comekzhudatasketch
  • Algoritmos: MinHash LSH, HyperLogLog, TopK
  • Uso: Deduplicação near-duplicate em datasets de texto/código

Profiling e Performance

PyTorch Profiler

with torch.profiler.profile(activities=[ProfilerActivity.CPU, ProfilerActivity.CUDA]) as prof:
    model(x)
print(prof.key_averages().table(sort_by="cuda_time_total"))
  • Identifica bottlenecks: qual op consome mais tempo/memória

NVIDIA Nsight Systems / Nsight Compute

  • Nsight Systems: Timeline de CPU+GPU; visualização de streams e gaps
  • Nsight Compute: Profiling por kernel; roofline analysis
  • Uso: Identificar se estamos memory-bound ou compute-bound

torch.cuda.memory_summary()

print(torch.cuda.memory_summary(device=None, abbreviated=False))
  • Rastreia onde a VRAM está sendo consumida

Métricas de Produção

Latência

Métrica Descrição
TTFT Time To First Token — até o primeiro token aparecer
TBT / ITL Time Between Tokens / Inter-Token Latency
E2E Latency Do request ao último token
P50P90P99 Percentis — P99 mostra o "pior caso" real

Throughput

Métrica Descrição
tokens/segundo Geração por segundo no servidor
requests/segundo Capacidade de requests simultâneos
tokenssegundoGPU Eficiência de hardware

Custo

Métrica Cálculo
$/1M tokens Preço de API ou custo de hardware amortizado
tokenshoraGPU Para calcular ROI do hardware
MFU (Model FLOP Utilization) FLOPS efetivos / FLOPS teóricos

OpenTelemetry para LLMs

  • Padrão emergente: OpenTelemetry Semantic Conventions for LLMs (OTEL SIG)
  • Atributos: gen_ai.system, gen_ai.model, gen_ai.input.tokens, gen_ai.output.tokens
  • Exporters: Jaeger, Zipkin, Prometheus, OTLP (para Phoenix, Grafana, etc.)

Stack de Observabilidade Recomendado para Kode

Desenvolvimento:    LangFuse self-hosted (traces + prompts versionados)
Treino:             W&B (loss curves, artifacts, evals)
Produção:           LangFuse (traces) + Prometheus/Grafana (métricas)
Custos:             Helicone (se usando API OpenAI/Anthropic)
Evals contínuos:    Phoenix (RAGAS score, hallucination detection)