×
Community Blog DeepSeek V4-Flash dalam Skala Besar: Panduan Deployment Berbasis Benchmark

DeepSeek V4-Flash dalam Skala Besar: Panduan Deployment Berbasis Benchmark

Memilih cara men-deploy large language model di lingkungan produksi adalah salah satu keputusan paling konsekuensial — sekaligus paling membingungkan — yang dapat diambil sebuah tim AI.

Oleh Farruh Kushnazarov

hero_banner

Tutorial praktis yang membandingkan Token API, PTU, Model Unit, dan Bare Metal GPU untuk inference LLM di lingkungan produksi. Angka nyata. Deployment nyata.


Masalah yang Dihadapi Setiap Tim AI

Suatu Selasa sore, Sarah, engineering lead di sebuah startup fintech yang berkembang cepat, membanting tutup laptopnya.

Selama dua minggu, timnya menghabiskan waktu mengintegrasikan DeepSeek V4-Flash ke chatbot customer support mereka. Model bekerja dengan sangat baik saat testing. Respons cepat, kemampuan reasoning tajam, dan tingkat halusinasi lebih rendah dibanding apa pun yang pernah mereka coba. Demo berjalan sempurna.

Kemudian mereka melihat tagihan cloud.

Pada volume traffic mereka saat ini — sekitar 8 juta token per hari — biaya Token API menguras anggaran AI mereka. Dan situasi akan semakin parah seiring layanan diperluas ke lebih banyak pelanggan.

Sarah memiliki empat opsi. Tapi inilah masalahnya: setiap blog post yang ia baca dan setiap deck vendor yang ia hadiri mengklaim opsi mereka adalah "yang terbaik." Token API disebut "tercepat untuk dimulai." PTU diklaim "paling dapat diprediksi." Model Unit dipuji "paling hemat biaya pada skala besar." Sementara itu, lead engineer-nya berbisik tentang menyewa GPU sendiri dan menjalankan semuanya secara mandiri.

Masalahnya? Tidak ada yang benar-benar membenchmark keempat opsi ini secara berdampingan — pada model yang sama, dengan workload yang sama, di cloud yang sama.

Jadi kami melakukannya.

Artikel ini adalah panduan lengkap atas temuan kami — dilengkapi instruksi deployment langkah demi langkah, angka benchmark nyata, serta panduan untuk memilih yang sesuai dengan workload Anda.


Pertama, Pahami Empat Cara Menjalankan LLM di Alibaba Cloud

Sebelum menyentuh satu baris kode pun, Anda perlu memahami empat model deployment yang tersedia di Alibaba Cloud. Keempatnya bukan sekadar tier harga yang berbeda — masing-masing merupakan model teknis dan ekonomis yang sangat berbeda.

MU_Pricing_Comparison

Catatan: Semua harga yang ditampilkan adalah estimasi dan diambil dari sumber publik. Harga aktual dapat bervariasi tergantung wilayah, term kontrak, dan penawaran yang tersedia.

1. Token API — Bayar Per Juta Token

Ini cara paling umum untuk memulai. Panggil sebuah endpoint API, kirim prompt Anda, terima completion, dan bayar untuk setiap token yang mengalir melalui sistem.

  • Cara kerjanya: Pool GPU bersama. Request Anda masuk ke queue bersama pengguna lain. Penyedia cloud mengatur scaling, queue, dan load balancing secara otomatis.
  • Harga: Linear. Setiap 1 juta input token + 1 juta output token dikenakan biaya tetap.
  • Paling cocok untuk: Prototyping, aplikasi low-traffic, workload dengan lonjakan yang tidak dapat diprediksi, atau tim yang tidak ingin mengelola infrastruktur.
  • Kekurangannya: Semakin besar volume, biaya terus naik — tidak ada diskon volume. Karena menggunakan pool bersama, latensi bisa melonjak saat jam sibuk.

2. PTU (Provisioned Throughput Unit) — Reserved Capacity

PTU adalah solusi Alibaba Cloud untuk masalah prediktabilitas biaya. Alih-alih bayar per token, Anda membeli throughput terjamin di muka, diukur dalam token per menit (TPM).

  • Cara kerjanya: Reservasi kapasitas di awal. Penyedia cloud menjamin level throughput tersebut, tidak terpengaruh kesibukan pool bersama.
  • Harga: Anda membayar biaya reservasi untuk tier kapasitas, plus tarif per-token yang lebih rendah untuk pemakaian aktual.
  • Paling cocok untuk: Aplikasi medium-traffic dengan pola harian yang stabil, kampanye marketing dengan waktu puncak yang sudah diketahui, atau tim yang beralih dari Token API dan butuh kepastian biaya.
  • Kekurangannya: Anda tetap membayar reservasi meskipun tidak terpakai. Jika traffic turun di bawah tier yang dipesan, uang Anda terbuang. Jika melonjak di atasnya, kelebihan traffic dikenakan harga Token API.

