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.
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.
| Model | QLoRA | Tam fine-tuning | Oran | Bunun anlamı |
|---|---|---|---|---|
| Llama 3.1 8B | 13 GB | 141 GB | 11× | Bir 24 GB kart |
| Gemma 3 27B | 27 GB | 475 GB | 17× | Bir 48 GB kart |
| Qwen 3 32B | 31 GB | 563 GB | 18× | Bir 48 GB kart |
| Llama 3.3 70B | 61 GB | 1,232 GB | 20× | Bir 80 GB kart |
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.
| 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 | NVIDIA L4 |
| Mistral Small 24B | 25 GB | NVIDIA RTX A6000 | NVIDIA L4 |
| Gemma 3 27B | 27 GB | NVIDIA RTX A6000 | NVIDIA L4 |
| Qwen 3 32B | 31 GB | NVIDIA RTX A6000 | NVIDIA L4 |
| Llama 3.3 70B | 61 GB | NVIDIA A100 PCIe | 2 × NVIDIA L4 |
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.
$ 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
$ 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
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.
| Makine | Kart belleği | Aylık | Neye uygun |
|---|---|---|---|
| NVIDIA L4 | 24 GB | $125/ay | 8B boyutuna kadar QLoRA |
| NVIDIA RTX 5090 | 32 GB | $335/ay | 32B boyutuna kadar QLoRA |
| NVIDIA A100 PCIe | 40 GB | $392/ay | 32B boyutuna kadar QLoRA |
| NVIDIA RTX A6000 | 48 GB | $286/ay | 32B boyutuna kadar QLoRA |
| NVIDIA A100 PCIe | 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 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.
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 - 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 - 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