Masuk ke utas mana pun tentang LLM lokal, perdebatannya selalu soal GPU. Benchmark VRAM, kartu 24 GB, CUDA lawan ROCm, apakah 3060 masih menjadi kartu rakyat. Sementara itu, angka yang benar-benar menentukan apakah model Anda jalan tertanam di slot lain, tanpa benchmark dan tanpa pemasaran: berapa banyak RAM yang dimiliki mesin itu.
VRAM menjual mimpi. RAM menentukan apakah model benar-benar bisa jalan — dan berapa banyak konteks yang bertahan saat ia jalan.
Saya mengujinya di mesin di depan saya saat menulis tulisan ini: desktop Ryzen dengan RAM 32 GB dan GeForce RTX 3060 ber-VRAM 12 GB. Saya menarik llama3.1:8b — halaman unduhannya menulis 4,9 GB. Lihat apa yang benar-benar ia cadangkan:

Satu layar itu memuat seluruh argumen. «Model 4,9 GB» mencadangkan 7,0 GB sebelum menjawab satu prompt pun — pajak konteks 43% — dan mengambil 7.963 dari 12.288 MiB VRAM. Bobotnya tidak pernah jadi anggaran. Anggarannya adalah konteks.
Dari mana gigabyte ekstra itu berasal
Catatan memori llama.cpp merinci aritmetika yang dilewatkan halaman unduhan: memori total = bobot model + KV cache + buffer komputasi. Hanya suku pertama yang konstan. KV cache tumbuh linier dengan panjang konteks, dan buffer komputasi dengan batch. Ollama membungkus llama.cpp, jadi hukum yang sama berlaku — itulah sebabnya ollama ps melaporkan 7,0 GB untuk tag 4,9 GB pada jendela 32.000 token, semuanya menetap di GPU.
Model yang dikuantisasi bukanlah kompromi. Itu pengakuan bahwa memori sejak awal adalah anggaran yang sebenarnya.
Itu juga alasan tangga kuantisasi GGUF ada. Q4 bukan agama; Q4 adalah cara membuat aritmetika memori mendarat di perangkat keras yang benar-benar dimiliki orang. Dan itulah sebabnya dua setup 8B yang «identik» tidak mirip sama sekali: modelnya sama, panjang konteksnya berbeda, mesinnya berbeda.
Tabel yang tidak diisi orang sebelum membeli
Tiga kelas model, dua jenis memori, satu kartu 12 GB dan RAM 32 GB — konfigurasi yang benar-benar dimiliki ribuan pengembang:
| Kelas model (Q4) | Unduhan | Termuat + ctx 32k | Di VRAM 12 GB | Di RAM 32 GB |
|---|---|---|---|---|
7–8B (llama3.1:8b) | 4,9 GB | 7,0 GB (terukur) | 100% GPU, ~8 GiB terpakai | nyaris tak terasa |
13–14B (qwen2.5:14b) | 9,0 GB | ~12 GB | offload dimulai | aman |
27–32B (gemma3:27b) | 17 GB | ~20 GB atau lebih | CPU menarik bebannya | satu-satunya alasan ia bisa jalan |
Baca ulang dua baris terakhir. Dengan VRAM saja, model 14B dengan konteks sungguhan sudah menjadi pekerjaan offload terbagi, dan 27B mustahil. Dengan RAM 32 GB, keduanya sekadar lambat. Perbedaan itu — antara mustahil dan lambat — adalah seluruh perbedaan praktis antara VRAM dan RAM. Muat di VRAM, cepat. Muat di RAM, jalan. Tidak muat di keduanya, Anda sedang swap ke NVMe dan waktu kehilangan makna.
Offload lewat PCIe, dan FAQ Ollama jujur soal harganya: lapisan yang tidak muat di GPU berjalan di CPU, dan throughput anjlok saat pangsa GPU menyusut. Tidak ada yang memilih trade-off itu secara sadar. Ia datang diam-diam, lapis demi lapis, dan gejalanya hanya: «model lokal ternyata overrated».
Buku catatan yang jujur
Yang rusak atau mengejutkan saat menulis ini, berurutan:
- Angka 43% itu sendiri. Saya mengira model 8B akan memakan «kurang lebih seukuran filenya». Ia mencadangkan 7,0 GB atas unduhan 4,9 GB. Kalau itu mengejutkan saya, hal yang sama mengejutkan semua orang yang membaca lembar spesifikasi alih-alih
ps. - Sesi tangkapan layar. Percobaan pertama saya mengambil jendela yang salah. Percobaan kedua berhasil — itulah yang di atas. Bukti adalah alur kerja, bukan suasana; dan siklus pull → tangkap →
ollama rmmenjaga disk tetap jujur. - Yang tidak rusak: GPU tidak pernah luber. 8B dengan konteks 32k pada 12 GB sungguh nyaman. Kartunya baik-baik saja. Yang salah kalibrasi adalah wacana di sekeliling kartu itu.
Tidak satu pun dari ini berarti GPU tidak penting — baris 100% GPU pada tangkapan itulah alasan generasi terasa instan. Artinya, GPU adalah pertanyaan kedua. Pilihan Ollama versus llama.cpp dibuat setelah Anda tahu apa yang muat, bukan sebelum.
Aturan praktis yang layak disimpan
RAM yang dibutuhkan = file model + KV cache untuk konteks nyata Anda + 4 GB agar tetap menjadi komputer. Untuk 7–8B di Q4, 16 GB nyaman. Untuk 14B–32B, 32 GB berhenti menjadi kemewahan dan menjadi intinya. Beli VRAM untuk kecepatan yang Anda inginkan pada konteks yang Anda pakai; beli RAM untuk segala hal yang suatu hari akan Anda muat.
Lihat
ollama pssekali saja, dan agama lembar spesifikasi berakhir dengan tenang.
Jadi, dua pertanyaan. Saat menyusun mesin berikutnya, Anda membeli VRAM untuk benchmark yang akan diposting — atau RAM untuk model yang benar-benar akan dijalankan? Dan jujur saja: berapa banyak model yang Anda tarik jam 2 pagi lalu Anda hapus sebelum sarapan? Saya melakukannya malam ini, di tengah tulisan. Katakan di komentar bahwa saya tidak sendirian — dan di sisi mana garis RAM/VRAM mesin Anda berada.
FAQ
Berapa RAM yang dibutuhkan untuk menjalankan LLM lokal?
Ukuran file model, plus konteks, plus desktop Anda. 16 GB nyaman untuk model 7–8B di Q4; 32 GB itulah yang mengubah model 14–32B dari demo menjadi alat harian.
Mana yang lebih penting untuk LLM lokal: VRAM atau RAM?
VRAM menentukan kecepatan saat semuanya muat di dalamnya. RAM menentukan apakah model bisa jalan sama sekali dan berapa konteks yang bertahan. Offload PCIe di antara keduanya adalah jalan tengah yang lambat dan tidak disukai siapa pun.
Mengapa model yang sudah dimuat memakai memori lebih besar dari ukuran unduhannya?
KV cache dan buffer komputasi tumbuh mengikuti panjang konteks. Catatan memori llama.cpp merinci hitungannya: bobot + KV cache + buffer komputasi — dan hanya angka pertama yang tertera di halaman unduhan.
— mrsaynothing
— mrsaynothing
Opinions load-tested before shipping. Mostly.
Diskusikan tulisan ini di dev.to dev.to ↗
Get the next argument by email
One email per post. Agree or tear it apart.
apa ini?SSH Permission denied (publickey): solusi yang sebenarnya
Suka tulisannya? Saya membangun seperti ini untuk hidup. pekerjakan saya