SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor · Diperbarui 2026-11-04

Ollama vs llama.cpp di VPS CPU: Mana yang Tepat?

Pahami perbedaan Ollama dan llama.cpp di VPS tanpa GPU, dampak quantisation terhadap RAM, serta kapan keduanya tidak muat pada kapasitas server Anda.

Ollama vs llama.cpp: lapisan mana yang ingin Anda jalankan?

Ollama dan llama.cpp bukan pesaing dalam pengertian yang tersirat dalam pertanyaan tersebut. llama.cpp adalah inference engine: perangkat lunak ini memuat file model dan mengubah prompt menjadi token. Ollama adalah model manager, daemon latar belakang, dan API HTTP yang berjalan di atas inference engine tersebut. README Ollama masih mencantumkan llama.cpp sebagai backend inferensinya (diperiksa pada 27 October 2026). Jadi, pertanyaan sebenarnya adalah lapisan mana yang ingin Anda operasikan pada VPS, bukan mana yang lebih cepat.

Jalankan Ollama jika Anda menginginkan service yang mengambil model berdasarkan nama dan tetap bekerja tanpa perlu diawasi. Jalankan llama.cpp secara langsung jika server berkapasitas kecil dan Anda perlu memilih file model, ukuran context, serta jumlah thread yang tepat, karena pada VPS kecil setiap pengaturan tersebut menggunakan memori yang tidak Anda miliki.

Apa sebenarnya setiap proyek

llama.cpp adalah implementasi inferensi transformer dalam C dan C++ yang dibangun di atas pustaka ggml. Program ini membaca file GGUF. GGUF (GGML universal file format) adalah kontainer satu file yang menyimpan bobot, tokeniser, dan metadata yang diperlukan engine untuk menjalankan model. Proyek ini menyediakan binary terpisah untuk tugas yang berbeda. llama-server adalah server HTTP, llama-cli adalah prompt interaktif, dan llama-bench mengukur throughput. Proyek ini kini menerbitkan rilis dengan versi semantik (MAJOR.MINOR.PATCH), dan v0.7.0, yang diterbitkan pada 15 October 2026, merupakan versi terbaru pada 27 October 2026. Tag nightly dengan nomor build masih diterbitkan bersamaan, beberapa kali sehari, dan yang terbaru pada 27 October 2026 adalah b11913.

Ollama adalah program Go. Daemon latar belakang, yang dijalankan dengan ollama serve, memuat model dan menjawab permintaan HTTP, sedangkan klien command line berkomunikasi dengan daemon tersebut. Di balik keduanya terdapat registry di ollama.com yang menyimpan model siap pakai. Ollama menggunakan versi semantik. v0.32.5 dirilis pada 27 July 2026, dan v0.40.12 dirilis pada 27 October 2026 pukul 00:07 UTC. ollama pull mengambil GGUF beserta template prompt dan sekumpulan parameter default, lalu menyimpannya di /usr/share/ollama/.ollama/models pada Linux. File-file tersebut berada di disk root dan masing-masing dapat berukuran beberapa gigabyte. Karena itu, pada VPS dengan volume root 25 GB, sebaiknya ketahui apa yang ditinggalkan pull dan cara memindahkan direktori model ke lokasi lain sebelum unduhan ketiga memenuhi ruang disk.

Perbedaan itu sepenuhnya terletak pada cara pengemasannya. Ollama menentukan quantisation, template, dan panjang context untuk Anda, serta menyediakan satu nama yang perlu diingat. llama.cpp menampilkan pilihan tersebut sebagai flag, dengan default otomatis untuk pengaturan yang tidak Anda tetapkan.

Sumbu 1: pengendalian model dan kuantisasi

