Cara Menjalankan LLM Lokal: Perbandingan Ollama, llama.cpp, LM Studio, dan vLLM

Ada beberapa cara untuk menjalankan LLM secara lokal. Beberapa alat dirancang agar mudah untuk memulai, sementara yang lain memberi Anda lebih banyak kendali atau dibangun untuk melayani banyak pengguna sekaligus. Pilihan yang tepat bergantung pada apakah Anda menginginkan chat lokal yang sederhana, mesin inferensi yang dapat dikonfigurasi, atau API produksi.

Ollama

Ollama adalah salah satu cara termudah untuk mulai menjalankan model secara lokal. Instal, unduh model, dan jalankan dari baris perintah. Alat ini juga menyediakan API lokal untuk aplikasi dan alat lainnya.

Kelebihan:

  • Instalasi dan manajemen model yang sederhana
  • Alur kerja baris perintah yang mudah
  • API yang kompatibel dengan OpenAI
  • Mendukung akselerasi GPU berbasis NVIDIA, AMD, Apple Silicon, dan Vulkan
  • Modelfiles memungkinkan Anda menyesuaikan model dan parameter
  • Mendukung permintaan konkuren saat memori tersedia cukup

Kekurangan:

  • Kontrol tingkat rendah lebih sedikit dibandingkan llama.cpp
  • Manajemen modelnya dibangun di sekitar ekosistem Ollama
  • Bukan pilihan utama saat Anda membutuhkan throughput penyajian maksimal atau inferensi terdistribusi

Tingkat kesulitan: Rendah. Pilihan yang baik jika Anda ingin menjalankan model dengan cepat tanpa berurusan dengan banyak pengaturan inferensi.

llama.cpp

llama.cpp adalah mesin inferensi C/C++ yang ringan dan berfokus pada menjalankan model secara efisien di berbagai perangkat keras. Alat ini menggunakan model GGUF dan memberi Anda kendali terperinci atas cara model dimuat dan dijalankan.

Kelebihan:

  • Kendali terperinci atas konteks, offloading GPU, batching, thread, kuantisasi, dan pengaturan inferensi lainnya
  • Dukungan perangkat keras yang luas, termasuk CUDA, HIP, Metal, Vulkan, dan SYCL
  • Mendukung banyak tingkat kuantisasi dari format bit rendah hingga 8-bit
  • Dapat membagi model ke beberapa GPU
  • Dapat menggunakan CPU dan GPU secara bersamaan saat model lebih besar dari VRAM yang tersedia
  • Termasuk llama-server untuk API yang kompatibel dengan OpenAI

Kekurangan:

  • Konfigurasi lebih banyak daripada Ollama atau LM Studio
  • Model GGUF umumnya diunduh dan dikelola secara terpisah
  • Banyak pengaturan yang berguna memerlukan pemahaman tentang parameter inferensi

Tingkat kesulitan: Sedang. Pilihan yang baik jika Anda ingin mengontrol secara tepat cara model berjalan atau ingin bereksperimen dengan performa dan kuantisasi.

LM Studio

LM Studio adalah aplikasi desktop untuk mengunduh, mengonfigurasi, dan menjalankan LLM lokal. Aplikasi ini menyediakan antarmuka grafis untuk menemukan model dan mengelola hal-hal seperti offloading GPU dan ukuran konteks.

Kelebihan:

  • Antarmuka grafis yang sederhana
  • Mencari dan mengunduh model melalui Hugging Face
  • Menampilkan informasi model dan sumber daya sebelum dimuat
  • Server API yang kompatibel dengan OpenAI
  • Dapat menjalankan model tanpa kepala melalui server llmster-nya
  • Mendukung GGUF melalui llama.cpp dan model MLX di Apple Silicon

Kekurangan:

  • Kontrol tingkat rendah lebih sedikit daripada menggunakan llama.cpp secara langsung
  • Aplikasi desktop kurang cocok untuk beberapa deployment server
  • Tidak dirancang terutama untuk penyajian multi-pengguna skala besar

Tingkat kesulitan: Rendah. Pilihan yang baik jika Anda ingin bereksperimen dengan model lokal tanpa menghabiskan banyak waktu di baris perintah.

vLLM

vLLM dirancang untuk menyajikan LLM kepada aplikasi dan banyak pengguna. Keunggulan utamanya adalah penyajian yang efisien pada konkurensi yang lebih tinggi, menggunakan teknik seperti PagedAttention, continuous batching, prefix caching, dan inferensi terdistribusi.

Kelebihan:

  • Throughput tinggi untuk banyak permintaan konkuren
  • Continuous batching dan manajemen KV-cache yang efisien
  • Server API yang kompatibel dengan OpenAI
  • Bekerja langsung dengan banyak model Hugging Face
  • Mendukung kuantisasi termasuk FP8, INT4, GPTQ, AWQ, GGUF, dan lainnya
  • Mendukung paralelisme tensor, pipeline, expert, dan bentuk lainnya
  • Dirancang untuk inferensi dan penyajian produksi

Kekurangan:

  • Pengaturan dan konfigurasi lebih rumit
  • Terutama ditujukan untuk lingkungan Linux
  • Biasanya tidak diperlukan untuk satu orang yang menjalankan satu model secara interaktif
  • Kompatibilitas perangkat keras dan model perlu diperiksa sebelum deployment

Tingkat kesulitan: Tinggi. Paling cocok untuk orang yang men-deploy layanan inferensi daripada sekadar menjalankan model di komputer pribadi.

Mana yang sebaiknya Anda pilih?

  • Hanya ingin menjalankan model dengan mudah: Ollama atau LM Studio. Pilih Ollama untuk baris perintah dan API sederhana, atau LM Studio untuk antarmuka grafis.
  • Ingin kendali atas inferensi: llama.cpp. Alat ini memberi Anda kendali langsung atas pemuatan model, kuantisasi, konteks, offloading GPU, dan pengaturan lainnya.
  • Membutuhkan API lokal: Ollama, llama.cpp, atau LM Studio. Ketiganya menyediakan API yang kompatibel dengan OpenAI.
  • Perlu melayani banyak pengguna: vLLM. Fitur continuous batching dan inferensi terdistribusinya dirancang untuk kasus penggunaan ini.
  • Ingin bereksperimen dengan berbagai kuantisasi: llama.cpp atau LM Studio.

Jalankan di DaDesktop

Jika Anda tidak memiliki perangkat keras GPU yang cukup secara lokal, Anda dapat menjalankan alat-alat ini di desktop cloud DaDesktop. Pilih GPU dengan VRAM yang cukup untuk model yang ingin Anda jalankan, luncurkan desktop, dan instal perangkat lunak inferensi yang Anda sukai.

Ollama dan LM Studio berguna saat Anda menginginkan lingkungan lokal yang sederhana. llama.cpp memberi Anda lebih banyak kendali atas perangkat keras dan pengaturan inferensi. vLLM adalah pilihan saat Anda perlu mengekspos model sebagai API dengan throughput yang lebih tinggi.

Lihat GPU yang tersedia untuk membandingkan VRAM dan spesifikasi lainnya.