Training bukan garis finish Base Model Qwen2.5 Instruct LoRA / QLoRA train adapter Adapter hasil training Evaluate base vs adapter Merge / GGUF bila diperlukan Ollama local / internal hasil buruk → revisi dataset / konfigurasi → train ulang Decide → Prepare → Train → Verify → Evaluate → Serve

Tutorial dari persiapan GPU dan dataset sampai evaluasi adapter, merge opsional, GGUF, dan serving — lengkap dengan checkpoint, troubleshooting, dan batas kapan harus handover ke tim teknis.

LoRA memungkinkan model pretrained diadaptasi tanpa melatih ulang seluruh bobotnya. Base model tetap dibekukan, sementara adapter berukuran jauh lebih kecil dilatih untuk mengubah pola perilaku model. QLoRA menambahkan quantization pada base model agar penggunaan memory training dapat ditekan. Tutorial ini memakai Qwen2.5 Instruct + LLaMA-Factory sebagai contoh praktik: mulai dari baseline, dataset, WebUI training, evaluasi adapter, merge bila perlu, lalu serving melalui GGUF dan Ollama.

Transparansi AI. Artikel ini disusun dengan bantuan AI untuk riset dan drafting, kemudian ditinjau dan disunting oleh tim Sequel Cloud untuk memastikan akurasi teknis dan relevansi isi.

Intisari Artikel

  • LoRA melatih adapter kecil, bukan seluruh base model. QLoRA memakai quantization untuk menekan memory training, tetapi kebutuhan VRAM tetap bergantung konfigurasi.
  • Fine-tuning bukan otomatis pilihan terbaik untuk knowledge yang sering berubah. Untuk harga, stok, SOP, atau dokumen yang harus selalu fresh, retrieval/RAG biasanya lebih mudah diperbarui dan diaudit.
  • Training selesai bukan berarti eksperimen berhasil. Adapter harus dibandingkan dengan baseline menggunakan prompt evaluasi yang sama sebelum merge atau deployment.
  • WebUI menjadi jalur utama agar mudah diikuti; CLI/YAML disediakan sebagai jalur reproducible untuk pembaca teknis.
  • Setiap tahap punya checkpoint dan batas handover. Driver/CUDA conflict, repeated OOM, merge/export, GGUF, dan production serving masuk wilayah teknis yang lebih dalam.

Siapa yang Bisa Mengikuti Tutorial Ini?

NON-TEKNIS + PANDUAN

Tutorial ini bukan untuk pemula komputer absolut, tetapi juga tidak mengharuskan latar belakang machine-learning engineering. Pembaca yang nyaman membuka Terminal, copy-paste command, membuat file teks, membaca pesan error sederhana, dan menggunakan browser dapat mengikuti jalur utamanya.

Badge di setiap bagian bukan label “siapa boleh membaca”. Badge menjawab satu pertanyaan praktis: bagian ini masih aman dicoba sendiri, atau sudah waktunya meminta bantuan teknis?

  • Bisa Diikuti Non-Teknis: keputusan, evaluasi, atau langkah yang tidak mengubah sistem secara berisiko.
  • Non-Teknis + Panduan: ada terminal/config sederhana; lanjut selama checkpoint sesuai.
  • Handover ke Tim Teknis: berhenti bila checkpoint gagal dan masalah masuk driver, dependency, permission, networking, atau system config.
  • Tim IT / Engineering: production serving, security, deployment, dan troubleshooting lanjutan.

1. Pastikan Fine-Tuning Memang Solusi yang Tepat

BISA DIIKUTI NON-TEKNIS

Fine-tuning masuk akal ketika masalahnya adalah perilaku output: format jawaban, tone, pola respons, atau task behavior yang ingin dibuat lebih konsisten tanpa harus diulang terus dalam prompt.

Contoh: customer-service assistant diminta selalu mengikuti pola empati → tindakan → langkah berikutnya. Ini lebih dekat ke behavior adaptation daripada knowledge retrieval.