Kuantisasi menyimpan bobot dalam jumlah bit yang lebih sedikit daripada 16 atau 32 bit pada model asli. Build GGUF yang umum rata-rata menggunakan sekitar 4, 5, atau 8 bit per bobot. Presisinya tidak seragam di seluruh file. Dalam sumber quantiser llama.cpp (dibaca pada 27 October 2026), build Q4_K_M menyimpan sebagian besar tensor dalam 4 bit, tetapi menggunakan Q6_K 6 bit untuk lapisan output, tensor nilai attention, dan tensor down feed-forward pada sekitar setengah lapisan. Tensor kecil seperti norm tidak dikuantisasi sama sekali. Inilah yang membuat model dengan 8 miliar parameter dapat dimuat ke RAM VPS biasa. Penamaan GGUF mudah dibaca setelah Anda memahami polanya: Q4_K_M berarti kuantisasi K 4 bit dengan ukuran medium. Angka yang lebih tinggi mempertahankan lebih banyak presisi dan membutuhkan lebih banyak memori.

GrafikMeta-Llama-3.1-8B-Instruct GGUF file size by quantisation (GiB)
Data di balik grafik ini
[
  {
    "label": "Q2_K",
    "file_size_gib": 2.96
  },
  {
    "label": "Q3_K_M",
    "file_size_gib": 3.74
  },
  {
    "label": "Q4_K_M",
    "file_size_gib": 4.58
  },
  {
    "label": "Q5_K_M",
    "file_size_gib": 5.34
  },
  {
    "label": "Q6_K",
    "file_size_gib": 6.14
  },
  {
    "label": "Q8_0",
    "file_size_gib": 7.95
  }
]

Itulah ukuran file yang dipublikasikan di repositori bartowski/Meta-Llama-3.1-8B-Instruct-GGUF pada Hugging Face, dibaca pada 2 August 2026 dan dikonversi dari byte ke GiB. Terdapat 6 build untuk satu model. Ukuran terkecilnya 2.96 GiB, sedangkan yang terbesar 7.95 GiB. Default yang umum, Q4_K_M, berukuran 4.58 GiB. Pada VPS 4 GiB, pilihan tunggal ini menentukan apakah model dapat dimuat. Ukuran hanya separuh dari pertimbangan tersebut. Baris yang mampu Anda gunakan belum tentu layak dipilih. Biaya Q4, Q8, dan fp16 terhadap kualitas jawaban menentukan apakah gigabita tambahan memberikan peningkatan yang dapat Anda rasakan.

Dengan llama.cpp, Anda menentukan nama file. Jadi, Anda memilih baris itu sendiri.

llama-server -m ~/models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf \
  -c 4096 -t 4 --host 127.0.0.1 --port 8080

-c adalah ukuran konteks dalam token, -t adalah jumlah thread, dan -ngl menentukan jumlah lapisan yang dipindahkan ke GPU (0 pada mesin yang hanya menggunakan CPU). Pengaturan yang tidak ditentukan akan menggunakan default. --fit aktif secara default untuk menyesuaikan argumen yang tidak ditentukan dengan memori perangkat.

Dengan Ollama, kuantisasi ditentukan oleh tag yang Anda pull. ollama ls menampilkan apa yang sebenarnya tersimpan di disk. Jika registry tidak menyediakan build yang Anda inginkan, impor GGUF secara manual. Tulis Modelfile:

FROM ./Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf
PARAMETER num_ctx 4096

Kemudian build dan periksa hasilnya:

ollama create llama31-q4 -f ./Modelfile
ollama ls

Panjang konteks adalah pengaturan yang sering menimbulkan masalah. Ollama memilih nilai default berdasarkan VRAM yang tersedia. Mesin tanpa GPU masuk ke bucket terkecil, yaitu 4096 token. Jika Anda mengirim dokumen 20,000 token, token tambahan akan dibuang sebelum model membacanya. Akibatnya, jawaban dapat terlihat meyakinkan tetapi keliru karena model hanya membaca sebagian dokumen. Naikkan nilainya dengan OLLAMA_CONTEXT_LENGTH pada daemon, atau dengan PARAMETER num_ctx dalam Modelfile. Jika hanya satu pekerjaan yang memerlukan window lebih besar, num_ctx dapat diatur per request, bukan untuk seluruh server, sehingga cache tambahan tidak digunakan oleh pekerjaan lain yang ditangani daemon. llama.cpp juga tidak memiliki default yang layak dipercaya. Tetapkan -c secara eksplisit dan ketahui nilai yang Anda tetapkan.

