Platone Data Intelligence.
Ricerca verticale e intelligenza artificiale.

Integra le piattaforme SaaS con Amazon SageMaker per abilitare le applicazioni basate sul ML | Servizi Web Amazon

Data:

Amazon Sage Maker è una piattaforma di machine learning (ML) end-to-end con un'ampia gamma Caratteristiche per importare, trasformare e misurare la distorsione nei dati e addestrare, distribuire e gestire i modelli in produzione con servizi e servizi di elaborazione best-in-class come Gestore di dati di Amazon SageMaker, Amazon Sage Maker Studio, Tela di Amazon SageMaker, Registro dei modelli di Amazon SageMaker, Negozio di funzionalità Amazon SageMaker, Pipeline di Amazon SageMaker, Monitor modello Amazon SageMakere Amazon SageMaker Chiarire. Molte organizzazioni scelgono SageMaker come piattaforma ML perché fornisce un set comune di strumenti per sviluppatori e data scientist. Un numero di Partner fornitori di software indipendenti (ISV) di AWS hanno già creato integrazioni per consentire agli utenti delle loro piattaforme software as a service (SaaS) di utilizzare SageMaker e le sue varie funzionalità, tra cui formazione, implementazione e registro dei modelli.

In questo post, trattiamo i vantaggi per le piattaforme SaaS da integrare con SageMaker, la gamma di possibili integrazioni e il processo per lo sviluppo di queste integrazioni. Approfondiamo anche le architetture e le risorse AWS più comuni per facilitare queste integrazioni. Questo ha lo scopo di accelerare il time-to-market per i partner ISV e altri fornitori SaaS che creano integrazioni simili e ispirare i clienti che sono utenti di piattaforme SaaS a collaborare con i fornitori SaaS su queste integrazioni.

Vantaggi dell'integrazione con SageMaker

Ci sono una serie di vantaggi per i provider 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 che si trovano 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 fondazione disponibili in JumpStart di Amazon SageMaker per costruire applicazioni di IA generative
  • Le organizzazioni possono standardizzare su SageMaker
  • I provider SaaS possono concentrarsi sulle loro funzionalità principali e offrire SageMaker per lo sviluppo di modelli ML
  • Fornisce ai fornitori SaaS una base per creare soluzioni congiunte e andare sul mercato con AWS

Panoramica di SageMaker e opzioni di integrazione

SageMaker dispone di strumenti per ogni fase del ciclo di vita ML. Le piattaforme SaaS possono integrarsi con SageMaker durante l'intero ciclo di vita del machine learning, dall'etichettatura e preparazione dei dati all'addestramento dei modelli, all'hosting, al monitoraggio e alla gestione dei modelli con vari componenti, come mostrato nella figura seguente. A seconda delle esigenze, tutte le parti del ciclo di vita ML possono essere eseguite nell'account AWS del cliente o nell'account SaaS AWS e i dati e i modelli possono essere condivisi tra gli account utilizzando Gestione dell'identità e dell'accesso di AWS (IAM) o strumenti di accesso basati su utenti di terze parti. Questa flessibilità nell'integrazione rende SageMaker una piattaforma ideale su cui standardizzare clienti e fornitori SaaS.

Panoramica di SageMaker

Processo di integrazione e architetture

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

  • Accesso ai dati – In che modo SageMaker accede ai dati presenti nella piattaforma SaaS
  • Allenamento 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

I diagrammi nelle sezioni seguenti presuppongono che SageMaker sia in esecuzione nell'account AWS del cliente. La maggior parte delle opzioni spiegate sono applicabili anche se SageMaker è in esecuzione nell'account AWS SaaS. In alcuni casi, un ISV può distribuire il proprio software nell'account AWS del cliente. Di solito si trova in un account AWS del cliente dedicato, il che significa che deve ancora esserci un accesso tra account all'account AWS del cliente in cui è in esecuzione SageMaker.

