Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

LoRA (Low-Rank Adaptation)

LoRA, ağırlıkları dondurup küçük, düşük ranklı güncelleme matrislerini eğiterek büyük modellerde ince ayar yapar; böylece eğitilebilir parametreleri, bellek kullanımını ve depolama gereksinimini azaltır.

LoRA, Low-Rank Adaptation ifadesinin kısaltmasıdır ve büyük bir önceden eğitilmiş modeli yeni bir göreve uyarlayan parametre verimli ince ayar (PEFT) yöntemidir. Seçili katmanların özgün ağırlıklarını dondurur ve bu katmanlarla birlikte küçük bir matris çifti eğitir. Matrislerin çarpımı, dondurulmuş ağırlıklara eklenen düşük dereceli bir güncellemedir; bu nedenle parametrelerin yalnızca çok küçük bir bölümü gradyan alır. Hu ve Microsoft'taki çalışma arkadaşları tarafından 2021'de tanıtılan LoRA, GPT-3 175B modelinde eğitilebilir parametre sayısını 10.000 kat, GPU belleği kullanımını ise Adam ile tam ince ayara kıyasla 3 kat azalttı; RoBERTa, DeBERTa, GPT-2 ve GPT-3'te tam ince ayarla aynı veya daha iyi kaliteyi sağladı. Günümüzde LoRA, mütevazı donanımlarda büyük dil modellerini (LLM'ler), difüzyon modellerini ve görüntü Transformer'larını özelleştirmek için yaygın biçimde kullanılıyor. IoT cihazları için uzun menzilli radyo protokolü olan LoRa ise bununla ilgisiz bir terimdir.

LoRA Nasıl Çalışır#

İnce ayar, önceden eğitilmiş W ağırlık matrisini d × k boyutunda bir ΔW güncellemesiyle değiştirir. LoRA, bu güncellemenin düşük bir içsel dereceye sahip olduğunu varsayar; bu nedenle iki ince matrisin çarpımı olarak yazılabilir: ΔW = B × A. Burada A, r × k; B ise d × r boyutundadır ve r derecesi d veya k'den çok daha küçüktür. Katmanın çıktısı h = Wx + (α / r) × BAx olur; α sabit bir ölçekleme katsayısıdır. A küçük rastgele değerlerle, B ise sıfırlarla başlatılır; böylece eğitim tam olarak önceden eğitilmiş modelden başlar. Geri yayılım sırasında yalnızca A ve B güncellenir; bu sayede dondurulmuş tüm ağırlıkların optimizer durumu da ortadan kalkar.

4096 × 4096 boyutlarında bir izdüşümde tam ince ayar yaklaşık 16,8 milyon ağırlığı eğitirken, 8 dereceli bir adaptör 8 × (4096 + 4096) = 65.536 ağırlık eğitir. Aşağıdaki PyTorch betiği böyle bir adaptör oluşturur ve onu dondurulmuş katmana birleştirir:

import torch
from torch import nn

# A frozen pretrained 4096 x 4096 projection, like one in a transformer attention block
base = nn.Linear(4096, 4096).requires_grad_(False)

# LoRA's trainable rank-8 update: B @ A, scaled by alpha / r
# B starts at zero, so the adapted layer initially matches the pretrained one
r, alpha = 8, 16
A = nn.Parameter(torch.randn(r, 4096) * 0.01)
B = nn.Parameter(torch.zeros(4096, r))
trainable = A.numel() + B.numel()
total = trainable + sum(p.numel() for p in base.parameters())
print(f"Trainable: {trainable:,} of {total:,} parameters ({trainable / total:.2%})")

# After training, merge the update into the base weight so inference costs nothing extra
nn.init.normal_(B, std=0.01)  # stand-in for trained values
x = torch.randn(2, 4096)
adapted = base(x) + (alpha / r) * (x @ A.T @ B.T)
merged = nn.functional.linear(x, base.weight + (alpha / r) * B @ A, base.bias)
print(f"Merged layer matches adapter output: {torch.allclose(adapted, merged, atol=1e-5)}")

