Integrare le piattaforme SaaS con Amazon SageMaker per abilitare applicazioni alimentate da intelligenza artificiale.

Integrare piattaforme SaaS con Amazon SageMaker per applicazioni di intelligenza artificiale.

Amazon SageMaker è una piattaforma di machine learning (ML) end-to-end con una vasta gamma di funzionalità per acquisire, trasformare e misurare i bias nei dati, e per addestrare, distribuire e gestire modelli in produzione con il miglior calcolo e i migliori servizi come Amazon SageMaker Data Wrangler, Amazon SageMaker Studio, Amazon SageMaker Canvas, Amazon SageMaker Model Registry, Amazon SageMaker Feature Store, Amazon SageMaker Pipelines, Amazon SageMaker Model Monitor e Amazon SageMaker Clarify. Molte organizzazioni scelgono SageMaker come loro piattaforma ML perché fornisce un set comune di strumenti per sviluppatori e data scientist. Diversi partner AWS independent software vendor (ISV) hanno già sviluppato integrazioni per gli utenti delle loro piattaforme software come servizio (SaaS) per utilizzare SageMaker e le sue varie funzionalità, compresi l’addestramento, la distribuzione e il registro dei modelli.

In questo post, copriamo i vantaggi per le piattaforme SaaS di integrarsi con SageMaker, la gamma di integrazioni possibili e il processo per lo sviluppo di queste integrazioni. Approfondiamo anche le architetture più comuni e le risorse AWS per agevolare queste integrazioni. Questo è destinato ad accelerare il time-to-market per i partner ISV e altri fornitori di SaaS che sviluppano integrazioni simili e ad ispirare i clienti che utilizzano piattaforme SaaS a collaborare con i fornitori di SaaS su queste integrazioni.

Vantaggi dell’integrazione con SageMaker

Ci sono diversi vantaggi per i fornitori di SaaS nell’integrare le loro piattaforme SaaS con SageMaker:

  • Gli utenti della piattaforma SaaS possono usufruire di una piattaforma ML completa in SageMaker
  • Gli utenti possono creare modelli ML con dati presenti all’interno o all’esterno della piattaforma SaaS e sfruttare questi modelli ML
  • Fornisce agli utenti un’esperienza senza soluzione di continuità tra la piattaforma SaaS e SageMaker
  • Gli utenti possono utilizzare i modelli di base disponibili in Amazon SageMaker JumpStart per creare applicazioni di intelligenza artificiale generativa
  • Le organizzazioni possono standardizzare su SageMaker
  • I fornitori di SaaS possono concentrarsi sulla loro funzionalità principale e offrire SageMaker per lo sviluppo di modelli ML
  • Dotare i fornitori di SaaS di una base per costruire soluzioni congiunte e portare sul mercato AWS

Panoramica di SageMaker e opzioni di integrazione

SageMaker dispone di strumenti per ogni fase del ciclo di vita del ML. Le piattaforme SaaS possono integrarsi con SageMaker lungo il ciclo di vita del ML, dalla marcatura e preparazione dei dati all’addestramento del modello, all’hosting, al monitoraggio e alla gestione dei modelli con vari componenti, come mostrato nella seguente figura. A seconda delle necessità, tutte o solo alcune parti del ciclo di vita del ML possono essere eseguite sia nell’account AWS del cliente che nell’account AWS del SaaS, e i dati e i modelli possono essere condivisi tra gli account utilizzando le politiche di AWS Identity and Access Management (IAM) o strumenti di accesso basati su utenti di terze parti. Questa flessibilità nell’integrazione rende SageMaker una piattaforma ideale per i clienti e i fornitori di SaaS per standardizzarsi su di essa.

Processo di integrazione e architetture

In questa sezione, suddividiamo il processo di integrazione in quattro fasi principali e copriamo le architetture comuni. Si noti che oltre a queste, possono esserci altri punti di integrazione, ma sono meno comuni.

  • Accesso ai dati – Come si accede ai dati presenti nella piattaforma SaaS da SageMaker
  • Addestramento del modello – Come viene addestrato il modello
  • Distribuzione del modello e artefatti – Dove viene distribuito il modello e quali artefatti vengono prodotti
  • Inferenza del modello – Come avviene l’inferenza nella piattaforma SaaS