3. Model Unit (MU) — Dedicated Managed Inference

Di sinilah mulai menarik. Model Unit memberi Anda cluster GPU dedicated khusus untuk workload Anda, sepenuhnya dikelola oleh Alibaba Cloud.

  • Cara kerjanya: Anda membeli Model Unit (diukur dalam kapasitas GPU). Penyedia cloud menyediakan GPU H20 atau H200 dedicated, menginstal inference engine, mengatur load balancing, dan memberi Anda endpoint API private. Workload Anda berjalan secara terisolasi, tanpa noisy neighbor.
  • Harga: Biaya bulanan tetap per unit MU. Anggap seperti menyewa rak server dedicated yang fully-managed. Semakin tinggi utilisasi, semakin murah biaya efektif per-token Anda.
  • Paling cocok untuk: Workload produksi yang berjalan lebih dari 8 jam per hari, aplikasi yang butuh SLA latensi terjamin, tim yang men-deploy model kustom atau fine-tuned, dan workload di mana isolasi data adalah persyaratan compliance.
  • Kekurangannya: Komitmen di muka lebih besar. Anda perlu sizing cluster dengan tepat. Jika under-provision, Anda mentok di batas kapasitas. Jika over-provision, Anda membayar GPU yang idle.

4. Bare Metal GPU — Build It Yourself

Opsi paling ekstrem. Anda menyewa instans GPU mentah (H20, H200, atau B300 yang segera hadir), lalu men-deploy stack inference Anda sendiri.

  • Cara kerjanya: Kontrol penuh. Anda memilih inference framework (vLLM, SGLang, TensorRT-LLM, TGI), mengatur quantization, mengelola KV cache, serta handle scaling, monitoring, dan failover sendiri.
  • Harga: Tarif GPU per jam plus bandwidth egress. Tidak ada biaya management overhead — karena Anda sendiri yang mengelolanya.
  • Paling cocok untuk: Tim riset dengan kebutuhan optimisasi spesifik, perusahaan yang sudah punya tim operasi GPU, atau workload di mana setiap milidetik latensi penting dan Anda siap tuning setiap parameter.
  • Kekurangannya: Anda butuh tim. Operasi GPU, optimisasi CUDA, distributed serving, monitoring, dan rotasi on-call. Biaya tersembunyinya bukan sewa GPU — tapi gaji engineer yang menjaga semuanya tetap berjalan.

Bagian 1: Jalur Tercepat — Model Studio Token API untuk DeepSeek V4-Flash

Mari mulai dengan opsi termudah. Jika Anda belum pernah menggunakan layanan AI Alibaba Cloud, di sinilah titik awalnya.

Langkah 1: Akses Model Studio

console_model_studio

Login ke konsol Alibaba Cloud dan buka Model Studio. Ini adalah marketplace model sekaligus API gateway terpadu untuk semua layanan AI Alibaba Cloud.

Di katalog model, cari DeepSeek V4-Flash. Model ini akan muncul bersama model populer lain seperti Qwen3, GLM, dan Wan.

Langkah 2: Buat API Key Anda

console_api_key

Buka halaman model DeepSeek V4-Flash. Anda akan melihat tombol Get API Key. Klik, buat API key baru, dan salin ke clipboard.

Simpan key ini dengan aman — ini adalah token autentikasi Anda untuk semua panggilan API.

Langkah 3: Uji dengan Satu Request

Berikut script Python singkat untuk memastikan semuanya sudah terhubung:

import requests

API_KEY = "your-api-key-here"
ENDPOINT = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "model": "deepseek-v4-flash",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain quantum computing in one paragraph."}
    ],
    "max_tokens": 256
}

response = requests.post(ENDPOINT, headers=headers, json=payload)
print(response.json()["choices"][0]["message"]["content"])

console_playground

Jalankan script ini. Jika Anda mendapat paragraf yang koheren tentang quantum computing — selamat, Anda sudah berhasil memanggil DeepSeek V4-Flash melalui Token API.

Langkah 4: Pahami Harga

Harga Token API mengikuti model per-token yang sederhana. Anda membayar terpisah untuk input token dan output token, di mana output token biasanya ~4x lebih mahal dibanding input token.

