Transformers documentation
Eğitim için çekirdekler
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.