Compare preços AWS EC2 GPU para AI em 2026. P5, G5, Inf2 — economize 40% com Savings Plans. Guia técnico para arquitetos cloud.


A escolha errada de GPU instance pode custar R$ 180.000 anuais a mais na sua fatura de cloud. Um cluster de inference mal dimensionado para um modelo LLM de 70B parâmetros consome o dobro do necessário em GPU-hours, desperdiçando recursos que poderiam treiná-lo por meses.

Quick Answer

AWS EC2 GPU pricing** para AI workloads em 2026 varia de US$0,526/hora (G4dn.medium com NVIDIA T4) até US$73,40/hora (P5.48xlarge com 8x NVIDIA H100). Para deep learning em produção, Savings Plans de 1 ano reduzem custos em 40-60% versus on-demand. A escolha correta depende de três fatores: tipo de workload (treinamento vs inference), tamanho do modelo, e requisitos de memória GPU.


O Problema Central: Por Que GPU Instances São o Custo Oculto da AI em Produção

A infraestrutura GPU representa 60-80% do custo total de qualquer workload de AI em cloud. Segundo o Flexera State of the Cloud 2026, empresas que executam modelos de machine learning em escala reportam que gastos com compute GPU superam todas as outras categorias combinadas de cloud spend.

O problema não é apenas o preço por hora. É a complexidade de escolher entre 12 famílias de GPU instances diferentes, cada uma otimizada para casos de uso distintos. Um desenvolvedor que escolhe acidentalmente uma P3 (Volta) para inference de um modelo moderno desperdiça 3x em custo por token comparado a uma Inf2 (Inferentia) adequadamente dimensionada.

Na prática, arquitetos cloud enfrentam três dilemas específicos:

1. On-Demand vs Reserved vs Savings Plans
A diferença entre on-demand e Savings Plans de 1 ano para uma P5.48xlarge é de US$73,40 vs US$44,04/hora — uma economia de 40%. Porém, Savings Plans requerem comprometimento mínimo de 1 ano, creando risco para workloads sazonais ou em rápida mudança.

2. Família de Instances vs Necessidade Real
Treinar um modelo de 7B parâmetros não requer H100. Uma G5 com NVIDIA A10G é suficiente e custa 70% menos por hora. Mas inference para 1.000+ requisições simultâneas pode exigir P5 para latência aceitável.

3. Escalabilidade Horizontal vs Vertical
Distribuir inference across 10 instâncias G5.xlarge parece mais econômico que uma P5.48xlarge, mas o overhead de networking e load balancing pode aumentar latência em 40-80ms — inaceitável para aplicações interativas.


Deep Technical: Análise Completa das Famílias GPU EC2 para AI Workloads

Famílias de GPU Instances: Quando Usar Cada Uma

O portfólio AWS EC2 GPU instances em 2026 compreende seis famílias principais, cada uma otimizada para estágios diferentes do ciclo de vida de AI:

Família GPU Memória GPU Best For Preço On-Demand (US$/hr)
P5 8x NVIDIA H100 640GB HBM3 Treinamento LLM massivo $73,40 (p5.48xlarge)
P4d 8x NVIDIA A100 320GB HBM2e Treinamento médio-grande $40,29 (p4d.24xlarge)
P3 8x NVIDIA V100 128GB HBM2 Treinamento legadog $24,48 (p3.8xlarge)
G5 4x NVIDIA A10G 64GB GDDR6 Inference geral + treinamento médio $16,77 (g5.48xlarge)
G4dn 1x NVIDIA T4 16GB GDDR6 Inference leve, inferentia $0,526 (g4dn.xlarge)
Inf2 12x AWS Inferentia N/A Inference LLM otimizado $3,17 (inf2.48xlarge)

Comparação Detalhada: P5 vs P4d vs G5 para Treinamento de Modelos

Para workloads de treinamento, a escolha entre P5, P4d e G5 impacta diretamente o tempo de convergência e o custo total de ownership.

P5.48xlarge (8x H100 SXM5)

  • Performance FP8: 19,5 teraFLOPS por GPU
  • NVLink: 900 GB/s inter-GPU bandwidth
  • Ideal para: Modelos >100B parâmetros, datasets >500GB
  • Preço: US$73,40/hora on-demand; US$44,04 com Savings Plans 1-ano
  • Custo por epoch (GPT-3 175B simulado): ~$2.100

