Salta al contenuto

PyTorch: definizione e funzionamento

Foto Autore
Contenuto a cura di Roberto Varriale Aggiornato il 4 Novembre 2026 · Lettura: 13 min

PyTorch è una libreria open source per il deep learning, scritta in Python, C++ e CUDA, usata per costruire e addestrare reti neurali. Si basa su tensori accelerati via GPU e su un sistema di differenziazione automatica che costruisce il grafo di calcolo durante l’esecuzione del codice, invece di definirlo in anticipo.

Pytorch in sintesi

  • Cos’è: una libreria open source per il deep learning scritta in Python, C++ e CUDA.
  • Chi la sviluppa: nata in Meta AI, oggi gestita dalla PyTorch Foundation sotto la Linux Foundation, con licenza BSD-3.
  • Come funziona: usa tensori accelerati su GPU e costruisce il grafo di calcolo mentre il codice gira (modalità eager, non lazy).
  • Installazione: si installa con pip install torch torchvision torchaudio, con varianti diverse per CPU, CUDA o ROCm.
  • Diffusione: alla base di prodotti come i sistemi di Tesla, i Transformers di Hugging Face e Pyro di Uber.
  • Alternativa principale: si confronta soprattutto con TensorFlow, con differenze su deployment e curva di apprendimento.

Da dove viene Pytorch e che licenza ha

Pytorch nasce dentro Meta AI, allora Facebook AI Research, e oggi è gestita dalla PyTorch Foundation, una costola della Linux Foundation creata nel settembre 2022 quando Meta ha deciso di affidare la governance del progetto a un ente indipendente. Il codice è distribuito con licenza BSD-3, libera anche per uso commerciale, e gira su Linux, macOS e Windows, con binari per le architetture IA-32, x86-64 e ARM64.

L’interfaccia principale è in Python, il linguaggio su cui si concentra lo sviluppo, ma esiste anche un’interfaccia C++ pensata per chi deve integrare i modelli in applicazioni che non possono dipendere da un interprete Python, per esempio sistemi embedded o motori di inferenza a bassa latenza. Una precisazione utile: il nucleo di calcolo è scritto in C++ e CUDA, Python è lo strato che la maggior parte degli sviluppatori usa per scriverci sopra.

Chi gestisce un sito o un e-commerce incontra il nome Pytorch quasi sempre indirettamente, nella proposta di un fornitore che costruisce sistemi di raccomandazione, chatbot interni o classificatori di immagini dei prodotti. Sapere che è una libreria aperta, e non un servizio a pagamento, aiuta a leggere un preventivo: il costo che si paga è quello del lavoro di chi la usa, non quello di una licenza software. La documentazione ufficiale e il codice sorgente, pubblico su GitHub, restano il riferimento tecnico per chi deve verificare una funzione prima di metterla in produzione.

Come funziona: tensori, grafi dinamici e autograd

Diagramma astratto di un grafo di calcolo costruito dinamicamente con nodi e frecce collegati
Il grafo di calcolo di Pytorch si costruisce durante l’esecuzione del codice, non prima.

Pytorch organizza i dati in tensori, array multidimensionali che assomigliano a quelli di NumPy ma che possono girare su GPU invece che solo su CPU. Su un tensore si eseguono le stesse operazioni che si farebbero con NumPy (somme, prodotti, trasposizioni), con la differenza che, se il tensore vive sulla GPU, il calcolo si distribuisce su migliaia di core in parallelo.

Il motore che rende possibile l’addestramento è torch.autograd: ogni operazione eseguita su un tensore con il flag requires_grad attivo viene registrata in un grafo aciclico diretto, e quando si chiama backward() la libreria percorre il grafo all’indietro e calcola i gradienti con la regola della catena. È il meccanismo di differenziazione automatica che sta dietro alla discesa del gradiente.

La caratteristica che distingue Pytorch è il define-by-run: il grafo si costruisce a ogni esecuzione del codice, non viene compilato prima. Si può inserire un breakpoint Python dentro il passo forward di una rete e ispezionare ogni tensore come in un programma normale, invece di tradurre prima il modello in una struttura separata. È la ragione per cui definisco Pytorch «eager», nel senso che valuta le operazioni man mano che le incontra, e non «lazy», che le accumulerebbe per eseguirle solo alla fine.

