SSD Nodes Learn 🎉 VPS desde $4.99/mês
Guias Matt ConnorPor Matt Connor · Atualizado 2026-08-07

VPS com GPU ou API por tokens: ponto de equilíbrio

Veja a formula do ponto de equilibrio e quantos milhoes de tokens por mes tornam um VPS GPU de $0.50/h mais barato que pagar por token na API.

Onde o ponto de equilíbrio realmente fica

Um VPS com GPU supera a cobrança de uma API por token a partir de um ponto: quando o custo fixo mensal, dividido pelos tokens de saída que realmente gera nesse mês, fica abaixo do valor cobrado pela API pelos mesmos tokens. A renda não muda. A fatura da API muda a cada pedido. Por isso, a resposta é sempre um volume mensal, nunca um simples sim ou não.

Considere um VPS com GPU de gama média a $0.50 por hora, o que corresponde a $365 num mês de 730 horas. Em comparação com a API de um modelo de fronteira, o ponto de equilíbrio é 24.3 milhões de tokens de saída por mês. Em comparação com um modelo comercial pequeno, é de 73 milhões. Em comparação com um modelo open-weight alojado do mesmo tamanho, nunca atinge o ponto de equilíbrio, porque uma única placa não consegue gerar tokens suficientes num mês para alcançar o ponto de interseção.

Os estudos publicados sobre o ponto de equilíbrio não respondem a esta pergunta. Dois estudos publicados no início de 2026 colocam o ponto de interseção perto de 72% de utilização sustentada num H200 e entre 22% e 48% de duty cycle num MI300X. Ambos comparam com o próprio produto serverless do mesmo fornecedor e atribuem preços a aceleradores que custam mais por hora do que a maioria dos leitores gasta aqui num mês. A aritmética é idêntica. O que se segue refaz o cálculo para uma placa, um modelo open na faixa de 7B a 30B e a cobrança normal de APIs por consumo.

Todos os números abaixo são entradas, não resultados. Substitua-os pelos seus próprios valores.

A fórmula, para substituir pelos seus próprios números

cost_per_million = (hourly_rate * 1000000) / (tokens_per_second * 3600 * duty_cycle)

breakeven_millions_per_month = (hourly_rate * hours_per_month) / api_price_per_million

capacity_millions_per_month = (tokens_per_second * 3600 * hours_per_month) / 1000000

required_duty_cycle = breakeven_millions_per_month / capacity_millions_per_month

São necessários quatro valores, que pode medir ou consultar.

  • hourly_rate é o custo por hora do GPU VPS, incluindo as horas em que fica ocioso. Se pagar mensalmente, divida o preço mensal por 730.
  • tokens_per_second é a taxa de saída agregada que o seu servidor mantém com a concorrência real. Não é o valor de fluxo único apresentado num gráfico do fornecedor.
  • duty_cycle é a fração do mês durante a qual a GPU passa a gerar tokens. Um servidor alugado durante todo o mês e usado duas horas por dia fica em 8.3%.
  • api_price_per_million é o preço medido com o qual está a comparar, para tokens de saída.

O exemplo calcula o preço dos tokens de saída nos dois lados, porque a saída domina a fatura em chat e no trabalho com agentes. Se os seus prompts forem longos, adicione a entrada aos dois lados. No lado da API, esse valor aparece como uma linha separada na fatura. Na sua própria placa, o prefill consome tempo de GPU, pelo que já aparece como um valor tokens_per_second medido mais baixo.

Como medir tokens por segundo antes de confiar nos cálculos

Tudo o que foi apresentado depende de um único valor medido. Se o valor estiver errado por um fator de três, o resultado também estará errado por um fator de três. Meça esse valor na placa que está a alugar, com o modelo e a quantização que vai realmente utilizar.

O Ollama fornece o valor de fluxo único com um comando:

ollama run qwen3:8b --verbose "Write 400 words about disk latency."