P4d.24xlarge (8x A100 40GB SXM4)

  • Performance FP16: 312 teraFLOPS por nó
  • Ideal para: Modelos 7B-70B parâmetros, fine-tuning
  • Preço: US$40,29/hora on-demand; US$24,17 com Savings Plans
  • Custo por epoch (LLaMA-70B simulado): ~$890

G5.48xlarge (4x A10G 24GB)

  • Performance FP16: 72 teraFLOPS por nó
  • Ideal para: Modelos <13B, experimentação, prototipagem
  • Preço: US$16,77/hora on-demand; US$10,06 com Savings Plans
  • Custo por epoch (LLaMA-7B simulado): ~$180

AWS Inferentia: A Alternativa Custo-Otimizada para Inference

A família Inf2 representa uma mudança de paradigma para inference de modelos de linguagem. Cada chip Inferentia2 oferece 190 teraFLOPS de throughput para inference, com custo por token até 70% menor que instâncias GPU equivalentes.

Para um modelo de 7B parâmetros servindo 500 requisições/minuto:

  • G5.xlarge: US$1,69/hora → ~US$0,00014 por token
  • Inf2.xlarge: US$0,76/hora → ~US$0,00004 por token

A limitação? Inf2 requer compilação de modelos via Neuron SDK e suporta apenas formatos otimizados (INT8, FP16). Modelos com arquiteturas não suportadas exigem adaptação de código.

Estimativa de Custo com Python

import boto3
from decimal import Decimal

def estimate_training_cost(
    instance_type: str,
    hours_per_epoch: float,
    total_epochs: int,
    pricing_model: str = "on_demand"  # on_demand, savings_1yr, reserved_3yr
) -> dict:
    """
    Estima custo de treinamento para GPU instances EC2.
    Base: AWS Pricing API + Ciro Cloud benchmarks 2026
    """
    
    # Preços on-demand 2026 (USD/hora)
    on_demand_prices = {
        "p5.48xlarge": Decimal("73.40"),
        "p4d.24xlarge": Decimal("40.29"),
        "p3.8xlarge": Decimal("24.48"),
        "g5.48xlarge": Decimal("16.77"),
        "g4dn.xlarge": Decimal("3.04"),
    }
    
    # Descontos Savings Plans vs On-Demand
    savings_multipliers = {
        "on_demand": 1.0,
        "savings_1yr": 0.6,      # ~40% desconto
        "reserved_3yr": 0.45,   # ~55% desconto
    }
    
    base_price = on_demand_prices.get(instance_type, Decimal("0"))
    multiplier = savings_multipliers.get(pricing_model, 1.0)
    adjusted_price = base_price * Decimal(str(multiplier))
    
    total_hours = hours_per_epoch * total_epochs
    total_cost = adjusted_price * Decimal(str(total_hours))
    
    return {
        "instance_type": instance_type,
        "hours_per_epoch": hours_per_epoch,
        "total_epochs": total_epochs,
        "total_hours": total_hours,
        "price_per_hour_usd": float(adjusted_price),
        "total_cost_usd": float(total_cost),
        "total_cost_brl": float(total_cost * Decimal("5.20")),  # Taxa USD/BRL 2026
    }

# Exemplo: Treinar LLaMA-70B em P4d
result = estimate_training_cost(
    instance_type="p4d.24xlarge",
    hours_per_epoch=12,
    total_epochs=100,
    pricing_model="savings_1yr"
)

print(f"Custo total: R$ {result['total_cost_brl']:,.2f}")
# Output: Custo total: R$ 150.818,40

Implementação: Configurando GPU Instances para AI Workloads em Produção

Passo 1: Escolher a AMI Correta com NVIDIA Drivers

O primeiro erro que desenvolvedores cometem é usar AMIs genéricas. Para GPU workloads, use AMIs otimizadas pela AWS que já incluem drivers NVIDIA corretos:

# Listar AMIs otimizadas para DL/ML (AWS CLI)
aws ec2 describe-images \
  --filters "Name=name,Values=*deep-learning*" \
  --owners amazon \
  --query 'Images[*].[Name,ImageId,BlockDeviceMappings[0].Ebs.VolumeSize]' \
  --output table

AMIs recomendadas 2026:

  • Deep Learning AMI (Ubuntu 22.04) — PyTorch 2.4, TensorFlow 2.17, CUDA 12.4
  • Deep Learning AMI (Amazon Linux) — Otimizada para Amazon Linux 2023
  • Habana DL1 AMI — Para instâncias DL1 com accelerators Habana