Sebaliknya, bila masalahnya adalah harga produk, stok, SOP terbaru, atau dokumen internal yang sering berubah, fine-tuning biasanya bukan pilihan pertama. Knowledge seperti itu lebih mudah diperbarui dan dilacak melalui retrieval/RAG.

Serial terkait: Prompt Engineering vs Fine-Tuning vs RAG.

Checkpoint: tulis satu kalimat: “Setelah training, perilaku apa yang harus berubah?” Jika target behavior belum dapat dijelaskan dengan konkret, belum waktunya menyalakan GPU.

2. Simpan Baseline Sebelum Menyentuh Model

BISA DIIKUTI NON-TEKNIS

Eksperimen tanpa baseline membuat hasil sulit dinilai. Sebelum training, simpan 5–10 prompt evaluasi dan jawaban dari base model.

Prompt contoh: “Paket saya sudah lima hari belum sampai. Apa yang harus saya lakukan?”
Prompt contoh: “Produk datang rusak. Bagaimana proses penggantiannya?”

Simpan jawaban awal ke file baseline-evaluation.md. Prompt ini tidak boleh diubah setelah training, karena nantinya dipakai untuk membandingkan base model vs base model + LoRA adapter.

Checkpoint: file baseline memiliki prompt dan jawaban base model yang cukup untuk menguji behavior target, bukan hanya satu contoh “cantik”.

3. Pilih Model Eksperimen: Kecil Dulu

NON-TEKNIS + PANDUAN

Tutorial ini memakai keluarga Qwen2.5 Instruct sebagai contoh. Model kecil seperti varian 1.5B atau 3B lebih cocok untuk membuktikan pipeline sebelum mencoba model yang lebih besar.

Tujuan eksperimen pertama bukan memenangkan benchmark. Tujuannya memastikan alur dataset → train → adapter → evaluate benar-benar bekerja.

Base Model pretrained weights FROZEN LoRA Adapter trainable matrices Adapted Behavior format • tone • task pattern evaluasi tetap wajib

LoRA mempertahankan base model tetap beku dan melatih adapter kecil. Adapter harus diuji sebelum dianggap berhasil.

4. Cek GPU dan Catat VRAM

NON-TEKNIS + PANDUAN

Jalur utama tutorial mengasumsikan Linux dengan GPU NVIDIA. Sebelum install framework, pastikan GPU dan driver terlihat oleh sistem.

Aksi

Buka Terminal. Pada server remote, masuk melalui SSH:

ssh user@alamat-server

Lalu jalankan:

nvidia-smi

Yang Muncul

Idealnya terlihat tabel berisi nama GPU, driver, memory usage, dan proses yang sedang memakai GPU.

Checkpoint

GPU terdeteksi dan VRAM terlihat. Catat nama GPU, total VRAM, dan memory yang sedang terpakai.

Jika Tidak Sesuai

Handover ke Tim Teknis: bila nvidia-smi tidak tersedia atau NVIDIA-SMI gagal berkomunikasi dengan driver, jangan melanjutkan training. Driver/CUDA troubleshooting adalah system-level work.

Jangan Jadikan Angka VRAM sebagai Hukum

QLoRA dapat menekan memory karena base model dimuat dalam precision rendah, tetapi kebutuhan aktual tetap dipengaruhi ukuran model, sequence length, batch size, gradient accumulation, target modules, optimizer, precision, dan gradient checkpointing. Karena itu artikel ini tidak menjanjikan “model X pasti cukup dengan Y GB”.

5. Siapkan Python, Git, Folder Kerja, dan Virtual Environment

NON-TEKNIS + PANDUAN

Cek Python dan Git

python3 --version git --version

Checkpoint: kedua command berjalan tanpa command not found.

Buat Working Directory

mkdir -p ~/lora-lab cd ~/lora-lab pwd

Yang muncul: path seperti /home/user/lora-lab. Jangan jalankan eksperimen dari random directory yang juga menyimpan aplikasi production.

