Cari artikelAI MEDIA & DISTRIBUTION / INDONESIA

DEEP DIVE · Digital Economy

Menjalankan model terbuka: kuantisasi, VRAM, dan batas konteks

Hitung kebutuhan bobot dan KV cache, baca kontrak lisensi, lalu ukur throughput serta kualitas pada hardware sendiri.

Sumber diperiksa

Diagram editorial original Nalarku; ilustrasi konseptual, bukan tangkapan produk.

Di dalam artikel ini
  1. Baca artefak model sebagai paket, bukan satu berkas
  2. Kuantisasi mengubah representasi bobot
  3. Hitung bobot dan KV cache secara terpisah
  4. Konteks dan konkurensi adalah keputusan produk
  5. Benchmark harus mewakili cara pemakaian
  6. Biaya operasional tidak berhenti pada harga GPU

Berkas model berukuran beberapa gigabyte tidak berarti model dapat dijalankan dengan jumlah VRAM yang sama. Selain bobot, inference membutuhkan KV cache, aktivasi, workspace kernel, dan ruang untuk konkurensi. Sebaliknya, model dengan jumlah parameter lebih besar belum tentu lebih baik pada tugas editorial tertentu.

Panduan ini membantu menghitung perkiraan awal dan merancang pengujian. Ia tidak merekomendasikan pembelian hardware atau menjanjikan performa model tertentu. Semua konfigurasi angka merupakan simulasi untuk memahami komponen memori.

Baca artefak model sebagai paket, bukan satu berkas

Periksa bobot, tokenizer, konfigurasi arsitektur, chat template, dan model card. Versi tokenizer atau template yang berbeda dapat mengubah input yang sebenarnya diterima model. Simpan revision atau commit artefak agar eksperimen dapat diulang.

Dokumentasi model card Hugging Face menjelaskan tempat mendokumentasikan penggunaan, batas, dan informasi model. Baca pula lisensi yang melekat pada artefak. Ketersediaan bobot untuk diunduh tidak otomatis berarti semua penggunaan, redistribusi, atau bentuk layanan memiliki izin yang sama.

Jangan menyamakan istilah open weights dengan seluruh proses pengembangan yang terbuka. Untuk keputusan teknis, tulis secara konkret artefak apa yang tersedia dan ketentuan apa yang berlaku, daripada bergantung pada satu label pemasaran.

Kuantisasi mengubah representasi bobot

Bitsandbytes pada Transformers menyediakan jalur bobot terkuantisasi, termasuk operasi 8-bit dan 4-bit yang didukung. Kompatibilitas bergantung pada hardware, backend, serta jenis model; memuat konfigurasi tidak menjamin semua lapisan memiliki representasi identik.

Kuantisasi mengurangi kebutuhan penyimpanan bobot dengan mengubah presisi representasi. Ia dapat memerlukan metadata skala, komputasi dengan presisi lain, dan kernel yang sesuai. Ukuran teoritis parameter dikali jumlah bit merupakan batas perkiraan awal, bukan hasil pengukuran memori proses.

Uji kualitas pada tugas yang akan dipakai. Perubahan kecil pada kemampuan mengikuti format atau mempertahankan angka dapat lebih penting bagi redaksi daripada perubahan rata-rata pada benchmark umum.

Hitung bobot dan KV cache secara terpisah

Contoh Python lokal berikut memberi kalkulasi untuk arsitektur perhatian konvensional dengan KV cache tanpa kompresi. Ia tidak memuat model:

def estimate_memory_gib(parameters, weight_bits, layers,
                        kv_heads, head_dim, tokens,
                        sequences, kv_bytes=2):
    values = [parameters, weight_bits, layers, kv_heads,
              head_dim, tokens, sequences, kv_bytes]
    if any(type(value) is not int or value <= 0 for value in values):
        raise ValueError("Semua parameter harus integer positif")
    weights = parameters * weight_bits / 8
    kv_cache = 2 * layers * kv_heads * head_dim * tokens * sequences * kv_bytes
    gib = 2 ** 30
    return {"weights_gib": weights / gib, "kv_gib": kv_cache / gib}


