Program
Penggunaan large language models (LLM) di sistem lokal semakin populer berkat peningkatan privasi, kontrol, dan keandalannya. Terkadang, model-model ini bahkan bisa lebih akurat dan lebih cepat daripada ChatGPT.
Kami akan menunjukkan tujuh cara untuk menjalankan LLM secara lokal dengan akselerasi GPU di Windows 11, namun metode yang kami bahas juga berfungsi di macOS dan Linux.
Jika Anda ingin mempelajari LLM dari awal, tempat yang baik untuk memulai adalah kursus tentang Large Learning Models (LLMs).
Mari mulai dengan menelusuri kerangka LLM pertama kita.
1. Ollama
Ollama adalah ekosistem utama untuk menjalankan LLM seperti Llama 4, Mistral 3, dan Gemma 3 secara lokal.
Selain itu, banyak aplikasi menerima integrasi Ollama, yang menjadikannya alat yang sangat baik untuk akses model bahasa yang lebih cepat dan mudah di mesin lokal kita.
Ollama kini menawarkan kompatibilitas penuh dengan OpenAI API, menjadikannya pengganti langsung untuk layanan cloud OpenAI. Fitur terbaru mencakup function calling, keluaran JSON terstruktur, Flash Attention untuk model visi, dan inferensi 30% lebih cepat pada Apple Silicon dan GPU AMD.
A. Menginstal Ollama
Kita dapat mengunduh Ollama dari halaman unduhan.
Setelah kita memasangnya (menggunakan pengaturan default), logo Ollama akan muncul di system tray.
B. Menjalankan Ollama
Kita dapat mengunduh model Llama 3 dengan mengetik perintah terminal berikut:
$ ollama run llama3
Llama 3 sekarang siap digunakan! Di bawah ini, kita melihat daftar perintah yang perlu digunakan jika ingin memakai LLM lain:

C. Menjalankan model kustom
Untuk mengakses model yang sudah diunduh dan tersedia di folder llama.cpp, kita perlu:
- Masuk ke folder llama.cpp menggunakan perintah
cd.
$ cd C:/Repository/GitHub/llama.cpp
- Membuat nama berkas
Modelfiledan menambahkan baris"FROM ./Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf".
$ echo "FROM ./Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf" > Modelfile
- Membangun model dengan memberikan nama model.
$ ollama create NHM-7b -f Modelfile

- Menjalankan model NHM-7b.
$ ollama run NHM-7b
- Menggunakannya seperti aplikasi chat lainnya.
Dengan metode ini, kita dapat mengunduh LLM apa pun dari Hugging Face dengan ekstensi .gguf dan menggunakannya di terminal. Jika Anda ingin belajar lebih lanjut, lihat kursus Working with Hugging Face.
2. LM Studio
LM Studio adalah workbench serba guna untuk menjalankan LLM secara lokal dan menawarkan fine-tuning secara native. Selain itu, ia mendukung banyak model secara bersamaan, speculative decoding (token 1,5x–3x lebih cepat), dan integrasi dokumen RAG.
A. Instalasi
Kita dapat mengunduh penginstal dari beranda LM Studio.
Setelah pengunduhan selesai, kita memasang aplikasinya dengan opsi default.
Terakhir, luncurkan LM Studio!

B. Mengunduh model
Kita dapat mengunduh model apa pun dari Hugging Face menggunakan fungsi pencarian.
Dalam kasus kami, kami akan mengunduh model terkecil, Gemma 2B Instruct dari Google.

C. Menghasilkan respons
Kita dapat memilih model yang diunduh dari menu drop-down di bagian atas dan mengobrol seperti biasa. LM Studio menawarkan lebih banyak opsi penyesuaian dibandingkan GPT4All.

D. Server inferensi lokal
Seperti GPT4All, kita dapat menyesuaikan model dan meluncurkan server API dengan satu klik. Untuk mengakses model, kita dapat menggunakan paket Python OpenAI API, CURL, atau langsung mengintegrasikannya dengan aplikasi apa pun.

E. Menggunakan banyak model
Fitur kunci LM Studio adalah menawarkan opsi untuk menjalankan dan melayani banyak model sekaligus. Ini memungkinkan pengguna membandingkan hasil model yang berbeda dan menggunakannya untuk banyak aplikasi. Untuk menjalankan beberapa sesi model, kita memerlukan VRAM GPU yang tinggi.