Le diagrammi nelle sezioni seguenti assumono che SageMaker sia in esecuzione nell’account AWS del cliente. La maggior parte delle opzioni spiegate è applicabile anche se SageMaker è in esecuzione nell’account AWS del SaaS. In alcuni casi, un ISV potrebbe distribuire il proprio software nell’account AWS del cliente. Questo di solito avviene in un account AWS dedicato al cliente, il che significa che è comunque necessario un accesso cross-account all’account AWS del cliente in cui viene eseguito SageMaker.

Esistono diversi modi in cui l’autenticazione tra account AWS può essere raggiunta quando si accede ai dati nella piattaforma SaaS da SageMaker e quando il modello ML viene invocato dalla piattaforma SaaS. Il metodo consigliato è utilizzare i ruoli IAM. Un’alternativa è utilizzare le chiavi di accesso AWS, composte da un ID chiave di accesso e una chiave di accesso segreta.

Accesso ai dati

Ci sono molte opzioni su come i dati presenti sulla piattaforma SaaS possano essere accessibili da SageMaker. I dati possono essere accessibili da un notebook SageMaker, SageMaker Data Wrangler, dove gli utenti possono preparare i dati per il Machine Learning, o SageMaker Canvas. Le opzioni di accesso ai dati più comuni sono:

  • Connettore integrato di SageMaker Data Wrangler – Il connettore di SageMaker Data Wrangler permette l’importazione dei dati da una piattaforma SaaS per essere preparati per l’addestramento di modelli di Machine Learning. Il connettore è sviluppato congiuntamente da AWS e dal fornitore di SaaS. I connettori delle piattaforme SaaS attuali includono Databricks e Snowflake.
  • Amazon Athena Federated Query per la piattaforma SaaS – Le query federate permettono agli utenti di interrogare la piattaforma da un notebook SageMaker tramite Amazon Athena utilizzando un connettore personalizzato sviluppato dal fornitore di SaaS.
  • Amazon AppFlow – Con Amazon AppFlow, è possibile utilizzare un connettore personalizzato per estrarre i dati in Amazon Simple Storage Service (Amazon S3) e successivamente accedervi da SageMaker. Il connettore per una piattaforma SaaS può essere sviluppato da AWS o dal fornitore di SaaS. L’open-source Custom Connector SDK permette lo sviluppo di un connettore privato, condiviso o pubblico utilizzando Python o Java.
  • SDK della piattaforma SaaS – Se la piattaforma SaaS ha un SDK (Software Development Kit), come ad esempio un SDK Python, questo può essere utilizzato per accedere direttamente ai dati da un notebook SageMaker.
  • Altre opzioni – Oltre a queste, possono esserci altre opzioni a seconda che il fornitore di SaaS esponga i propri dati tramite API, file o un agente. L’agente può essere installato su Amazon Elastic Compute Cloud (Amazon EC2) o su AWS Lambda. In alternativa, è possibile utilizzare un servizio come AWS Glue o un tool di estrazione, trasformazione e caricamento (ETL) di terze parti per il trasferimento dei dati.

Il seguente diagramma illustra l’architettura delle opzioni di accesso ai dati.

Addestramento del modello

Il modello può essere addestrato in SageMaker Studio da un data scientist, utilizzando Amazon SageMaker Autopilot da un non-data scientist, o in SageMaker Canvas da un business analyst. SageMaker Autopilot si occupa dell’implementazione dei modelli di Machine Learning, inclusa l’ingegneria delle feature, la selezione degli algoritmi e le impostazioni degli iperparametri, ed è anche relativamente semplice da integrare direttamente in una piattaforma SaaS. SageMaker Canvas fornisce un’interfaccia visuale senza codice per l’addestramento dei modelli di Machine Learning.

Inoltre, i data scientist possono utilizzare modelli pre-addestrati disponibili in SageMaker JumpStart, inclusi modelli di base provenienti da fonti come Alexa, AI21 Labs, Hugging Face e Stability AI, e ottimizzarli per i loro casi d’uso generativi di Intelligenza Artificiale.

In alternativa, il modello può essere addestrato utilizzando un tool di terze parti o fornito da partner, servizi e infrastrutture, incluse risorse in loco, a condizione che gli artefatti del modello siano accessibili e leggibili.

Il seguente diagramma illustra queste opzioni.

Deploy del modello e artefatti

Dopo aver addestrato e testato il modello, è possibile sia effettuare il deploy su un endpoint del modello di SageMaker nell’account del cliente, sia esportarlo da SageMaker ed importarlo nella memoria della piattaforma SaaS. Il modello può essere archiviato ed importato in formati standard supportati dai comuni framework di Machine Learning, come pickle, joblib e ONNX (Open Neural Network Exchange).