--verbose apresenta um bloco de tempos depois da resposta. A linha relevante é eval rate, em tokens por segundo, que contabiliza apenas a geração. prompt eval rate é a velocidade de prefill e normalmente é muito mais elevada. Os seus valores serão diferentes destes:

eval count:       412 token(s)
eval duration:    9.612s
eval rate:        42.86 tokens/s

O fluxo único não é o valor correto para um modelo de custos, porque mede um pedido de cada vez numa placa que pode processar vários pedidos em simultâneo. Para obter o valor agregado, disponibilize o modelo com vLLM e leia o débito que o servidor apresenta:

pip install vllm
vllm serve Qwen/Qwen3-8B --max-model-len 8192

Enquanto houver pedidos em processamento, o servidor regista uma linha de estado em cada intervalo de relatório. Os campos exatos variam entre versões do vLLM, por isso leia os valores da sua instalação em vez de copiar os meus:

Avg prompt throughput: 812.4 tokens/s, Avg generation throughput: 396.1 tokens/s, Running: 16 reqs, Waiting: 0 reqs, GPU KV cache usage: 21.7%

Avg generation throughput é o valor utilizado pela fórmula. Aumenta à medida que adiciona pedidos concorrentes, até a cache KV (cache key-value, o estado de atenção mantido pelo vLLM na VRAM para cada pedido) ficar cheia. Depois deixa de aumentar. Se ultrapassar esse ponto, os pedidos entram em fila em vez de serem processados mais depressa. Isto aparece como um aumento da contagem Waiting. O vLLM também inclui um gerador de carga, vllm bench serve. Os respetivos flags variam entre versões, por isso execute vllm bench serve --help na versão que instalou em vez de copiar um comando de uma publicação num blogue.

Monitorize a placa enquanto o teste decorre:

nvidia-smi --query-gpu=utilization.gpu,memory.used,power.draw --format=csv -l 5

Se utilization.gpu permanecer perto de 100% durante a geração, está limitado pelo débito e o valor medido corresponde ao limite real. Se permanecer baixo, existe outro limite: poucos pedidos concorrentes, um cliente lento ou um modelo que não cabe na VRAM e está a ser parcialmente descarregado para a RAM do sistema. Ollama e vLLM fazem compromissos muito diferentes neste aspeto, e a diferença entre ambos na mesma placa é suficientemente grande para alterar o ponto de equilíbrio por um fator de vários.

Como fica a fatura ao longo de um mês

O exemplo completo considera uma GPU VPS de 24 GB a $0.50 por hora, com um modelo aberto de 8B servido pelo vLLM, medido a 400 tokens de saída por segundo no total, com 16 pedidos simultâneos. O custo do aluguer é fixo, quer utilize a placa quer não. A capacidade a essa taxa é de 1,051 milhões de tokens de saída por mês. Esse é o volume produzido pela placa se nunca parar.

ChartMonthly cost by output volume: one GPU VPS at $0.50 per hour against metered APIs (USD)
The data behind this chart
[
  {
    "output_tokens_millions": 5,
    "gpu_vps_usd": 365,
    "open_api_usd": 1,
    "small_api_usd": 25,
    "frontier_api_usd": 75
  },
  {
    "output_tokens_millions": 10,
    "gpu_vps_usd": 365,
    "open_api_usd": 2,
    "small_api_usd": 50,
    "frontier_api_usd": 150
  },
  {
    "output_tokens_millions": 25,
    "gpu_vps_usd": 365,
    "open_api_usd": 5,
    "small_api_usd": 125,
    "frontier_api_usd": 375
  },
  {
    "output_tokens_millions": 50,
    "gpu_vps_usd": 365,
    "open_api_usd": 10,
    "small_api_usd": 250,
    "frontier_api_usd": 750
  },
  {
    "output_tokens_millions": 100,
    "gpu_vps_usd": 365,
    "open_api_usd": 20,
    "small_api_usd": 500,
    "frontier_api_usd": 1500
  },
  {
    "output_tokens_millions": 250,
    "gpu_vps_usd": 365,
    "open_api_usd": 50,
    "small_api_usd": 1250,
    "frontier_api_usd": 3750
  },
  {
    "output_tokens_millions": 500,
    "gpu_vps_usd": 365,
    "open_api_usd": 100,
    "small_api_usd": 2500,
    "frontier_api_usd": 7500
  },
  {
    "output_tokens_millions": 1000,
    "gpu_vps_usd": 365,
    "open_api_usd": 200,
    "small_api_usd": 5000,
    "frontier_api_usd": 15000
  }
]