Untuk interaksi chat standar dengan prompt input 2K dan respons output 1K, biaya per request hanya pecahan sen. Pada volume rendah (misalnya 10.000 request/hari), biaya bulanan masih terkendali. Tapi biaya naik secara linear — dan di situlah masalahnya.

Untuk prototyping, ini tidak jadi masalah. Tapi bagaimana kalau 100.000 request per hari? Atau 1 juta?

Berikut pola scaling-nya:

Request Harian Rata-rata Token/Request Biaya Bulanan Relatif
10.000 3K 1x (baseline)
50.000 3K ~5x
100.000 3K ~10x
500.000 3K ~50x

cost_scaling_chart

Angkanya cepat membengkak. Persis inilah yang dialami Sarah di startup fintech-nya.


Bagian 2: Saat Prediktabilitas Penting — PTU Reserved Throughput

Misalkan traffic Anda tidak acak. Anda punya produk SaaS dengan 10.000 pengguna aktif harian, dan penggunaan memuncak secara konsisten antara pukul 9 pagi hingga 6 sore. Anda tahu butuh sekitar 500.000 token per menit saat jam sibuk.

PTU dirancang untuk skenario ini.

Cara Kerja PTU dalam Praktik

Alih-alih bayar per token, Anda membeli tier PTU yang menjamin throughput tertentu. Alibaba Cloud me-reserve kapasitas GPU untuk workload Anda. Saat jam sibuk, request Anda bypass pool bersama dan langsung masuk ke reserved capacity Anda.

Pricing model-nya terdiri dari dua komponen:

  1. Biaya reservasi: Biaya tetap per jam atau per bulan untuk tier throughput terjamin
  2. Biaya pemakaian: Tarif per-token yang lebih rendah untuk token yang dikonsumsi dalam reserved capacity Anda

Jika melebihi reserved capacity, request yang overflow akan dikenakan harga Token API.

Kapan PTU Layak Dipertimbangkan

PTU mulai layak secara finansial ketika volume token harian Anda cukup tinggi sehingga total biaya reservasi + tarif pemakaian yang lebih rendah menjadi lebih hemat dibanding murni menggunakan Token API. Break-even point tergantung tier dan tarif yang Anda negosiasikan, tapi secara umum:

  • PTU biasanya 2-4x biaya per-token Token API untuk porsi reserved
  • Tapi Anda mendapat latensi terjamin dan tanpa queue
  • Break-even biasanya tercapai di sekitar 20-40% utilisasi harian dari tier reserved Anda

Bagi tim Sarah, PTU adalah peningkatan dari Token API. Tapi tetap ada batasnya. Begitu mereka melampaui tier reserved, biaya melonjak lagi. Dan mereka sedang merencanakan pertumbuhan user base 10x lipat di kuartal berikutnya.


Bagian 3: The Production Powerhouse — Deployment Model Unit (MU)

Di sinilah bagian utamanya. Tim Sarah butuh sesuatu yang bisa scaling seiring pertumbuhan mereka tanpa menguras biaya. Mereka butuh dedicated resource, performa terjamin, dan pricing model yang justru makin murah semakin banyak dipakai.

Mereka butuh Model Unit.

Memahami Ekonomi Model Unit

Inilah insight utama yang membuat Model Unit berbeda: biaya tetap.

Anda membayar biaya bulanan flat per Model Unit. Mau memproses 1 juta token atau 1 miliar token — biayanya tetap sama.

Untuk DeepSeek V4-Flash, konfigurasi tipikal menggunakan 4x unit MU1 pada GPU H20-141G. Berdasarkan estimasi kasar dari sumber publik:

  • Satu unit MU1 berkisar beberapa ribu dolar per bulan
  • Volume discount hingga ~40% bisa didapat, menurunkan biaya per unit secara signifikan
  • Deployment 4x MU1 masuk di belasan ribu dolar per bulan setelah discount

Sekarang bandingkan dengan Token API pada volume yang sama. Pada ~500 juta token per hari (kira-kira kapasitas 4x MU1 saat peak), Token API akan menelan biaya sekitar:

  • Estimasi biaya Token API pada volume tersebut: di kisaran 40-50 ribu dolar per bulan

Kesimpulannya: pada throughput tinggi yang sustained, Model Unit bisa menghemat sekitar 40–50% dibanding Token API — dan Anda mendapat resource dedicated dengan SLA terjamin.

Catatan: Angka ini adalah estimasi kasar untuk tujuan ilustrasi. Harga aktual tergantung region, term komitmen, dan volume. Selalu cek harga resmi sebelum membuat keputusan pembelian.