Se il modello di ML viene deployato su un endpoint del modello di SageMaker, è possibile archiviare metadati aggiuntivi del modello nel SageMaker Model Registry, nelle SageMaker Model Cards o in un file in un bucket S3. Questi metadati possono includere la versione del modello, gli input e gli output del modello, le metriche del modello, la data di creazione del modello, le specifiche di inferenza, le informazioni sulla linea di produzione dei dati e altro ancora. Dove non è disponibile una proprietà nel pacchetto del modello, i dati possono essere archiviati come metadati personalizzati o in un file S3.

La creazione di tali metadati può aiutare i fornitori di SaaS a gestire in modo più efficace il ciclo di vita end-to-end del modello di ML. Queste informazioni possono essere sincronizzate nel log del modello nella piattaforma SaaS e utilizzate per tracciare i cambiamenti e gli aggiornamenti al modello di ML. Successivamente, questo log può essere utilizzato per determinare se aggiornare i dati downstream e le applicazioni che utilizzano quel modello di ML nella piattaforma SaaS.

Il seguente diagramma illustra questa architettura.

Inferenza del modello

SageMaker offre quattro opzioni per l’inferenza del modello di ML: inferenza in tempo reale, inferenza serverless, inferenza asincrona e trasformazione batch. Per le prime tre, il modello viene distribuito su un endpoint del modello di SageMaker e la piattaforma SaaS invoca il modello utilizzando gli SDK di AWS . L’opzione consigliata è utilizzare l’SDK Python. Lo schema di inferenza per ciascuna di queste opzioni è simile, in quanto vengono utilizzati i metodi predict() o predict_async() del predictor. L’accesso tra account può essere ottenuto utilizzando l’accesso basato su ruolo .

È anche possibile sigillare il backend con Amazon API Gateway , che chiama il punto di ingresso tramite una funzione Lambda che viene eseguita in una rete privata protetta.

Per la trasformazione batch , i dati dalla piattaforma SaaS devono prima essere esportati in batch in un bucket S3 nell’account AWS del cliente, quindi l’inferenza viene effettuata su questi dati in batch. L’inferenza viene effettuata creando prima un lavoro o un oggetto di trasformazione e quindi chiamando il metodo transform() con la posizione S3 dei dati. I risultati vengono importati di nuovo nella piattaforma SaaS in batch come un dataset e uniti ad altri dataset nella piattaforma come parte di un lavoro di pipeline batch.

Un’altra opzione per l’inferenza è farlo direttamente nel cluster di calcolo dell’account SaaS. Questo sarebbe il caso in cui il modello è stato importato nella piattaforma SaaS. In questo caso, i fornitori di SaaS possono scegliere tra una gamma di istanze EC2 ottimizzate per l’inferenza di ML.

Il seguente diagramma illustra queste opzioni.

Integrazioni di esempio

Diversi ISV hanno sviluppato integrazioni tra le loro piattaforme SaaS e SageMaker. Per saperne di più su alcune integrazioni di esempio, fare riferimento ai seguenti:

  • Abilitare l’intelligenza artificiale centrata sui dati tramite Snowflake e Amazon SageMaker
  • Machine Learning per tutti con Amazon SageMaker Autopilot e Domo
  • Come architettare lo sviluppo, il monitoraggio e la manutenzione end-to-end dei modelli in AWS e Domino Data Lab

Conclusioni

In questo post, abbiamo spiegato perché e come i fornitori di SaaS dovrebbero integrare SageMaker nelle loro piattaforme SaaS suddividendo il processo in quattro parti e coprendo le architetture di integrazione comuni. I fornitori di SaaS che desiderano creare un’integrazione con SageMaker possono utilizzare queste architetture. Se ci sono requisiti personalizzati oltre a quanto è stato trattato in questo post, inclusi altri componenti di SageMaker, contattate i vostri team di account AWS. Una volta che l’integrazione è stata creata e convalidata, i partner ISV possono unirsi al programma AWS Service Ready per SageMaker e sbloccare una varietà di vantaggi.

Chiediamo anche ai clienti che utilizzano piattaforme SaaS di registrare il loro interesse per un’integrazione con Amazon SageMaker presso i loro team di account AWS, poiché ciò può aiutare a ispirare e far progredire lo sviluppo per i fornitori di SaaS.