SSD Nodes Learn Hosting plans →
Guias Matt ConnorPor Matt Connor · Atualizado 2026-10-18

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 se encontra

Um GPU VPS supera a faturação por token de API num ponto específico: quando o aluguer mensal fixo, dividido pelos tokens de saída que gera efetivamente nesse mês, cai abaixo do que a API cobra pelos mesmos tokens. O aluguer não varia. A fatura da API varia com cada pedido. Portanto, a resposta é sempre um volume mensal, nunca um simples sim ou não.

Calcule isto num GPU VPS de gama média a $0.50 por hora, o que perfaz $365 para um mês de 730 horas. Contra a API de um modelo de fronteira, atinge o ponto de equilíbrio em 24.3 milhões de tokens de saída por mês. Contra um pequeno modelo comercial, são 73 milhões. Contra um modelo de pesos abertos alojado com a mesma dimensão, nunca atinge o ponto de equilíbrio, porque uma placa não consegue produzir tokens suficientes num mês para chegar ao ponto de cruzamento.

Os estudos de ponto de equilíbrio publicados não respondem a esta questão. Uma análise de um fornecedor de julho de 2026 coloca o cruzamento perto de 50% de utilização para uma H100 dedicada a $2.00 por hora face à inferência serverless. Estudos semelhantes comparam uma placa de centro de dados dedicada com um produto serverless, e precificam os aceleradores a várias vezes a taxa horária aqui utilizada. A aritmética é idêntica. O que se segue refaz o cálculo para uma placa, um modelo aberto na gama de 7B a 30B, e a faturação comum de API medida.

Cada número abaixo é um dado de entrada, não um resultado. Substitua todos eles 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.

GráficoMonthly cost by output volume: one GPU VPS at $0.50 per hour against metered APIs (USD)
Os dados por trás deste gráfico
[
  {
    "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 ciclo de trabalho

Volume e ciclo de trabalho são o mesmo facto visto de dois ângulos. O aluguer paga horas. Horas inativas não produzem nada e continuam a custar dinheiro.

GráficoCost per million output tokens at each duty cycle (USD, list prices August 2026)
Os dados por trás deste gráfico
[
  {
    "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 representam preços de tabela típicos publicados em agosto de 2026: 0.20 dólares por milhão de tokens de saída para um modelo de pesos abertos de 8B alojado, 5.00 dólares para um modelo comercial pequeno e 15.00 dólares para um modelo de fronteira. Estes valores são ilustrativos. Verifique a página de preços atual antes de tomar qualquer decisão e, se a sua comparação for contra um plano mensal fixo em vez de tokens medidos, a aritmética da subscrição funciona de forma diferente e o ponto de equilíbrio altera-se novamente.

Ao operar a placa no máximo, um milhão de tokens de saída custa 0.35 dólares, o que é genuinamente barato. Com um ciclo de trabalho de 10%, o mesmo milhão custa 3.47 dólares. Com um ciclo de trabalho de 2%, custa 17.36 dólares, o que não está na mesma ordem de grandeza dos 0.20 dólares que um modelo aberto alojado cobra pela mesma saída.

Comparado com um modelo de pesos abertos alojado, alugar uma GPU é a escolha mais cara em todos os ciclos de trabalho apresentados no gráfico. A 10%, está a pagar 3.47 dólares por milhão de tokens por uma saída que é vendida por 0.20 dólares; o que está a comprar com a diferença é privacidade e uma fatura que não oscila. Isso pode valer dinheiro real. Não é uma vantagem de preço, por isso não a classifique como tal. Contra os escalões comerciais, o cenário inverte-se: com um ciclo de trabalho de 10%, a placa é mais barata do que os preços dos modelos comerciais pequenos e de fronteira, mantendo-se mais económica do que o escalão de fronteira até que o ciclo de trabalho desça para cerca de 2.3%.

O volume de equilíbrio para cada camada de API

GráficoBreak-even output volume per month, and the duty cycle it requires
Os dados por trás deste gráfico
[
  {
    "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

Com que volume mensal de tokens um GPU VPS supera o preço de uma API?

Divida o custo mensal da 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 a uma API de ponta 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. Contra um modelo comercial pequeno a 5.00 dólares, o valor é de 73 milhões. Contra um modelo de pesos abertos hospedado 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.

Por que uma API de pesos abertos hospedada custa menos do que a minha própria GPU?

Porque o seu preço é definido próximo ao custo de uma GPU com carga total, e a sua placa não está com carga total. Um provedor que atende milhares de pedidos simultâneos mantém a sua frota próxima da saturação, podendo assim vender tokens perto do custo marginal de produção. A sua placa fica ociosa durante a maior parte do dia e você paga pelas horas de inatividade. Com um ciclo de trabalho de 10%, o seu custo é de 3.47 dólares por milhão de tokens de saída, contra os 0.20 dólares deles.

Devo contar os tokens de entrada além dos tokens de saída?

Conte-os se os seus prompts forem longos. A comparação aqui utiliza apenas tokens de saída, que é o termo dominante para trabalho de chat e agentes. Adicionar a entrada altera ambos os lados. Do lado da API, é uma linha separada e de preço mais baixo na fatura. Na sua própria placa, o prefill consome tempo de GPU, portanto o custo já está incluído nos tokens por segundo agregados que você mediu. Meça com os seus comprimentos reais de prompt e os dois lados permanecerão comparáveis.

Como meço os tokens por segundo que a fórmula exige?

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

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

Depende de qual API você pagaria caso contrário. Com um ciclo de trabalho de 10%, você paga 3.47 dólares por milhão de tokens de saída, o que está abaixo tanto do nível comercial pequeno quanto do nível de ponta, mas muito acima do nível de pesos abertos hospedados. Com 2%, você paga 17.36 dólares, o que está acima de todas as APIs medidas nesta comparação, incluindo o nível de ponta. Apenas pelo preço, a placa deixa de ser vantajosa em cerca de 6.9% de ciclo de trabalho contra o nível comercial pequeno e cerca de 2.3% contra o nível de ponta, e nunca vence contra pesos abertos hospedados. Alugue abaixo dessas linhas apenas quando a privacidade ou um modelo que nenhuma API oferece for o que você está a pagar.

Este artigo foi útil?