Le reti neurali si costruiscono con il modulo torch.nn, che fornisce livelli lineari, convoluzionali e ricorrenti insieme alle funzioni di attivazione, ereditando dalla classe nn.Module. L’ottimizzazione dei pesi passa da torch.optim, con algoritmi come Adam o SGD, mentre torch.utils.data gestisce il caricamento dei dataset a batch.

Dalla versione 2.0, uscita il 15 marzo 2023, Pytorch include anche torch.compile: un compilatore che usa Dynamo per catturare il grafo, AOT Autograd per ottimizzare la fase di backward e Inductor per fondere le operazioni, con un codice che gira fino a due volte più rapido rispetto all’esecuzione eager standard.

Perché Pytorch è così diffusa

Icone astratte collegate da linee che richiamano visione artificiale, linguaggio naturale e reinforcement learning
Le tre aree in cui Pytorch viene usata più spesso: visione artificiale, linguaggio naturale, reinforcement learning.

Pytorch si è affermata soprattutto in tre campi: l’elaborazione del linguaggio naturale, dove alimenta modelli linguistici di grandi dimensioni e sistemi di traduzione automatica; la visione artificiale, con reti convoluzionali e Transformer visivi per riconoscimento e segmentazione delle immagini; il reinforcement learning, con algoritmi come i Deep Q-Network e i metodi a gradiente di policy.

La diffusione non è solo una questione di gusto tra sviluppatori. Secondo una proiezione al 2026 di PyTorch – Market Share, Competitor Insights in Data… (2026), Pytorch risulta usata da oltre 25.571 aziende nel mondo, con gli Stati Uniti che pesano per il 52,87% dei clienti (10.003 aziende) e l’India che segue con il 12,60% (2.384 aziende) nella categoria data science e machine learning. Nello stesso report, TensorFlow mantiene la quota più ampia della categoria, al 37,15% con 36.346 aziende rilevate: le due librerie convivono, non si sono sostituite a vicenda.

Sul fronte della ricerca accademica, Pytorch rappresenta oltre il 55% delle citazioni nei paper recenti, mentre più del 70% dei professionisti di machine learning dichiara di usare Pytorch, TensorFlow o entrambi insieme, secondo PyTorch vs TensorFlow (2026): Which Framework Should… . Lo stesso report colloca Pytorch al 55% della produzione enterprise entro il terzo trimestre del 2025, un dato distinto dalla quota di mercato software misurata da 6sense: il primo misura chi pubblica i modelli in produzione, il secondo il numero di aziende che usano la tecnologia in un dato segmento.

La risposta sulla rilevanza di Pytorch nel 2026 è legata a questi numeri, non a un’impressione: finché la ricerca pubblica la maggioranza dei paper con questa libreria e le aziende la portano in produzione in questa proporzione, resta la scelta con meno rischio per chi deve incaricare uno sviluppatore di modelli di deep learning su misura.

Un caso concreto di cosa significhi in pratica: lavorando con AWS e NVIDIA, l’azienda Deepset ha ottenuto uno speedup di 3,9 volte e una riduzione dei costi di 12,8 volte nell’addestramento di modelli per l’elaborazione del linguaggio naturale basati su Pytorch, secondo Research Archives (2021).

Come si installa Pytorch

Pytorch si installa con un singolo comando pip, ma il comando cambia in base all’hardware della macchina su cui gira l’addestramento.

  1. Verifica se la macchina ha una GPU dedicata NVIDIA, AMD oppure un chip Apple Silicon, perché da questo dipende il pacchetto da scaricare.
  2. Se non hai una GPU dedicata: installa la versione per CPU con pip install torch torchvision torchaudio.
  3. Se hai una GPU NVIDIA: genera il comando con la versione CUDA corretta dalla pagina ufficiale di download, perché il pacchetto dipende dal driver installato.
  4. Se hai una GPU AMD: installa la variante compilata per ROCm, l’alternativa di AMD a CUDA.
  5. Se lavori su un Mac con chip Apple Silicon: l’accelerazione passa per MPS (Metal Performance Shaders) ed è già inclusa nel pacchetto standard, senza un comando separato.

Una volta installata, la libreria si importa con import torch e un controllo rapido come torch.cuda.is_available() dice se l’accelerazione GPU è stata rilevata. Chi affida questa fase a uno sviluppatore interno o a un fornitore esterno può comunque chiedere quale variante hardware è stata installata: è una domanda che separa chi ha verificato l’ambiente di esecuzione da chi ha copiato un comando trovato online.