Aritmetika memori yang jarang ditampilkan

File model bukan satu-satunya komponen biaya memori. KV cache (key/value cache) menyimpan satu entri untuk setiap layer pada setiap token konteks, dan ukurannya bertambah seiring percakapan.

Hitung untuk Llama 3.1 8B. Model ini memiliki 32 layer, 8 key/value head, dan dimensi head 128. Setiap token menyimpan key dan value, masing-masing berukuran 2 byte dalam f16, sehingga 2 x 8 x 128 x 2 = 4096 byte per layer. Untuk 32 layer, ukurannya menjadi 128 KiB per token. Konteks 4096 token memerlukan 512 MiB, sedangkan konteks 32,768 token memerlukan 4 GiB.

Jadi, model Q4_K_M 8B dengan konteks 4k memerlukan sekitar 4.58 GiB untuk bobot, ditambah sekitar 0.5 GiB untuk cache dan memori runtime. Model tersebut tidak muat dalam RAM 4 GiB. Model tersebut muat dalam RAM 8 GiB dengan ruang yang cukup untuk bekerja. Jika konteks dinaikkan menjadi 32k pada server 8 GiB yang sama, cache saja akan menghabiskan ruang tersisa. Pantau penggunaan memori secara langsung dengan free -h saat model dimuat, dan jangan mempercayai estimasi yang belum diukur. Jika Anda merencanakan penggunaan model yang jauh lebih besar dari 8B, perhitungan yang sama untuk model 27B pada VPS yang hanya menggunakan CPU menunjukkan kapasitas sebenarnya pada setiap tingkat dari 8 hingga 64 GB.

Ollama memperbesar kebutuhan ini. OLLAMA_NUM_PARALLEL memiliki nilai default 1, dan kebutuhan memori model bertambah sesuai nilai tersebut dikalikan panjang konteks. Jika keduanya dinaikkan sekaligus, daemon dapat meminta RAM beberapa kali lebih besar dari perkiraan Anda tanpa memberikan indikasi yang jelas. Perhitungan yang sama menentukan batas jumlah pengguna secara bersamaan, karena setiap permintaan konkuren memerlukan bagian KV cache sendiri. Inilah alasan server yang berjalan lancar untuk satu orang dapat macet saat melayani lima orang.

Sumbu 2: daemon yang harus Anda operasikan

Skrip instalasi Ollama menulis unit systemd, membuat pengguna sistem ollama, dan mengaktifkan service. Anda mendapatkan pengelolaan siklus hidup tanpa harus menulis semua konfigurasinya sendiri. Konfigurasi dilakukan melalui systemd:

sudo systemctl edit ollama
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=8192"
Environment="OLLAMA_KEEP_ALIVE=30m"
sudo systemctl daemon-reload
sudo systemctl restart ollama
journalctl -e -u ollama

OLLAMA_KEEP_ALIVE lebih penting pada VPS berbasis CPU daripada di lingkungan lain. Model disimpan dalam memori selama 5 menit secara default, lalu dibongkar. Permintaan berikutnya harus memuat seluruh file lagi sebelum dapat memberikan respons. Jika kernel masih menyimpan file tersebut dalam page cache, proses ini berlangsung cepat. Namun, hanya RAM yang tidak digunakan yang dapat mempertahankannya di sana. Setelah pekerjaan lain menggusurnya, file harus dimuat kembali dari disk. Akibatnya, pemuatan ulang sebesar 4.58 GiB dapat mengubah waktu respons dari dua detik menjadi tiga puluh detik pada penyimpanan yang lambat. Nilai keep-alive yang panjang mengatasi latensi tersebut, tetapi menggunakan RAM secara permanen. Keduanya merupakan biaya nyata. Pilih dampak yang lebih kecil. Jika model harus tetap berada di memori, mengatur keep_alive agar model tetap tersedia selama periode idle dan setelah reboot hanya memerlukan beberapa baris serta menghindarkan Anda dari proses memuat model secara manual setiap kali server dimulai ulang.