Esistono diversi modi in cui è possibile ottenere l'autenticazione tra gli account AWS quando si accede ai dati nella piattaforma SaaS da SageMaker e quando il modello ML viene richiamato dalla piattaforma SaaS. Il metodo consigliato è quello di utilizzare Ruoli IAM. Un'alternativa è usare Chiavi di accesso AWS costituito da un ID della chiave di accesso e da una chiave di accesso segreta.

Accesso ai dati

Esistono diverse opzioni su come è possibile accedere ai dati che si trovano nella piattaforma SaaS da SageMaker. È possibile accedere ai dati da un notebook SageMaker, SageMaker Data Wrangler, dove gli utenti possono preparare i dati per ML o SageMaker Canvas. Le opzioni di accesso ai dati più comuni sono:

  • Connettore integrato SageMaker Data Wrangler - L' Connettore SageMaker Data Wrangler consente di importare i dati da una piattaforma SaaS per essere preparati per l'addestramento del modello ML. Il connettore è sviluppato congiuntamente da AWS e dal provider SaaS. Gli attuali connettori della piattaforma SaaS includono Databricks e Snowflake.
  • Query federata Amazon Athena per la piattaforma SaaS - Query federate consentire agli utenti di interrogare la piattaforma da un notebook SageMaker tramite Amazzone Atena utilizzando un connettore personalizzato sviluppato dal provider SaaS.
  • Flusso di app Amazon - Con Flusso di app Amazon, puoi utilizzare un connettore personalizzato in cui estrarre i dati Servizio di archiviazione semplice Amazon (Amazon S3) a cui successivamente si può accedere da SageMaker. Il connettore per una piattaforma SaaS può essere sviluppato da AWS o dal provider SaaS. L'open source SDK connettore personalizzato consente 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 un Python SDK, questo può essere utilizzato per accedere ai dati direttamente da un notebook SageMaker.
  • Altre opzioni – Oltre a queste, possono esserci altre opzioni a seconda che il provider SaaS esponga i propri dati tramite API, file o un agente. L'agente può essere installato su Amazon Elastic Compute Cloud (Amazon EC2) or AWS Lambda. In alternativa, un servizio come Colla AWS o uno strumento di estrazione, trasformazione e caricamento (ETL) di terze parti può essere utilizzato per il trasferimento dei dati.

Il seguente diagramma illustra l'architettura per le opzioni di accesso ai dati.

Accesso ai dati

Allenamento modello

Il modello può essere addestrato in SageMaker Studio da un data scientist, utilizzando Pilota automatico Amazon SageMaker da un non data scientist o in SageMaker Canvas da un analista aziendale. SageMaker Autopilot elimina il lavoro pesante della creazione di modelli ML, inclusa la progettazione delle funzionalità, 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 visiva senza codice per l'addestramento dei modelli ML.

Inoltre, i data scientist possono utilizzare modelli pre-addestrati disponibili in SageMaker JumpStart, inclusi modelli di base da fonti come Alexa, AI21 Labs, Hugging Face e Stability AI, e ottimizzarli per i propri casi d'uso di IA generativa.

In alternativa, il modello può essere addestrato in uno strumento, un servizio e un'infrastruttura forniti da terze parti o partner, incluse le risorse locali, a condizione che gli artefatti del modello siano accessibili e leggibili.

Il diagramma seguente illustra queste opzioni.

Allenamento modello

Distribuzione del modello e artefatti

Dopo aver addestrato e testato il modello, puoi distribuirlo a un endpoint del modello SageMaker nell'account cliente oppure esportalo da SageMaker e importarlo nello storage della piattaforma SaaS. Il modello può essere archiviato e importato in formati standard supportati dai comuni framework ML, come pickle, joblib e ONNX (Apri scambio di reti neurali).