Fine-tuning adalah cara lain untuk menghasilkan respons yang kontekstual dan disesuaikan. Anda dapat mempelajari cara fine-tune model Google Gemma Anda dengan mengikuti tutorial Fine Tuning Google Gemma: Enhancing LLMs with Customized Instructions. Anda akan belajar menjalankan inferensi di GPU/TPU dan fine-tune model Gemma 7b-it terbaru pada dataset role-play.
3. vLLM
vLLM adalah mesin inferensi open-source untuk menjalankan LLM dalam skala produksi. Berbeda dengan Ollama atau LM Studio, vLLM memprioritaskan throughput dan latensi untuk skenario multi-pengguna.
Inovasi intinya adalah PagedAttention, yang mengelola memori GPU seperti memori virtual, menggunakan kembali halaman kecil alih-alih memesan blok besar, dipadukan dengan continuous batching. Benchmark nyata menunjukkan vLLM menghasilkan 793 token per detik pada Llama 70B dibandingkan 41 token per detik pada Ollama di bawah beban konkuren.
vLLM juga mendukung tensor parallelism lintas GPU, prefix caching, dan multi-LoRA batching untuk melayani varian fine-tuned secara bersamaan.
A. Instalasi
Di Mac dan Linux, vLLM dapat dengan mudah dipasang menggunakan pip.
Di Linux dengan CUDA 11.8+:
pip install vllm
Di macOS dengan Apple Silicon:
python3.11 -m venv vllm_env
source vllm_env/bin/activate
pip install vllm
Belum ada dukungan resmi untuk Windows saat ini. Namun, tersedia solusi lewat WSL2 atau Docker.
B. Menjalankan Model
Mulai server yang kompatibel dengan OpenAI:
vllm serve meta-llama/Llama-2-7b-hf --port 8000 --gpu-memory-utilization 0.9
Untuk model 70B pada beberapa GPU:
vllm serve meta-llama/Llama-2-70b-hf --tensor-parallel-size 2 --port 8000
Untuk pemrosesan batch di Python:
from vllm import LLM, SamplingParams
llm = LLM(model="meta-llama/Llama-2-7b-hf", dtype="bfloat16")
sampling_params = SamplingParams(temperature=0.8, max_tokens=256)
outputs = llm.generate(["Write hello world", "Explain AI"], sampling_params)
C. Menjalankan Inferensi
Untuk melakukan kueri, gunakan SDK OpenAI:
from openai import OpenAI
client = OpenAI(base_url='http://localhost:8000/v1', api_key='any')
response = client.chat.completions.create(
model='meta-llama/Llama-2-7b-hf',
messages=[{'role': 'user', 'content': 'What is ML?'}],
max_tokens=200
)
print(response.choices[0].message.content)
Opsi lain adalah menjalankannya melalui cURL:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "meta-llama/Llama-2-7b-hf", "messages": [{"role": "user", "content": "Hello"}]}'
Pilih vLLM untuk API produksi yang melayani ratusan pengguna secara bersamaan; gunakan Ollama untuk pengembangan lokal.
4. Jan
Salah satu aplikasi LLM lokal yang paling populer dan tampak terbaik adalah Jan. Ini adalah alternatif yang mengutamakan privasi untuk ChatGPT.
A. Instalasi
Kita dapat mengunduh penginstal dari Jan.ai.
Setelah kita memasang aplikasi Jan dengan pengaturan default, kita siap meluncurkan aplikasi.

B. Mengimpor model
Saat membahas GPT4All dan LM Studio, kita sudah mengunduh dua model. Alih-alih mengunduh model lain, kita akan mengimpor yang sudah ada dengan pergi ke halaman model dan mengeklik tombol Import Model.

Lalu, kita menuju direktori aplikasi, memilih model GPT4All dan LM Studio, dan mengimpor masing-masing.
- GPT4All: "C:/Users/<user_name>/AppData/Local/nomic.ai/GPT4All/"
- LM Studio: "C:/Users/<user_name>/.cache/lm-studio/models"
C. Mengakses model lokal
Untuk mengakses model lokal, kita pergi ke antarmuka pengguna chat dan membuka bagian model di panel kanan.

Kita melihat model yang diimpor sudah ada. Kita dapat memilih yang diinginkan dan langsung mulai menggunakannya!
D. Menghasilkan respons
Pembuatan respons sangat cepat. Antarmuka pengguna terasa alami, mirip ChatGPT, dan tidak memperlambat laptop atau PC Anda.

Fitur unik Jan adalah memungkinkan kita memasang ekstensi dan menggunakan model proprietari dari OpenAI, MistralAI, Groq, TensorRT, dan Triton RT.
E. Server API lokal
Seperti LM Studio, kita juga dapat menggunakan Jan sebagai server API lokal. Ini menyediakan kemampuan logging yang lebih banyak dan kontrol atas respons LLM, dan mengintegrasikan OpenAI, Mistral AI, Groq, Claude, dan DeepSeek melalui penyiapan kunci API sederhana di pengaturan.

