Tutorial llama.cpp Seri 3 - Build llama.cpp Konfigurasi Default (CPU)

Tutorial llama.cpp Seri 3 - Build llama.cpp Konfigurasi Default (CPU)

Walaupun llama.cpp menyediakan prebuilt binaries untuk Linux, membuild llama.cpp dari source code mungkin diperlukan jika:

  • Kita ingin mengoptimasi hasil build-nya dengan konfigurasi build tertentu.
  • Kita ingin memodifikasinya.
  • Kita ingin berkontribusi di pengembangannya.
  • Kita ingin bereksperimen dengan kodenya.
  • Kita ingin mencoba release terbaru yang belum dibuat prebuilt binaries-nya.

Di bagian ini, kita akan mencoba mem-build llama.cpp dengan konfigurasi default atau CPU Build.

Melakukan Clone Repository

Langkah awal yang diperlukan adalah melakukan clone terhadap repository llama.cpp.

Namun, agar folder build kita cukup rapi, buat dulu folder "/home/username-anda/llama.cpp-build".

Dengan asumsi bahwa kita ada di folder "/home/username-anda", jalankan perintah ini:

mkdir llama.cpp-build

Kemudian, kita masuk ke dalamnya:

cd llama.cpp-build

Lalu kita clone repository llama.cpp:

git clone https://github.com/ggml-org/llama.cpp

Lalu masuk ke dalam folder repository tersebut:

cd llama.cpp

Menginstall Build Dependencies

Jika Anda lihat dengan perintah "ls", maka di folder tersebut terdapat banyak file.

Jangan takut melihatnya, karena perintah untuk build tidak panjang.

Karena untuk membuild llama.cpp dibutuhkan beberapa aplikasi tambahan, maka mari kita install aplikasi tersebut.

Yang pertama cmake:

sudo apt install cmake

Yang kedua build-essential:

sudo apt install build-essential

Yang ketiga libcurl4-openssl-dev:

sudo apt install libcurl4-openssl-dev

Membuild llama.cpp

Setelah terinstall, kita bisa langsung membuild llama.cpp dengan konfigurasi default.

Caranya adalah dengan menjalankan perintah ini:

cmake -B build

cmake --build build --config Release

Proses ini memakan waktu yang tidak terlalu lama di virtual machine saya.

Verifikasi Hasil Build

Setelah selesai, hasil build ada di folder "llama.cpp/build".

Jika Anda masih berada di dalam folder repository, begini cara mengeceknya:

ls build

Adapun binaries-nya ada di "llama.cpp/build/bin". Cara mengeceknya:

ls build/bin

Namun jika kita cek dan kita telah mengerjakan project di tutorial seri sebelumnya, kita mendapati llama-cli BUKAN di folder tersebut:

which llama-cli

# output:
# /home/username-anda/apps/llama-cpp/build/bin/llama-cli

Itu karena kita telah mengubah konfigurasi di ~/.profile pada tutorial seri sebelumnya.

Dan llama-cli tadi bukan hasil build kita.

Maka untuk memperbaikinya, kita konfigurasi kembali ~/.profile.

Caranya dengan menjalankan perintah ini:

nano ~/.profile

Kemudian ganti bagian llama.cpp dengan script ini:

export PATH=/home/me/llama.cpp-build/llama.cpp/build/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/llama.cpp-build/llama.cpp/build/bin

Kemudian kita logout:

logout

Dan login kembali.

Kemudian kita cek dengan which:

which llama-cli

# output:
# /home/username-anda/llama.cpp-build/llama.cpp/build/bin/llama-cli

Pastikan lagi bahwa llama-cli berjalan:

llama-cli --help

Karena dalam proses build ini saya menggunakan virtual machine dan vm tersebut tidak memungkinkan untuk menjalankan llama-cli dengan model, maka saya tidak memberikan output-nya.

Jika Anda melakukannya di komputer sungguhan, mungkin Anda bisa coba llama-cli hasil build dengan model tertentu, caranya sudah dibahas di Tutorial Seri 2 - Installasi dan Setup.

Penutup

Bersambung ke Seri 4.