Voltar ao blog

Otimização de custosComparação

Rodar DeepSeek localmente ou usar uma API? Hardware, velocidade, custo

Verifique se sua GPU e RAM conseguem rodar o DeepSeek V4-Flash, que velocidade esperar e quando mudar o base_url é mais simples. Inclui uma tabela de custos.

Por CheapTokens TeamPublicado em Atualizado em 8 min de leitura

Duas colunas, Local e API, comparando rodar o DeepSeek no seu próprio hardware com chamar uma API hospedada mudando o base_url
Nesta página
  1. O DeepSeek cabe na sua memória?
  2. Quão rápido é?
  3. Quanto custa a mesma carga de trabalho através de uma API
  4. Quando seu próprio hardware compensa?
  5. Migrando do local para uma API hospedada
  6. Se não funcionar
  7. Qual escolher

Provavelmente não, a menos que você tenha 128 GB de RAM ou uma máquina da classe Mac Studio, ou tenha um motivo para manter cada token no seu próprio disco. Só o arquivo do DeepSeek V4-Flash tem cerca de 100 GB, e um guia da comunidade relata aproximadamente 6–10 tokens por segundo mesmo em hardware caro. Para a maioria dos apps e loops de agente, o caminho mais curto é apontar o cliente OpenAI para uma API hospedada: você muda base_url e a chave, e nada mais no seu código.

Abaixo: como verificar sua própria máquina em cinco minutos, que velocidade esperar e quanto custa uma carga de trabalho real através de uma API.

O DeepSeek cabe na sua memória?#

Os tamanhos aqui vêm de um guia da comunidade sobre rodar o DeepSeek localmente (deepseek-local-guide-ru no GitHub, 18 partes, CC BY 4.0, lido em 22 de outubro de 2026). É não oficial e não tem vínculo com a DeepSeek. As próprias páginas do guia não concordam totalmente entre si sobre os tamanhos, então confirme o tamanho do arquivo no model card do Hugging Face antes de iniciar um download de 100 GB.

Segundo o guia, o DeepSeek V4-Flash-0731 tem 284B parâmetros, dos quais 13B são ativos por token. Os arquivos:

Quantização Tamanho do arquivo (valor do guia)
Q3 cerca de 103 GB
Q4 cerca de 155 GB
Q8 cerca de 162 GB

O modelo não precisa ficar inteiramente na memória de vídeo. O llama.cpp consegue manter as camadas de especialistas na RAM do sistema, mas a regra de bolso do guia é direta: uma GPU de 24 GB precisa de 128 GB de RAM ao lado dela.

Digamos que você tenha um bom PC gamer com uma GPU de 24 GB e 64 GB de RAM. Some os dois e compare com o menor arquivo:

24 + 64 = 88 GB, e o arquivo Q3 tem 103 GB.

Não cabe, e o sistema operacional ainda precisa de memória própria. Com 24 GB de VRAM e 128 GB de RAM você tem 152 GB, e o arquivo de 103 GB cabe com folga.

O mais novo DeepSeek-V4.1-Flash-1017 é maior: cerca de 552B parâmetros mais 196B de Engram, em torno de 510 GB em FP8 e cerca de 167 GB em 2-bit, segundo o mesmo guia. O suporte é o outro problema. Conforme o guia (verificado em 22 de outubro de 2026), ele não roda no Ollama, porque a arquitetura deepseek_v41 não é suportada, e o suporte no llama.cpp e no LM Studio não está nos branches principais. Isso muda rápido, então consulte as notas de versão do seu engine antes de planejar em cima disso.

Quão rápido é?#

O guia traz duas medições, ambas em quantização pesada e ambas números da comunidade, então leia como ordens de grandeza e não como benchmark:

  • DGX Spark com 128 GB, V4-Flash em IQ2: cerca de 6–7 tokens por segundo.
  • Mac Studio M3 Ultra com 256 GB, V4.1-Flash em MLX 2-bit: cerca de 9,5 tokens por segundo.

O guia não tem número para uma RTX 4090 ou 5090.

Como isso se sente? Uma resposta de 1.000 tokens é mais ou menos uma página e meia de texto:

1.000 ÷ 9,5 = 105,3 segundos

1.000 ÷ 6 = 166,7 segundos

Para um chat que você lê enquanto recebe o streaming, é lento mas utilizável. Para um agente que faz dezenas de chamadas por tarefa, isso soma rápido. Digamos que seu loop produza 2.000.000 de tokens de saída por dia e a máquina realmente gere 9,5 tokens por segundo sem parar:

2.000.000 ÷ 9,5 = 210.526 segundos

210.526 ÷ 3.600 = 58,5 horas

Isso é mais de um dia de geração para um dia de trabalho. Servidores reais fazem batching de várias requisições juntas, então o quadro não é tão sombrio para uma equipe, mas você estaria ajustando o engine em vez de construir seu produto.

Quanto custa a mesma carga de trabalho através de uma API#

Vamos tornar o exemplo concreto. Suponha um loop de agente que envia 10 milhões de tokens de entrada e recebe 2 milhões de tokens de saída por dia. Esses são números supostos, substitua pelos seus do log de uso.

A própria página de preços da DeepSeek (22 de outubro de 2026, a página em si não mostra data) lista deepseek-flash, servido pelo DeepSeek-V4.1-Flash-1017, com estes preços por 1M tokens, fora de pico / pico: entrada com cache miss $0,15 / $0,30, saída $0,60 / $1,20. Os horários de pico são 01:00–04:00 e 06:00–10:00 UTC, de segunda a sexta, excluindo feriados públicos chineses; fora de pico é metade do pico. A entrada com cache hit é bem mais barata ($0,003 / $0,006), então um loop que reenvia o mesmo prefixo longo vai ficar abaixo dos números aqui.

