Uygulama rehberi · 10 dakikalık okuma

# Tek bir kartta 70B bir modeli fine-tuning yapmak.

QLoRA, bir rack gerektiren bir eğitim işini, tek bir 48 GB'lık GPU gerektiren bir işe dönüştürür. İşte nelerin sığdığı, bir ay için maliyeti ve tekniğin nerede işe yaramamaya başladığı.

Kısa cevap

- **70B'de QLoRA:** ~61 GB — kısa dizi uzunluklarında bir 48 GB karta sığar, 80 GB'lik bir kartta ise rahatça sığar
- **70B modelinin tam fine-tuningi:** ~1,232 GB — çok düğümlü bir küme; bunu kiralamıyoruz
- **Oran:** Çoğu görevde kalitenin çoğuna ulaşan bir teknik için kabaca **20×** daha az bellek
- **Burada maliyeti:** Aylık $286 fiyatından başlayarak, kart yalnızca çalıştırma süresince değil, ayın tamamında sizindir

## Gerçekte sığan

LoRA modeli dondurur ve her ağırlık matrisinin yanına küçük bir çift düşük ranklı matris ekleyip eğitir. QLoRA daha da ileri gider ve dondurulmuş ağırlıkları 4 bitte tutar. Sonuç olarak bellekte tutmanız gereken şey tamamen değişir.

Dondurulmuş ağırlıklar Parametre başına 4 bit 70B bir model için 35 GB. Her adımda okunur, hiç güncellenmez, bu yüzden hiçbir zaman gradyana ihtiyaç duymaz.

Adaptörler Parametrelerin yaklaşık %1–2'si BF16'da bir veya iki gigabayt. Değişen tek ağırlıklar bunlardır ve sonunda elinizde kalan tek şey de budur.

Optimizer durumu Yalnızca adaptörler üzerinde Adam Eğitilen parametre başına iki moment. Tam fine-tuningin hâkim olduğu, burada ise neredeyse kaybolan terim budur.

Aktivasyonlar Değişken olan Batch boyutu ve dizi uzunluğuyla ölçeklenir. Gradient checkpointing, kabaca %30 daha fazla hesaplama karşılığında büyük bir azalma sağlar — bir çalıştırma sığmadığında başvurulan olağan kaldıraçtır.

## Tam fine-tuningin neden durmadığı

BF16'da tam fine-tuning, parametre başına yaklaşık 16 bayt gerektirir: ağırlık için 2, gradyanı için 2 ve FP32'de Adam'ın iki momenti için 8, artı ana kopya. Bu sabit bir çarpandır ve acımasızdır.

**Eğitim belleği: QLoRA ile tam fine-tuning karşılaştırması**

| Model | QLoRA | Tam fine-tuning | Oran | Bunun anlamı |
|---|---|---|---|---|
| Llama 3.1 8B 8B parametre | 13 GB | 141 GB | 11× | Bir 24 GB kart Tam: 8 GPU'lu bir düğüm |
| Gemma 3 27B 27B parametre | 27 GB | 475 GB | 17× | Bir 48 GB kart Tam: 8 GPU'lu bir düğüm |
| Qwen 3 32B 32B parametre | 31 GB | 563 GB | 18× | Bir 48 GB kart Tam: 8 GPU'lu bir düğüm |
| Llama 3.3 70B 70B parametre | 61 GB | 1,232 GB | 20× | Bir 80 GB kart Tam: birden fazla düğüm |

Bunlar, aktivasyonlar için makul bir pay bırakılmış büyüklük mertebesi rakamlarıdır: bir makine seçmeye yeter, belirli bir çalıştırmayı garanti etmeye yetmez. Dizi uzunluğu ve batch boyutu QLoRA sütununu önemli ölçüde değiştirir; tam fine-tuning sütunu ise neredeyse hiç değişmez, çünkü parametre başına sabit 16 bayt burada baskındır.

## Modele göre

Kataloğumuzda her modeli QLoRA ile eğitebilecek en ucuz düğüm, sonucu sunmak için ihtiyaç duyacağınız makineyle birlikte.

**QLoRA eğitimi ve sonucu sunmak için en ucuz düğüm**