A linha da GPU é constante em 365 dólares, porque o custo do aluguer não depende do que faz com a placa. Cada linha de API é uma linha reta que passa pela origem. Cada par cruza-se exatamente uma vez.

Com 25 milhões de tokens de saída por mês, a API de fronteira custa 375 dólares. As duas opções ficam, portanto, a menos de dez dólares de distância. Com 50 milhões, o modelo comercial pequeno custa 250 dólares e continua a ser a opção mais barata. Com 1000 milhões de tokens de saída, o que exige que a placa esteja ocupada durante 95% do mês, a API alojada de pesos abertos custa 200 dólares, contra o mesmo custo de aluguer. A placa perde por um fator próximo de dois precisamente no volume em que trabalha mais intensamente.

Este último resultado surpreende algumas pessoas, mas não é acidental. Um endpoint alojado de pesos abertos é uma frota de GPUs a operar com elevada utilização, pelo que o seu preço fica próximo do custo de uma placa saturada. Não é possível superar uma frota saturada alugando uma placa e executando-a com uma carga inferior à máxima. O que é possível superar são os preços de fronteira, definidos pela capacidade do modelo e não pelo tempo de utilização do silício.

Custo por milhão de tokens de saída em cada taxa de utilização

O volume e a taxa de utilização são o mesmo facto visto de dois lados. O aluguer compra horas. As horas sem utilização não produzem nada e continuam a custar dinheiro.

ChartCost per million output tokens at each duty cycle (USD, list prices August 2026)
The data behind this chart
[
  {
    "label": "100% duty",
    "self_host_usd_per_million": "0.35",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "50% duty",
    "self_host_usd_per_million": "0.69",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "25% duty",
    "self_host_usd_per_million": "1.39",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "10% duty",
    "self_host_usd_per_million": "3.47",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "5% duty",
    "self_host_usd_per_million": "6.94",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  },
  {
    "label": "2% duty",
    "self_host_usd_per_million": "17.36",
    "open_api_usd_per_million": "0.20",
    "small_api_usd_per_million": "5.00",
    "frontier_api_usd_per_million": "15.00"
  }
]

As três colunas de API apresentam preços de tabela publicados típicos em agosto de 2026: 0.20 dólares por milhão de tokens de saída para um modelo open-weight alojado de 8B, 5.00 dólares para um modelo comercial pequeno e 15.00 dólares para um modelo frontier. São valores ilustrativos. Consulte a página de preços atual antes de decidir e, se a comparação for com um plano mensal fixo em vez de tokens medidos, a aritmética da subscrição funciona de forma diferente e o ponto de cruzamento muda novamente.

Execute a placa à capacidade máxima e um milhão de tokens de saída custa 0.35 dólares, o que é realmente barato. Com uma taxa de utilização de 10%, o mesmo milhão custa 3.47 dólares. Com uma taxa de utilização de 2%, custa 17.36 dólares, o que não está na mesma ordem de grandeza dos 0.20 dólares cobrados por um modelo open alojado pela mesma saída.

Abaixo de aproximadamente 10% de taxa de utilização, alugar uma GPU é a opção mais cara. Está a pagar 3.47 dólares por milhão de tokens por uma saída que é vendida por 0.20 dólares, e o que está a comprar com a diferença é privacidade e uma fatura que não varia. Isso pode valer dinheiro real. Não é uma vantagem de preço, portanto não a registe como tal.