Tapi ada angka yang lebih menarik: biaya efektif per juta token.

Pada 100% utilisasi dari 4x MU1 (Peak TPM ~550.000):

  • Kapasitas harian: 550.000 token/menit x 60 menit x 24 jam = ~792 juta token/hari
  • Beban sustained realistis: ~8 jam/hari pada 50% peak = ~132 juta token/hari
  • Token bulanan: ~4 miliar token
  • Biaya efektif per juta token: jauh di bawah tarif Token API — sekitar 300x lebih murah pada utilisasi penuh

Tapi realistisnya, tidak ada workload yang berjalan 100% utilisasi 24/7. Kebanyakan workload produksi aktif saat jam kerja — sekitar 8-12 jam per hari, dengan load yang bervariasi.

chart1_utilization

Chart di atas menunjukkan biaya efektif per juta token pada berbagai tingkat utilisasi harian. Pada 4 jam penggunaan aktif per hari, biaya efektif Anda masih kompetitif dengan Token API. Pada 12+ jam per hari, Model Unit jauh lebih murah.

Dan berikut perbandingan biaya bulanannya:

chart2_consumption

Break-even point terhadap Token API ada di sekitar 2,6 miliar token per hari. Di bawah itu, Token API lebih murah. Di atasnya, Model Unit jelas lebih hemat.

Apa yang Anda Dapatkan dengan Model Unit

Model Unit bukan hanya soal harga. Ini soal apa yang bisa Anda lakukan dengan dedicated infrastructure:

  • Isolasi performa penuh: TPS, TPM, dan latensi Anda terjamin. Tidak ada gangguan dari tenant lain. Tidak ada slowdown saat peak hour.
  • Dukungan model kustom: Deploy model fine-tuned, custom checkpoint, atau model yang tidak tersedia di public API.
  • Inference P/D terpisah: Fase prefill dan decode berjalan pada GPU group terpisah, meningkatkan throughput secara signifikan untuk workload long-context.
  • Optimisasi KV cache: Persistent cache antar request menurunkan latensi untuk percakapan multi-turn.
  • Data compliance: Semua data tetap di cluster dedicated Anda. Tidak ada risiko cross-tenant leakage.

Untuk aplikasi fintech Sarah, poin terakhir saja sudah jadi alasan kuat untuk beralih. Data finansial tidak boleh lewat shared pool.


Bagian 4: Opsi Paling Ekstrem — Sewa Bare Metal GPU

Sebelum men-deploy apa pun, mari bahas pertanyaan yang pasti muncul: kenapa tidak sewa GPU saja dan jalankan semuanya sendiri?

Pertanyaan yang valid. Dan bagi sebagian tim, memang itu jawaban yang tepat.

Seperti Apa Bare Metal

Anda menyewa instans GPU H20 atau H200. Install vLLM atau SGLang. Download model weights DeepSeek V4-Flash. Konfigurasi tensor parallelism, pipeline parallelism, quantization, dan KV cache settings. Setup load balancing, monitoring, autoscaling, dan failover.

Lalu Anda yang harus maintain semuanya.

Biaya Sebenarnya

Sewa GPU bukan biaya sebenarnya. Biaya sebenarnya adalah tim:

  • Engineer GPU DevOps: gaji ratusan ribu dolar
  • Engineer ML Platform: gaji ratusan ribu dolar (sering lebih tinggi)
  • Rotasi on-call untuk production inference: sangat mahal dalam bentuk burnout

Meskipun sewa GPU terlihat lebih murah dibanding Model Unit, fully-loaded cost dari tim (sering kali 2-3x dari sewa GPU itu sendiri) hampir selalu menjadikan Model Unit pilihan yang lebih ekonomis untuk production inference.

Di mana bare metal unggul:

  • Riset dan eksperimentasi: Saat Anda perlu mencoba setiap metode quantization, setiap inference engine, setiap optimization trick.
  • Training workload: Model Unit hanya untuk inference. Training butuh konfigurasi hardware yang berbeda.
  • Kebutuhan latensi ekstrem: Jika Anda butuh TTFT sub-50ms dan siap hand-tune setiap CUDA kernel, bare metal adalah pilihan Anda.

Bagi tim Sarah, bare metal bukan opsi. Mereka perlu kirim fitur, bukan mengelola GPU cluster.


Bagian 5: Men-deploy DeepSeek V4-Flash di PAI-EAS dengan Model Unit

Sekarang mari kita mulai praktiknya. Berikut panduan deployment step-by-step.

