8 alternative al servizio TensorFlow
 

TensorFlow Serving è un sistema di servizio facile da implementare, flessibile e ad alte prestazioni per modelli di machine learning creati per ambienti di produzione. Consente una facile distribuzione di algoritmi ed esperimenti, consentendo agli sviluppatori di mantenere la stessa architettura server e le stesse API. TensorFlow Serving offre un’integrazione perfetta con i modelli TensorFlow e può anche essere facilmente esteso ad altri modelli e dati. 

Di seguito, elenchiamo alcune alternative a TensorFlow Serving: 

Cortex
La piattaforma open source Cortex semplifica l’esecuzione dell’inferenza in tempo reale su larga scala. È progettato per distribuire modelli di machine learning addestrati direttamente come servizio Web in produzione. 

Le configurazioni di installazione e distribuzione per Cortex sono facili e flessibili. Viene fornito con un meccanismo di supporto integrato per implementare modelli di apprendimento automatico addestrati. Può essere distribuito in tutti i framework di machine learning basati su Python, inclusi TensorFlow , PyTorch e Keras. Cortex offre le seguenti caratteristiche: 

Ridimensiona automaticamente le API di previsione per aiutare a gestire gli alti e bassi dei carichi di lavoro di produzione.
I suoi servizi di infrastruttura web possono eseguire inferenze senza problemi su CPU e GPU.
Cortex può gestire facilmente cluster, uptime e affidabilità delle API.
Aiuta nella transizione del modello aggiornato alle API distribuite nel servizio Web senza tempi di inattività.
 

TorchServe
PyTorch è diventato il framework di formazione del modello ML preferito per i data scientist negli ultimi due anni. TorchServe (il risultato di una collaborazione tra AWS e Facebook) è una libreria di servizi di modelli PyTorch che consente una facile distribuzione dei modelli PyTorch su larga scala senza scrivere un codice personalizzato. TorchServe è disponibile come parte della libreria open source PyTorch. 

Oltre a fornire un’API di previsione a bassa latenza, TorchServe include le seguenti funzionalità: 

Incorpora gestori predefiniti per applicazioni tipiche come il rilevamento di oggetti e la classificazione del testo. 
Supporta il servizio multi-modello, la registrazione, il controllo delle versioni del modello per i test A/B e il monitoraggio delle metriche.
Supporta la creazione di endpoint RESTful per l’integrazione delle applicazioni.
Indipendente dal cloud e dall’ambiente e supporta ambienti di apprendimento automatico come Amazon SageMaker, servizi di container e Amazon Elastic Compute Cloud. 
 

NVIDIA Triton Inference Server
NVIDIA Triton Inference Server semplifica l’implementazione di modelli di intelligenza artificiale su larga scala in produzione. Il software di servizio open source consente l’implementazione di modelli di intelligenza artificiale addestrati da qualsiasi framework, come TensorFlow, NVIDIA, PyTorch o ONNX, dallo storage locale o dalla piattaforma cloud. Supporta un protocollo HTTP/REST e GRPC, consentendo ai client remoti di richiedere l’interfacciamento per qualsiasi modello gestito dal server. 

Offre le seguenti caratteristiche: 

Supporta più framework di deep learning . 
Esegue i modelli contemporaneamente per consentire l’inferenza ad alte prestazioni, aiutando gli sviluppatori a portare rapidamente i modelli in produzione. 
Implementa più algoritmi di pianificazione e batch, combinando singole richieste di inferenza. 
Fornisce un’API di backend da estendere con qualsiasi logica di esecuzione del modello implementata in Python o C++. 
 

KFserving 
Parte del progetto Kubeflow, KFServing si concentra sulla risoluzione delle sfide della distribuzione del modello alla produzione attraverso un approccio model-as-data fornendo un’API per le richieste di inferenza. Utilizza le tecnologie cloud native Knative e Istio. KFServing richiede un minimo di Kubernetes 1.16+. 

KFserving offre le seguenti funzionalità: 

Fornisce un InferenceService personalizzabile per aggiungere richieste di risorse per CPU, GPU, TPU e richieste di memoria. 
Supporta il servizio multi-modello, la gestione delle revisioni e il batch delle richieste di inferenza del modello individuale. 
Compatibile con vari framework, tra cui Tensorflow, PyTorch, XGBoost, ScikitLearn e ONNX. 
 

ForestFlow
Il server del modello di machine learning nativo del cloud ForestFlow, utilizzato per una facile distribuzione e gestione, è scalabile e basato su criteri. Può essere eseguito in modo nativo o come container docker. Costruito per ridurre l’attrito tra i team di data science, ingegneristici e operativi, offre ai data scientist la flessibilità di utilizzare gli strumenti che desiderano. 

Offre le seguenti caratteristiche: 

Può essere eseguito come singola istanza o distribuito come cluster di nodi.
Offre l’integrazione con Kubernetes per la facile distribuzione dei cluster Kubernetes. 
Consente la distribuzione del modello in modalità Shadow.
Ridimensiona automaticamente i modelli quando non sono in uso e li ridimensiona automaticamente quando necessario, mantenendo la memoria e la gestione delle risorse a costi contenuti. 
Consente la distribuzione di modelli per più casi d’uso. 
 

Multi Model Server
Multi Model Server è uno strumento open source per servire modelli di deep learning e reti neurali per l’inferenza, esportati da MXNet o ONNX. Lo strumento facile da usare e flessibile utilizza API basate su REST per gestire le richieste di previsione dello stato. Multi Model Server utilizza Java 8 o una versione successiva per servire le richieste HTTP. 

 Offre le seguenti caratteristiche: 

Capacità di sviluppare servizi di inferenza personalizzati. 
Benchmark server multimodello.
Endpoint multi-modello per ospitare più modelli all’interno di un singolo contenitore.
Backend collegabile che supporta il gestore di backend personalizzato collegabile.
 

DeepDetect 
L’API di apprendimento automatico DeepDetect è scritta in C++ 11 e si integra nelle applicazioni esistenti. DeepDetect implementa il supporto per il deep learning supervisionato e non supervisionato di immagini, testo e serie temporali. Supporta anche la classificazione, il rilevamento di oggetti, la segmentazione e la regressione. 

Offre le seguenti caratteristiche: 

DeepDetect è dotato di semplici funzioni di configurazione ed è pronto per la produzione. 
Consente la creazione e il test di set di dati dai notebook Jupyter. 
Viene fornito con più di 50 modelli pre-addestrati per una rapida convergenza dell’addestramento al trasferimento. 
Consente l’esportazione di modelli per dispositivi cloud, desktop e embedded. 
 

BentoML 
BentoML è un framework ad alte prestazioni che colma il divario tra Data Science e DevOps. Viene fornito con supporto multi-framework e funziona con TensorFlow, PyTorch, Scikit-Learn, XGBoost, H2O.ai, Core ML, Keras e FastAI. È progettato per funzionare con strumenti DevOps e Infrastructure, inclusi Amazon SageMaker, NVIDIA, Heroku, API REST, Kubeflow, Kubernetes e Amazon Lamdba. 

Le caratteristiche principali di BentoML sono: 

È disponibile in un formato di packaging modello unificato, che consente la pubblicazione sia online che offline su tutte le piattaforme. 
Può creare pacchetti di modelli addestrati con qualsiasi framework ML e riprodurli per la pubblicazione di modelli in produzione. 
Funziona come un hub centrale per la gestione di modelli e processi di distribuzione tramite l’interfaccia utente Web e le API. 

Di ihal