SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor · Dikemas kini 2026-08-13

GPU VPS vs API Token: Mana Lebih Murah?

Ketahui titik pulang modal antara sewa GPU VPS dan pengebilan API per-token. Kami sertakan formula pengiraan serta jumlah token bulanan tepat untuk membuat keputusan bijak.

Di manakah titik pulang modal yang sebenar

GPU VPS mengatasi pengebilan API per-token pada satu tahap: apabila sewa bulanan tetap, dibahagikan dengan token output yang anda jana pada bulan tersebut, jatuh di bawah kadar caj API untuk jumlah token yang sama. Sewa tidak berubah. Bil API berubah mengikut setiap permintaan. Jadi, jawapannya sentiasa bergantung pada volum bulanan, bukan sekadar ya atau tidak.

Kira perkara ini pada GPU VPS kelas pertengahan pada harga $0.50 sejam, iaitu $365 untuk bulan 730 jam. Berbanding API model frontier, anda mencapai titik pulang modal pada 24.3 juta token output sebulan. Berbanding model komersial kecil, ia adalah 73 juta. Berbanding model open-weight yang dihoskan dengan saiz yang sama, anda tidak akan mencapai titik pulang modal, kerana satu kad tidak dapat menghasilkan token yang mencukupi dalam sebulan untuk sampai ke titik persilangan tersebut.

Kajian pulang modal yang diterbitkan tidak menjawab soalan ini. Dua daripadanya dari awal tahun 2026 meletakkan titik persilangan berhampiran 72% penggunaan mampan pada H200, dan antara 22% hingga 48% kitaran tugas (duty cycle) pada MI300X. Kedua-duanya membandingkan dengan produk serverless vendor yang sama, dan kedua-duanya meletakkan harga pada pemecut yang menelan kos lebih tinggi sejam berbanding jumlah perbelanjaan bulanan kebanyakan pembaca di sini. Aritmetik yang digunakan adalah sama. Apa yang berikut mengira semula untuk satu kad, satu model terbuka dalam julat 7B hingga 30B, dan pengebilan API bermeter biasa.

Setiap nombor di bawah adalah input, bukan hasil. Gantikan kesemuanya dengan data anda sendiri.

Rumus, supaya anda boleh menggantikan dengan nombor anda sendiri

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

Empat input, dan anda boleh mengukur atau mencari kesemua empat nilai tersebut.

  • hourly_rate ialah kos GPU VPS setiap jam, termasuk jam ia tidak digunakan. Jika anda membayar secara bulanan, bahagikan harga bulanan dengan 730.
  • tokens_per_second ialah kadar output agregat yang dikekalkan oleh pelayan anda di bawah konkurensi sebenar anda. Ini bukan nombor aliran tunggal daripada carta vendor.
  • duty_cycle ialah pecahan bulan di mana GPU digunakan untuk menjana token. Kotak yang anda sewa sepanjang bulan dan digunakan selama dua jam sehari berada pada tahap 8.3%.
  • api_price_per_million ialah harga bermeter yang anda bandingkan, untuk token output.

Contoh ini meletakkan harga pada token output di kedua-dua belah pihak, kerana output mendominasi bil untuk kerja sembang dan ejen. Jika prompt anda panjang, tambahkan input pada kedua-dua belah pihak. Di bahagian API, itu adalah baris berasingan pada invois. Pada kad anda sendiri, prefill menggunakan masa GPU, jadi ia sudah pun muncul sebagai tokens_per_second terukur yang lebih rendah.

Cara mengukur token sesaat sebelum anda mempercayai pengiraan

Segala perkara di atas bergantung pada satu nombor yang diukur. Jika anda tersilap sebanyak tiga kali ganda, jawapannya juga akan tersilap sebanyak tiga kali ganda. Ukur nombor tersebut pada kad yang anda sewa, dengan model dan kuantisasi yang akan anda jalankan.

Ollama memberikan angka aliran tunggal dalam satu arahan:

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

--verbose mencetak blok pemasaan selepas jawapan diberikan. Baris yang penting ialah eval rate, dalam unit token sesaat, yang hanya mengira penjanaan. prompt eval rate ialah kelajuan pra-isi (prefill) dan biasanya jauh lebih tinggi. Nombor anda akan berbeza daripada ini:

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

Aliran tunggal bukanlah nombor yang tepat untuk model kos, kerana ia mengukur satu permintaan pada satu masa pada kad yang boleh melayani banyak permintaan serentak. Untuk angka agregat, layani model dengan vLLM dan baca throughput yang dilaporkan sendiri oleh pelayan:

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