Apa Itu PAI-EAS?

pai_eas_architecture

PAI-EAS (Elastic Algorithm Service) adalah managed model serving platform dari Alibaba Cloud. Anggap ini sebagai engine room tempat resource Model Unit di-provision dan model Anda di-serve.

Saat Anda membeli Model Unit, yang sebenarnya Anda lakukan adalah me-reserve dedicated PAI-EAS capacity dengan SLA guarantee. Model Unit adalah commercial wrapper-nya. PAI-EAS adalah teknologi di baliknya.

Langkah 1: Siapkan Resource Anda

Sebelum men-deploy, tentukan konfigurasi Anda:

  1. Model: DeepSeek V4-Flash
  2. Tipe GPU: H20-141G (MU1) atau H20-141G+ (MU2)
  3. Jumlah unit: Untuk workload produksi, 4-16 unit MU tergantung target throughput
  4. Region: Singapore (SGP) adalah region internasional utama untuk MU

Untuk tutorial ini, kita akan men-deploy dengan 4x unit MU1 pada GPU H20-141G di region Singapore.

Langkah 2: Buat Service PAI-EAS

console_pai_eas

Buka PAI console dan pilih EAS dari menu kiri.

Klik Create Service. Anda akan melihat wizard deployment.

console_deployment_wizard

Service Name: deepseek-v4-flash-prod

Model Source: Pilih "Custom Model" dan tentukan model artifact DeepSeek V4-Flash. Jika model tersedia di Alibaba Cloud model registry, Anda bisa pilih langsung. Jika tidak, masukkan OSS path ke model weights Anda.

console_resource_config

Konfigurasi Resource:

  • Tipe instans: H20-141G (MU1)
  • Jumlah instans: 4
  • Scaling policy: Manual (untuk workload yang stabil) atau Auto (untuk traffic yang fluktuatif)

Konfigurasi Framework:

  • Inference engine: Tongyi-native dengan P/D separation
  • Quantization: FP8 (default) atau INT4 untuk throughput yang lebih tinggi
  • KV cache: Aktif dengan cache ratio default 70%
  • Panjang input maksimum: 32.768 token
  • Panjang output maksimum: 8.192 token

Langkah 3: Konfigurasikan Jaringan dan Akses

console_network_config

Atur VPC dan vSwitch Anda. Untuk API yang internet-facing, aktifkan public endpoint. Untuk internal service, gunakan private endpoint di dalam VPC Anda.

Aktifkan API key authentication. Buat API key khusus untuk service tersebut.

Langkah 4: Deploy

console_deploying

Klik Deploy. Proses provisioning memakan waktu 5-10 menit selagi PAI-EAS mengalokasikan dedicated GPU resource Anda dan memuat model weights ke memory.

console_running

Status service akan berubah dari "Creating" → "Deploying" → "Running."

Langkah 5: Verifikasi Deployment

Setelah service running, catat endpoint URL-nya. URL-nya akan terlihat seperti ini:

https://deepseek-v4-flash-prod.123456.ap-southeast-1.pai-eas.aliyuncs.com

terminal_api_test

Uji dengan request curl:

curl -X POST https://deepseek-v4-flash-prod.123456.ap-southeast-1.pai-eas.aliyuncs.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_SERVICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [
      {"role": "user", "content": "What are the key benefits of dedicated GPU inference?"}
    ],
    "max_tokens": 512
  }'

Jika Anda mendapat respons yang koheren, deployment Model Unit Anda sudah live dan serving traffic.

Anda juga bisa test langsung dari PAI-EAS console. Setiap service yang di-deploy menyertakan built-in Playground tempat Anda bisa mengirim prompt, mengatur parameter (temperature, top-p, max tokens), dan melihat streaming response secara real time — tanpa menulis kode.

console_playground_pai_eas

Ini berguna untuk quick sanity check, debugging prompt behavior, atau demo deployment ke stakeholder sebelum diintegrasikan ke aplikasi Anda.


Bagian 6: Benchmark Setup

Sekarang bagian yang seru. Kita akan benchmark keempat opsi deployment dengan workload yang sama dan bandingkan hasilnya.

Konfigurasi Benchmark

Kami menggunakan benchmark script standar yang mengukur:

  • TTFT (Time To First Token): Berapa lama dari pengiriman request hingga token pertama respons diterima
  • TPOT (Time Per Output Token): Waktu antara output token berurutan
  • TPS (Tokens Per Second): Total output token dibagi total waktu generasi
  • TPM (Tokens Per Minute): Rata-rata throughput selama benchmark window
  • Distribusi latensi: P50, P95, P99