llama.cpp tidak menyediakan daemon maupun pengguna service, sehingga Anda harus menyiapkan keduanya sendiri. Dari direktori llama.cpp tempat Anda melakukan build, instal binary dan library-nya ke /usr/local, buat pengguna llama, lalu berikan salinan model kepadanya:

sudo cmake --install build
sudo ldconfig
sudo useradd --system --no-create-home --shell /usr/sbin/nologin llama
sudo install -d -o llama -g llama /srv/models
sudo install -o llama -g llama -m 644 ~/models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf /srv/models/model-Q4_K_M.gguf

Jika Anda menggunakan arsip rilis, bukan melakukan build, arahkan ExecStart ke llama-server di dalam arsip tersebut karena arsip menyimpan library di sebelah binary. Kemudian tulis unit sebagai /etc/systemd/system/llama-server.service:

[Unit]
Description=llama.cpp server
After=network-online.target

[Service]
ExecStart=/usr/local/bin/llama-server -m /srv/models/model-Q4_K_M.gguf -c 4096 -t 4 --host 127.0.0.1 --port 8080
Restart=always
RestartSec=3
User=llama

[Install]
WantedBy=multi-user.target

Aktifkan dengan sudo systemctl enable --now llama-server. Setelah itu, proses mempertahankan model selama masa hidupnya. Secara default, model tidak dibongkar saat idle. Namun, penambahan --sleep-idle-seconds mengaktifkan pembongkaran dan pemuatan ulang otomatis tanpa menghentikan service. Jika penulisan unit masih baru bagi Anda, polanya sama seperti menjalankan service sendiri dengan systemd pada VPS.

Sumbu 3: API yang akan digunakan aplikasi Anda

Sumbu ini jauh lebih menyempit. Kini kedua proyek menggunakan format chat OpenAI, sehingga sebagian besar client library dapat digunakan pada keduanya hanya dengan mengubah base URL.

Ollama menerima koneksi pada 127.0.0.1:11434. Rute yang kompatibel dengan OpenAI adalah http://localhost:11434/v1/chat/completions, dan Ollama juga menyediakan API native pada /api/chat. Rute yang kompatibel dengan Anthropic juga didokumentasikan. Tidak satu pun rute ini memungkinkan model mencari informasi secara mandiri. Jika aplikasi Anda memerlukan jawaban yang lebih baru daripada data pelatihan model, rencanakan integrasi pencarian web melalui API Ollama, Open WebUI, atau loop tool singkat.

curl -X POST http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "llama31-q4", "messages": [{"role": "user", "content": "Say this is a test"}]}'

Setelah dijalankan dengan flag di atas, llama-server listen pada 127.0.0.1:8080. Jika dibiarkan, kini secara default aplikasi ini menggunakan port 9931 (diperiksa pada 27 October 2026), jadi pertahankan --port pada command line jika aplikasi Anda mengharapkan port 8080. Aplikasi ini menyediakan /v1/chat/completions, /v1/completions, dan /v1/embeddings, serta endpoint /completion miliknya sendiri dan web UI bawaan. Aplikasi ini juga menyediakan route operasional yang tidak dimiliki Ollama: /health untuk readiness probe, /props untuk pengaturan model yang dimuat, /slots untuk mengetahui aktivitas setiap request slot, dan /metrics dalam format Prometheus setelah Anda menambahkan --metrics, karena endpoint tersebut secara default dinonaktifkan. Jika Anda berencana memonitor service ini, perbedaan tersebut mungkin menjadi faktor penentunya.

Tidak satu pun dari kedua server tersebut mengaktifkan autentikasi secara otomatis. Keduanya secara default menggunakan loopback karena alasan yang tepat. Akses keduanya melalui SSH tunnel atau dari balik reverse proxy, dan jangan pernah membuka port 11434 atau 8080 ke internet.

Kemampuan VPS khusus CPU secara realistis

VPS khusus CPU dapat menjalankan model kecil dengan lambat. Itulah ringkasan yang jujur, dan hal yang penting adalah mengetahui batas kemampuannya. Lakukan pengukuran sebelum merancang apa pun berdasarkan VPS tersebut:

llama-bench -m ~/models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf -p 512 -n 128

Kolom pp menunjukkan kecepatan pemrosesan prompt, sedangkan kolom tg menunjukkan kecepatan pembuatan token. Keduanya dinyatakan dalam token per detik. Pada paket vCPU bersama, model 8B dengan Q4_K_M biasanya hanya mencapai beberapa token per detik untuk tg. Pemrosesan prompt adalah bagian yang paling terasa: seluruh prompt diproses sebelum token output pertama muncul, sehingga system prompt yang panjang menambah waktu tunggu pada setiap permintaan. Panjang balasan adalah bagian dari beban yang dapat Anda kendalikan, karena pada kecepatan tiga token per detik, model yang menghasilkan 600 token akan menggunakan VPS tersebut selama 200 detik, atau lebih dari tiga menit hanya untuk menghasilkan output. Karena itu, membatasi output dengan num_predict adalah cara termurah untuk mencegah satu balasan yang terlalu panjang berubah menjadi timeout.

CPU masih memadai untuk model 1B hingga 4B yang digunakan untuk klasifikasi, ekstraksi, ringkasan singkat, atau routing. Balasan muncul dalam hitungan detik dan kebutuhan memorinya sesuai dengan paket biasa. Untuk contoh penerapan dengan ukuran model tertentu, bukan rentang ukuran, Nemotron 3.5 Lightning yang diunduh dan diukur pada VPS memberikan tag yang tepat, jumlah RAM yang benar-benar diperlukan, serta kecepatan yang dicapai tanpa GPU. CPU tidak memadai untuk chat interaktif dengan kecepatan membaca, coding assistant, pemrosesan dokumen panjang, atau tugas dengan agent loop yang melakukan banyak panggilan secara berurutan. Loop yang melakukan dua belas panggilan dengan waktu empat detik per panggilan membutuhkan satu menit sebelum menghasilkan apa pun. Jika sejak awal rencananya adalah menggunakan coding assistant, mengarahkan agent ke model yang Anda host sendiri menjelaskan pekerjaan yang benar-benar dapat ditangani model lokal kecil dan pekerjaan yang harus tetap menggunakan hosted API.

Ada dua pilihan ketika angka tersebut tidak mencukupi. Jika masalahnya adalah konkurensi, yaitu banyak pengguna mengakses satu model secara bersamaan, pilihan engine perlu diubah. Perbandingan Ollama dan vLLM untuk serving secara bersamaan membahas hal tersebut. Jika masalahnya adalah kecepatan mentah, solusinya adalah VPS dengan GPU terpasang, sehingga -ngl mulai menjadi berarti. Sebelum memilih salah satu opsi tersebut, ukur baseline perangkat kerasnya terlebih dahulu, karena bandwidth disk dan memori turut menentukan waktu pemuatan, sama pentingnya dengan CPU. Benchmark VPS yang dapat diulang layak dilakukan selama satu jam.

Instal llama.cpp dengan build yang ditetapkan

Kedua proyek berubah setiap minggu. Oleh karena itu, catat versi yang Anda deploy. One-liner dari upstream menginstal build saat ini:

curl -LsSf https://llama.app/install.sh | sh
llama serve -hf ggml-org/Qwen3.5-0.8B-GGUF

Untuk menetapkan build tertentu, gunakan tarball yang telah dikompilasi dari halaman releases. Proyek ini sekarang juga menerbitkan releases dengan semantic versioning: v0.7.0 adalah versi terbaru pada 27 October 2026, dan halaman releasenya mengarah ke nightly b11669 untuk binary. v0.8.0 menyusul pada 28 October 2026, dan halaman releasenya mengarah ke nightly b11960 untuk binary. Perintah di bawah menggunakan b10224, yaitu tag saat ini pada 2 August 2026. Ganti dengan tag yang telah Anda uji:

curl -LO https://github.com/ggml-org/llama.cpp/releases/download/b10224/llama-b10224-bin-ubuntu-x64.tar.gz
tar xf llama-b10224-bin-ubuntu-x64.tar.gz
find . -type f -name 'llama-server'

Atau, build tag yang sama dari source:

sudo apt update && sudo apt install -y build-essential cmake git libssl-dev
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
git checkout b10224
cmake -B build
cmake --build build --config Release -j $(nproc)

libssl-dev adalah dependency yang didokumentasikan untuk fitur HTTPS. Proses compile memerlukan beberapa menit dan membutuhkan RAM lebih besar daripada yang tersedia pada plan terkecil. Karena itu, lakukan build pada server yang lebih besar, lalu salin binary jika server kecil kehabisan sumber daya.

Instal Ollama dengan versi yang dikunci

curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.32.5 sh
ollama -v

Skrip membaca OLLAMA_VERSION, sehingga Anda dapat mempertahankan rilis yang sudah terbukti berfungsi, bukan menggunakan versi apa pun yang dirilis pagi ini. v0.32.5 dipublikasikan pada 27 July 2026. Tersedia juga cara manual jika Anda tidak ingin meneruskan skrip ke shell melalui pipe:

sudo rm -rf /usr/lib/ollama
curl -fsSL https://ollama.com/download/ollama-linux-amd64.tar.zst | sudo tar x -C /usr
ollama -v

Cara manual tidak membuat unit systemd atau pengguna service, sehingga Anda harus menambahkannya sendiri. Panduan lengkap Ollama di VPS menjelaskan langkah penyiapan service tersebut secara bertahap.

Mode kegagalan dan string yang akan Anda lihat

Ollama menolak memuat model. Rilis Ollama yang lebih lama memeriksa ukuran sebelum memuat model, dan ollama run mengembalikan baris dengan bentuk berikut:

Error: model requires more system memory (5.6 GiB) than is available (3.2 GiB)

Source Ollama saat ini tidak lagi memuat pesan tersebut (diperiksa pada 27 October 2026). Ollama sekarang menyerahkan proses pemuatan kepada llama-server, sehingga model yang tidak muat akan muncul sebagai kegagalan runner. Error yang ditampilkan diawali seperti berikut:

llama-server reported out-of-memory during startup
llama-server process has terminated

Apa pun kasusnya, solusinya sama. Turunkan satu baris quantisation, kurangi panjang context, atau pilih model yang lebih kecil.

llama.cpp tidak gagal, tetapi berjalan sangat lambat. Secara default, llama.cpp menggunakan memory mapping untuk GGUF, sehingga file yang lebih besar daripada RAM tetap dapat dijalankan. Kernel kemudian memuat dan mengeluarkan weight dari disk pada setiap token. Akibatnya, proses generation melambat hingga beberapa detik per token, sementara penggunaan disk mencapai 100 persen. Teruskan --load-mode none untuk menonaktifkan memory mapping. Opsi tersebut menggantikan --no-mmap, yang didokumentasikan sebagai deprecated pada build b10224 yang dipatok dan tidak lagi muncul pada build saat ini (diperiksa pada 29 October 2026). Saat kernel mulai menangani kondisi tersebut, dmesg menampilkan penyebabnya:

Out of memory: Killed process 1234 (llama-server)

File model sama sekali tidak dapat dimuat. GGUF yang dibuat untuk model family yang lebih baru daripada engine Anda akan menghasilkan error yang menyebutkan arsitektur yang tidak dikenali. <arch> adalah nama yang disimpan dalam metadata file:

llama_model_load: error loading model: unknown model architecture: '<arch>'

Solusinya adalah melakukan upgrade engine, bukan menggunakan file lain. Inilah konsekuensi pinning, dan karena itu Anda perlu mencatat build number. Anda harus mengetahui versi asal sebelum melakukan upgrade.

API memberikan respons secara lokal, tetapi tidak dari aplikasi Anda. Ollama melakukan bind pada 127.0.0.1:11434, sehingga host lain menerima connection refused. Atur OLLAMA_HOST=0.0.0.0:11434 melalui systemctl edit ollama hanya jika port tersebut berada di balik firewall atau jaringan privat, karena API tidak memiliki autentikasi di depannya.