Adaptör, katmanın 16.846.848 parametresinden 65.536'sını, yani %0,39'unu eğitir; B × A'yı W içine katlamak, adaptörün ayrı çalıştırılmasıyla aynı çıktıları verir. Bu nedenle birleştirilmiş LoRA modelleri özgün model kadar hızlı çalışır. Bu, her ileri geçişe ek hesaplama yükü getiren önceki adaptör katmanlarına kıyasla önemli bir avantajdır.

LoRA'yı Uygulamada Kullanma#

Özgün makale yalnızca Transformer'ın dikkat sorgu ve değer izdüşümlerini uyarladı; birçok güncel tarif ise tüm doğrusal katmanları hedefliyor. Derece ve α temel hiperparametrelerdir: Hugging Face PEFT kütüphanesinin varsayılanı r = 8 ve α = 8'dir. Temel model değişmeden kaldığından, tek bir dağıtım modelin tek bir kopyasını tutup göreve özel küçük adaptörleri devreye alıp çıkarabilir. GPT-3 175B'nin sorgu ve değer izdüşümlerinde 4 derecesi kullanıldığında her uyarlanmış kontrol noktası 350 GB'tan yaklaşık 35 MB'a, yani yaklaşık 10.000 kat küçülür.

  • Dil modelleri: Ekipler, açık LLM'leri tek bir GPU'da bir alana, üsluba veya talimat biçimine uyarlar; çoğu zaman LoRA'yı talimat ince ayarı verileriyle birleştirir.
  • Görüntü üretimi: LoRA dosyaları, Stable Diffusion ve benzeri modellere bir karakteri, ürünü veya sanat tarzını öğretir; temel kontrol noktasından ayrı paylaşılır ve üst üste uygulanabilir.
  • Görüntü ve çok kipli modeller: Adaptörler, omurgayı yeniden eğitmeden görüntü Transformer'larını ve görüntü-dil modellerini (VLM'ler) tıbbi, endüstriyel veya belge görüntülerine göre özelleştirir.

Türler#

  • QLoRA: Temel modeli 4 bitlik NormalFloat hassasiyetinde dondurur ve üzerine LoRA adaptörleri eğitir. Dettmers ve çalışma arkadaşları, tam 16 bitlik ince ayar performansını korurken 65 milyar parametreli bir modeli tek bir 48 GB GPU'da ince ayarlamak için bu yöntemi kullandı.
  • DoRA: Önceden eğitilmiş her ağırlığı büyüklük ve yön olarak ikiye ayırır, LoRA'yı yalnızca yöne uygular. Böylece aynı çıkarım maliyetinde tam ince ayarla arasındaki doğruluk farkı daralır.
  • Parametre verimli ince ayar: Bir modelin yalnızca küçük bir bölümünü eğiten yöntemlerin genel adıdır. Katmanları dondurmak en basit biçimidir ve Ultralytics YOLO bunu freeze eğitim argümanı olarak sunar; bu argüman, bir YOLO26 modelinin ilk N katmanını önceden eğitilmiş ağırlıklarında tutarken geri kalanını eğitir.
  • Tam ince ayar: Her ağırlığı günceller ve her görev için modelin tam boyutlu bir kopyasını depolar. Programlama ve matematik görevlerinde tam ince ayar, standart LoRA'dan önemli ölçüde daha iyi performans gösterdi; LoRA ise temel modelin diğer becerilerinde daha az yıkıcı unutma yaşadı.
  • İstem ayarı: Tüm model ağırlıkları donmuş kalırken girdinin başına eklenen yumuşak istem gömmeleri öğrenir.
  • Aktarım öğrenmesi: Bir görevdeki bilgiyi başka bir görevde yeniden kullanmanın genel adıdır. LoRA bunu yapmanın verimli yollarından biridir.
  • Model birleştirme: Ayrı ayrı ince ayarı yapılmış modellerin ağırlıklarını birleştirir. Birkaç LoRA adaptörünü tek bir temel modelde birleştirmek bunun yaygın bir örneğidir.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla