Menjalankan Llama 2 di Laptop

Ariya Hidayat
4 min readAug 4, 2023

--

Llama 2 adalah model bahasa ukuran raksasa (LLM, Large Language Model) yang paling gres dari Meta. Sebagai sebuah LLM lokal, Llama 2 juga sanggup berjalan di mesin desktop atau bahkan juga laptop (dengan spesifikasi ala kadarnya), asal kita juga maklum akan kecepatan (atau kelambatan) dalam proses inferensi.

Dibandingkan pendahulunya, Llama 2 menjanjikan peningkatan kualitas sekaligus pembaharuan lisensinya sehingga dapat digunakan untuk aplikasi komersil.

Cara paling populer belakangan ini untuk menikmati Llama 2 adalah dengan menggunakan sebuah proyek open-source llama.cpp. Sesuai namanya, ini adalah implementasi C++ dari Llama 2 yang asli dari Meta. Ada dua cara untuk bisa menggunakan llama.cpp, yakni langsung melakukan kompilasi C++ atau melalui modul Python. Yang tergampang adalah cara kedua, mari kita coba dulu.

Perlu dicatat bahwa ilustrasi berikut menunjukkan cara pemakaian Llama 2 di keluarga Unix, baik misalnya Linux atau macOS. Untuk pengguna Windows, disarankan memakai WSL.

llm di Python

Mula-mula pastikan bahwa pip sudah tersedia untuk Python 3. Untuk Linux yang berbasis Debian/Ubuntu, pasang dengan menjalankan:

$ sudo apt install python3-pip python3-venv

lalu cek dengan:

$ pip --version
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)

Supaya higienis, mari kita buat virtual environment dulu:

$ python -m venv ./venv
$ source ./venv/bin/activate

Terus kita pasang modul Python bernama llm:

$ pip install llm

yang bisa diperiksa dengan:

$ llm --version
llm, version 0.6.1

Sebelum bisa menggunakan Llama 2, kita harus pasang plugin ekstra bernama llm-gpt4all, yang akan memberikan akses ke koleksi model-model dari proyek gpt4all:

$ llm install llm-gpt4all

Terus, kita bisa cek model apa saja yang bisa diakses:

$ llm models list | grep llama
gpt4all: llama-2–7b-chat - Llama-2–7B Chat, 3.53GB download,
needs 8GB RAM

Perhatikan nama modelnya, yakni llama-2–7b-chat. Ada info juga bahwa penggunaan model ini membutuhkan RAM sedikitnya 8 GB.

Nah sekarang kita bisa pakai model tersebut, misalnya untuk menjawab sebuah pertanyaan:

$ llm -m llama-2-7b-chat 'What is the capital of Indonesia?'
The capital of Indonesia is Jakarta.

Pertama kali dijalankan, tentu saja model tersebut perlu didownload terlebih dahulu (dalam contoh di atas, file sebesar 3.5 GB). Maka, prosesnya akan makan waktu agak sedikit lama, bergantung kecepatan koneksi Internet. Untungnya model tersebut akan disimpan di cache (biasanya di $HOME/.cache/gpt4all) sehingga eksekusi selanjutnya akan sangat cepat.

$ llm -m llama-2-7b-chat 'Apakah ibukota Indonesia?'
I'm glad you asked! The capital city of Indonesia is Jakarta.

Perhatikan segala keterbatasan model Llama 2 ini, seperti jawaban dalam bahasa Inggris walaupun pertanyaannya dalam bahasa Indonesia.

Untuk penggunaan lebih rinci, silakan merujuk ke situs resminya llm di llm.datasette.io.

llama.cpp

Bagaimana dengan langsung menggunakan llama.cpp? Karena ini adalah proyek C++, maka pastikan bahwa ada compiler C++ yang bisa dipakai. Untuk sistem Linux berbasis Debian atau Ubuntu, ini bisa diproses dengan memasang dependensi seperti ini:

$ sudo apt install make g++

Selanjutnya kita perlu mencomot llama.cpp dari GitHub lalu memulai proses kompilasinya:

$ git clone https://github.com/ggerganov/llama.cpp
$ cd llama.cpp
$ make

Kalau tidak ada kesalahan, mestinya ada berkas bernama main. Bisa kita cek dengan:

$ ldd ./main 
linux-vdso.so.1 (0x00007fffac9c0000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9d3e7a6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9d3e6c7000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9d3e6a7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d3e4c6000)
/lib64/ld-linux-x86–64.so.2 (0x00007f9d3eb15000)

Selanjutnya, kita perlu model yang bisa dipakai. Cara paling gampang adalah dengan menuju ke HuggingFace dan mencari Llama 2 dalam format GGML, misalnya https://huggingface.co/TheBloke/Llama-2-7B-GGML. Untuk gampangnya, pilih Filesdan ambil llama-2–7b.ggmlv3.q4_0.bin.

Sesudah download, maka kita bisa mulai “chatting” dengan model tersebut dengan menjalankan perintah seperti ini (sesuaikan berdasarkan lokasi file model yang baru didownload):

$ ./main -m ./models/llama-2-7b.ggmlv3.q4_0.bin \
-i -f prompts/chat-with-bob.txt -r "User:" \
-c 512 -b 1024 -n 256 --keep 48 \
--repeat_penalty 1.0 --color

Karena menggunakan opsi — color, maka apa yang kita ketikkan (sebagai pertanyaan) akan diwarnai hijau, berbeda dengan jawaban dari model yang berwarna putih. Respons dari model sendiri terkadang agak lambat, karena sangat bergantung kepada kemampuan CPU yang digunakan. Kalau menjalankan Llama 2 di laptop dengan CPU yang tidak terlalu kencang, harap sedikit bersabar.

Sekali lagi, perhatikan bahwa Llama 2 mempunyai banyak keterbatasan dalam penggunaan bahasa Indonesia. Namun demikian, untuk interaksi dalam bahasa Inggris, Llama 2 sudah semakin mumpuni dan bisa menyaingi kecerdasan manusia!

--

--