Distribuire un modello TFLite su GCP Serverless

Distribuzione TFLite su GCP Serverless

Come deployare un modello quantizzato in modalità serverless

Il deployment di un modello è complicato; con il panorama in continua evoluzione delle piattaforme cloud e altre librerie legate all’Intelligenza Artificiale che si aggiornano quasi settimanalmente, la compatibilità all’indietro e la scelta del metodo di deployment corretto rappresentano una grande sfida. Nel post di oggi, vedremo come deployare un modello tflite sulla Google Cloud Platform in modalità serverless.

Questo post è strutturato nel seguente modo:

  • Comprensione di Serverless e altre modalità di deployment
  • Cos’è la quantizzazione e TFLite?
  • Deploy del modello TFLite utilizzando l’API Cloud Run di GCP
Img Src: https://pixabay.com/photos/man-pier-silhouette-sunrise-fog-8091933/

Comprensione di Serverless e altre modalità di deployment

Prima di tutto, cerchiamo di capire cosa intendiamo per serverless perché serverless non significa senza server.

Un modello di intelligenza artificiale, o qualsiasi altra applicazione per quel che riguarda, può essere deployato in diversi modi con tre principali categorizzazioni.

Serverless: In questo caso, il modello è memorizzato nel registro dei contenitori cloud e viene eseguito solo quando un utente fa una richiesta. Quando viene effettuata una richiesta, viene automaticamente avviata un’istanza del server per soddisfare la richiesta dell’utente, che si spegne dopo un po’ di tempo. Dal momento dell’avvio, della configurazione, della scalabilità e dello spegnimento, tutto ciò viene gestito tramite l’API Cloud Run fornita dalla piattaforma Google Cloud. Abbiamo AWS Lambda e Azure Functions come alternative in altri cloud.

Serverless ha i suoi vantaggi e svantaggi.

  • Il vantaggio più grande è il risparmio dei costi, se non hai una grande base di utenti, nella maggior parte del tempo il server è inattivo e i tuoi soldi vanno sprecati. Un altro vantaggio è che non dobbiamo pensare alla scalabilità dell’infrastruttura, in base al carico sul server, può automaticamente replicare il numero di istanze e gestire il traffico.
  • Nella colonna degli svantaggi, ci sono tre cose da considerare. Ha un limite di payload ridotto, il che significa che può essere utilizzato per eseguire un modello più grande. In secondo luogo, il server si spegne automaticamente dopo 15 minuti di inattività, quindi quando facciamo una richiesta dopo molto tempo, le prime richieste richiedono molto tempo…