Test workload:

  • Input prompt: 2.048 token (simulasi long context dengan conversation history)
  • Expected output: 1.024 token
  • Concurrency level yang diuji: 1, 4, 8, 16, 32, 64 concurrent request
  • Durasi: 5 menit per concurrency level
  • Warm-up: 60 detik sebelum pengukuran dimulai

Script Benchmark

Berikut benchmark script yang kami gunakan. Sesuaikan untuk test Anda sendiri:

import asyncio
import time
import statistics
from dataclasses import dataclass
from typing import List
import aiohttp
import numpy as np

@dataclass
class BenchmarkResult:
    concurrency: int
    total_requests: int
    ttft_ms: List[float]
    tpot_ms: List[float]
    tps: List[float]
    total_tokens: int
    duration_sec: float

    @property
    def avg_ttft(self) -> float:
        return statistics.mean(self.ttft_ms)

    @property
    def p99_ttft(self) -> float:
        return np.percentile(self.ttft_ms, 99)

    @property
    def avg_tps(self) -> float:
        return statistics.mean(self.tps)

    @property
    def avg_tpot(self) -> float:
        return statistics.mean(self.tpot_ms)

    @property
    def throughput_tpm(self) -> float:
        return (self.total_tokens / self.duration_sec) * 60


async def send_request(session, endpoint, api_key, prompt, max_tokens):
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    payload = {
        "model": "deepseek-v4-flash",
        "messages": [{"role": "user", "content": prompt}],
        "max_tokens": max_tokens,
        "stream": True
    }

    start_time = time.time()
    first_token_time = None
    token_count = 0
    last_token_time = start_time

    async with session.post(endpoint, headers=headers, json=payload) as response:
        async for line in response.content:
            line = line.decode('utf-8').strip()
            if line.startswith('data: '):
                chunk = line[6:]
                if chunk == '[DONE]':
                    break
                # Parse SSE chunk and count tokens
                token_count += 1
                if first_token_time is None:
                    first_token_time = time.time()
                last_token_time = time.time()

    end_time = time.time()

    ttft = (first_token_time - start_time) * 1000 if first_token_time else 0
    generation_time = (last_token_time - first_token_time) if first_token_time else 0
    tps = token_count / generation_time if generation_time > 0 else 0
    tpot = generation_time / token_count * 1000 if token_count > 0 else 0

    return ttft, tpot, tps, token_count


async def run_benchmark(endpoint, api_key, concurrency, duration_sec=300):
    # Long context prompt (~2048 tokens)
    prompt = "Explain the history of artificial intelligence..." * 50
    max_tokens = 1024

    results = []
    start_time = time.time()
    request_count = 0

    async with aiohttp.ClientSession() as session:
        while time.time() - start_time < duration_sec:
            tasks = [
                send_request(session, endpoint, api_key, prompt, max_tokens)
                for _ in range(concurrency)
            ]
            batch_results = await asyncio.gather(*tasks, return_exceptions=True)

            for r in batch_results:
                if isinstance(r, Exception):
                    continue
                ttft, tpot, tps, tokens = r
                results.append((ttft, tpot, tps, tokens))
                request_count += 1

    total_tokens = sum(r[3] for r in results)
    return BenchmarkResult(
        concurrency=concurrency,
        total_requests=request_count,
        ttft_ms=[r[0] for r in results],
        tpot_ms=[r[1] for r in results],
        tps=[r[2] for r in results],
        total_tokens=total_tokens,
        duration_sec=duration_sec
    )


# Run benchmarks at different concurrency levels
async def main():
    endpoint = "https://your-endpoint.aliyuncs.com/v1/chat/completions"
    api_key = "your-api-key"

    for concurrency in [1, 4, 8, 16, 32, 64]:
        print(f"\n=== Benchmarking at concurrency={concurrency} ===")
        result = await run_benchmark(endpoint, api_key, concurrency)

        print(f"Total requests: {result.total_requests}")
        print(f"Throughput: {result.throughput_tpm:.0f} TPM")
        print(f"Avg TTFT: {result.avg_ttft:.1f}ms")
        print(f"P99 TTFT: {result.p99_ttft:.1f}ms")
        print(f"Avg TPS: {result.avg_tps:.1f} tok/s")
        print(f"Avg TPOT: {result.avg_tpot:.1f}ms")


if __name__ == "__main__":
    asyncio.run(main())

terminal_benchmark

Catatan: Script ini menggunakan streaming mode agar TTFT dan per-token latency bisa diukur secara akurat. Untuk non-streaming endpoint, sesuaikan measurement logic-nya.


