Apresentação
🚀 Deployment de Modelos — De API a Self-Hosted
Como colocar modelos de AI em produção: desde APIs managed até self-hosted com Hugging Face e vLLM.
🎯 Frase que impressiona
Penso no deployment em termos de trade-offs: APIs managed para velocidade e sem ops, Hugging Face para flexibilidade e modelos abertos, vLLM quando precisas de throughput e controlo. A escolha certa depende da escala, sensibilidade dos dados e requisitos de latência.
1️⃣ Escolha: API vs Self-Hosted vs Hugging Face
| Opção | Quando usar | Exemplos |
|---|---|---|
| Managed API | Protótipo rápido, sem ops, dados não sensíveis | OpenAI, Anthropic, Azure OpenAI |
| Hugging Face | Modelos open, flexibilidade, Inferência API ou Endpoints | Llama, Mistral, BERT, embeddings |
| Self-hosted (vLLM) | Alto throughput, dados on-prem, custo fixo | Llama 3, Mistral em K8s |
| Hybrid | Modelo barato para routing, grande para complexo | GPT-4o-mini + GPT-4o |
2️⃣ Hugging Face — Ecossistema
Hugging Face Hub: repositório de modelos, datasets e Spaces. Versionamento (revisions), model cards, licenças.
Transformers: biblioteca para carregar e usar modelos. pipeline(), AutoModel, AutoTokenizer.
from transformers import pipeline
pipe = pipeline("text-generation", model="meta-llama/Llama-3.2-3B-Instruct")
Inference API: serverless, pay-per-request. Sem infra. Bom para protótipos. requests.post(api_url, ...).
Inference Endpoints: infra dedicada, escalável. Deploy do Hub para endpoint com GPU. K8s under the hood. Produção.
Spaces: deploy de apps (Gradio, Streamlit) no HF. Demo, partilha. Gratuito ou paid para privado.
Model cards: documentação no Hub. Uso, limitações, bias. Boas práticas para open source.
3️⃣ Hugging Face vs vLLM — Quando cada um
| Hugging Face Endpoints | vLLM self-hosted | |
|---|---|---|
| Setup | Clicar no Hub, escolher GPU | Deploy próprio (K8s, Docker) |
| Modelos | Qualquer do Hub | Otimizado para LLMs (PagedAttention) |
| Throughput | Escalável, gerido | Máximo controlo, tuning |
| Custo | Pay per endpoint hora | Infra própria |
| Uso | Equipas pequenas, múltiplos modelos | Alta carga, dados sensíveis |
vLLM — PagedAttention, continuous batching. Servir Llama, Mistral com alta throughput. python -m vllm.entrypoints.openai.api_server.
4️⃣ Fluxo típico de Deploy
Modelo (Hub ou local) → Container (Docker)
↓
Registry (ECR, GCR, Docker Hub)
↓
Orchestration (K8s, Cloud Run)
↓
API (FastAPI) → Health checks → Autoscaling
5️⃣ Docker e Containerização
Base image: python:3.11-slim ou nvidia/cuda se GPU.
Conteúdo: modelo (weights) + código (FastAPI, transformers). Modelo em volume ou download no startup.
Multi-stage build: build numa stage, runtime noutra — imagem final menor.
6️⃣ Kubernetes e Autoscaling
HPA (Horizontal Pod Autoscaler): escala por CPU, memória ou custom metrics (requests/sec, queue depth).
Resource requests/limits: memory: 8Gi, cpu: "2". GPU: nvidia.com/gpu: 1.
Health checks: liveness (processo vivo), readiness (modelo carregado, pode servir).
7️⃣ Ferramentas de Model Serving
| Ferramenta | Foco | Quando usar |
|---|---|---|
| FastAPI | API custom, integração | Sempre — wrapper flexível |
| TorchServe | PyTorch, produção | Modelos clássicos (CV, NLP não-LLM) |
| BentoML | Pack + serve | Empacotar modelo + pre/post processing |
| Ray Serve | Escalável, multi-model | Múltiplos modelos, async |
| TGI (HF) | Text Gen Inference | Llama, Mistral — alternativa a vLLM |
8️⃣ Blue-Green e Canary
Blue-green: duas versões. Nova em green, testar, switch traffic. Rollback = switch de volta. Zero downtime.
Canary: 5% traffic para nova versão. Monitorizar. Aumentar gradualmente. Reduz risco de deploy mau.
9️⃣ Terraform e Helm (vaga DEUS)
Terraform: IaC. Recursos cloud em .tf. Estado em backend. plan → apply.
Helm: charts para K8s. values.yaml para config. helm install, helm upgrade. Deploy de stacks complexas.
CI/CD para AI: código → testes (unit, integration, eval) → build Docker → push → deploy. Eval automático: falhar se groundedness cair.
🔟 Model Registry
MLflow, Vertex AI, SageMaker: versionamento de modelos. Metadados (treino, métricas), linhagem, rollback.
Hugging Face Hub: versionamento para modelos open. Revisions (main, tags). Integra com Inference Endpoints.
Ferramentas Resumidas
| Categoria | Ferramentas |
|---|---|
| Model hosting | Hugging Face (API, Endpoints), vLLM, OpenAI API |
| Serving | FastAPI, TorchServe, BentoML, Ray Serve |
| Containers | Docker |
| Orchestration | Kubernetes, Cloud Run |
| IaC | Terraform, Helm |
| Registry | MLflow, HF Hub, Vertex |
Zona de prática
Sem perguntas. Clica em Editar para adicionar.