print(estimate_memory_gib(
    parameters=8_000_000_000, weight_bits=4, layers=32,
    kv_heads=8, head_dim=128, tokens=8192, sequences=4
))

Hasilnya sekitar 3,73 GiB untuk bobot teoritis dan 4 GiB untuk KV cache. Total sekitar 7,73 GiB itu belum mencakup overhead, sehingga tidak membuktikan konfigurasi akan muat pada GPU 8 GiB. GB desimal dan GiB biner juga bukan satuan yang sama.

Rumus KV tersebut mengalikan dua komponen key/value, jumlah layer, KV heads, dimensi head, token, sequence, dan byte per elemen. Arsitektur, sliding window, kompresi, paging, serta pembagian antarperangkat dapat mengubah alokasi aktual. Gunakan konfigurasi arsitektur sebenarnya, bukan menebak dari jumlah parameter.

Konteks dan konkurensi adalah keputusan produk

Dokumentasi vLLM menjelaskan pembatasan context length dan jumlah sequence sebagai cara mengendalikan penggunaan memori. Menurunkan batas dapat membantu kapasitas, tetapi juga membatasi pekerjaan yang dapat diterima produk.

Pisahkan panjang input, batas output, dan jumlah request serentak. Satu pengguna dengan dokumen panjang dapat memakai sumber daya berbeda dari beberapa pengguna dengan pesan pendek. Antrean dan penjadwalan memengaruhi latensi yang dirasakan, bukan hanya jumlah token per detik saat mesin penuh.

Tetapkan perilaku ketika input melebihi batas. Memotong bagian akhir dokumen secara diam-diam dapat menghapus catatan penting. Pilih penolakan yang jelas, pemecahan tugas, atau retrieval terarah sesuai kontrak aplikasi.

Benchmark harus mewakili cara pemakaian

Ukur waktu token pertama, durasi selesai, token per detik, penggunaan memori puncak, dan error pada tingkat konkurensi yang berbeda. Catat ukuran input serta output; angka throughput tanpa konteks beban sulit dibandingkan.

Dimensi Contoh eksperimen
Kualitas Ringkasan dengan tanggal, angka, dan syarat akses
Struktur Keluaran yang harus mengikuti kontrak JSON
Memori Konteks pendek/panjang pada konkurensi bertahap
Latensi p50 dan p95 dari pekerjaan yang sama
Recovery OOM, input terlalu panjang, dan restart proses
Operasional Waktu setup, pemantauan, dan pemulihan

Jangan menilai konfigurasi hanya dari kasus yang berhasil. Catat kegagalan kehabisan memori, antrean terlalu lama, dan keluaran yang tidak lolos review. Restart yang sering dapat menghilangkan manfaat biaya komputasi yang tampak murah.

Biaya operasional tidak berhenti pada harga GPU

Hitung utilisasi, waktu menganggur, penyimpanan artefak, pemantauan, pembaruan keamanan, dan tenaga pemeliharaan. Layanan mandiri memberi bentuk kontrol yang berbeda, tetapi kontrol itu memerlukan pekerjaan operasional.

Bandingkan biaya per hasil yang diterima pada beban nyata. Jika pekerjaan sedikit dan tidak teratur, kapasitas yang menganggur dapat mendominasi. Jika pekerjaan stabil, batching dapat membantu throughput sambil mengubah waktu tunggu. Tidak ada kesimpulan universal tanpa profil penggunaan.

Mulai dari kalkulasi, lalu validasi dengan pengukuran pada lingkungan uji yang tersedia. Gunakan golden set editorial untuk menilai kualitas dan ledger biaya untuk membandingkan seluruh pekerjaan, bukan hanya biaya token atau ukuran berkas model.

DASAR BACAAN

Sumber & catatan editorial

  1. Bitsandbytes quantizationHugging Face Transformers
  2. Conserving memoryvLLM
  3. Model cardsHugging Face

Panduan ini menghubungkan dokumentasi resmi dengan rancangan teknis Nalarku. Contoh dan simulasi diberi label. Status produk mengikuti sumber saat diperiksa, dan dapat berubah. Baca transparansi penggunaan AI serta standar editorial kami.

Bawa konteksnya ke percakapan.Ikuti Nalar Pekan →