Cara Menyiapkan Model 27B di Server Internal dan Menyiapkan Biaya Token
Dalam situasi di mana API eksternal tidak dapat digunakan karena regulasi keamanan, Anda harus menghosting model 27B di server Anda sendiri. Anggaran tidak mencukupi untuk membeli H100 yang mahal, dan biaya token bulanan terus membengkak seperti bola salju. Artikel ini membahas metode praktis spesifik untuk menghemat lebih dari 40% anggaran perangkat keras di lingkungan on-premise dan memblokir pemborosan token dari infinite loop.
Konfigurasi Multi-GPU untuk Mengurangi Anggaran Perangkat Keras
Untuk menjalankan model 27B tanpa OOM (Out of Memory), Anda perlu menghitung kebutuhan VRAM secara akurat. Daripada membeli satu NVIDIA H100 80GB, gabungkan dua RTX 4090 24GB untuk membuat VRAM terintegrasi sebesar 48GB. Menggunakan metode ini dapat menurunkan biaya penyiapan perangkat keras awal hingga setengahnya atau lebih.
- Pastikan total VRAM yang dibutuhkan tidak melebihi 30GB dengan menjumlahkan bobot model (sekitar 28GB berdasarkan FP8) dan KV cache (1GB berdasarkan konteks 8K).
- Di lingkungan tanpa NVLink, tentukan opsi
--tensor-parallel-size 2 saat menjalankan vLLM untuk mendistribusikan komputasi dalam lebar pita PCIe.
- Untuk menahan daya puncak lebih dari 1000W yang dikeluarkan oleh dua RTX 4090, gunakan catu daya bersertifikat 80 Plus Titanium dan cegah thermal throttling dengan kipas intake depan.
Tidak perlu terpaku pada perangkat mahal tunggal. Mengikat kartu grafis murah secara paralel adalah alternatif yang realistis untuk tim infrastruktur yang berada di bawah tekanan anggaran.
Pengaturan Engine untuk Mencegah Konsumsi Token Infinite Loop
Baru-baru ini, ketika model 27B memproses logika yang kompleks, seringkali mereka gagal mencetak token akhir (stop token) dan mengalami infinite loop hingga jumlah token maksimum tercapai. Di lingkungan API komersial, fenomena ini saja sudah membuat biaya operasional bulanan membengkak hingga tingkat yang tidak tertahankan. Anda dapat mengatasi pemborosan ini dengan pasti hanya dengan menyesuaikan parameter di engine serving lokal.
- Berikan
repeat_penalty 1.15 dan presence_penalty 0.1 ke parameter serving untuk menekan fenomena di mana kalimat yang sama berulang kali dihasilkan.
- Masukkan
<|im_end|>, <|eot_id|>, dan \nUser: ke dalam susunan stop pada file konfigurasi untuk memaksa model agar tidak melanjutkan tanya jawab sendiri.
- Terapkan
temperature 0.2 dan min_p 0.05 untuk mengikat model agar tidak menyentuh token dengan probabilitas rendah.
Jika Anda menerapkan pengaturan ini, rata-rata jumlah token keluaran akan berkurang dari 4.000 menjadi 800. Bahkan termasuk biaya listrik dan penyusutan peralatan, Anda dapat mengontrol biaya operasional bulanan per unit di sekitar kisaran 290 dolar.
Distribusi Bobot dan Manajemen Pipeline di Lingkungan Air-Gapped
Di lingkungan air-gapped yang sepenuhnya terisolasi dari jaringan eksternal, pipeline untuk mengelola bobot secara stabil dan melayaninya adalah suatu keharusan. Dengan memanfaatkan vLLM, Anda dapat membuka endpoint API dengan kecepatan yang tidak kalah dari layanan komersial bahkan di dalam jaringan internal perusahaan.
- Unduh bobot menggunakan
huggingface-cli di bastion host yang memiliki akses internet, dan unduh ke dalam struktur file tunggal dengan menggunakan opsi --local-dir-use-symlinks False.
- Tingkatkan reusabilitas konteks RAG dan cegah fragmentasi VRAM dengan menerapkan
--enable-prefix-caching dan --gpu-memory-utilization 0.92 saat menjalankan vLLM.
- Pantau endpoint Prometheus (
/metrics) secara konstan, dan jika indikator vllm:gpu_cache_usage_factor melebihi 90%, segera turunkan --max-model-len dari 16384 menjadi 8192.
Satu-satunya cara untuk mengontrol biaya sambil tetap mematuhi kebijakan keamanan perusahaan pada akhirnya adalah dengan membangunnya sendiri dan memantau angkanya secara langsung.