O volume de equilíbrio para cada camada de API

ChartBreak-even output volume per month, and the duty cycle it requires
The data behind this chart
[
  {
    "label": "Hosted open 8B API",
    "breakeven_tokens_millions": 1825,
    "required_duty_pct": 174
  },
  {
    "label": "Small commercial model",
    "breakeven_tokens_millions": 73,
    "required_duty_pct": 6.9
  },
  {
    "label": "Frontier model",
    "breakeven_tokens_millions": 24.3,
    "required_duty_pct": 2.3
  }
]

Em comparação com a camada de fronteira, são necessários 24.3 milhões de tokens de saída por mês, o que corresponde a apenas 2.3% do que a placa consegue processar. É um limite baixo. Uma pequena equipa que execute agentes de programação durante o horário de trabalho ultrapassa-o.

Em comparação com a pequena camada comercial, são necessários 73 milhões de tokens por mês, ou um ciclo de utilização de 6.9%. Em comparação com a camada alojada de pesos abertos, o ciclo de utilização necessário é de 174%. Qualquer valor acima de 100% é inalcançável por definição: a placa teria de funcionar durante mais horas do que as existentes no mês. Uma placa de gama média com este custo horário não consegue superar essa comparação. As únicas formas de alterar o resultado são usar uma placa mais barata, uma placa mais rápida ou ter uma justificação que não seja o preço.

O que a fórmula omite

A fórmula calcula o custo das horas de GPU e dos tokens. Vários custos reais ficam fora dela.

Arranques a frio. Um modelo 8B com pesos de 16-bit ocupa cerca de 16 GB, e carregá-lo do disco local para a VRAM demora dezenas de segundos. Se parar a máquina entre utilizações para poupar no aluguer, terá de esperar no primeiro pedido todas as vezes. Se a deixar em execução para evitar essa espera, a taxa de utilização cai, o que aumenta o custo por token. Essa relação é precisamente a razão de existir inferência serverless.

Armazenamento e transferência. Os pesos ocupam muito espaço. Um modelo 8B em 16-bit ocupa cerca de 16 GB, um modelo 30B quantizado para 4-bit ocupa cerca de 18 GB, e um modelo 30B em 16-bit nem sequer cabe numa placa de 24 GB. O limite torna-se rapidamente evidente na gama superior, onde executar um modelo aberto de um bilião de parâmetros como o Kimi K3 significa que só os pesos já ocupam mais espaço do que qualquer placa individual que possa alugar à hora. Paga esse disco todos os meses e também paga em tempo a cada reconstrução. Execute du -sh ~/.cache/huggingface/hub depois de uma semana de experiências. O espaço cresce mais depressa do que espera, porque cada quantização que experimentou uma vez continua lá.

O seu próprio tempo. Versões de drivers e CUDA, erros de falta de memória quando o comprimento de contexto funcionava no dia anterior e uma atualização do modelo que altera o template de chat. Nada disso aparece num valor de custo por token, mas tudo isso é descontado das suas noites. Se ainda não dimensionou uma destas máquinas, vale a pena ler o que um GPU VPS oferece antes de se comprometer com um mês de aluguer.

A diferença de qualidade. Este é o maior custo oculto e o mais difícil de calcular. Um modelo aberto 8B não é um modelo de fronteira. Se precisar de três tentativas quando o modelo de fronteira precisa de uma, o seu preço real por resposta útil é três vezes o valor apresentado no gráfico, e pode mesmo assim falhar a tarefa. Compare com os seus próprios prompts antes de comparar preços. Para cargas de trabalho com agentes, a resposta habitual é encaminhar por nível de dificuldade e reservar os tokens locais baratos para o trabalho em volume. É sobretudo disso que controlar os custos de agentes num VPS trata.