Se il modello ML viene distribuito a un endpoint del modello SageMaker, è possibile archiviare ulteriori metadati del modello nel file Registro dei modelli SageMaker, Schede modello SageMakero in un file in un bucket S3. Può trattarsi della versione del modello, degli input e degli output del modello, delle metriche del modello, della data di creazione del modello, della specifica dell'inferenza, delle informazioni sulla derivazione dei dati e altro ancora. Dove non c'è una proprietà disponibile in pacchetto modello, i dati possono essere memorizzati come metadati personalizzati o in un file S3.

La creazione di tali metadati può aiutare i provider SaaS a gestire il ciclo di vita end-to-end del modello ML in modo più efficace. Queste informazioni possono essere sincronizzate con il registro del modello nella piattaforma SaaS e utilizzate per tenere traccia delle modifiche e degli aggiornamenti al modello ML. Successivamente, questo registro può essere utilizzato per determinare se aggiornare i dati e le applicazioni a valle che utilizzano tale modello ML nella piattaforma SaaS.

Il diagramma seguente illustra questa architettura.

Distribuzione del modello e artefatti

Inferenza del modello

SageMaker offre quattro opzioni per Inferenza del modello ML: inferenza in tempo reale, inferenza serverless, inferenza asincrona e trasformazione batch. Per i primi tre, il modello viene distribuito a un endpoint del modello SageMaker e la piattaforma SaaS richiama il modello utilizzando il SDK AWS. L'opzione consigliata consiste nell'usare Python SDK. Il modello di inferenza per ognuno di questi è simile in quanto vengono utilizzati i metodi predict() o predict_async() del predittore. L'accesso tra account può essere ottenuto utilizzando accesso basato sui ruoli.

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

Nel 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 eseguita su questi dati in batch. L'inferenza viene eseguita creando prima un processo o un oggetto trasformatore e quindi chiamando il metodo transform() con la posizione S3 dei dati. I risultati vengono reimportati nella piattaforma SaaS in batch come set di dati e uniti ad altri set di dati nella piattaforma come parte di un processo di pipeline batch.

Un'altra opzione per l'inferenza consiste nell'eseguirla direttamente nel cluster di calcolo dell'account SaaS. Questo sarebbe il caso quando il modello è stato importato nella piattaforma SaaS. In questo caso, i provider SaaS possono scegliere tra a gamma di istanze EC2 ottimizzati per l'inferenza ML.

Il diagramma seguente illustra queste opzioni.

Inferenza del modello

Esempi di integrazioni

Diversi ISV hanno creato integrazioni tra le loro piattaforme SaaS e SageMaker. Per ulteriori informazioni su alcune integrazioni di esempio, fare riferimento a quanto segue:

Conclusione

In questo post, abbiamo spiegato perché e come i provider SaaS dovrebbero integrare SageMaker con le loro piattaforme SaaS suddividendo il processo in quattro parti e coprendo le architetture di integrazione comuni. I provider SaaS che desiderano creare un'integrazione con SageMaker possono utilizzare queste architetture. Se sono presenti requisiti personalizzati oltre a quelli trattati in questo post, anche con altri componenti SageMaker, contatta i team del tuo account AWS. Una volta che l'integrazione è stata creata e convalidata, i partner ISV possono aderire a Programma pronto per il servizio AWS per SageMaker e sbloccare una serie di vantaggi.

Chiediamo inoltre ai clienti che sono utenti di piattaforme SaaS di registrare il loro interesse per un'integrazione con Amazon SageMaker con i loro team di account AWS, in quanto ciò può aiutare a ispirare e far progredire lo sviluppo per i fornitori SaaS.


Informazioni sugli autori

Mehmet Bakkaloglu è Principal Solutions Architect presso AWS e si occupa di Data Analytics, AI/ML e partner ISV.

Raj Kadiyala è Principal AI/ML Evangelist presso AWS.

spot_img

L'ultima intelligenza

spot_img

Parla con noi

Ciao! Come posso aiutarla?