| Model | Eğitim belleği | Eğitim için en ucuz düğüm | Sunum için en ucuz düğüm |
|---|---|---|---|
| Llama 3.1 8B | 13 GB | [NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) kart başına 24 GB · $125/ay | [NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) $125/ay |
| Mistral Small 24B | 25 GB | [NVIDIA RTX A6000](https://gpuserver.io/tr/gpu/rtx-a6000) kart başına 48 GB · $286/ay | [NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) $125/ay |
| Gemma 3 27B | 27 GB | [NVIDIA RTX A6000](https://gpuserver.io/tr/gpu/rtx-a6000) kart başına 48 GB · $286/ay | [NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) $125/ay |
| Qwen 3 32B | 31 GB | [NVIDIA RTX A6000](https://gpuserver.io/tr/gpu/rtx-a6000) kart başına 48 GB · $286/ay | [NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) $125/ay |
| Llama 3.3 70B | 61 GB | [NVIDIA A100 PCIe](https://gpuserver.io/tr/gpu/a100-80gb) kart başına 80 GB · $1,091/ay | [2 × NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) $285/ay |

Eğitim bellek ister; çıkarım ise bellek *ve* bant genişliği ister. Doğru eğitim kartının ucuz ve büyük bellekli, doğru çıkarım kartının ise pahalı ve hızlı olması sık görülür — ve burada ikisi de aylık olduğundan, iki ayrı makinede çalıştırmak genellikle tek bir kartta uzlaşmaktan daha ucuzdur.

## Çalıştırmak

Axolotl, yapılandırıcıdaki imajlardan biri olarak önceden kurulu gelir. Bu, boş bir makineden başlayarak tek bir kartta yapılan eksiksiz bir çalıştırmadır.

Tek kartta bir QLoRA çalıştırması

```
$ mkdir -p /scratch/ft && cd /scratch/ft
$ cat > qlora.yml <<'YAML'
base_model: meta-llama/Llama-3.3-70B-Instruct
load_in_4bit: true
adapter: qlora
lora_r: 16
lora_alpha: 32
lora_dropout: 0.05
lora_target_linear: true

sequence_len: 2048
sample_packing: true
gradient_checkpointing: true
micro_batch_size: 1
gradient_accumulation_steps: 16
num_epochs: 2
learning_rate: 0.0001
optimizer: paged_adamw_8bit
bf16: true

datasets:
  - path: /scratch/ft/data.jsonl
    type: chat_template
output_dir: /scratch/ft/out
YAML

$ docker run --rm --gpus all --ipc=host --shm-size=16g \
    -v /scratch/ft:/workspace -v /scratch/models:/root/.cache/huggingface \
    -e HF_TOKEN="$HF_TOKEN" \
    axolotlai/axolotl:main-latest \
    axolotl train /workspace/qlora.yml
```

İlk iki dakika boyunca kaybı değil, belleği izleyin

```
$ nvidia-smi dmon -s um

# If memory sits just under the card's total, you are one long batch
# away from an out-of-memory error four hours into the run.
# Lower sequence_len or micro_batch_size now, not then.
```

## Önemli olan ayarlar

lora_r 16 ile 64 arası Rank, yani kalite-bellek dengesini ayarlayan ana kadran. 16 makul bir varsayılandır; bir format veya stil değil de gerçekten yeni bir bilgi öğretmiyorsanız, 64'ün üzerine çıkmak nadiren kendini amorti eder.

lora_target_linear true Yalnızca attention yerine her doğrusal katmanı uyarlar. Az bir maliyeti vardır ve sürekli olarak yalnızca-attention varsayılanından daha iyi performans gösterir.

sequence_len Tek en büyük bellek kaldıracı Aktivasyonlar bununla orantılı şekilde ölçeklenir. Onu yarıya indirmek belleğinizin değişken kısmını da kabaca yarıya indirir. Bunu modelin azami değerine değil, verinizin gerçekte sahip olduğu uzunluğa ayarlayın.

gradient_checkpointing true, neredeyse her zaman Yaklaşık %30 daha yavaştır ve 70B modelin tek karta sığmasını sağlayan da tam olarak budur. Bunu yalnızca fazladan belleğiniz olduğunda kapatın.

micro_batch_size & accumulation Birini ötekiyle ödünleşin Etkili batch, bunların çarpımıdır. Bellek darken mikro batch değerini 1'de tutun ve birikim sayısını artırın — aynı gradyan, daha düşük tepe bellek, biraz daha yavaş.

optimizer paged_adamw_8bit Güvenlik valfi olarak CPU sayfalamalı sekiz bit optimizer durumları. Aksi halde bir çalıştırmayı dördüncü saatte bitirecek ani yükselmeleri emer.

## Bir ayın maliyeti

Aylık kiralamanın sunumdan çok eğitim için önemli olmasının nedeni şu: bir fine-tuning projesi tek bir çalıştırma değildir. Bir veri hatasıyla başarısız olan ilk çalıştırma, aşırı öğrenen ikincisi, işe yarayan üçüncüsü ve ardından farklı ranklarla beş çalıştırma daha demektir.

**Makineye göre bir fine-tuning projesinin maliyeti**

| Makine | Kart belleği | Aylık | Neye uygun |
|---|---|---|---|
| [NVIDIA L4](https://gpuserver.io/tr/gpu/nvidia-l4) 300 GB/s | 24 GB | $125/ay | 8B boyutuna kadar QLoRA |
| [NVIDIA RTX 5090](https://gpuserver.io/tr/gpu/rtx-5090) 1,792 GB/s | 32 GB | $335/ay | 32B boyutuna kadar QLoRA |
| [NVIDIA A100 PCIe](https://gpuserver.io/tr/gpu/a100-40gb) 1,555 GB/s | 40 GB | $392/ay | 32B boyutuna kadar QLoRA |
| [NVIDIA RTX A6000](https://gpuserver.io/tr/gpu/rtx-a6000) 768 GB/s | 48 GB | $286/ay | 32B boyutuna kadar QLoRA |
| [NVIDIA A100 PCIe](https://gpuserver.io/tr/gpu/a100-80gb) 1,935 GB/s | 80 GB | $1,091/ay | 70B boyutuna kadar QLoRA |

Bunu tek bir çalıştırma yerine bir proje boyunca saatlik fiyatlandırmayla karşılaştırın: [başabaş rehberi](https://gpuserver.io/tr/guides/monthly-vs-hourly) hesaplamayı yapar. Siz denemeler yaparken üç hafta boyunca var olan bir makine, tam olarak bir sayacın bir süreden daha pahalıya geldiği durumdur.

## LoRA'nın artık işe yaramadığı nokta

Gerçek bir sınırı olan çok iyi bir tekniktir ve herhangi bir şey kiralamadan önce bu sınırın hangi tarafında olduğunuzu bilmeye değer.

**Gerçekten yeni bir alan öğretmek.** LoRA davranışı iyi uyarlar ama bilgiyi zayıf ekler. Alanınızı hiç görmemiş bir model, bunu düşük ranklı bir adaptörden öğrenmez.

**Kelime dağarcığını veya tokenizer aracını değiştirmek.** Yeni tokenler için embedding eğitilmesi gerekir, bu da bir adaptörün dokunduğu alanın dışındadır.

**Milyarlarca token üzerinde ön eğitime devam etmek.** Bu, tam fine-tuning sayılır ve yukarıdaki tablonun sağ sütunundaki makineyi gerektirir — bu da tek bir düğümden fazlası ve kiraladığımızdan fazlasıdır.

**Bir kıyaslamanın son iki puanını sıkıştırmak.** Tam fine-tuning marjda hâlâ kazanır. Size ödenen şey bu marjsa, LoRA yanlış araçtır.

Geri kalan her şey için — bir ton, bir format, bir şema, temel modelin zaten yarı yarıya bildiği bir alan — tek bir kartta QLoRA, makinenin bir kısmıyla kalitenin çoğuna ulaşır. Takas budur ve çoğu insanın gerçekte fine-tuning yaptığı modellerde iyi bir takastır.

## Kartı seçin, projenin tamamı boyunca elinizde tutun.

Her yapılandırma aylıktır, root erişimiyle ve sayaçsızdır — bir fine-tune üzerinde deneme yapmanın gerçekte ihtiyaç duyduğu şey de tam olarak budur.

[Katalogda göz atın](https://gpuserver.io/tr/#catalog) [Rehberleri okuyun](https://gpuserver.io/tr/guides)

## Diğer rehberler

- [Ödeme · 8 dk Sunucu için kripto ile ödeme yapmak Ödeme tıklaması ile root alma arasında gerçekte ne olduğu, hangi coinin seçileceği ve ilk ödemede para kaybettiren dört hata. Rehberi okuyun](https://gpuserver.io/tr/guides/pay-in-crypto)
- [Boyutlandırma · 9 dk Bir modelin gerçekte ihtiyaç duyduğu VRAM “Sığar mı” sorusunun arkasındaki hesap: ağırlıklar, KV önbelleği ve kestirme bir kuralın üç katı kadar yanıldığı iki nokta. Rehberi okuyun](https://gpuserver.io/tr/guides/vram-sizing)
- [Boyutlandırma · 7 dk NVLink mi PCIe mi: işiniz için hangisi gerekli Kartlar arası bağlantının işlem hacminizi ne zaman belirlediği, ne zaman değiştirmediği ve yanlış düğüme ödemeden önce hangi durumda olduğunuzu nasıl anlayacağınız. Rehberi okuyun](https://gpuserver.io/tr/guides/nvlink-vs-pcie)

---

Kaynak: https://gpuserver.io/tr/guides/lora-finetune/. Bu dosya, web sitesiyle aynı verilerden üretilir; buradaki bir rakam bir sayfadan farklıysa, o sayfa esas alınır ve bu dosya güncel değildir — asıl kaynak https://gpuserver.io/ adresidir.