Respons pertama setelah jeda sangat lambat. Proses unload setelah idle selama 5 menit telah terjadi, sehingga model dimuat kembali dari disk jika page cache tidak menyimpannya. ollama ps yang dijalankan tepat sebelum request tidak menampilkan model yang dimuat. Ini mengonfirmasi kondisi tersebut. Naikkan OLLAMA_KEEP_ALIVE.

Jadi, mana yang sebaiknya Anda jalankan?

Jalankan Ollama jika Anda ingin model dikelola secara otomatis dan memerlukan endpoint berbentuk OpenAI tanpa konfigurasi tambahan. Ollama merupakan pilihan default yang tepat untuk deployment pertama dan untuk penggunaan saat pilihan model akan sering berubah.

Jalankan llama.cpp secara langsung jika memori sangat terbatas sehingga Anda perlu memilih baris kuantisasi sendiri, jika Anda memerlukan /health, /slots, dan /metrics untuk pemantauan, atau jika Anda memerlukan flag yang tidak tersedia di Ollama. Ini merupakan pilihan yang tepat pada VPS dengan kapasitas yang hampir tidak cukup untuk model, karena pengaturan yang membuat model tersebut dapat berjalan adalah pengaturan yang dipilih Ollama untuk Anda.

Menjalankan keduanya adalah hal yang wajar. Gunakan Ollama untuk eksperimen dan llama.cpp untuk satu model yang Anda gunakan di production dan tidak ingin berubah.

FAQ

Apakah Ollama hanya pembungkus di sekitar llama.cpp?

Hampir, tetapi wrapper tersebut melakukan pekerjaan nyata. README Ollama mencantumkan llama.cpp sebagai backend inferensinya (diperiksa pada 27 October 2026). Di atasnya, Ollama menambahkan registry model, template prompt yang mengubah pesan chat menjadi prompt, sekumpulan parameter sampling default, daemon dengan pembongkaran saat idle, dan API HTTP. Saat membandingkan token per detik dengan pengaturan yang identik, Anda membandingkan engine yang sama dengan dirinya sendiri. Yang sebenarnya Anda pilih adalah lapisan manajemennya.

Mana yang lebih cepat pada VPS yang hanya menggunakan CPU?

Keduanya menggunakan engine yang sama. Dengan file model, quantisation, ukuran konteks, dan jumlah thread yang sama, hasilnya juga hampir sama. Perbedaan yang dilaporkan biasanya berasal dari default yang berbeda, terutama panjang konteks dan jumlah thread, bukan dari engine. Ukur dengan llama-bench -m <file> -p 512 -n 128 dan bandingkan kolom tg pada server Anda sendiri sebelum mempercayai angka yang dipublikasikan.

Apakah saya dapat menggunakan file GGUF sendiri dengan Ollama?

Ya. Letakkan file tersebut di server, tulis Modelfile yang baris pertamanya adalah FROM ./your-model.gguf, tambahkan baris PARAMETER yang diperlukan seperti num_ctx, lalu jalankan ollama create your-name -f ./Modelfile. ollama ls akan mencantumkannya bersama item lain yang Anda ambil dari registry. Dengan cara ini, Anda dapat menggunakan quantisation yang tidak tersedia di registry.

Berapa banyak RAM yang saya perlukan untuk model 8B?

Perhitungkan ukuran file, KV cache, dan runtime. Build Q4_K_M untuk Llama 3.1 8B berukuran sekitar 4.58 GiB di disk, dan konteks 4096 token menambahkan cache sekitar 512 MiB. Jadi, RAM 8 GiB cukup, sedangkan 4 GiB tidak mencukupi. Ukuran cache meningkat seiring ukuran konteks: model yang sama dengan konteks 32,768 token memerlukan sekitar 4 GiB cache dengan sendirinya. Dengan Ollama, ingat bahwa kebutuhan ini juga meningkat seiring OLLAMA_NUM_PARALLEL.

Apakah artikel ini bermanfaat?