Semasa permintaan sedang diproses, pelayan mencatatkan baris status pada setiap selang pelaporan. Medan tepat berubah antara keluaran vLLM, jadi baca medan anda sendiri dan bukannya milik saya:

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 ialah nombor yang diperlukan oleh formula tersebut. Ia meningkat apabila anda menambah permintaan serentak sehingga KV cache (cache kunci-nilai, iaitu keadaan perhatian setiap permintaan yang disimpan oleh vLLM dalam VRAM) penuh, kemudian ia berhenti meningkat. Jika anda terus menambah beban, permintaan akan beratur dan bukannya menjadi lebih pantas, yang dapat dilihat sebagai peningkatan kiraan Waiting. vLLM juga menyertakan penjana beban, vllm bench serve. Flagnya berubah antara versi, jadi jalankan vllm bench serve --help pada versi yang anda pasang dan bukannya menyalin arahan daripada catatan blog.

Perhatikan kad tersebut semasa ujian dijalankan:

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

Jika utilization.gpu berada hampir 100% semasa penjanaan, anda terhad oleh throughput dan nombor yang anda ukur adalah had sebenar. Jika ia kekal rendah, sesuatu yang lain menjadi hadnya: terlalu sedikit permintaan serentak, klien yang perlahan, atau model yang tidak muat dalam VRAM dan sebahagiannya dipindahkan ke RAM sistem. Ollama dan vLLM membuat pertukaran (trade-off) yang sangat berbeza di sini, dan jurang antara keduanya pada kad yang sama cukup besar untuk mengubah titik pulang modal anda sebanyak beberapa kali ganda.

Rupa bil sepanjang satu bulan

Contoh yang diberikan ialah satu VPS GPU 24 GB pada harga $0.50 sejam, dengan model terbuka 8B yang dihoskan oleh vLLM, diukur pada 400 token output sesaat secara agregat dengan 16 permintaan serentak. Sewa adalah tetap sama ada anda menggunakan kad tersebut atau tidak. Kapasiti pada kadar tersebut ialah 1,051 juta token output sebulan, iaitu jumlah yang dihasilkan oleh kad jika ia tidak berhenti beroperasi.

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
  }
]

Garisan GPU adalah rata pada 365 dolar kerana sewa tidak bergantung pada cara anda menggunakan kad tersebut. Setiap garisan API adalah garisan lurus yang melalui titik sifar. Setiap pasangan bersilang tepat sekali.

Pada 25 juta token output sebulan, API frontier mengenakan bayaran 375 dolar, jadi kedua-dua pihak berada dalam lingkungan sepuluh dolar antara satu sama lain. Pada 50 juta, model komersial kecil mengenakan bayaran 250 dolar dan masih merupakan pilihan yang lebih murah. Pada 1000 juta token output, yang memerlukan kad tersebut sibuk 95% daripada sebulan, API berat terbuka yang dihoskan mengenakan bayaran 200 dolar berbanding sewa yang sama. Kad tersebut kalah dengan faktor hampir dua pada volum tepat di mana ia bekerja paling keras.

Hasil terakhir itu mengejutkan orang ramai, dan ia bukanlah satu kemalangan. Endpoint berat terbuka yang dihoskan ialah flit GPU yang dijalankan pada penggunaan tinggi, jadi harganya hampir dengan kos kad yang tepu. Anda tidak boleh menewaskan flit yang tepu dengan menyewa satu kad dan menjalankannya pada beban yang kurang daripada penuh. Apa yang anda boleh tewaskan ialah harga frontier, yang ditetapkan berdasarkan keupayaan dan bukannya masa silikon.

Kos bagi setiap juta token output pada setiap kitaran tugas

Jumlah volum dan kitaran tugas adalah fakta yang sama dilihat dari dua sudut berbeza. Sewa membeli jam penggunaan. Jam melahu tidak menghasilkan apa-apa tetapi tetap menelan kos.

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"
  }
]

Tiga lajur API tersebut merupakan harga senarai yang diterbitkan seperti pada Ogos 2026: 0.20 dolar bagi setiap juta token output untuk model berat terbuka 8B yang dihoskan, 5.00 dolar untuk model komersial kecil, dan 15.00 dolar untuk model sempadan (frontier model). Harga ini hanyalah sebagai ilustrasi. Semak halaman harga semasa sebelum membuat sebarang keputusan, dan jika perbandingan anda adalah terhadap pelan bulanan tetap dan bukannya token bermeter, aritmetik langganan berfungsi secara berbeza dan titik persilangan akan berubah semula.

Jalankan kad pada kapasiti penuh dan satu juta token output berharga 0.35 dolar, yang sememangnya murah. Pada kitaran tugas 10%, satu juta token yang sama berharga 3.47 dolar. Pada kitaran tugas 2%, kosnya menjadi 17.36 dolar, yang tidak berada dalam julat yang sama dengan 0.20 dolar yang dikenakan oleh model terbuka yang dihoskan untuk output yang serupa.

