Kursus
Dalam tutorial ini, kita akan mempelajari cara melakukan fine-tuning model Llama 3 8B menggunakan LlaMA-Factory WebUI pada dataset Wikipedia Q&A. Kita akan mulai dengan memperkenalkan LlaMA-Factory WebUI, lalu menyiapkannya di lingkungan Google Colab. Setelah konfigurasi selesai, kita akan melalui proses fine-tuning model Llama 3 8B pada dataset tersebut dan kemudian mengevaluasi kinerja model melalui antarmuka chat.
Seiring berjalannya proses, Anda juga akan belajar cara memuat dataset khusus, menggabungkan model, serta mengekspornya ke Hugging Face. Terakhir, kita akan membahas cara menerapkan model yang telah di-fine-tune agar dapat diakses melalui OpenAI API.
Anda dapat memperoleh pengetahuan praktis tentang topik AI populer seperti ChatGPT, large language models, generative AI, dan lainnya dengan mengikuti AI Fundamentals skill track.

Gambar oleh Penulis | Canva
Apa itu LlaMA-Factory?
hiyouga/LLaMA-Factory adalah proyek open-source yang memungkinkan Anda melakukan fine-tuning lebih dari 100 large language model (LLM) melalui antarmuka WebUI. Proyek ini menyediakan seperangkat alat dan skrip lengkap untuk fine-tuning, chatbot, serving, dan benchmarking LLM.
LLaMA-Factory dirancang khusus untuk pemula dan profesional non-teknis yang ingin melakukan fine-tuning LLM open-source pada dataset kustom tanpa harus mempelajari konsep AI yang kompleks. Pengguna cukup memilih model, menambahkan dataset, dan menyesuaikan beberapa parameter untuk memulai proses pelatihan.
Setelah pelatihan selesai, aplikasi web yang sama dapat digunakan untuk menguji model, lalu diekspor ke Hugging Face atau disimpan secara lokal. Ini memberikan cara yang cepat dan efisien untuk melakukan fine-tuning LLM secara lokal.
Mulai Menggunakan LlaMA-Factory WebUI
Di bagian ini, kita akan mempelajari cara memasang dan menjalankan LlaMA-Factory WebUI di Google Colab dan Microsoft Windows.
Google Colab menyediakan akses ke GPU gratis, jadi jika laptop Anda tidak memiliki GPU atau tidak terpasang CUDA, saya merekomendasikan untuk memulai dengan notebook Colab.
- Luncurkan notebook Google Colab dengan jenis runtime “T4 GPU”.
- Di sel kode, ketik perintah berikut untuk mengklon repositori GitHub LLaMA-Factory dan memasang semua paket Python yang diperlukan.
%cd /content/
%rm -rf LLaMA-Factory
!git clone https://github.com/hiyouga/LLaMA-Factory.git
%cd LLaMA-Factory
%ls
%pip install -e .[torch,bitsandbytes]
- Untuk mengakses model dan dataset, Anda perlu masuk ke CLI Hugging Face. Untuk itu, Anda harus membuat token akses baru dengan membuka pengaturan Hugging Face, mengeklik "Access Tokens," dan membuat token baru untuk Google Colab.

- Buat variabel lingkungan Hugging Face menggunakan fitur "Secrets" di Colab, yang memungkinkan kita membuat variabel lingkungan yang dapat diakses secara aman di dalam notebook.

- Masuk ke Hugging Face Hub menggunakan token akses Hugging Face.
from huggingface_hub import login
from google.colab import userdata
hf_token = userdata.get("HUGGINGFACE_TOKEN")
login(token = hf_token)
- Luncurkan LLaMA-Factor WebUI menggunakan
llamafactory-cli. Kita mengatur GRADIO_SHARE=1 agar dapat menghasilkan tautan publik untuk mengakses aplikasi web.
%cd /content/LLaMA-Factory/
!GRADIO_SHARE=1 llamafactory-cli webui
- Klik URL publik untuk meluncurkan WebUI di tab baru.

LLAMA-Factory WebUI terlihat sederhana namun memiliki banyak opsi dan tab. Kita akan mengeksplorasinya di bagian berikutnya.

