Le migliori librerie di machine learning

Autore

David Zax

Staff Writer

IBM Think

Cosa sono le librerie di machine learning?

Le librerie di machine learning sono blocchi di codice prefabbricati ("librerie") utili per i progetti di machine learning. Poiché gli sforzi di machine learning (ML) coinvolgono in modo affidabile determinati tipi di attività comuni nell'intelligenza artificiale, è possibile risparmiare tempo lavorando con algoritmi precostituiti e verificati e altri strumenti. 

La maggior parte delle librerie di ML sono costituite da moduli, che consentono agli sviluppatori di combinare e abbinare mentre creano pipeline di ML che gestiscono pre-elaborazione, addestramento, convalida delle metriche e altre attività. Le librerie sono spesso open source e gratuite, e ce ne sono molte tra cui scegliere: una pagina Github aggrega quasi 1.000 di queste librerie di ML nel solo linguaggio di programmazione Python. (Python si è affermato come il linguaggio di machine learning dominante, sebbene i progetti di ML siano presenti anche in JavaScript, R e altri linguaggi). 

Ci sono librerie per tutti i tipi di applicazioni. I trasformatori di Hugging Face forniscono un facile accesso ai modelli di trasformatori preaddestrati. Librerie come Stable-Baselines3 supportano l'apprendimento per rinforzo. Le librerie di machine learning possono essere utilmente raggruppate in due categorie. Librerie generali che fungono da framework o piattaforme per progetti di machine learning. Le librerie specializzate possono essere utilizzate per una fase o un componente specifico di un progetto di ML.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Librerie generali di machine learning

Le librerie generali di machine learning, a volte chiamate "framework generici" o "piattaforme principali", sono decine. Ma quattro sono particolarmente popolari e di solito sono in cima alle liste delle "migliori": TensorFlow (e Keras, strettamente correlato), PyTorch e scikit-learn. Ognuno ha punti di forza leggermente diversi, a seconda delle esigenze del progetto o del team. 

  • NumPy

  • Tensorflow

  • Keras

  • Pytorch

  • Scikit-learn

NumPy

NumPy non è una libreria ML di per sé, ma piuttosto la libreria sulle cui fondamenta sono costruite tutte le librerie di ML. In sostanza, il machine learning consiste nel trovare modelli in grandi quantità di dati. NumPy, una libreria che crea una struttura nota come array n-dimensionale, aiuta a organizzare questi punti dati e ad applicare funzioni matematiche ad essi (una branca della matematica nota come algebra lineare). Questi array n-dimensionali o multidimensionali, ancora una volta, grandi contenitori manipolabili di numeri, sono talvolta chiamati anche "tensori", un termine frequente nelle discussioni sulle librerie di ML. (Una matrice bidimensionale è nota come matrice).

Sebbene NumPy gestisca i tensori, la struttura dati fondamentale del machine learning, NumPy è in pratica troppo limitato per le esigenze ad alta intensità di processore dell'ML moderno. Tra gli altri vincoli, NumPy (le cui radici risalgono agli anni '90) è troppo vecchio per "parlare" con i processori avanzati di unità di elaborazione grafica (GPU) richiesti in genere dagli sforzi commerciali di ML (la cosiddetta "accelerazione GPU"), funziona invece solo con unità di elaborazione centrale (CPU) a bassa potenza.

Tensorflow

TensorFlow è una libreria di ML generica inizialmente sviluppata dal team di Google Brain nel 2015; dopo che Google ha reso la libreria open source, è cresciuta in popolarità. TensorFlow può funzionare non solo con processori CPU, ma anche GPU ad alte prestazioni e processori specializzati prodotti da Google chiamati unità di elaborazione tensoriale (TPU).

TensorFlow è particolarmente adatto al deep learning, una variante del machine learning che si basa su reti neurali (che imitano la struttura del cervello). L'apprendimento "deep learning" è così chiamato perché coinvolge più livelli tra un input e un output. Il deep learning si è rivelato utile nelle applicazioni commerciali come elaborazione del linguaggio naturale (NLP), la computer vision e il riconoscimento delle immagini. Originariamente sviluppato da Google e alla base di molte delle sue app e prodotti commerciali, TensorFlow eccelle nella distribuzione su larga scala. 

Keras

Keras è strettamente associato a TensorFlow: anch'esso creato da un ingegnere di Google. È una libreria che viene in genere utilizzata dagli sviluppatori che desiderano un'API più intuitiva per i loro progetti di ML basati su TensorFlow. Una versione di Keras rilasciata nel 2025 ha aggiunto il supporto per altri framework oltre a TensorFlow, tra cui PyTorch. Keras è anche rinomata per la sua ampia documentazione e gli utili tutorial.

Pytorch

PyTorch è stato originariamente sviluppato dai ricercatori di Meta alla fine del 2016. È un port Python della vecchia libreria Torch, al cui centro c'era un tensore. Entro il 2022, momento in cui PyTorch è spostato alla Linux Foundation, secondo quanto riferito, oltre 2.400 collaboratori avevano più di 150.000 progetti che utilizzavano PyTorch. (Il machine learning open source è il paradigma dominante, poiché il settore prospera grazie a un'ampia collaborazione.) Analogamente a TensorFlow, anche PyTorch consente agli sviluppatori di eseguire operazioni simili a NumPy, ma utilizzando GPU anziché CPU, il che rende PyTorch un altro framework di deep learning. 

"PyTorch o TensorFlow?" è spesso la prima domanda che si pone chi si lancia in un progetto di machine learning (in precedenza, veniva considerata anche una libreria chiamata Theano, poi deprecata nel 2017). Sebbene non esista una risposta sbagliata, PyTorch sta emergendo come uno dei programmi preferiti da molti sviluppatori per il suo design flessibile e tollerante ("Pythonic") e per la sua facilità d'uso. A lungo preferito tra accademici e ricercatori, l'industria utilizza i settori sempre più anche per casi d'uso ambiziosi e scalabili. La guida autonoma di Tesla, ad esempio, è stata sviluppata utilizzando PyTorch e la piattaforma di cloud computing di Microsoft Azure lo supporta. PyTorch è diventato così popolare che attorno ad esso è cresciuto un ecosistema di strumenti di supporto (come Torchvision e TorchText). Sia Tensorflow che Pytorch utilizzano un grafico computazionale, una struttura di dati che rappresenta il flusso di operazioni e variabili durante l'addestramento del modello. 

IBM è membro della PyTorch Foundation e utilizza PyTorch con il proprio portfolio watsonx.

Scikit-learn

Scikit-learn (scritto "scikit-learn" in minuscolo e nota anche come "sklearn") è un'altra libreria di machine learning (ML) fondamentale, progettata per interagire con NumPy e una libreria correlata popolare tra i data scientist chiamata SciPy, che supporta il calcolo scientifico. Scikit-learn include una serie di algoritmi di ML la cui essenza è il riconoscimento dei modelli. Ad esempio, include algoritmi di classificazione (come quelli che giudicano se un e-mail è spam o meno), algoritmi di regressione (che supportano i sistemi di previsione, forecasting e raccomandazione) e algoritmi di clustering (che raggruppano elementi simili in un cluster). Sebbene scikit-learn sia un ottimo modo per i principianti per apprendere le basi del machine learning, concetti come pre-elaborazione dei dati, pipeline di dati, alberi decisionali e ottimizzazione, è limitato come motore per la realizzazione di prodotti commerciali. Come NumPy, scikit-learn non ha l'accelerazione GPU, il che significa che non è adatto ai modelli di deep learning e non è considerato una "libreria di deep learning". Ciononostante, è ancora utile come laboratorio per testare idee e prototipi.

AI Academy

Diventa un esperto di AI

Acquisisci le conoscenze necessarie per dare priorità agli investimenti nell'AI alla base della crescita aziendale. Inizia oggi stesso con la nostra AI Academy gratuita e guida il futuro dell'AI nella tua organizzazione.

Librerie specializzate per il machine learning

Il nucleo di qualsiasi modello di ML, in sostanza la parte di apprendimento, verrà eseguito su una delle librerie fondamentali elencate sopra. Ma il machine learning è un'impresa complessa e in più fasi, quindi le librerie si sono evolute per aiutare con i workflow relativi a specifiche attività di machine learning. Inoltre, diversi settori (come quello finanziario o medico) e diversi tipi di dati (come immagini o dati audio) sono sufficientemente distinti per trarre beneficio dalle librerie dedicate di ML. Sebbene sia al di là dello scopo di questo articolo esaminare le quasi migliaia di librerie open source risultanti da questa complessità, è utile illustrarne solo alcune particolarmente popolari.

Per l'analisi dei dati: pandas

Pandas è la principale libreria Python per la data science, una funzione fondamentale in qualsiasi attività di ML; come tante librerie di ML, è basata su NumPy. Pandas va oltre gli array di NumPy aggiungendo una struttura nota come "data frame", simile a un foglio di calcolo Excel. Questa struttura aggiunta consente di eseguire la manipolazione dei dati su grandi set di dati del mondo reale.

Per la visualizzazione dei dati: matplotlib e seaborn

Per rivelare modelli e insight dai dati visivi, due popolari librerie di visualizzazione dei dati sono matplotlib e seaborn. La prima produce tracciati e grafici, la seconda è tra le più popolari per renderli più usufruibili per l'ML (seaborn, ad esempio, può funzionare direttamente con i frame di dati di pandas).

Per il monitoraggio degli esperimenti: MLFlow

L'avvio di un valido sforzo di machine learning richiede molta sperimentazione, tentativi ed errori per essere eseguito correttamente. A tal fine, la libreria MLFlow aiuta i team a registrare modelli, parametri e risultati di ML, nonché a gestire le attività di debug, aiutando a spostare i modelli addestrati in qualcosa di pronto per la spedizione.

Soluzioni correlate
IBM® watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi per l'intelligenza artificiale (AI)

I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

Esplora i servizi AI
Prossimi passi

Attraverso l'AI, IBM Concert scopre insight di importanza chiave sulle operazioni e fornisce raccomandazioni specifiche per migliorare le applicazioni. Scopri come Concert può migliorare il tuo business.

Esplora Concert Esplora le soluzioni di automazione dei processi aziendali