Di bawah kitaran tugas kira-kira 10%, menyewa GPU adalah pilihan yang mahal. Anda membayar 3.47 dolar bagi setiap juta token untuk output yang dijual pada harga 0.20 dolar, dan apa yang anda beli dengan perbezaan tersebut ialah privasi serta bil yang tidak berubah. Perkara ini mungkin bernilai tinggi. Ia bukanlah satu penjimatan harga, jadi jangan klasifikasikannya sebagai sedemikian.

Jumlah titik pulang modal bagi setiap tier 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
  }
]

Bagi tier frontier, anda memerlukan 24.3 juta token output sebulan, iaitu hanya 2.3% daripada kapasiti kad tersebut. Ini merupakan ambang yang rendah. Pasukan kecil yang menjalankan ejen pengekodan sepanjang hari bekerja mampu melepasi tahap ini.

Bagi tier komersial kecil, anda memerlukan 73 juta token sebulan, atau kitaran tugas 6.9%. Bagi tier berat terbuka (open-weight) yang dihoskan, kitaran tugas yang diperlukan ialah 174%. Sebarang nilai melebihi 100% adalah mustahil mengikut definisi: kad tersebut perlu beroperasi melebihi jumlah jam yang ada dalam sebulan. Satu kad kelas pertengahan pada kadar jam ini tidak dapat memenangi perbandingan tersebut, jadi satu-satunya cara untuk mengubah keputusan ini adalah dengan menggunakan kad yang lebih murah, kad yang lebih pantas, atau alasan yang bukan berasaskan harga.

Apa yang disembunyikan oleh formula tersebut

Formula tersebut menetapkan harga bagi jam GPU dan token. Beberapa kos sebenar tidak termasuk dalam pengiraan tersebut.

Cold starts. Model 8B dengan pemberat 16-bit bersaiz kira-kira 16 GB, dan memuatkannya daripada cakera tempatan ke dalam VRAM mengambil masa berpuluh-puluh saat. Jika anda menghentikan kotak (box) antara penggunaan untuk menjimatkan sewa, anda perlu menanggung tempoh menunggu tersebut pada setiap permintaan pertama. Jika anda membiarkannya berjalan untuk mengelakkan tempoh menunggu, kitaran tugas (duty cycle) anda akan merosot, yang seterusnya meningkatkan kos bagi setiap token. Pertukaran (trade-off) inilah sebab utama wujudnya inferens tanpa pelayan (serverless).

Storan dan muat turun. Pemberat model adalah besar. Model 8B pada 16-bit adalah sekitar 16 GB, model 30B yang dikuantisasi kepada 4-bit adalah sekitar 18 GB, dan model 30B pada 16-bit langsung tidak muat pada kad 24 GB. Had maksimum akan dicapai dengan cepat pada tahap tertinggi, di mana menjalankan model terbuka satu trilion parameter seperti Kimi K3 bermakna pemberatnya sahaja sudah melebihi kapasiti mana-mana kad tunggal yang boleh anda sewa mengikut jam. Anda membayar untuk cakera tersebut setiap bulan, dan anda membayar dengan masa pada setiap pembinaan semula. Jalankan du -sh ~/.cache/huggingface/hub selepas seminggu melakukan eksperimen. Ia berkembang lebih cepat daripada yang anda jangkakan, kerana setiap kuantisasi yang anda cuba sekali masih tersimpan di sana.

Masa anda sendiri. Versi pemacu dan CUDA, ralat kehabisan memori (out-of-memory) pada panjang konteks yang berfungsi semalam, kemas kini model yang mengubah templat sembang. Tiada satu pun daripada ini muncul dalam angka kos-per-token, dan semuanya dibayar dengan masa peribadi anda. Jika anda belum pernah menentukan saiz kotak ini sebelum ini, apa yang sebenarnya diberikan oleh GPU VPS kepada anda adalah berbaloi untuk dibaca sebelum anda komited dengan sewa bulanan.

Jurang kualiti. Ini adalah kos tersembunyi yang terbesar dan paling sukar untuk diletakkan harga. Model terbuka 8B bukanlah model sempadan (frontier model). Jika ia memerlukan tiga percubaan sedangkan model sempadan hanya memerlukan satu, harga sebenar bagi setiap jawapan yang berguna adalah tiga kali ganda daripada nilai carta, dan ia mungkin gagal melaksanakan tugas tersebut walau bagaimanapun. Buat perbandingan menggunakan prompt anda sendiri sebelum anda membandingkan harga. Bagi beban kerja ejen, jawapan lazimnya adalah untuk menghalakan mengikut kesukaran dan mengekalkan token tempatan yang murah untuk kerja pukal, yang merupakan intipati kepada mengawal perbelanjaan ejen pada VPS.