Jika Anda mengalami kendala saat meluncurkan LlaMA-Factory WebUI sendiri, silakan merujuk ke notebook Google Colab.
Menjalankan LlaMA-Factory WebUI di Windows
Jika Anda ingin menjalankan LlaMA-Factory WebUI secara lokal di Windows, Anda perlu memasang versi pra-bangun dari pustaka bitsandbytes. Pustaka ini mendukung CUDA 11.1 hingga 12.2, jadi silakan pilih versi rilis yang sesuai berdasarkan versi CUDA Anda.
- Buka terminal Windows dan ketik perintah Git untuk mengklon repositori GitHub LLaMA-Factory.
- Pasang semua paket Python yang diperlukan.
- Pasang pustaka bitsandbytes untuk Windows.
$ git clone https://github.com/hiyouga/LLaMA-Factory.git
$ cd LLaMA-Factory
$ pip install -e .[torch,bitsandbytes]
$ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
- Luncurkan LLaMA-Factory WebUI.
$ llamafactory-cli webui
- Jangan lupa masuk ke Hugging Face menggunakan CLI dengan memberikan token akses.
$ huggingface-cli login
Fine-Tuning LlaMA-3 8B Chat menggunakan LlaMA-Factory WebUI
Tidak akan ada pengkodean pada bagian ini. Kita akan memilih model dan dataset untuk fine-tuning, mengubah beberapa parameter, dan menekan beberapa tombol agar pelatihan lebih cepat.
Untuk memahami teori di balik fine-tuning large language model, lihat panduan komprehensif berikut: Fine-Tuning Large Language Models.
Memilih dataset dan model
Kita akan melakukan fine-tuning model unsloth/llama-3-8b-bnb-4bit pada dataset Microsoft/wiki_qa. Dataset ini berisi beberapa kolom seperti di bawah ini, namun kita akan menggunakan kolom “question” dan “answer” untuk fine-tuning model.

Sumber: microsoft/wiki_qa | Korpus Wiki Question Answering dari Microsoft
Kita tidak dapat memuat model instruksi LLaMA-3-8B penuh di versi gratis Google Colab. Sebagai gantinya, kita akan memuat versi kuantisasi 4-bit dari model yang sama yang disediakan oleh Unsloth.
Untuk melakukannya, pilih nama model "Custom" dan tempel tautan repositori "unsloth/llama-3-8b-bnb-4bit" ke dalam path model.

Kita dapat memilih beberapa dataset untuk melakukan fine-tuning model. Namun, untuk tutorial ini, kita hanya akan menggunakan dataset “Wikiqa”, yang dapat Anda pilih dengan mudah dari dataset yang sudah tersedia seperti di atas.
Menyesuaikan parameter pelatihan
Sesuaikan argumen pelatihan model dengan menggulir ke bawah halaman. Kita akan menetapkan parameter berikut:
- Learning rate ke 4e-5
- Epochs ke 1.0
- Max samples ke 1000 untuk mempercepat pelatihan model
Argumen lainnya akan dibiarkan pada nilai default. Nilai-nilai ini dapat diubah untuk memodifikasi perilaku model yang di-fine-tune.

Kita juga memiliki opsi untuk mengubah peringkat LoRa dan konfigurasi terkait LoRa lainnya. Untuk tutorial ini, kita mempertahankan semua pengaturan lainnya pada nilai default.

Memulai proses pelatihan
Gulir lebih jauh ke bawah untuk melihat konfigurasi pelatihan. Silakan berikan direktori keluaran dan path konfigurasi lalu tekan tombol “Start”. Grafik loss akan memerlukan waktu untuk tampil karena LlaMA-Factor terlebih dahulu akan mengunduh model dan dataset, lalu memuat keduanya, yang dapat memakan waktu setidaknya 5 menit.

Setelah model sepenuhnya dimuat dan pelatihan dimulai, Anda akan mulai melihat visualisasi pada grafik loss. Seperti yang dapat kita amati, loss berangsur-angsur menurun seiring bertambahnya jumlah langkah, yang sangat baik.

Ketika pelatihan selesai, Anda akan melihat pesan selesai di kiri bawah. Seperti yang dapat kita lihat, loss berangsur-angsur menurun dan mendatar setelah 45 langkah.

Jika Anda seorang data scientist atau developer, Anda akan merasa mudah melakukan fine-tuning model menggunakan bahasa Python.
Kami memiliki panduan terperinci bagi individu teknis yang ingin melatih LlaMA-3 di sini: Fine-Tuning Llama 3 and Using It Locally: A Step-by-Step Guide.
Mengevaluasi model yang telah di-fine-tune
Untuk mengevaluasi model yang telah di-fine-tune, kita harus mengubah menu dari “Train” ke “Chat”. Lalu, buka “Checkpoint path” dan muat adapter hasil fine-tuning yang disimpan.

Setelah itu, klik tombol “Load model” dan tunggu beberapa detik hingga model berhasil dimuat.

Gulir ke bawah untuk melihat kotak input chat dan tulislah pertanyaan umum tentang pegunungan.

Hasilnya, Anda akan mendapatkan jawaban yang sederhana dan lugas, mirip dengan dataset "wiki_qa".

