Maliyet Verimli Ayar için LoRA ve QLoRA
Yalnızca nicemlenmiş bir temel model üzerindeki düşük dereceli bağdaştırıcıları eğitin — tek bir GPU üzerinde 70B ince ayarına sığar.
Maliyet Verimli Ayar için LoRA ve QLoRA, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
PEFT Neden Kullanılır?
Llama 70B üzerinde tam ince ayar yapmak 8 veya daha fazla H100 gerektirir ve 70 milyar parametreyi günceller. PEFT (Parametre Verimli İnce Ayar), benzer kaliteyle parametrelerin %1'inden daha azını günceller. Bu, maliyette büyük tasarruf sağlar.
LoRA: Düşük Dereceli Uyarlama
LoRA (Hu ve ark. 2021), dondurulmuş temel ağırlıkların yanında küçük adaptör matrislerini eğitir:
- A'nın dxr ve B'nin rxd olduğu, r'nin küçük bir değer (8, 16, 64) olduğu A x B matrislerini ekleyin
- İleri geçiş: y = Wx + (BA)x
- Yalnızca A ve B'yi eğitin; parametre sayısı kat kat daha azdır
QLoRA: Nicemlenmiş LoRA
QLoRA (Dettmers ve ark. 2023), eğitim sırasında temel modeli 4 bit olarak nicemleyerek maliyeti daha da düşürür:
- Temel model NF4 (4 bit) biçimindedir
- LoRA adaptörleri daha yüksek duyarlıkta tutulur
- 70B boyutunda bir ince ayarı tek bir A100/H100 üzerine sığdırır
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 totalTraining 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')Unsloth Kullanımı
Unsloth, en hızlı LoRA kitaplığıdır; standart peft'ten 2 kat daha hızlıdır. Doğrudan kullanılabilen bir API sunar:
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']
)Maliyet Tahmini
10 bin örnekle Llama 3.1 8B üzerinde QLoRA:
- Tek bir H100 üzerinde yaklaşık 4 saat
- Bulut GPU maliyeti yaklaşık 5-10 ABD doları
- Adaptör dosyası: 100-300 MB
r Derecesini Seçme
- r = 8 — en düşük düzey; biçim ve üslup değişiklikleri
- r = 16-32 — çoğu durum
- r = 64+ — önemli yeni davranışlar ve daha fazla kapasite
Hedef Modüller
Varsayılan olarak dikkat izdüşümlerini (q, v) hedefleyin. Daha fazla kapasite için tüm doğrusal katmanları dahil edin; kalite artar, ancak parametre sayısı da yükselir.
Önemli Hiperparametreler
- Öğrenme hızı — 1e-4 ile 5e-4 arası tipiktir
- Dönem sayısı — SFT için 2-5
- Yığın boyutu — VRAM'e bağlıdır; daha büyük bir yığını taklit etmek için gradyan biriktirme kullanın
Adaptörü Temel Modele Birleştirme
Çıkarım sırasında LoRA'yı temel ağırlıklara geri birleştirebilirsiniz:
merged = model.merge_and_unload()
merged.save_pretrained('./full-model')Birden Çok LoRA Sunma
vLLM, çıkarım sırasında LoRA'ları çalışırken değiştirmeyi destekler. Bu, ortak bir temel model üzerinde müşteri başına ince ayar yapmak için kullanışlıdır:
llm = LLM(model='base', enable_lora=True, max_lora_rank=64)
response = llm.generate(prompt, lora_request=LoRARequest('customer-a', 1, './customer-a-adapter'))Adaptörü Değerlendirme
YOUR değerlendirme kümesini her zaman ayarlanmış model üzerinde çalıştırın. İnce ayar sonucu model bazı uç durumlarda daha kötü olabilir; gerilemeler konusunda dürüst olun.
LoRA'nın Avantajı
LoRA'nın tam ince ayara göre temel pratik avantajı nedir?
Özet
LoRA + QLoRA = maliyet verimli ince ayar. Hız için Unsloth, kapsamlı kullanım için peft/TRL kullanın. Çoğu durumda 16-32 derecesini seçin. Altın kümenize göre değerlendirme yapın.
Yapay zeka eğitmeniyle AI Agents öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 60
- Dersler
- 239
Sıkça Sorulan Sorular
“Maliyet Verimli Ayar için LoRA ve QLoRA” dersi ücretsiz mi?
Evet — “Maliyet Verimli Ayar için LoRA ve QLoRA” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“Maliyet Verimli Ayar için LoRA ve QLoRA” dersinde ne öğreneceğim?
Yalnızca nicemlenmiş bir temel model üzerindeki düşük dereceli bağdaştırıcıları eğitin — tek bir GPU üzerinde 70B ince ayarına sığar. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Maliyet Verimli Ayar için LoRA ve QLoRA” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İnce Ayarın İstem Yazmaktan Daha İyi Olduğu Durumlar
- Veri Toplama: İzler ve İz Tekrarı
- Maliyet Verimli Ayar için LoRA ve QLoRA
- Ayarlanmış Modelleri Temel Modelle Karşılaştırarak Değerlendirme