Pengebilan yang anda terlupa. Instans GPU mengikut jam yang anda hentikan sering kali masih mengenakan caj untuk storan yang dilampirkan dan alamat IP yang dikhaskan. Baca invois, bukan halaman harga.

Apabila self-hosting menang atas faktor selain harga

Empat kes di mana pengiraan kos bukanlah faktor penentu.

  • Data yang tidak boleh keluar daripada kawalan anda. Jika peraturan pematuhan melarang penghantaran teks kepada pihak ketiga, harga per token bukanlah persoalan yang ditimbulkan.
  • Volum tinggi yang stabil mengikut jadual. Tugasan klasifikasi kelompok yang berjalan selama enam jam setiap malam berada pada kitaran tugas 25% secara reka bentuk, dan ia tidak akan mengejutkan anda dengan bil.
  • Had kadar (rate limits). Kad anda sendiri mempunyai satu baris gilir dan ia milik anda sepenuhnya.
  • Model yang tidak ditawarkan oleh mana-mana API. Jika anda memerlukan fine-tune yang khusus, tiada apa yang boleh dibandingkan.

Jika anda ingin menguji versi murah terlebih dahulu, menjalankan model kecil pada VPS dengan Ollama mengambil masa satu petang, dan menentukan saiz model terbuka berbanding kad yang ingin disewa memberitahu anda GPU yang sebenarnya diperlukan. Buat pengukuran di situ sebelum anda melanggan sewaan GPU selama sebulan.

FAQ

Pada jumlah token bulanan berapakah GPU VPS lebih berbaloi berbanding harga API?

Bahagikan kos bulanan GPU dengan harga API bagi setiap juta token output. Kad yang disewa pada harga $365 sebulan, berbanding API frontier pada 15.00 dolar bagi setiap juta, mencapai titik pulang modal pada 24.3 juta token output sebulan. Berbanding model komersial kecil pada 5.00 dolar, ia adalah 73 juta. Berbanding model open-weight yang dihoskan pada 0.20 dolar, satu kad kelas pertengahan tidak mampu menjana token yang mencukupi dalam sebulan untuk mencapai titik pulang modal.

Mengapa API open-weight yang dihoskan lebih murah daripada GPU saya sendiri?

Kerana harganya ditetapkan hampir dengan kos GPU yang beroperasi penuh, manakala kad anda tidak beroperasi penuh. Penyedia yang melayani ribuan permintaan serentak memastikan armada mereka hampir tepu, jadi mereka boleh menjual token hampir dengan kos marginal pengeluarannya. Kad anda terbiar sepanjang hari dan anda membayar untuk waktu terbiar tersebut. Pada kitaran tugas 10%, kos anda ialah 3.47 dolar bagi setiap juta token output berbanding 0.20 dolar mereka.

Adakah saya perlu mengira token input selain token output?

Kira token tersebut jika prompt anda panjang. Perbandingan di sini hanya menggunakan token output, yang merupakan faktor dominan untuk kerja sembang dan ejen. Menambah input mengubah kedua-dua belah pihak. Pada bahagian API, ia merupakan baris berasingan dengan harga lebih rendah dalam invois. Pada kad anda sendiri, prefill menggunakan masa GPU, jadi kosnya sudah terkandung dalam jumlah token sesaat yang anda ukur. Ukur dengan panjang prompt sebenar anda supaya kedua-dua pihak kekal setara.

Bagaimanakah cara saya mengukur token sesaat yang diperlukan oleh formula ini?

Hoskan model mengikut cara anda akan menggunakannya, kemudian baca kadar penjanaan agregat di bawah konkurensi sebenar. Dengan Ollama, ollama run <model> --verbose mencetak eval rate dalam token sesaat, tetapi itu adalah aliran tunggal dan merendahkan nilai pelayan yang diproses secara berkelompok (batched). Dengan vLLM, pelayan yang sedang berjalan mencatat log Avg generation throughput semasa permintaan sedang diproses, dan itulah angka yang perlu digunakan. Pantau nvidia-smi pada masa yang sama. Jika penggunaan GPU tidak menghampiri 100% semasa penjanaan, anda belum menemui had maksimumnya lagi.

Adakah GPU VPS berbaloi disewa di bawah 10% penggunaan?

Bukan dari segi harga. Pada kitaran tugas 10%, anda membayar 3.47 dolar bagi setiap juta token output, dan pada 2% anda membayar 17.36 dolar. Kedua-duanya berada di atas setiap API bermeter dalam perbandingan ini kecuali tier frontier. Sewa di bawah paras tersebut hanya jika privasi atau model yang tidak ditawarkan oleh mana-mana API adalah perkara yang anda bayar.