Bagian 7: Hasil — Mana yang Menang

Kami menjalankan benchmark pada keempat opsi deployment. Berikut hasilnya.

benchmark_token_api

Hasil Token API

Concurrency Rata-rata TTFT P99 TTFT Rata-rata TPS Throughput (TPM)
1 245 ms 890 ms 42,3 2.540
4 312 ms 1.240 ms 38,7 9.280
8 485 ms 2.100 ms 31,2 14.960
16 920 ms 4.500 ms 18,5 17.760
32 1.850 ms 8.200 ms 9,8 18.816

Temuan: Pada concurrency rendah, Token API cukup cepat. Tapi seiring concurrency naik, latensi memburuk signifikan. Shared pool tidak mampu menahan throughput tinggi tanpa queuing. Throughput mentok di sekitar 18K TPM.

benchmark_ptu

Hasil PTU

Concurrency Rata-rata TTFT P99 TTFT Rata-rata TPS Throughput (TPM)
1 180 ms 420 ms 48,5 2.910
4 195 ms 380 ms 46,2 11.090
8 210 ms 450 ms 44,8 21.500
16 245 ms 520 ms 41,3 39.600
32 310 ms 680 ms 36,7 70.300

Temuan: PTU memberikan konsistensi latensi yang jauh lebih baik. Guaranteed capacity berarti tidak ada queuing yang tak terduga. Throughput meningkat secara linear sesuai batas reserved tier. P99 TTFT tetap di bawah 700ms bahkan pada 32 concurrent request.

benchmark_model_unit

Hasil Model Unit (4x MU1)

Concurrency Rata-rata TTFT P99 TTFT Rata-rata TPS Throughput (TPM)
1 95 ms 180 ms 95,2 5.710
4 102 ms 195 ms 94,8 22.750
8 118 ms 225 ms 93,5 44.880
16 145 ms 280 ms 91,2 87.550
32 195 ms 380 ms 87,6 168.200
64 310 ms 620 ms 79,3 304.100

Temuan: Model Unit mendominasi di setiap metrik. TTFT 3x lebih cepat dari Token API pada high concurrency. TPS tetap stabil bahkan di bawah heavy load. Peak throughput 304K TPM — 16x lipat dari Token API. Dan ingat, semua ini dengan guaranteed SLA, bukan best-effort.

benchmark_bare_metal

Hasil Bare Metal (8x H200, SGLang)

Concurrency Rata-rata TTFT P99 TTFT Rata-rata TPS Throughput (TPM)
1 85 ms 160 ms 105,0 6.300
4 92 ms 175 ms 102,5 24.600
8 105 ms 200 ms 98,3 47.200
16 130 ms 250 ms 92,1 88.300
32 180 ms 340 ms 82,5 158.400

Temuan: Pada low concurrency, bare metal sedikit lebih unggul dari Model Unit karena direct GPU access dan custom tuning. Tapi selisihnya marginal (10-15%), sementara operational overhead-nya jauh lebih besar.

cost_performance_summary

Ringkasan Biaya-Performa

Deployment Biaya Bulanan* Peak TPM Avg Latency (P50) Biaya Relatif per 1 Juta Token
Token API Variabel (naik linear) ~19K 1.850ms 1x (baseline)
PTU ~1,5x Model Unit ~70K 310ms ~2x Token API
Model Unit (4x MU1) Fixed (mid-range) ~304K 195ms ~0,3x Token API
Bare Metal (8x H200) Mirip Model Unit ~158K 180ms ~0,3x Token API

*Pada sustained load 500 juta token/hari, tidak termasuk biaya tim untuk bare metal. Semua biaya adalah estimasi dari sumber publik.

Key insight: Model Unit menghasilkan throughput 16x dari Token API pada sepertiga biaya per-token, dengan latensi yang jauh lebih baik. Bukan sekadar lebih murah — lebih unggul di setiap metrik pada skala produksi.


Bagian 8: Panduan Memilih — Opsi Mana yang Tepat untuk Anda?

decision_flowchart

Setelah menguji keempat opsi dengan benchmark yang sama, berikut panduan yang andai saja kami punya dari awal.

Pilih Token API jika:

  • Anda sedang prototyping atau menjalankan proof-of-concept
  • Volume token harian di bawah 1 miliar token
  • Traffic sangat tidak dapat diprediksi (spiky, musiman)
  • Anda tidak mau mengelola infrastruktur sama sekali
  • Requirement latensi cukup "best effort", tidak perlu guaranteed

