Transformers documentation

Eğitim için çekirdekler

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

and get access to the augmented documentation experience

to get started

Eğitim için çekirdekler

Özel çekirdekler, matris çarpımı, dikkat (attention) ve normalizasyon gibi belirli işlemleri daha hızlı çalıştırmak için hedeflenir. Birden fazla işlemi tek bir çekirdekte birleştirmek, GPU belleğine daha az okuma ve yazma yapılması sayesinde bellek bant genişliği kullanımını azaltır ve işlem başına başlatma (launch) maliyetini düşürür.

Hub çekirdekleri

Hub, KernelConfig ile yükleyebileceğiniz topluluk çekirdeklerini barındırır. Yapılandırmayı from_pretrained() içindeki kernel_config parametresine iletin. Çekirdek yüklendikten sonra eğitim için etkin hale gelir. Kullanılabilir tüm seçenekler için Çekirdekleri yükleme kılavuzunu okuyun.

from transformers import AutoModelForCausalLM, KernelConfig

kernel_config = KernelConfig(
    kernel_mapping={
        "RMSNorm": "kernels-community/liger-kernels:LigerRMSNorm",
    }
)
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B",
    use_kernels=True,
    kernel_config=kernel_config,
)

Liger

Liger Kernel, RMSNorm, RoPE, SwiGLU, CrossEntropy ve FusedLinearCrossEntropy gibi katmanları tek bir Triton çekirdeğinde birleştirir. FlashAttention, FSDP ve DeepSpeed ile uyumludur; bellek kullanımını azaltırken çoklu GPU eğitim verimliliğini artırır ve bu sayede daha büyük sözlükler, parti boyutları ve bağlam uzunlukları uygulanabilir hale gelir.

pip install liger-kernel

use_liger_kernel=True değerini TrainingArguments içinde ayarlayarak ilgili model katmanlarını Liger'ın çekirdekleriyle yamalayın.

Desteklenen modellerin tam listesi için patching sayfasına bakın.

from transformers import TrainingArguments

training_args = TrainingArguments(
    ...,
    use_liger_kernel=True
)

Hangi katmanların yamalanacağını kontrol etmek için liger_kernel_config'i bir dict olarak iletin. Kullanılabilir seçenekler modele göre değişir ve şunları içerir: rope, swiglu, cross_entropy, fused_linear_cross_entropy, rms_norm vb.

from transformers import TrainingArguments

training_args = TrainingArguments(
    ...,
    use_liger_kernel=True,
    liger_kernel_config={
        "rope": True,
        "cross_entropy": True,
        "rms_norm": False,
        "swiglu": True,
    }
)

Sonraki adımlar

  • FlashAttention gibi bellek kullanımını azaltan çekirdekler hakkında ayrıntılar için Dikkat arka uçları kılavuzuna bakın.
  • Tüm eğitim adımınız için ileri ve geri geçişleri nasıl derleyeceğinizi öğrenmek için torch.compile kılavuzuna bakın.
Update on GitHub