Para a carga de trabalho suposta, com cache misses:

Fora de pico: 10 × $0,15 + 2 × $0,60 = $2,70 por dia

Pico: 10 × $0,30 + 2 × $1,20 = $5,40 por dia

Na CheapTokens, para o mesmo tipo de loop de agente, use o MiniMax-M2.7 (minimax-m2.7): um preço fixo a qualquer hora, sem janela de pico, até 8.192 tokens de saída por resposta, contexto de 180K e um único saldo para todos os modelos. Os mesmos 10M de entrada e 2M de saída custam $0.80 por dia. No geral, contando entrada e saída juntas, é mais barato que o OpenRouter; aqui está a tabela ao vivo para exatamente esta carga de trabalho:

Modelo Custo OpenRouter
GLM-5.3-Flash $0.28 $0.565
DeepSeek-V4-Flash $0.35 $0.789
MiniMax-M2.7 $0.80 $5.40

10.000.000 tokens de entrada e 2.000.000 tokens de saída no total. Os preços por 1M de tokens são atuais e mudam junto com nossas tarifas; a coluna OpenRouter mostra preços de referência para a mesma carga de trabalho.

A tabela lê a lista de preços atual cada vez que é exibida, então continua correta quando os preços mudam. A lista completa de preços está na página de preços da CheapTokens, e preços da API DeepSeek em 2026 explica como cache hits e horários de pico mudam uma fatura.

Quando seu próprio hardware compensa?#

Tokens locais não custam nada por requisição, mas a máquina custa. Uma forma simples de verificar:

text
payback days = hardware price ÷ (daily API bill − daily electricity)

Não vou dar um preço de hardware aqui porque ele varia demais; coloque o que te foi cotado. Para ter uma ideia, pegue a conta fora de pico da página de preços da DeepSeek acima. Cada $1.000 de hardware precisa desta quantidade de dias da fatura da API para se pagar, antes de eletricidade e do seu próprio tempo:

1.000 ÷ 2,70 = 370,4 dias

E isso assume que a máquina consegue entregar esse volume, o que não consegue: a 9,5 tokens por segundo, não dá (veja a seção de velocidade acima), então para uma carga de trabalho de agente o retorno não fecha. Local faz mais sentido quando:

  • os dados não podem sair da sua rede, e isso importa mais que a fatura;
  • você já tem a máquina e a carga é leve, digamos algumas centenas de requisições por dia para uma ferramenta pessoal;
  • você quer experimentar com os próprios pesos: quantização, fine-tuning, um engine da sua escolha.

Uma API faz mais sentido quando a carga de trabalho é um agente ou um serviço, quando você precisa da resposta em segundos, ou quando seu hardware está abaixo dos tamanhos de memória acima. Se sua máquina for pequena demais até para o arquivo DeepSeek mais leve, o MiniMax-M2.7 (contexto de 180K, até 8.192 tokens de saída por resposta, no geral mais barato que o OpenRouter) é um modelo para experimentar pelo mesmo cliente.

Migrando do local para uma API hospedada#

Projetos de hobby costumam começar no Ollama e depois crescer além dele. A boa notícia: os engines locais falam o protocolo OpenAI. A página de compatibilidade do Ollama (docs.ollama.com, verificada em 22 de outubro de 2026) mostra o endpoint http://localhost:11434/v1/; o cliente precisa de algum valor em api_key, mas o Ollama o ignora. Streaming, modo JSON e tools funcionam; logprobs não.

Então a troca são duas linhas mais o nome do modelo:

python
import os
from openai import OpenAI

# Local Ollama: the key is required by the client but ignored by the server
# client = OpenAI(base_url="http://localhost:11434/v1/", api_key="ollama")

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

reply = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",  # take the exact id from the CheapTokens docs
    messages=[{"role": "user", "content": "Summarize this ticket in one sentence: ..."}],
    max_tokens=200,
)
print(reply.choices[0].message.content)
print(reply.usage)

Quando funciona, você vê um resumo de uma frase e um objeto usage com as contagens de tokens de prompt e completion, os mesmos números em que sua fatura se baseia. A API da CheapTokens também aceita o formato Anthropic Messages, e a documentação mostra a primeira requisição passo a passo. Se base_url é novidade para você, API compatível com OpenAI: o que é base_url leva dois minutos.

Se não funcionar#

  • Connection refused em localhost:11434: o Ollama não está rodando, ou você ainda está apontando para o endereço local.
  • 401: a chave está faltando ou foi copiada com um espaço; leia de uma variável de ambiente, como no exemplo.
  • 404 ou modelo desconhecido: o id do modelo não corresponde. Nomes locais e nomes hospedados diferem, então copie o id da documentação.

Qual escolher#

Se você tem 128 GB ou mais e está curioso, rode os pesos em casa e aproveite o controle. Se você constrói um agente que queima milhões de tokens por dia, ou um serviço onde usuários esperam pela resposta, use a API e mantenha a configuração local para experimentos. O código continua o mesmo de qualquer forma, então você pode começar com um e migrar para o outro depois. Para saber mais sobre o lado de self-hosting, veja o que o DeepInfer significa para self-hosting; para experimentar o DeepSeek através da API, veja modelos DeepSeek da CheapTokens.