Clone LLaMA-Factory

git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git cd LlamaFactory

Buat Virtual Environment

python3 -m venv .venv source .venv/bin/activate which python

Checkpoint: path Python mengarah ke folder .venv.

Install LLaMA-Factory

pip install -e . pip install -r requirements/metrics.txt llamafactory-cli version

Checkpoint: versi LLaMA-Factory muncul tanpa traceback.

Pastikan PyTorch Melihat GPU

python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CUDA tidak tersedia')"

Idealnya keluar True dan nama GPU.

Handover ke Tim Teknis: jika nvidia-smi bekerja tetapi PyTorch menjawab False, kemungkinan ada mismatch dependency/PyTorch/CUDA. Jangan “menebak-nebak” versi package sampai environment rusak.

6. Jalankan LLaMA-Factory WebUI

NON-TEKNIS + PANDUAN

Dengan virtual environment masih aktif, jalankan:

llamafactory-cli webui

Terminal akan menampilkan alamat WebUI. Buka alamat tersebut melalui browser. Pada instalasi lokal, alamat biasanya berupa localhost dengan port yang ditampilkan oleh proses.

Checkpoint: halaman LLaMA Board terbuka dan area Training, Evaluation & Prediction, Chat, serta Export tersedia.

Tim IT / Engineering: jangan expose WebUI ke internet hanya dengan mengubah listener ke 0.0.0.0. Untuk remote environment, gunakan akses internal atau SSH tunnel yang dikontrol.

7. Siapkan Dataset Customer Service

NON-TEKNIS + PANDUAN

Use case contoh adalah assistant CS yang harus konsisten memakai struktur empati → tindakan → langkah berikutnya. Dataset seharusnya mengajarkan pola respons, bukan membuat janji bisnis yang tidak dapat diverifikasi.

Buat File Dataset

Dari folder repository LLaMA-Factory:

nano data/sales_cs_dataset.json

Isi dengan contoh seperti berikut:

[ { "instruction": "Jawab keluhan pelanggan tentang keterlambatan pengiriman dengan nada empatik, jelaskan bahwa paket sedang dilacak, lalu berikan langkah berikutnya.", "input": "Paket saya belum sampai sudah 5 hari. Ini mengecewakan.", "output": "Mohon maaf atas keterlambatan pengiriman. Tim sedang melakukan pengecekan posisi paket. Nomor tiket pelacakan akan diberikan setelah status terbaru tersedia." } ]

Validasi JSON

python -m json.tool data/sales_cs_dataset.json > /dev/null && echo "JSON valid"

Checkpoint: terminal menampilkan JSON valid.

Daftarkan Dataset

Buka data/dataset_info.json dan tambahkan entry berikut tanpa merusak struktur JSON yang sudah ada:

"sales_cs_dataset": { "file_name": "sales_cs_dataset.json", "columns": { "prompt": "instruction", "query": "input", "response": "output" } }

Restart WebUI bila dataset belum muncul. Dropdown Dataset harus menampilkan sales_cs_dataset.

Handover ke Tim Teknis / Data Owner: jangan memasukkan data pelanggan mentah seperti NIK, nomor telepon, alamat, email, riwayat transaksi, atau percakapan sensitif. Anonimisasi dan data-governance harus diselesaikan sebelum data dipakai untuk training.

8. Training LoRA / QLoRA melalui WebUI

NON-TEKNIS + PANDUAN

Buka area Training di LLaMA Board. Nama field dapat berubah mengikuti versi LLaMA-Factory, jadi gunakan label current yang tersedia di WebUI dan hindari memaksa value lama bila UI sudah berbeda.

8.1 Pilih Model

Pilih/isi model Qwen2.5 Instruct yang berukuran kecil untuk eksperimen awal. Pastikan model, tokenizer, dan template tetap satu keluarga yang kompatibel.

8.2 Training Stage

Pilih SFT — Supervised Fine-Tuning.