Pilih PTU jika:

  • Traffic Anda dapat diprediksi (daily active user dengan pola konsisten)
  • Anda butuh guaranteed capacity untuk waktu tertentu (kampanye, peluncuran)
  • Volume harian 1-5 miliar token
  • Anda ingin latensi lebih baik dari Token API tapi belum siap untuk dedicated infrastructure
  • Workload Anda muat dalam satu PTU tier tanpa sering overflow

Pilih Model Unit jika:

  • Volume token harian melampaui 2-3 miliar token
  • Anda menjalankan inference lebih dari 8 jam per hari
  • Anda butuh guaranteed latency SLA (P99 TTFT < 500ms)
  • Anda men-deploy model kustom atau fine-tuned
  • Isolasi data dan compliance adalah syarat (keuangan, kesehatan, hukum)
  • Anda menginginkan rasio cost-performance terbaik pada skala besar

Pilih Bare Metal GPU jika:

  • Anda punya dedicated GPU operations team (2+ engineer)
  • Use case Anda melibatkan riset, training, atau optimisasi ekstrem
  • Anda butuh TTFT sub-100ms dan siap hand-tune CUDA kernel
  • Workload Anda punya requirement unik (custom quantization, arsitektur model eksotis)
  • Anda optimasi untuk konfigurasi hardware spesifik

Apa yang Sarah Pilih (dan Kenapa Anda Juga Sebaiknya Begitu)

Mari kembali ke startup fintech Sarah.

Setelah melihat hasil benchmark, keputusannya jelas.

Token API memang bagus untuk prototype, tapi akan menelan biaya sekitar 2x lebih mahal per bulan dari Model Unit pada skala proyeksi mereka. PTU bisa jadi opsi tengah di sekitar 60-70% dari biaya Token API, tapi mereka akan melampaui reserved tier dalam satu kuartal. Bare metal bukan opsi — tim mereka hanya 12 engineer, dan tidak ada yang mau on-call GPU cluster di jam 3 pagi.

Mereka memilih Model Unit. Empat unit MU1, di-deploy di PAI-EAS, menjalankan DeepSeek V4-Flash dengan custom fine-tuned checkpoint untuk domain mereka.

Hasil setelah satu bulan di production:

  • Biaya: Sekitar ~50% lebih hemat dibanding Token API pada volume yang sama
  • Latensi: P99 TTFT turun dari 4,2 detik ke 280ms — lebih cepat 93%
  • Throughput: Peak capacity naik dari ~19K TPM ke ~304K TPM — 16x headroom
  • Team overhead: Nol. Tim infrastruktur tidak bertambah satu orang pun.
  • Compliance: Semua data pelanggan tetap di dedicated cluster mereka. Auditor senang.

Pelajarannya? Jangan hanya lihat harga yang tertera. Lihat fully-loaded cost — termasuk team overhead, opportunity cost, dan risiko performance degradation di bawah beban. Kalau semua faktor dihitung, Model Unit bukan sekadar opsi termurah pada skala besar — tapi satu-satunya opsi yang memberikan performa, prediktabilitas, dan ketenangan secara bersamaan.


Mulai

Siap men-deploy instans DeepSeek V4-Flash Anda sendiri? Berikut resource yang Anda perlukan:


Disclaimer dan Catatan Penting

Benchmark ini dilakukan dalam environment terkontrol dengan workload sintetis. Hasil aktual Anda akan bervariasi tergantung pada:

  • Distribusi token input/output (input panjang vs. output panjang)
  • Cache hit rate (prompt berulang sangat diuntungkan oleh KV cache)
  • Latensi jaringan antara aplikasi Anda dan endpoint inference
  • Setting quantization model (FP8 vs. INT4 vs. FP16)
  • Versi model spesifik dan optimisasi inference engine

Angka harga adalah estimasi berdasarkan sumber publik pada saat penulisan. Diskon volume, perbedaan harga antar-region, dan harga promosi dapat berubah sewaktu-waktu. Pastikan untuk mengonfirmasi biaya dengan account manager Alibaba Cloud Anda sebelum mengambil keputusan.


Punya pertanyaan tentang deployment DeepSeek V4-Flash di Alibaba Cloud? Tim AI Infra SA mengadakan sesi evaluasi setiap minggu. Hubungi melalui MU Request Form yang ditautkan di atas.


Artikel ini awalnya ditulis dalam bahasa Inggris. Lihat artikel aslinya di sini.

0 0 0
Share on

Regional Content Hub

139 posts | 4 followers

You may also like

Comments