5. llama.cpp
Kerangka LLM open-source populer lainnya adalah llama.cpp. Ini ditulis murni dalam C/C++, sehingga cepat dan efisien.
Banyak aplikasi AI lokal dan berbasis web dibangun di atas llama.cpp. Maka, mempelajarinya secara lokal akan memberi Anda keunggulan dalam memahami cara aplikasi LLM lain bekerja di balik layar.
A. Mengunduh llama.cpp
Pertama, kita perlu masuk ke direktori proyek menggunakan perintah cd di shell—Anda dapat mempelajari lebih lanjut tentang terminal dalam kursus Introduction to Shell ini.
Lalu, kita mengkloning semua berkas dari server GitHub menggunakan perintah di bawah ini:
$ git clone --depth 1 https://github.com/ggerganov/llama.cpp.git
B. Menggunakan MakeFile di Windows
Alat baris perintah make tersedia secara default di Linux dan MacOS. Namun, untuk Windows, kita perlu melakukan langkah-langkah berikut:
- Unduh w64devkit versi Fortran terbaru dari w64devkit untuk Windows.

- Ekstrak w64devkit di direktori lokal kita.
- Di folder utama, kita perlu menemukan berkas w64devkit.exe dan menjalankannya.
- Gunakan perintah
$ cd C:/Repository/GitHub/llama.cppuntuk masuk ke folder llama.cpp. - Ketik
$ makedan tekan Enter untuk memasang llama.cpp.
B. Menjalankan server WebUI llama.cpp
Setelah kita menyelesaikan instalasi, kita menjalankan server web UI llama.cpp dengan mengetik perintah di bawah ini. (Catatan: Kami telah menyalin berkas model dari folder GPT4All ke folder llama.cpp agar lebih mudah mengakses model).
$ ./server -m Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf -ngl 27 -c 2048 --port 6589

Server web berjalan di http://127.0.0.1:6589/. Anda dapat menyalin URL ini dan menempelkannya ke browser untuk mengakses antarmuka web llama.cpp.
Sebelum berinteraksi dengan chatbot, kita sebaiknya menyesuaikan pengaturan dan parameter model.
Lihat tutorial llama.cpp ini jika Anda ingin belajar lebih lanjut!
D. Menghasilkan respons
Pembuatan respons lambat karena kita menjalankannya di CPU, bukan GPU. Kita harus memasang versi llama.cpp yang berbeda untuk menjalankannya di GPU.
$ make LLAMA_CUDA=1

6. llamafile
Jika Anda merasa llama.cpp agak terlalu kompleks, coba llamafile. Kerangka ini menyederhanakan LLM bagi pengembang dan pengguna akhir dengan menggabungkan llama.cpp dengan Cosmopolitan Libc menjadi executable satu berkas. Ini menghilangkan semua kerumitan terkait LLM, sehingga lebih mudah diakses.
A. Mengunduh berkas model
Kita dapat mengunduh berkas model yang diinginkan dari repositori GitHub llamafile.
Kita akan mengunduh LLaVA 1.5 karena dapat memahami gambar juga.

B. Melakukan perubahan untuk Windows
Pengguna Windows harus menambahkan .exe ke nama berkas di terminal. Untuk melakukannya, klik kanan berkas yang diunduh dan pilih Rename.

C. Menjalankan LlamaFile
Pertama kita masuk ke direktori llamafile dengan perintah cd di terminal. Lalu, jalankan perintah di bawah untuk memulai server web llama.cpp.
$ ./llava-v1.5-7b-q4.llamafile -ngl 9999
Server web menggunakan GPU tanpa mengharuskan Anda memasang atau mengonfigurasi apa pun.

Ini juga akan otomatis meluncurkan browser web default dengan aplikasi web llama.cpp yang berjalan. Jika tidak, kita dapat menggunakan URL http://127.0.0.1:8080/ untuk mengaksesnya langsung.
D. Menghasilkan respons
Setelah kita menetapkan konfigurasi model, kita dapat mulai menggunakan aplikasi web.

Menjalankan llama.cpp menggunakan llamafile lebih mudah dan lebih efisien. Kami menghasilkan respons dengan 53,18 token/detik (tanpa llamafile, kecepatannya 10,99 token/detik).

Kesimpulan
Menginstal dan menggunakan LLM secara lokal bisa menjadi pengalaman yang menyenangkan dan menarik. Kita dapat bereksperimen dengan model open-source terbaru sendiri, menikmati privasi, kontrol, dan pengalaman chat yang lebih baik.
Menggunakan LLM secara lokal juga memiliki aplikasi praktis, seperti mengintegrasikannya dengan aplikasi lain menggunakan server API dan menghubungkan folder lokal untuk memberikan respons yang peka konteks. Dalam beberapa kasus, sangat penting menggunakan LLM secara lokal, terutama ketika privasi dan keamanan merupakan faktor krusial.
Anda dapat mempelajari lebih lanjut tentang LLM dan membangun aplikasi AI dengan mengikuti sumber daya berikut:
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.