Mari coba ajukan pertanyaan lain. Kita dapat melihat bahwa model berkinerja sangat baik. Dalam waktu 30 menit, kita telah melakukan fine-tuning model, yang dengan pustaka Transformer dapat memakan waktu lebih dari 4 jam. Ini luar biasa.

Terkadang, fine-tuning bukanlah solusi untuk semua masalah LLM. Karena itu, Anda sebaiknya membaca RAG vs Fine-Tuning: A Comprehensive Tutorial with Practical Examples dan pelajari mana yang paling cocok untuk Anda.
Fitur Tambahan LlaMA-Factory WebUI
Selain fine-tuning dan pengujian model, ekosistem LLaMA-Factory menawarkan beberapa fitur inti, termasuk penggunaan data kustom untuk fine-tuning, penggabungan dan ekspor model, serta penerapan model yang di-fine-tune menggunakan VLLM.
Dataset kustom
Untuk menambahkan dataset kustom, cukup modifikasi berkas data/dataset_info.json, dan dataset akan dapat diakses di LLaMA-Factory WebUI.
Untuk informasi terperinci tentang format yang diperlukan untuk berkas dataset dan cara memodifikasi berkas dataset_info.json, silakan merujuk dokumentasi data/README.md.
Anda dapat memilih untuk menggunakan dataset dari hub Hugging Face atau ModelScope, atau memuat dataset dari disk lokal Anda.

Pratinjau berkas data/dataset_info.json
Menggabungkan dan mengekspor model
Kita dapat dengan mudah menggabungkan adapter LoRA hasil fine-tuning dengan model penuh dan mengekspornya ke Hugging Face Hub dengan mengeklik tab “Export”.
Sesuaikan ukuran shard maksimum, tetapkan path direktori ekspor, serta tentukan ID repositori Hugging Face Hub dan perangkat ekspor. Proses ini akan memakan waktu beberapa menit untuk menggabungkan model dan mengunggah semua berkas model ke Hugging Face Hub.
Catatan: Versi gratis Colab hanya menawarkan 12GB RAM, sedangkan penggabungan LoRA untuk model dengan 8 miliar parameter memerlukan setidaknya 16GB RAM. Oleh karena itu, operasi ini tidak dapat dilakukan pada versi gratis Colab.

Menggabungkan dan Mengekspor model yang di-fine-tune ke Hugging Face Hub
Deploy dengan API bergaya OpenAI dan vLLM
LlaMA-Factory dilengkapi kerangka kerja vLLM untuk penyajian dan penerapan model. Dengan mengetik perintah berikut, kita dapat menyajikan model Llama-3-8B-Instruct dan mengaksesnya melalui OpenAI Python API atau RestAPI.
$ API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml
Anda bahkan dapat memodifikasi berkas tersebut atau membuat berkas .yaml Anda sendiri untuk menyajikan model yang telah di-fine-tune di produksi. Yang perlu Anda lakukan hanyalah memberikan path ke folder model secara lokal atau di Huggin Face Hub.

Sumber: hiyouga/LLaMA-Factory (github.com)
Jika Anda mencari solusi low-code serupa yang memungkinkan fine-tuning LLM, khususnya model GPT-4o yang bersifat proprietary, kami memiliki panduan komprehensif untuk Anda. Lihat tutorial langkah demi langkah di sini: Fine-Tuning OpenAI's GPT-4: A Step-by-Step Guide.
Kesimpulan
LLaMA-Factory WebUI menyederhanakan proses bagi pemula maupun ahli. Anda hanya perlu menyesuaikan beberapa parameter untuk melakukan fine-tuning model pada dataset kustom. Dengan antarmuka yang sama, Anda dapat menguji model dan mengekspornya ke Hugging Face atau menyimpannya secara lokal. Ini memungkinkan Anda menerapkan model di produksi nanti menggunakan perintah LLaMA-Factory CLI api. Sesederhana itu.
Alih-alih menulis ratusan baris kode dan memecahkan masalah fine-tuning, Anda dapat mencapai hasil serupa hanya dengan beberapa klik.
Dalam tutorial ini, kita mempelajari LLaMA-Factory WebUI, serta cara melakukan fine-tuning model LLaMA-3-8B-Instruct pada dataset Wikipedia Q&A menggunakan kerangka kerja ini. Selain itu, kita menguji model yang telah di-fine-tune menggunakan menu chatbot bawaan dan mengeksplorasi fitur tambahan yang ditawarkan LLaMA-Factory.
Pelajari cara melakukan fine-tuning LLM menggunakan Python dengan mendaftar gratis untuk Webinar mendatang Fine-Tuning Your Own Llama 3 Model.
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.

