0Pricing
AI Agents · Pelajaran

LoRA dan QLoRA untuk Penyetelan Hemat Biaya

Latih hanya adaptor peringkat rendah pada basis terkuantisasi — cukup untuk menyetel halus model 70B pada satu GPU.

LoRA dan QLoRA untuk Penyetelan Hemat Biaya adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Mengapa PEFT?

Penyetelan halus penuh untuk Llama 70B memerlukan 8+ H100 dan memperbarui 70 miliar parameter. PEFT (Penyetelan Halus Hemat Parameter) memperbarui < 1% parameter dengan kualitas yang serupa. Penghematan biaya sangat besar.

LoRA: Adaptasi Peringkat Rendah

LoRA (Hu dkk. 2021) melatih matriks "adaptor" kecil di samping bobot dasar yang dibekukan:

  • Tambahkan matriks A x B, dengan A berukuran dxr dan B berukuran rxd, sedangkan r bernilai kecil (8, 16, 64)
  • Lintasan maju: y = Wx + (BA)x
  • Hanya latih A dan B—jumlah parameter jauh lebih sedikit

QLoRA: LoRA Terkuantisasi

QLoRA (Dettmers dkk. 2023) semakin mengurangi biaya dengan mengkuantisasi model dasar menjadi 4-bit selama pelatihan:

  • Model dasar dalam NF4 (4-bit)
  • Adaptor LoRA dengan presisi lebih tinggi
  • Memungkinkan penyetelan halus 70B pada satu A100/H100

Setup with peft + transformers

# pip install peft transformers bitsandbytes
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained(
    'meta-llama/Llama-3.1-8B-Instruct',
    load_in_4bit=True,        # QLoRA
    device_map='auto'
)

lora_config = LoraConfig(
    r=16,                     # rank
    lora_alpha=32,
    target_modules=['q_proj', 'v_proj'],
    lora_dropout=0.05,
    bias='none'
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# trainable params: ~0.5% of total

Training Loop with TRL

from trl import SFTTrainer

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    tokenizer=tokenizer,
    args=TrainingArguments(
        per_device_train_batch_size=4,
        gradient_accumulation_steps=4,
        learning_rate=2e-4,
        num_train_epochs=3,
        output_dir='./lora-out'
    )
)
trainer.train()
model.save_pretrained('./adapter')

Menggunakan Unsloth

Unsloth adalah pustaka LoRA tercepat—2x lebih cepat daripada peft biasa. Antarmuka yang dapat langsung digunakan:

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name='meta-llama/Llama-3.1-8B-Instruct',
    load_in_4bit=True
)
model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj', 'gate_proj', 'up_proj', 'down_proj']
)

Perkiraan Biaya

QLoRA pada Llama 3.1 8B dengan 10k contoh:

  • ~4 jam pada satu H100
  • ~$5–10 untuk biaya GPU komputasi awan
  • Berkas adaptor: 100–300 MB

Memilih Peringkat r

  • r = 8—minimal, untuk perubahan format/gaya
  • r = 16–32—sebagian besar kasus
  • r = 64+—perilaku baru yang substansial, dengan kapasitas lebih besar

Modul Sasaran

Secara default, gunakan proyeksi perhatian (q, v). Untuk kapasitas yang lebih besar, sertakan semua lapisan linier—kualitas lebih baik dengan lebih banyak parameter.

Hiperparameter yang Penting

  • Laju pembelajaran—1e-4 hingga 5e-4 adalah nilai yang umum
  • Epoch—2–5 untuk SFT
  • Ukuran kelompok—bergantung pada VRAM; gunakan akumulasi gradien untuk menyimulasikan ukuran yang lebih besar

Menggabungkan Adaptor ke Model Dasar

Untuk inferensi, Anda dapat menggabungkan kembali LoRA ke dalam bobot dasar:

merged = model.merge_and_unload()
merged.save_pretrained('./full-model')

Menyediakan Beberapa LoRA

vLLM mendukung penggantian LoRA secara langsung saat inferensi. Ini berguna untuk penyetelan halus per pelanggan pada model dasar bersama:

llm = LLM(model='base', enable_lora=True, max_lora_rank=64)
response = llm.generate(prompt, lora_request=LoRARequest('customer-a', 1, './customer-a-adapter'))

Mengevaluasi Adaptor

Selalu jalankan set evaluasi milik YOUR pada model yang disetel. Terkadang hasil penyetelan lebih buruk pada kasus-kasus khusus—bersikaplah jujur tentang regresi.

Keunggulan LoRA

Apakah keunggulan praktis utama LoRA dibandingkan penyetelan halus penuh?

Ringkasan

LoRA + QLoRA = penyetelan halus yang hemat biaya. Gunakan Unsloth untuk kecepatan, serta peft/TRL untuk cakupan luas. Gunakan peringkat 16–32 untuk sebagian besar kasus. Lakukan evaluasi terhadap set acuan Anda.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “LoRA dan QLoRA untuk Penyetelan Hemat Biaya” gratis?

Ya — teks lengkap “LoRA dan QLoRA untuk Penyetelan Hemat Biaya” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “LoRA dan QLoRA untuk Penyetelan Hemat Biaya”?

Latih hanya adaptor peringkat rendah pada basis terkuantisasi — cukup untuk menyetel halus model 70B pada satu GPU. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “LoRA dan QLoRA untuk Penyetelan Hemat Biaya” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Saat Penyetelan Halus Lebih Unggul daripada Pemberian Perintah
  2. Pengumpulan Data: Trajektori dan Pemutaran Ulang Jejak
  3. LoRA dan QLoRA untuk Penyetelan Hemat Biaya
  4. Mengevaluasi Model yang Disetel vs Basis
← Kembali ke AI Agents