8.3 Fine-Tuning Method

Pilih LoRA. Untuk jalur QLoRA, aktifkan 4-bit quantization hanya bila environment dan dependency mendukungnya.

8.4 Dataset

Pilih sales_cs_dataset. Jika tidak muncul, kembali ke registrasi dataset; jangan memilih dataset lain hanya agar tombol Start aktif.

8.5 Starting Configuration

Gunakan konfigurasi konservatif sebagai starting point, bukan “angka terbaik universal”:

ParameterStarting point tutorialCatatan
Per-device batch1Naikkan hanya bila memory cukup.
Gradient accumulation8Mengompensasi batch kecil.
Learning rate1e-4Starting point LoRA, bukan universal optimum.
Epoch3Dataset kecil mudah overfit; evaluasi output.
LoRA rank8Kapasitas adapter meningkat jika rank naik.
LoRA targetallGunakan target yang kompatibel dengan setup current.
Cutoff lengthKonservatifSesuaikan panjang contoh; makin panjang makin boros memory.
bf16Jika hardware mendukungJangan dipaksa pada hardware yang tidak kompatibel.
4-bitJika QLoRA dipilihMemerlukan environment quantization yang sesuai.

8.6 Output Directory

Gunakan nama yang menjelaskan eksperimen, misalnya saves/qwen25-3b/lora/sales-cs-v1. Jangan menimpa experiment sebelumnya.

8.7 Klik Start

Checkpoint sebelum Start: model benar, SFT aktif, LoRA aktif, dataset terlihat, output directory unik, VRAM sudah diperiksa, dan konfigurasi sudah disimpan/catat.
Baseline Dataset Train Evaluate Better? target behavior Tidak → revisi data/config, bukan langsung tambah GPU Ya → merge opsional

Training dianggap berhasil setelah behavior target membaik, bukan hanya karena process selesai atau loss turun.

9. Monitoring dan Troubleshooting

NON-TEKNIS + PANDUAN → HANDOVER BILA BERULANG

Log training akan menampilkan progress dan metric seperti loss. Loss berguna untuk melihat optimization berjalan, tetapi loss turun tidak otomatis membuktikan model lebih berguna.

Checkpoint Training Teknis

  • Process tidak crash.
  • Tidak ada persistent CUDA OOM.
  • Loss tidak berubah menjadi NaN.
  • Adapter checkpoint muncul di output directory.

CUDA Out of Memory

Jika log menampilkan CUDA out of memory, coba satu perubahan pada satu waktu:

  1. Kurangi per-device batch size.
  2. Pendekkan cutoff length.
  3. Gunakan model lebih kecil.
  4. Aktifkan 4-bit quantization bila jalur QLoRA memang dipakai.
  5. Gunakan gradient checkpointing bila tersedia dan sesuai.
  6. Periksa proses GPU lain dengan nvidia-smi.
nvidia-smi
Jangan membunuh process lain hanya karena memakai VRAM. Pada server bersama atau production, identifikasi pemilik proses terlebih dahulu.

Dataset Tidak Ditemukan

Periksa nama entry di dataset_info.json, nama file, lokasi file, syntax JSON, lalu restart WebUI.

Loss NaN

Handover ke Tim Teknis: NaN dapat terkait precision, learning rate, data, numerical instability, atau dependency. Catat model, GPU, precision, learning rate, batch, dan log sebelum NaN; jangan mengubah banyak parameter sekaligus.

Training Sangat Lambat

Periksa GPU utilization, model download, CPU/data-loading bottleneck, disk, dan compute capability. NVMe membantu I/O, tetapi fine-tuning LLM tetap compute-heavy.

10. Uji Adapter Sebelum Merge

BISA DIIKUTI NON-TEKNIS

Setelah adapter tersimpan, jangan langsung merge. Gunakan area Chat atau Evaluation & Prediction untuk memuat base model yang sama dan adapter hasil training.

Jalankan prompt baseline yang disimpan sebelum training. Bandingkan output secara berdampingan.

