Distribuzione dei modelli PyTorch con Nvidia Triton Inference Server

Distribuzione modelli PyTorch con Nvidia Triton Inference Server

Una soluzione flessibile e performante per il servizio di modelli

Immagine da Unsplash

Il valore dell’Apprendimento Automatico (ML) è veramente riconosciuto nelle applicazioni del mondo reale quando arriviamo al Model Hosting e all’Inference. È difficile rendere produttivi i carichi di lavoro di ML se non si dispone di una soluzione di model-serving altamente performante che aiuti il tuo modello a scalare.

Cosa è un server di modelli/cosa è il model serving? Pensa a un server di modelli come a un equivalente di un server web nel mondo dell’Apprendimento Automatico. Non è sufficiente semplicemente lanciare grandi quantità di hardware dietro il modello, hai bisogno di uno strato di comunicazione che ti aiuterà a elaborare le richieste del cliente mentre alloca efficientemente l’hardware necessario per affrontare il traffico che l’applicazione sta ricevendo. I server di modelli sono una funzionalità regolabile per gli utenti: possiamo ottenere prestazioni da una prospettiva di latenza controllando aspetti come gRPC vs REST, ecc. Esempi popolari di server di modelli includono quanto segue:

  • TensorFlow Serving
  • TorchServe
  • Multi-Model Server (MMS)
  • Deep Java Library (DJL)

Quello che esploreremo oggi è Nvidia Triton Inference Server, una soluzione di model serving altamente flessibile e performante. Ogni server di modelli richiede che gli artefatti del modello e gli script di inferenza siano presentati in un modo unico che possa capire. In questo articolo prendiamo un modello di esempio PyTorch e mostriamo come possiamo ospitarlo utilizzando Triton Inference Server.

NOTA: Questo articolo assume una comprensione di base dell’Apprendimento Automatico e non approfondisce alcuna teoria dietro la costruzione del modello. Si presuppone anche una conoscenza fluente di Python e una comprensione di base dei contenitori Docker. Lavoreremo anche in un’istanza di SageMaker Classic Notebook per lo sviluppo, quindi crea un account AWS se necessario (puoi eseguire questo esempio anche altrove se preferisci).

DISCLAIMER: Sono un architetto di Machine Learning presso AWS e le mie opinioni sono personali.

Perché Triton Inference Server?

Triton Inference Server è una soluzione di model serving open source che presenta una varietà di vantaggi, tra cui i seguenti:

  1. Supporto per i framework: Triton supporta nativamente una moltitudine di…