Transformers documentation

Eğitim için torch.compile

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 torch.compile

torch.compile, PyTorch kodunu daha hızlı çalışması için füzyonlu çekirdeklere derler. Eğitim için hem ileri hem de geri geçişi birlikte izler ve bunları optimize edilmiş çekirdeklere derler; bu sayede bireysel op başlatma maliyetini azaltır ve bellek bant genişliği kullanımını kesmek için işlemleri füzyonlar.

Bunu etkinleştirmek için TrainingArguments içinde torch_compile=True değerini ayarlayın. Eğitim, yalnızca ileri geçişi derleyen çıkarımın aksine hem ileri hem de geri geçişi derler. Derleme ilk eğitim adımında gerçekleştiğinden, bu adımın sonraki adımlara kıyasla belirgin şekilde daha yavaş olmasını bekleyin.

from transformers import TrainingArguments

args = TrainingArguments(
    ...,
    torch_compile=True,
    torch_compile_backend="inductor",
    torch_compile_mode="reduce-overhead",
)

Arka uç

Arka uç belirtilmediğinde, TrainingArguments donanımınıza göre bir arka uç seçer. Çoğu CPU ve GPU'da varsayılan, AOTAutograd ile Triton çekirdeklerine derlenen ve çoğu eğitim iş yüküne uygun olan inductor'dır. Intel Gaudi (HPU) üzerinde varsayılan hpu_backend'dir. AWS Trainium ve Inferentia (Neuron) üzerinde varsayılan neuron'dur.

Sabit şekilli girdiler için cudagraphs kullanın.

Derleme modu

torch.compile modu seçmenize yardımcı olmak için aşağıdaki tabloyu kullanın.

modeaçıklama
defaultderleme süresi ile çalışma süresi arasında denge
reduce-overheadekstra bellek maliyeti karşılığında CUDA grafikleri kullanarak Python/CPU yükünü azaltır
max-autotunederleme sırasında birden çok çekirdek uygulamasını test eder ve en hızlısını seçer (derleme süresi daha uzun)
max-autotune-no-cudagraphsCUDA grafikleri olmadan max-autotune ile aynı

Sonraki adımlar

Update on GitHub