• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

Dil modellerinde adapter nedir? Parametre verimli uyarlama ve LoRA farkı

Garfield

YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
664
Mesajlar
689
AI Seviyesi
Yeni
Adapter, dil modellerini yeni bir göreve uyarlamak için ana ağa eklenen küçük, eğitilebilir modüldür. Ana modelin ağırlıkları çoğunlukla dondurulur; görev için adapter parametreleri öğrenilir. Böylece her görevde bütün modelin ayrı bir kopyasını eğitmek yerine daha küçük bir uyarlama kaydı tutulabilir. Bu rehber, parametre verimli uyarlamadaki darboğaz adapter yaklaşımını anlatır.

Darboğaz ve residual bağlantı nasıl çalışır?​


Gizli temsilin son boyutu d olsun. Adapter bu temsili daha küçük r boyutuna indirir, doğrusal olmayan bir dönüşüm uygular ve yeniden d boyutuna çıkarır. Yaygın akış h + up(activation(down(h))) biçimindedir. Toplama yapılabilmesi için yukarı projeksiyonun çıktısı ile h aynı şekle sahip olmalıdır.

Örneğin (batch, sequence, 8) giriş, r=2 ile içeride (batch, sequence, 2) olur ve çıkışta yeniden 8 özelliğe döner. Küçük r, daha az parametre demektir; daha iyi görev başarısını tek başına garanti etmez.

Neyi dondurup neyi eğitirsiniz?​


BileşenYaygın seçimKontrol
Ana modelAğırlıklar dondurulur.requires_grad=False ve optimizer dışında olmalıdır.
AdapterGöreve göre eğitilir.İndirgeme/yükseltme boyutları ve residual şekli eşleşmelidir.
Görev başlığıGerekiyorsa ayrıca eğitilir.Çıkış sınıfları veya hedef şekliyle uyumlu olmalıdır.
Normalizasyon gibi ek parametrelerSeçilen yönteme göre açılabilir.Hangi parametrelerin eğitildiğini açıkça kaydedin.

Ana ağırlıkları dondurmak ile bütün ileri hesabı no_grad() içine almak aynı şey değildir. Adapter'ın bulunduğu eğitim yolunda gradyan akışını keserseniz adapter da öğrenemeyebilir. Eğitilecek parametreleri seçin, optimizer'a bu parametreleri verin ve geri yayılım sonrası gradyanlarını kontrol edin.

Küçük bir PyTorch örneği​


Aşağıdaki kod yalnız şekil, residual bağlantı ve dondurma mekanizmasını gösterir. Rastgele oluşturulan doğrusal katman, önceden eğitilmiş dil modeli değildir; örnek dil anlama başarısı ölçmez ve model indirmez.

Python:
import torch
from torch import nn

class BottleneckAdapter(nn.Module):
    def __init__(self, hidden_size=8, bottleneck_size=2):
        super().__init__()
        self.down = nn.Linear(hidden_size, bottleneck_size)
        self.activation = nn.GELU()
        self.up = nn.Linear(bottleneck_size, hidden_size)

    def forward(self, h):
        return h + self.up(self.activation(self.down(h)))

backbone = nn.Linear(8, 8)
for parameter in backbone.parameters():
    parameter.requires_grad = False

model = nn.Sequential(backbone, BottleneckAdapter())
optimizer = torch.optim.AdamW(
    (p for p in model.parameters() if p.requires_grad), lr=1e-3
)

x = torch.randn(3, 5, 8)
optimizer.zero_grad()
output = model(x)
loss = output.square().mean()
loss.backward()
optimizer.step()

print("Çıktı şekli:", tuple(output.shape))  # (3, 5, 8)
print("Eğitilebilir parametre:", sum(
    p.numel() for p in model.parameters() if p.requires_grad
))  # 42

Gerçek uygulamada adapter'ın ana modelin hangi bloklarına yerleştirildiğini ve hangi modüllerin eğitildiğini kaydedin. Görev başarısını ayrı doğrulama verisinde ölçün; az parametre eğitmek, kötü veriyi veya yanlış hedef tanımını düzeltmez. Yaklaşımın birincil örneği Houlsby ve arkadaşlarının parametre verimli NLP uyarlama çalışmasıdır.

Adapter ile LoRA aynı mı?​


Hayır. Buradaki adapter, gizli temsile çalışan ek bir darboğaz modülüdür. LoRA ise seçilen ağırlık matrisleri için düşük rütbeli güncellemeler öğrenir. İkisi de parametre verimli uyarlama ailesindedir; aynı parametre dosyası veya yerleştirme biçimiyle birbirinin yerine kullanılmaz.

Sık sorulan sorular​

Yalnız adapter dosyası modeli çalıştırmaya yeter mi?​

Genellikle hayır. Uyumlu ana model sürümü, ilgili yapılandırma ve tokenizer da gerekir. Adapter'ın hangi temel modelle eğitildiğini ve eğitilen ek modülleri kayıtla birlikte saklayın.

Adapter her zaman daha hızlı ve daha başarılı mı?​

Hayır. Daha az eğitilebilir parametre depolama ve optimizer durumunu azaltabilir; ana modelin ileri hesabı ve ek modüller hâlâ maliyetlidir. Gerçek hız, bellek ve görev kalitesini kendi koşullarınızda ölçün.
 
Son düzenleme:

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic
Geri
Üst