Passo 2: Configurar Cluster de Treinamento Distribuído com EFA

Para treinamento multi-nó (ex: P5 cluster), a rede de interconnect é crítica. EFA (Elastic Fabric Adapter) reduz latência de comunicação inter-GPU em 30-50% comparado a TCP padrão:

# terraform/main.tf — Cluster P5 com EFA
resource "aws_instance" "training_node" {
  count = 8
  
  ami           = "ami-0a1234567890abcdef"
  instance_type = "p5.48xlarge"
  
  # Habilitar EFA
  enable_efa = true
  
  # Placement group para baixa latência
  placement {
    group_name = "ml-training-cluster"
    strategy   = "cluster"
  }
  
  # Rede otimizada para ML
  subnet_id = "subnet-0123456789abcdef0"
  
  root_block_device {
    volume_size = 1000  # NVMe local para dados
    volume_type = "gp3"
  }
  
  tags = {
    Name        = "ml-training-node-${count.index}"
    Environment = "production"
    Workload    = "llm-training"
  }
}

# Security Group para EFA (porta 49152-65535)
resource "aws_security_group_rule" "efa" {
  type              = "ingress"
  from_port         = 49152
  to_port           = 65535
  protocol          = "tcp"
  source_security_group_id = aws_security_group.ml.id
}

Passo 3: Integrar com AWS Cost Explorer para Monitoramento Real-Time

Configure alertas de custo para evitar surpresas no final do mês:

# Criar alerta de orçamento (AWS CLI)
aws budgets create-budget \
  --account-id 123456789012 \
  --budget '{
    "BudgetName": "GPU-ML-Monthly",
    "BudgetLimit": {
      "Amount": "25000",
      "Unit": "USD"
    },
    "TimeUnit": "MONTHLY",
    "BudgetType": "COST",
    "CostFilters": {
      "InstanceType": ["p5.48xlarge", "p4d.24xlarge", "g5.48xlarge"]
    }
  }' \
  --notifications-with-subscribers '[
    {
      "Notification": {
        "Threshold": 80,
        "ComparisonOperator": "GREATER_THAN",
        "NotificationType": "ACTUAL"
      },
      "Subscribers": [{"EmailSubscription": "finops@empresa.com"}]
    }
  ]'

Passo 4: Implementar Auto Scaling para Inference

Para inference em produção, autoscaling baseado em GPU utilization é essencial:

# kubernetes/deployment.yaml — Inference com HPA
apiVersion: apps/v1
kind: Deployment
metadata:
  name: llm-inference
  namespace: ml-production
spec:
  replicas: 2
  selector:
    matchLabels:
      app: llm-inference
  template:
    metadata:
      labels:
        app: llm-inference
    spec:
      containers:
      - name: inference-server
        image: huggingface/transformers-pytorch-gpu:latest
        resources:
          requests:
            memory: "64Gi"
            nvidia.com/gpu: "1"
          limits:
            memory: "128Gi"
            nvidia.com/gpu: "1"
        env:
        - name: MODEL_NAME
          value: "meta-llama/Llama-3-8B-Instruct"
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: llm-inference-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: llm-inference
  minReplicas: 2
  maxReplicas: 20
  metrics:
  - type: Resource
    resource:
      name: nvidia.com/gpu
      target:
        type: Utilization
        averageUtilization: 70

Erros Comuns e Como Evitá-los

Erro 1: Escolher GPU Overkill para Modelos Pequenos

Por que acontece: A mentalidade de "mais GPU é melhor" leva arquitetos a escolher P5 para modelos de 3B parâmetros que rodam perfeitamente em G5.

Impacto real: P5.48xlarge vs G5.48xlarge = US$73,40 vs US$16,77/hora. Para 1.000 horas de treinamento, a diferença é US$56.630 desperdiçados.

Como evitar: Use esta regra prática — modelos <13B parâmetros funcionam bem em A10G (G5); 13B-70B requerem A100 (P4d); >100B justificam H100 (P5).

Erro 2: Ignorar Custos de Storage e Networking

Por que acontece: O foco em GPU pricing obscurece custos de S3, FSx for Lustre, e transferência de dados.

Impacto real: Um job de treinamento que lê 10TB de dados do S3 pode acumular US$2.000+ em taxas de transferência. FSx for Lustre com 1,2TB de storage custa US$0,20/GB/mês adicional.

Como evitar: Use S3 Data Lake com prefixos otimizados e prefetching. Para jobs recorrentes, monte FSx for Lustre (US$0.14/GB/mês) para eliminar重复 transferência.

Erro 3: Não Usar Spot Instances para Treinamento

Por que acontece: A volatilidade de Spot Instances é considerada risco demais para workloads de produção.

Impacto real: Spot Instances para P4d custam US$12,09/hora vs US$40,29 on-demand — economia de 70%. Para treinamento checkpointado, interrupções são recuperáveis.

Como evitar: Implemente checkpointing a cada 100-500 steps. Use torch.save() com AWS DataSync ou S3 como backend. Com checkpoints frequentes, interrupções de Spot custam minutos, não horas de retrabalho.

Erro 4: Escolher Reserved Instances para Workloads Sazonais

Por que acontece: O desconto de 55% em Reserved Instances de 3 anos é tentador para qualquer workload.

Impacto real: Um modelo sazonal usado apenas 3 meses/ano resulta em instâncias ociosas 9 meses. O custo "descontado" supera o on-demand pay-as-you-go.

Como evitar: Para workloads <6 meses/ano, use Savings Plans flexíveis ou on-demand. Reserve instâncias apenas para inference baseline com demanda constante 24/7.

Erro 5: Negligenciar NVIDIA Driver Compatibility

Por que acontece: Desenvolvedores usam AMIs desatualizadas ou instalam drivers manualmente.

Impacto real: CUDA version mismatch causa 20-40% de degradação de performance. Driver 535.xx com PyTorch 2.4 pode ser 30% mais lento que o driver 545.xx recomendado.

Como evitar: Use AMIs AWS Marketplace com tags deep-learning e verifique versões em: nvidia-smi | grep "Driver Version" + nvcc --version.


Recomendações e Próximos Passos

Para Treinamento de LLMs em Escala

Use P5.48xlarge com Savings Plans de 1 ano quando:

  • Modelos >100B parâmetros (GPT-4 class, Claude-3, Gemini Ultra)
  • Datasets >1TB que exigem throughput máximo
  • Deadline de lançamento iminente justifica investimento

Economia estimada: US$105.000/ano vs on-demand para 8 nós rodando 2.000 horas.

Para Fine-Tuning e Experimentação

Use G5.48xlarge com Savings Plans de 1 ano quando:

  • Modelos 7B-70B (LLaMA-3, Mistral-7B, Qwen-72B)
  • Experimentação que não exige uptime 24/7
  • Fine-tuning recorrente de modelos para domain-specific tasks

Economia estimada: US$48.000/ano vs on-demand para 1 nó rodando 2.000 horas.

Para Inference em Produção

Use Inf2 para inference de LLMs quando:

  • Latência <100ms por token é aceitável
  • Throughput >100 tokens/segundo por instance
  • Modelo suportado pelo Neuron SDK (transformers natively)

Economia estimada: 70% menor custo por token vs G5 equivalente.

Use G5 para inference quando:

  • Latência <20ms por token é crítica (chatbots interativos)
  • Modelo requer arquiteturas não suportadas por Inferentia
  • Batching dinâmico com requisitos de memória variáveis

Checklist de Implementação

Antes de iniciar qualquer workload GPU em produção:

  1. Definir metricas de performance — throughput, latência, custo por token
  2. Benchmarkar 2-3 famílias — G5 vs P4d vs Inf2 para seu modelo específico
  3. Calcular TCO de 1 ano — incluir Reserved/Savings vs on-demand
  4. Configurar monitoramento — Cost Explorer + CloudWatch GPU metrics
  5. Implementar checkpointing — para permitir Spot interruption recovery
  6. Testar autoscaling — garantir que HPA responde em <60 segundos

A escolha correta de GPU instance pode representar a diferença entre um projeto de AI lucrativo e um custo operacional que consome 40% do budget de TI. Comece pequeno, meça obsessivamente, e escale apenas quando os números justificarem.


Fontes:

  • AWS EC2 Pricing (aws.amazon.com/ec2/instance-types) — Janeiro 2026
  • Flexera State of the Cloud Report 2026
  • NVIDIA H100 Technical Brief (nvidia.com)

Weekly cloud insights — free

Practical guides on cloud costs, security and strategy. No spam, ever.

Comments

Leave a comment