PEFT documentation

Yardımcı yöntemler

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.21.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Yardımcı yöntemler

PEFT için yardımcı işlevler koleksiyonu.

Bir modelin PEFT modeli olup olmadığını kontrol etme

peft.helpers.check_if_peft_model

< >

( model_name_or_path: str ) → bool

Parametreler

  • model_name_or_path (str) — Kontrol edilecek model kimliği, yerel veya Hugging Face Hub üzerinde olabilir.

Dönüş değeri

bool

Model bir PEFT modeli ise True, aksi halde False.

Modelin bir PEFT modeli olup olmadığını kontrol edin.

LoraLayer Modüllerinde Adapter Ölçeğinin Geçici Olarak Yeniden Ölçeklendirilmesi

peft.helpers.rescale_adapter_scale

< >

( model: Modulemultiplier: float | int )

Parametreler

  • model — Ölçeklemesi ayarlanacak LoraLayer modüllerini içeren model.
  • multiplier (float veya int) — scaling özniteliğini yeniden ölçekleyen çarpan. Tipi float veya int olmalıdır.

Yükseltilen

ValueError

  • ValueError — Model herhangi bir LoraLayer örneği içermiyorsa, modelin ölçeklendirmeyi desteklemediğini gösterir.

Bir modeldeki LoRA adaptörünün ölçeklemesini geçici olarak yeniden ölçeklemek için bağlam yöneticisi.

Bağlam yöneticisi (context manager) çıktığında orijinal ölçekleme değerleri geri yüklenir. Bu bağlam yöneticisi, LoRA adaptörlerini doğrudan yüklemiş olan transformers ve diffusers modelleriyle çalışır.

LoRA için, bu bağlam yöneticisini [0, 1] aralığında bir çarpanla uygulamak, wise-ft uygulamakla (detaylar için #1940 adresine bakın) kesin olarak eşdeğerdir. İnce ayar için kullanılan eğitim verileri ile çıkarım sırasında kullanılan test verileri arasında bir dağılım kayması varsa, modelin performansını iyileştirebilir.

Uyarı: PyTorch için Apple'ın MPS arka ucunun kullanıldığı durumlarda, ölçeklerin tamamen geri yüklenmeden önce bağlamdan çıkıldıktan sonra kısa bir uyku süresi eklenmesi gerektiği bildirilmiştir.

Örnek:

>>> model = ModelWithLoraLayer()
>>> multiplier = 0.5
>>> with rescale_adapter_scale(model, multiplier):
...     outputs = model(**inputs)  # Perform operations with the scaled model
>>> outputs = model(**inputs)  # The original scaling values are restored here

LoRA katmanlarının forward metodunda girdi dtype dönüşümünü devre dışı bırakmak için bağlam yöneticisi

peft.helpers.disable_input_dtype_casting

< >

( model: Moduleactive: bool = True )

Parametreler

  • model (nn.Module) — Giriş dtype dökümünün ayarlanacak olduğu PEFT modüllerini içeren model.
  • active (bool) — Bağlam yöneticisinin etkin (varsayılan) mi yoksa etkisiz mi olduğu.

Bağlam yöneticisi, girdi veri türünün ağırlığın veri türüne dönüştürülmesini devre dışı bırakır.

DoRA önbellekleme özelliğini etkinleştirmek için bağlam yöneticisi (çalışma zamanında daha hızlıdır ancak daha fazla bellek gerektirir)

sınıf peft.helpers.DoraCaching

< >

( enabled: bool = True )

DoRA önbellekleme özelliğini etkinleştiren bağlam yöneticisi; bu özellik, bellek maliyeti karşılığında DoRA çıkarım hızını artırır.

Aktif önbellekleme ile somutlaştırılmış LoRA ağırlığı (B @ A) ve ağırlık normu (temel ağırlık + LoRA ağırlığı) önbelleğe alınır.

Önbellekleme bağlamı içinde bile, model eğitim modundaysa önbellekleme devre dışı bırakılır. Model eğitim moduna geçtiğinde önbellek temizlenir.

Örnek:

>>> from peft.helpers import DoraCaching

>>> model.eval()  # put in eval model for caching to work

>>> with DoraCaching():  # use as a context manager
...     output = model(inputs)

>>> dora_caching = DoraCaching()
>>> dora_caching(enabled=True)  # permanently enable caching
>>> output = model(inputs)
>>> dora_caching(enabled=False)  # permanently disable caching
>>> output = model(inputs)

KappaTune hedef seçimi

KappaTuneSelector ve find_kappa_target_modules, KappaTune makalesinden genel bir hedef seçme süreci uygular.

Yöntem, daha yüksek esnekliğe (daha yüksek çıktı diferansiyel entropisine) ve daha düşük uzmanlaşmaya (belirli giriş yönlerine karşı daha düşük duyarlılığa) sahip modülleri belirler.

Bu özellikler, seçilen modülleri, LoRA, DoRA, LoHa, AdaLoRA ve hatta orijinal ağırlıkların doğrudan ince ayarı dahil olmak üzere eğitilebilir parametreler ekleyen herhangi bir uyarlama yönteminde katastrofik unutmayı azaltmak için iyi adaylar haline getirir.

sınıf peft.helpers.KappaTuneSelector

< >

( model: Modulemax_dim_size_to_analyze: int = 16384moe_param_suffixes: tuple[str, ...] | None = Noneshow_progress: bool = True )

Modül başına / parametre başına koşul sayılarını hesaplamak ve en iyi LoRA hedeflerini döndürmek için hafif bir yardımcı araç.

Destekler:

  • Klasik nn.Linear modülleri (LoraConfig içindeki target_modules)
  • Llama-4, Qwen2_MoE, Qwen3_MoE, Mixtral, OLMoE ve benzeri modellerde kullanılan, 3B nn.Parameter olarak saklanan modern füzyonlu MoE ağırlıkları (gate_up_proj / down_proj, gate_proj / up_proj vb.). Bunlar target_parameters üzerinden döndürülür.

Notlar:

  • Köşegen sayısı (condition number) hesabı SVD çalıştırılmasını gerektirir ve çok büyük modellerde birkaç dakika sürebilir. İlerleme çubuğu show_progress parametresiyle gösterilebilir veya devre dışı bırakılabilir.

peft.find_kappa_target_modules

< >

( model: Moduletop_p: float = 0.2max_dim_size_to_analyze: int = 16384moe_param_suffixes: tuple[str, ...] | None = Noneshow_progress: bool = True )

Parametreler

  • model (nn.Module) — Köşegen sayıları için ağırlıkları analiz edilecek temel model.
  • top_p (float, optional) — En düşük koşul sayılarına sahip aday modül/parametrelerin üst kesrini seçin.
  • max_dim_size_to_analyze (int, optional) — SVD ile analiz edilen maksimum matris boyutunun üst sınırı. Varsayılan değer 16384'tür.
  • moe_param_suffixes (Optional[tuple[str, …]], optional) — target_parameters üzerinden döndürülmesi gereken füzyonlu MoE tensörlerini tanımlamak için kullanılan parametre adı son ekleri. None ise, mantıklı varsayılanlar kullanılır.
  • show_progress (bool, optional) — Aday tensör/modüller üzerinde koşul sayılarının (SVD tabanlı) hesaplanması sırasında ilerleme çubuğu gösterilip gösterilmeyeceğini belirtir. CI veya diğer etkileşimli olmayan ortamlarda devre dışı bırakın. Varsayılan değer True'dur.

KappaTune hedef seçimi için tek satırlık pratik işlev. Hem target_modules hem de target_parameters değerlerini döndürür.

Update on GitHub