Rilasciata la versione 2.0 di PyTorch

Il framework open source per la creazione modelli di apprendimento automatico ha raggiunto la seconda major release.

Avatar di Dario Orlandi

a cura di Dario Orlandi

PyTorch ha rilasciato la release PyTorch 2.0, che era stata annunciata a febbraio durante l’ultima PyTorch Conference. PyTorch è un framework open source generico per sviluppare soluzioni di machine learning.

La nuova versione di PyTorch offre una migliore esperienza utente, mentre migliora il suo modo di operare a livello di compilatore, fornendo prestazioni più veloci e supporto per Dynamic Shapes e Distributed.

PyTorch 2.0 include una versione stabile di Accelerated Transformers (precedentemente chiamata Better Transformers) e offre API aggiornate, come torch.compile come API principale e scaled_dot_product_attention come parte di torch.nn.functional.

Oltre ai miglioramenti tecnici, PyTorch ha anche rilasciato una serie di aggiornamenti beta per le sue librerie, comprese quelle in-tree, e librerie separate come TorchAudio, TorchVision e TorchText.

La nuova versione di PyTorch è stata sviluppata grazie al contributo di oltre 428 collaboratori che hanno effettuato oltre 4.541 commit. PyTorch 2.0 è già disponibile per il download e l'utilizzo, e la comunità è invitata a provarlo e segnalare eventuali problemi per contribuire al suo miglioramento continuo.

Modelli compilati

Torch.compile è l'API principale di PyTorch 2.0, il cui compito è effettuare il wrapping del modello e restituire un modello compilato, basato sulla tecnologia TorchInductor. Questa tecnologia utilizza il compilatore di deep learning OpenAI Triton per generare codice performante e nascondere i dettagli hardware di basso livello.

I trasformatori accelerati introducono l'architettura kernel personalizzata per SPDA, che migliora le prestazioni di addestramento e inferenza. Il backend Metal Performance Shaders (MPS) consente training accelerato da GPU su piattaforme Mac, con supporto per oltre 300 operatori.

Amazon AWS ottimizza l'inferenza sulle istanze C7g basate su AWS Graviton3, migliorando le prestazioni di inferenza per modelli come Resnet50 e Bert. PyTorch 2.0 presenta anche nuove funzioni e tecnologie in fase di prototipo come TensorParallel, DTensor, 2D parallel, TorchDynamo, AOTAutograd, PrimTorch e TorchInductor.