DimensiPertanyaan EvaluasiSkor sederhana
FormatApakah struktur jawaban mengikuti pola yang diinginkan?1–5
ToneApakah gaya bahasa konsisten?1–5
Instruction complianceApakah model melakukan pekerjaan yang diminta?1–5
Factual disciplineApakah model membuat janji/fakta yang tidak tersedia?1–5
Checkpoint outcome: lanjut hanya jika behavior target lebih konsisten tanpa meningkatkan failure baru secara berarti. Bila base model sudah sama baiknya, berhenti. Fine-tuning yang tidak dibutuhkan tetap biaya dan maintenance.

11. Merge & Export Hanya Bila Diperlukan

HANDOVER KE TIM TEKNIS

Adapter LoRA tidak wajib di-merge. Banyak runtime dapat menggunakan base model + adapter langsung. Merge diperlukan bila deployment target lebih mudah menangani standalone model.

Di LLaMA-Factory buka area Export, lalu tentukan base model, adapter, export directory, dan opsi export yang sesuai.

Penting: jangan melakukan merge dari base model yang sudah dikuantisasi. Gunakan base model non-quantized + adapter untuk proses merge/export, lalu lakukan quantization pada artifact deployment jika memang diperlukan.

Checkpoint: model hasil export tersimpan di directory baru. Jangan menimpa base model original.

12. Convert Model ke GGUF

TIM IT / ENGINEERING

Untuk jalur serving yang menggunakan Ollama pada tutorial ini, model hasil merge dikonversi ke GGUF menggunakan tooling llama.cpp. Compatibility architecture harus diverifikasi terhadap versi current.

Clone dan Build llama.cpp

git clone https://github.com/ggml-org/llama.cpp cd llama.cpp cmake -B build cmake --build build --config Release

Convert Hugging Face Model

python3 convert_hf_to_gguf.py /path/to/merged-model

Nama file output dapat berbeda mengikuti model dan tooling current. Cek file .gguf yang benar-benar dihasilkan.

Quantize — Opsional

./build/bin/llama-quantize /path/to/model-f16.gguf /path/to/model-Q4_K_M.gguf Q4_K_M

Q4_K_M hanya contoh trade-off size/memory/quality, bukan universal best setting.

Checkpoint: cek architecture support, free disk space, file output, dan test inference setelah quantization. Quantization yang lebih agresif dapat memengaruhi kualitas.

13. Serving Lokal dengan Ollama

HANDOVER KE TIM TEKNIS

Tutorial memakai jalur terkontrol merged model → GGUF → Ollama. Jangan mengasumsikan direktori Safetensors Qwen hasil merge selalu dapat langsung di-import ke Ollama.

Buat Modelfile

FROM ./model-Q4_K_M.gguf SYSTEM "Anda adalah asisten layanan pelanggan yang mengikuti kebijakan perusahaan." PARAMETER temperature 0.3

Create dan Run

ollama create sales-assistant -f Modelfile ollama run sales-assistant

Checkpoint: model berjalan dan prompt evaluasi dapat dijalankan kembali. Cocokkan behavior dengan adapter yang diuji sebelum merge.

Training GPU environment LoRA / QLoRA Model Artifact adapter / merged / GGUF Serving CPU / GPU sesuai benchmark RAM • context • concurrency latency target

Training dan serving punya kebutuhan berbeda. Serving dipilih berdasarkan benchmark, bukan asumsi “CPU pasti cukup”.

Bila organisasi memiliki hardware/GPU sendiri tetapi membutuhkan fasilitas colocation, qRack dapat relevan sebagai tempat menjalankan hardware milik organisasi. Ini bukan GPU compute service dari Sequel.

qVM — Infrastruktur untuk Serving dan Internal AI Workload

Setelah training selesai di environment GPU, kebutuhan serving ditentukan oleh model, quantization, RAM, CPU, context length, concurrency, dan target latency. qVM dapat dipertimbangkan untuk eksperimen serving, internal API, atau workload AI ringan–menengah setelah benchmark menunjukkan resource-nya sesuai.