Pytorch o TensorFlow: come si confrontano

La domanda su quale scegliere tra Pytorch e TensorFlow si pone quasi sempre quando un progetto di machine learning parte da zero, e la risposta dipende da dove userai il modello, più che da quale libreria è migliore in assoluto.

Pytorch e TensorFlow a confronto
Aspetto Pytorch TensorFlow
Grafo di calcolo Dinamico, costruito durante l’esecuzione (eager) Esecuzione eager di default, con opzione di grafo statico in produzione
Curva di apprendimento Sintassi Python diretta, debugging con gli strumenti standard Più passaggi concettuali, soprattutto nelle versioni precedenti alla 2
Deployment TorchScript e ONNX per esportare i modelli TensorFlow Serving e TensorFlow Lite per dispositivi mobili
Uso prevalente Ricerca e, sempre più, produzione enterprise Produzione su larga scala, specie su infrastrutture Google

Per la definizione completa di TensorFlow e delle sue caratteristiche rimando all’articolo dedicato: qui la distinzione utile è che le due librerie risolvono lo stesso problema con un approccio diverso alla costruzione del grafo, e oggi convivono più spesso di quanto si pensi nello stesso stack aziendale.

Un confronto di velocità puro, senza indicare il modello e l’hardware usati, non ha una risposta affidabile: conta piuttosto l’ambito, ricerca o produzione, più che un primato assoluto di velocità tra le due.

Pytorch nei prodotti che usi già

Diverse architetture commerciali di deep learning si appoggiano a Pytorch senza che l’utente finale lo sappia. Tesla la usa per Autopilot, il sistema di guida assistita che elabora in tempo reale le immagini delle telecamere del veicolo. Uber l’ha scelta per Pyro, la libreria di programmazione probabilistica costruita sopra Pytorch. Hugging Face la usa come base per Transformers, la raccolta di modelli linguistici più diffusa tra chi lavora con l’elaborazione del linguaggio naturale.

Sul legame con il chatbot di OpenAI la questione va distinta dal linguaggio di programmazione: Python resta il linguaggio con cui è scritta la maggior parte del codice di OpenAI, mentre Pytorch è lo strumento con cui si costruiscono e si addestrano le reti neurali sottostanti. Pytorch è la libreria con cui vengono costruite e addestrate molte delle reti neurali usate in prodotti commerciali di deep learning, inclusi sistemi che si basano su modelli linguistici di grandi dimensioni. Python è il linguaggio di programmazione usato per il codice, mentre Pytorch è la libreria di deep learning con cui si costruiscono e addestrano le reti neurali: due domande diverse.

Da Torch a Pytorch: una storia breve

Pytorch discende da Torch, una libreria scritta in C++ e CUDA rilasciata nel 2001 sotto licenza GPL dall’Idiap Research Institute, pensata per reti neurali, macchine a vettori di supporto e modelli di Markov nascosti. Verso il 2010 un gruppo di ricercatori la riscrisse con il backend in C e il frontend in Lua, nella versione nota come Torch7.

Tra il 2015 e il 2016 un team di Facebook AI Research, con Adam Paszke, Sam Gross, Soumith Chintala e Gregory Chanan tra gli autori originali, portò quell’impianto dentro un ambiente Python, e Pytorch venne rilasciato ufficialmente nel gennaio 2017. Lo sviluppo di Torch si è fermato nel 2018, assorbito dal nuovo progetto.

Nel settembre 2017 Meta e Microsoft hanno creato ONNX, un formato che permette di convertire modelli tra librerie diverse; a fine marzo 2018 Caffe2, l’altro framework di deep learning di Meta, è confluito dentro Pytorch. Nel settembre 2022 Meta ha trasferito la gestione del progetto a una fondazione indipendente, la PyTorch Foundation, sotto l’ombrello della Linux Foundation.

Pytorch lightning e gli strumenti costruiti sopra Pytorch

Pytorch Lightning avvolge Pytorch per ridurre il codice ripetitivo di un ciclo di addestramento (azzeramento dei gradienti, passo in avanti, calcolo della perdita, passo all’indietro, aggiornamento dei pesi), lasciando a chi scrive il modello solo le parti che cambiano da un progetto all’altro. Organizza Pytorch con una struttura a classi pensata per chi gestisce più esperimenti in parallelo o deve portare lo stesso codice su più GPU senza riscriverlo.

Per chi valuta un fornitore esterno, sentire nominare Pytorch Lightning nella proposta è un segnale che il team lavora con pratiche di ingegneria del software più solide della semplice sperimentazione in un notebook.

È difficile da imparare, e chi dovrebbe occuparsene

Imparare a usare Pytorch per compiti semplici richiede basi di Python e di algebra lineare applicata: la sintassi della libreria non è più complessa di una normale libreria Python, ed è la ragione per cui viene insegnata come primo strumento nei corsi di deep learning. Il tempo maggiore si spende nel ragionamento sui dati, sull’architettura del modello e sul perché un addestramento non converge, più che nella libreria stessa.

Per chi gestisce siti ed e-commerce la posizione utile è questa: a un titolare o a un responsabile marketing non serve imparare Pytorch, serve saper leggere il risultato di chi la usa per lui (un modello di raccomandazione, un classificatore di immagini di prodotto, un chatbot interno) e saper fare le domande giuste su dati, costi di calcolo e tempi di addestramento. Delegare la libreria a chi la conosce è una scelta: la differenza si vede quando arriva il momento di aggiornare il modello o di spiegare perché i risultati sono cambiati.

Domande frequenti su Pytorch

Pytorch è anche una libreria C++?

Sì, accanto all’interfaccia Python, più curata e usata dalla maggioranza degli sviluppatori, Pytorch offre un’interfaccia C++ pensata per integrare i modelli in applicazioni che non possono dipendere da un interprete Python, come sistemi embedded o motori di inferenza a bassa latenza.

Pytorch è ancora rilevante nel 2026?

Sì: secondo un’analisi di mercato, Pytorch è usata da oltre 25.571 aziende nel mondo nella proiezione al 2026 e rappresenta oltre il 55% delle citazioni nei paper di ricerca recenti, un segnale di adozione continua sia in accademia sia in produzione.

Pytorch è difficile da imparare?

No, non per le basi: la sintassi è Python diretto e il debugging segue gli strumenti standard del linguaggio. La difficoltà vera sta nel capire dati, architettura del modello e motivi per cui un addestramento non converge, non nella libreria in sé.

ChatGPT usa Pytorch o TensorFlow?

Pytorch è lo strumento con cui OpenAI costruisce e addestra le reti neurali del chatbot, mentre Python è il linguaggio di programmazione usato per scrivere il codice: sono due livelli distinti del sistema.

Tesla usa TensorFlow o Pytorch?

Tesla usa Pytorch per Autopilot, il sistema di guida assistita che elabora in tempo reale le immagini delle telecamere del veicolo.

Cosa fa Pytorch lightning?

Pytorch Lightning organizza il ciclo di addestramento di un modello Pytorch in una struttura a classi, riducendo il codice ripetitivo di azzeramento gradienti, passo forward, calcolo della perdita e aggiornamento dei pesi, senza sostituire la libreria sottostante.

Come si installa Pytorch in locale?

Si installa con pip install torch torchvision torchaudio per la versione CPU; chi ha una GPU NVIDIA, AMD o un chip Apple Silicon deve scegliere la variante CUDA, ROCm o MPS corrispondente prima di eseguire il comando.

Pytorch è più veloce di TensorFlow?

Non esiste un primato assoluto di velocità confermato dalle fonti: il confronto dipende dal modello, dall’hardware e dal contesto, ricerca o produzione, in cui viene misurato, più che da una libreria superiore all’altra in ogni caso.

Fonti e riferimenti

Questo contenuto ti ha aiutato?

Ti è stato utile questo articolo?

Aiuta altri professionisti a crescere. Condividi questo contenuto con il tuo network.

Iscriviti alla Newsletter

Ricevi una sola mail a settimana con strategie, casi studio e consigli pratici per scalare la tua impresa. Zero spam, promesso.

Quanto fa + ?

Roberto
Varriale

In quasi 20 anni ho aiutato oltre 700 Micro Imprese a migliorare il ROI aumentando Vendite e clienti con il Traffico Organico.

Chi Sono

"Se questa risorsa ti è stata utile, valuta se seguirmi anche nei social sia l'investimento di tempo migliore che tu possa fare adesso."

Roberto Varriale