torch.compile() utilizează tehnologiile TorchDynamo și TorchInductor pentru a analiza codul Python la execuție (JIT) și a genera kerneluri GPU fuzionate scrise în limbajul Triton. Comportamentul compilatorului este dictat de parametrul mode:
default: Oferă un echilibru optim între timpul de compilare inițial și viteza de execuție, aplicând fuziune de kerneluri.reduce-overhead: Utilizează CUDA Graphs pentru a elimina overhead-ul de lansare a comenzilor din nucleul Python; ideal pentru loturi mici și inferență cu latență minimă.max-autotune: Rulează căutări empirice exhaustive pentru a selecta cele mai rapide kerneluri de multiplicare matricială și convoluție; timp de compilare ridicat, dar eficiență maximă în producție.
import torch
model = MyTransformerModel().cuda()
# Compilare cu optimizare agresivă pentru server de inferență
compiled_model = torch.compile(model, mode="reduce-overhead")
with torch.inference_mode():
out = compiled_model(input_tensor)
Modelele compilate ating frecvent o creștere de viteză de 30% până la 100% fără modificări ale ponderilor sau arhitecturii.
Întrebări & Exemple practice:
Modurile de Compilare în PyTorch 2: default, reduce-overhead și max-autotuneAi o întrebare despre Modurile de Compilare în PyTorch 2: default, reduce-overhead și max-autotune sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.