Sizing harus mengikuti benchmark workload aktual. qVM pada artikel ini tidak diposisikan sebagai GPU training environment.

Untuk dedicated/heavier serving workload, qMetal dapat dievaluasi bila karakteristik CPU, RAM, storage, concurrency, dan target latency memang membutuhkan kelas resource tersebut.

14. Bisa ollama run Belum Berarti Production-Ready

TIM IT / ENGINEERING

Local inference hanya membuktikan runtime bekerja. Production serving masih membutuhkan authentication, TLS, access control, firewall, resource limits, rate limiting, monitoring, health checks, logging, backup artifact, rollback, dan observability.

Jangan expose Ollama API langsung ke internet tanpa protection layer. Test internal API terlebih dahulu dan pastikan endpoint hanya reachable dari network yang memang membutuhkan akses.
Self-service decision / baseline Guided dataset / WebUI Handover CUDA / merge Engineering security / production

Pembaca boleh memahami seluruh alur, tetapi execution boundary berubah ketika risiko sistem dan production meningkat.

15. Appendix: YAML + CLI untuk Reproducibility

TIM IT / ENGINEERING

WebUI menjadi jalur utama tutorial. Untuk eksperimen yang harus direplikasi, simpan konfigurasi training sebagai YAML. Nama model dan template harus disesuaikan dengan setup current.

model_name_or_path: <QWEN_MODEL_ID> stage: sft do_train: true finetuning_type: lora lora_rank: 8 lora_target: all dataset: sales_cs_dataset template: <CURRENT_QWEN_TEMPLATE> cutoff_len: 1024 output_dir: saves/qwen25/lora/sales-cs-v1 logging_steps: 10 plot_loss: true report_to: none per_device_train_batch_size: 1 gradient_accumulation_steps: 8 learning_rate: 1.0e-4 num_train_epochs: 3.0 bf16: true
llamafactory-cli train qwen_sales_cs_lora.yaml
Jangan copy mentah semua nilai ke hardware berbeda. Template harus kompatibel dengan model; bf16 tergantung hardware; QLoRA membutuhkan quantization dependency yang sesuai; cutoff dan batch memengaruhi memory.

16. Kapan Harus Kembali ke RAG atau Prompt Engineering?

BISA DIIKUTI NON-TEKNIS

Fine-tuning dapat mengubah behavior dan parameter model, tetapi bukan pengganti sistem knowledge yang harus fresh dan traceable.

MasalahPendekatan yang lebih dekat
Tone tidak konsistenPrompting atau LoRA
Format output harus disiplinStructured generation / prompting / LoRA
Model harus mengikuti pola respons tertentuLoRA dapat relevan
Harga atau stok harus terbaruRAG / database / tool
SOP sering berubahRAG
Jawaban harus punya source/citationRAG lebih mudah diaudit
Behavior + knowledge internalLoRA + RAG dapat dikombinasikan

Untuk tutorial RAG lengkap, baca Membangun RAG Sendiri: Panduan Praktis dari Nol hingga Production.

Glosarium: Istilah Teknis dalam Bahasa Awam