Custos de faturação esquecidos. Uma instância GPU faturada à hora que parou normalmente continua a gerar custos pelo armazenamento associado e pelo endereço IP reservado. Consulte a fatura, não a página de preços.

Quando o self-hosting ganha por outro motivo que não o preço

Quatro casos em que a aritmética não é o fator decisivo.

  • Dados que não podem sair do seu controlo. Se uma regra de conformidade proíbe enviar o texto a terceiros, o preço por token não é a questão em causa.
  • Volume elevado e estável segundo um calendário. Um trabalho de classificação em lote que é executado durante seis horas todas as noites tem, por definição, um ciclo de utilização de 25% e nunca o surpreende com uma fatura.
  • Limites de taxa. A sua própria placa tem uma fila, que lhe pertence.
  • Um modelo que nenhuma API oferece. Se precisa de um fine-tune específico, não há nada com que o comparar.

Se quiser testar primeiro a versão mais barata, executar um modelo pequeno numa VPS com Ollama custa uma tarde, e dimensionar um modelo aberto para a placa que alugaria indica qual é a GPU de que realmente precisa. Faça as medições aí antes de contratar um mês de GPU.

FAQ

Em que volume mensal de tokens um GPU VPS é mais barato do que usar uma API?

Divida o custo mensal do GPU pelo preço da API por milhão de tokens de saída. Uma placa alugada por 365 dólares por mês, comparada com uma API de fronteira a 15.00 dólares por milhão, atinge o ponto de equilíbrio em 24.3 milhões de tokens de saída por mês. Comparada com um modelo comercial pequeno a 5.00 dólares, o ponto de equilíbrio é 73 milhões. Comparada com um modelo open-weight alojado a 0.20 dólares, uma placa de gama média não consegue gerar tokens suficientes num mês para atingir o ponto de equilíbrio.

Porque é que uma API open-weight alojada custa menos do que o meu próprio GPU?

Porque o preço é definido próximo do custo de um GPU totalmente utilizado, enquanto a sua placa não é totalmente utilizada. Um fornecedor que processa milhares de pedidos simultâneos mantém a frota perto da saturação e pode vender tokens próximo do custo marginal de produção. A sua placa fica inativa durante grande parte do dia, mas paga essas horas de inatividade. Com uma utilização de 10%, o custo é de 3.47 dólares por milhão de tokens de saída, contra 0.20 dólares.

Devo contar também os tokens de entrada?

Conte-os se os seus prompts forem longos. A comparação apresentada usa apenas tokens de saída, que são o fator dominante em chats e agentes. Adicionar os tokens de entrada altera os dois lados. Na API, são uma linha separada e mais barata na fatura. Na sua própria placa, o prefill consome tempo de GPU, pelo que esse custo já está incluído no total de tokens por segundo que mediu. Faça a medição com os comprimentos reais dos seus prompts para manter os dois lados comparáveis.

Como meço os tokens por segundo necessários para a fórmula?

Sirva o modelo da forma como o irá utilizar e leia a taxa agregada de geração sob concorrência real. Com Ollama, ollama run <model> --verbose apresenta um eval rate em tokens por segundo, mas isso corresponde a um único fluxo e subestima um servidor com processamento em lote. Com vLLM, o servidor em execução regista Avg generation throughput enquanto há pedidos em processamento; é esse o valor a utilizar. Monitorize nvidia-smi ao mesmo tempo. Se a utilização do GPU não estiver próxima de 100% durante a geração, ainda não encontrou o limite.

Vale a pena alugar um GPU VPS com menos de 10% de utilização?

Não em termos de preço. Com uma utilização de 10%, paga 3.47 dólares por milhão de tokens de saída; com 2%, paga 17.36 dólares. Ambos os valores ficam acima de todas as APIs com faturação por consumo nesta comparação, exceto o nível de fronteira. Alugue abaixo desse limite apenas quando estiver a pagar por privacidade ou por um modelo que nenhuma API oferece.