Istilah TeknisBahasa AwamMakna dalam Artikel
Base ModelModel awalModel pretrained sebelum adaptation.
Fine-TuningPelatihan lanjutanMenyesuaikan model terhadap contoh/task tertentu.
LoRAAdapter kecilMelatih matriks tambahan tanpa memperbarui seluruh base weights.
QLoRALoRA hemat memoryBase model dikuantisasi lalu LoRA adapter dilatih.
AdapterBobot tambahanArtifact PEFT yang menyimpan adaptation hasil training.
SFTLatihan dari contoh jawabanSupervised Fine-Tuning dengan pasangan instruction/response.
EpochSatu putaran datasetBerapa kali training melewati seluruh data.
Batch SizeJumlah contoh per stepSalah satu faktor besar penggunaan memory.
Gradient AccumulationMengumpulkan beberapa step kecilMemungkinkan effective batch lebih besar tanpa batch GPU besar.
Cutoff LengthBatas panjang sequenceMempengaruhi context training dan memory.
VRAMMemory GPUResource utama yang sering membatasi training.
QuantizationMenurunkan precisionMengurangi ukuran/memory model dengan trade-off tertentu.
MergeMenggabungkan adapterMembuat standalone model dari base + adapter bila deployment membutuhkannya.
GGUFFormat model runtimeFormat yang umum digunakan ekosistem llama.cpp dan dapat dipakai dalam jalur Ollama artikel ini.
BaselineKondisi sebelum trainingPembanding untuk menilai apakah adapter benar-benar membantu.
OverfittingMenghafal latihanModel terlihat bagus pada data latihan tetapi buruk pada variasi baru.
CheckpointTitik verifikasiKondisi yang harus benar sebelum melanjutkan langkah berikutnya.

FAQ

Apakah LoRA sama dengan full fine-tuning?

Tidak. LoRA membekukan base model dan melatih parameter tambahan ber-rank rendah, sehingga jumlah parameter yang perlu dilatih jauh lebih kecil.

Apa perbedaan LoRA dan QLoRA?

QLoRA memakai base model yang dikuantisasi—umumnya 4-bit—kemudian melatih LoRA adapter di atasnya. Tujuannya menekan memory training, tetapi memory aktual tetap bergantung konfigurasi.

Apakah fine-tuning bisa menambahkan fakta baru?

Training dapat memengaruhi apa yang dipelajari model dari contoh, tetapi untuk knowledge yang sering berubah dan harus selalu fresh, retrieval lebih mudah diperbarui dan diaudit. Karena itu artikel tidak menggunakan aturan absolut “fine-tuning hanya mengajarkan behavior”.

Apakah GPU wajib?

Untuk workflow praktis LLM seperti tutorial ini, GPU sangat direkomendasikan. CPU training dapat menjadi terlalu lambat untuk iterasi yang produktif.

Apakah adapter harus di-merge?

Tidak. Adapter dapat dipakai bersama base model. Merge hanya diperlukan bila deployment target lebih mudah menangani standalone model.

Mengapa harus evaluasi sebelum merge?

Karena process training yang selesai hanya membuktikan pipeline berjalan. Yang harus dibuktikan berikutnya adalah apakah behavior target benar-benar membaik dibanding baseline.

Apakah qVM digunakan untuk training LoRA?

Artikel ini tidak memosisikan qVM sebagai GPU training environment. qVM lebih relevan untuk eksperimen serving, internal API, atau AI workload yang memang cocok setelah CPU/RAM/model/concurrency di-benchmark.

Kesimpulan

Fine-tuning dengan LoRA bukan proses “download model → klik train → selesai”. Workflow yang lebih sehat adalah tentukan behavior → simpan baseline → siapkan dataset → verifikasi environment → train adapter → cek checkpoint → bandingkan output → revisi bila perlu → baru merge → pilih runtime → benchmark serving.

LoRA membuat adaptation lebih ringan karena tidak memperbarui seluruh base weights. QLoRA dapat menekan memory lebih jauh dengan quantization. Namun efisiensi komputasi tidak menggantikan dataset yang baik, evaluasi, dan operational discipline.

Tiga checkpoint paling penting justru bukan command:

  • Apakah masalahnya memang membutuhkan fine-tuning?
  • Apakah adapter benar-benar lebih baik daripada base model?
  • Apakah deployment sudah aman dan sesuai workload?

Kalau jawabannya belum jelas, GPU yang lebih besar hanya membuat eksperimen yang salah berjalan lebih cepat.

Selanjutnya — Peta Jalan Literasi AI Roadmap Belajar AI: Mulai dari Mana dan ke Mana Selanjutnya?

Daftar Pustaka