Poiché le aziende aziendali adottano il machine learning (ML) nelle loro organizzazioni, i flussi di lavoro manuali per la creazione, la formazione e l'implementazione di modelli ML tendono a diventare colli di bottiglia per l'innovazione. Per ovviare a questo, le aziende devono modellare un modello operativo chiaro che definisca come più persone, come data scientist, data engineer, ML engineer, IT e stakeholder aziendali, dovrebbero collaborare e interagire; come separare le preoccupazioni, le responsabilità e le abilità; e come utilizzare i servizi AWS in modo ottimale. Questa combinazione di ML e operazioni (MLOps) aiuta le aziende a semplificare il ciclo di vita di ML end-to-end e ad aumentare la produttività dei data scientist, mantenendo un'elevata precisione del modello e migliorando la sicurezza e la conformità.
In questo post, imparerai le fasi chiave della creazione di fondamenta MLOps, come più persone lavorano insieme su queste fondamenta e il Amazon Sage Maker strumenti appositamente creati e integrazioni integrate con altri servizi AWS che possono accelerare l'adozione del ML in un'azienda aziendale.
Modello di maturità MLOps
Costruire una base MLOps in grado di coprire le esigenze operative, umane e tecnologiche dei clienti aziendali è una sfida. Pertanto, definiamo il seguente modello di maturità che definisce le capacità necessarie degli MLOp in quattro fasi chiave.
- Fase iniziale: Durante questa fase, i data scientist sono in grado di sperimentare e creare, addestrare e distribuire modelli su AWS utilizzando i servizi SageMaker. L'ambiente di sviluppo suggerito è Amazon Sage Maker Studio, in cui i data scientist sono in grado di sperimentare e collaborare sulla base dei notebook di Studio.
- Fase ripetibile – Con la possibilità di sperimentare su AWS, il passaggio successivo consiste nel creare flussi di lavoro automatici per preelaborare i dati e creare e addestrare modelli (pipeline ML). I data scientist collaborano con gli ingegneri ML in un ambiente separato per creare algoritmi e codice sorgente robusti e pronti per la produzione, orchestrati utilizzando Pipeline di Amazon SageMaker. I modelli generati vengono archiviati e sottoposti a benchmark nel registro dei modelli Amazon SageMaker.
- Fase affidabile – Anche se i modelli sono stati generati tramite le pipeline ML, devono essere testati prima di essere promossi alla produzione. Pertanto, in questa fase, viene introdotta la metodologia di test automatico, sia per il modello che per l'infrastruttura di trigger, in un ambiente di staging isolato (pre-produzione) che simula la produzione. Dopo una corretta esecuzione del test, i modelli vengono distribuiti nell'ambiente di produzione isolato. Per promuovere i modelli tra i molteplici ambienti, sono necessarie valutazioni e approvazioni manuali.
- Fase scalabile – Dopo la produzione della prima soluzione ML, è necessario ridimensionare la base MLOps per supportare più team di data science per collaborare e produrre decine o centinaia di casi d'uso ML. In questa fase introduciamo la modellizzazione delle soluzioni, che porta la velocità al valore riducendo i tempi di sviluppo di nuove soluzioni di produzione da settimane a giorni. Inoltre, automatizziamo la creazione di istanze di ambienti MLOps sicuri per consentire a più team di operare sui propri dati riducendo la dipendenza e il sovraccarico dell'IT.
Nelle sezioni seguenti, mostriamo come costruire una fondazione MLOps basata sul modello di maturità precedente e sui principi seguenti:
- Flessibilità – I data scientist sono in grado di adattarsi a qualsiasi framework (come TensorFlow o PyTorch)
- Riproducibilità – I data scientist sono in grado di ricreare o osservare esperimenti passati (codice, dati e risultati)
- riutilizzabilità – I data scientist e gli ingegneri ML sono in grado di riutilizzare il codice sorgente e le pipeline ML, evitando incoerenze e costi
- Scalabilità – I data scientist e gli ingegneri ML sono in grado di scalare risorse e servizi su richiesta
- verificabilità – I data scientist, i reparti IT e legali sono in grado di controllare i log, le versioni e le dipendenze di artefatti e dati
- Consistenza – Poiché MLOps è costituito da più ambienti, la base deve eliminare la varianza tra gli ambienti
Fase iniziale
Nella fase iniziale, l'obiettivo è creare un ambiente di sperimentazione sicuro in cui il data scientist riceve istantanee di dati ed esperimenti utilizzando i notebook SageMaker per dimostrare che il ML può risolvere un problema aziendale specifico. A tal fine, si consiglia un ambiente Studio con accesso personalizzato ai servizi tramite endpoint VPC. Il codice sorgente dell'architettura di riferimento è disponibile negli esempi forniti dal team SageMaker su Proteggi la scienza dei dati con l'architettura di riferimento di Amazon SageMaker Studio Repository GitHub.
Oltre ai servizi SageMaker, i data scientist possono utilizzare altri servizi per elaborare i dati, ad esempio Amazon EMR, Amazzone Atenae Colla AWS, con i taccuini archiviati e con versione AWS CodeCommit repository (vedere la figura seguente).
Fase ripetibile
Dopo che i data scientist hanno dimostrato che il ML può risolvere il problema aziendale e hanno familiarizzato con la sperimentazione, la formazione e l'implementazione dei modelli di SageMaker, il passaggio successivo consiste nell'iniziare a produrre la soluzione ML. La figura seguente illustra questa architettura.
In questa fase, è necessaria la separazione delle preoccupazioni. Dividiamo l'ambiente in più account AWS:
- Data Lake – Memorizza tutti i dati acquisiti da locale (o altri sistemi) nel cloud. I data engineer sono in grado di creare pipeline di estrazione, trasformazione e caricamento (ETL) combinando più origini dati e preparare i set di dati necessari per i casi d'uso ML. I dati vengono catalogati tramite AWS Glue Data Catalog e condivisi con altri utenti e account tramite Formazione AWS Lake (il livello di governance dei dati). Nello stesso conto, Negozio di funzionalità Amazon SageMaker può essere ospitato, ma non lo copriamo in questo post. Per ulteriori informazioni, fare riferimento a Abilita il riutilizzo delle funzionalità tra account e team utilizzando Amazon SageMaker Feature Store.
- Sperimentazione – Consente ai data scientist di condurre le proprie ricerche. L'unica differenza è che l'origine degli snapshot di dati è il data lake. I data scientist hanno accesso solo a set di dati specifici, che possono essere resi anonimi in caso di GDPR o altri vincoli sulla privacy dei dati. Inoltre, l'account di sperimentazione potrebbe avere accesso a Internet per consentire ai data scientist di utilizzare nuovi framework di scienza dei dati o librerie open source di terze parti. Pertanto, l'account di sperimentazione è considerato parte dell'ambiente non produttivo.
- Sviluppo (sviluppo) – La prima fase dell'ambiente di produzione. I data scientist passano dai notebook al mondo dei flussi di lavoro automatici e delle pipeline SageMaker. Devono collaborare con gli ingegneri ML per astrarre il loro codice e garantire la copertura di test, gestione degli errori e qualità del codice. L'obiettivo è sviluppare pipeline ML, che sono flussi di lavoro automatici che preelaborano, addestrano, valutano e registrano i modelli nel registro dei modelli SageMaker. L'implementazione delle pipeline ML è guidata solo tramite pipeline CI/CD e l'accesso al Console di gestione AWS è limitato. La connessione a Internet non è consentita perché la pipeline ML ha accesso ai dati di produzione nel data lake (sola lettura).
- Utensili (o automazione) – Ospita i repository CodeCommit, AWS Code Pipeline Pipeline CI/CD, registro del modello SageMaker e Amazon ECR per ospitare container personalizzati. Poiché il data lake è l'unico punto di verità per i dati, l'account degli strumenti è per il codice, i contenitori e gli artefatti prodotti.
Tieni presente che questa convenzione di denominazione degli account e la strategia multi-account possono variare in base alle tue esigenze aziendali, ma questa struttura ha lo scopo di mostrare i livelli di isolamento consigliati. Ad esempio, è possibile rinominare l'account di sviluppo nell'account di addestramento del modello o build.
Per ottenere la distribuzione automatica, è importante capire come passare dai notebook alle pipeline ML e standardizzare i repository di codice e la struttura dei dati, di cui parleremo nelle sezioni seguenti.
Dai notebook alle pipeline ML
L'obiettivo dell'ambiente di sviluppo è ristrutturare, aumentare, migliorare e ridimensionare il codice nei notebook e spostarlo nelle pipeline ML. Una pipeline ML è un insieme di passaggi responsabili della preelaborazione dei dati, dell'addestramento o dell'utilizzo di modelli e della postelaborazione dei risultati. Ogni passaggio deve eseguire esattamente un'attività (una trasformazione specifica) ed essere sufficientemente astratto (ad esempio, passare i nomi delle colonne come parametri di input) per consentire il riutilizzo. Il diagramma seguente illustra una pipeline di esempio.
Per implementare pipeline ML, i data scientist (o ingegneri ML) utilizzano SageMaker Pipelines. Una pipeline SageMaker è una serie di passaggi interconnessi (processi di elaborazione SageMaker, formazione, HPO) definiti da una definizione di pipeline JSON utilizzando un SDK Python. Questa definizione di pipeline codifica una pipeline utilizzando un grafico aciclico diretto (DAG). Questo DAG fornisce informazioni sui requisiti e sulle relazioni tra ogni passaggio della pipeline ML.
A seconda del caso d'uso, puoi separare la pipeline ML in due tipi principali: training e inferenza batch.
La figura seguente illustra il flusso della pipeline ML di addestramento.
La fase di preelaborazione potrebbe consistere in più passaggi. Le trasformazioni comuni della scienza dei dati sono la suddivisione e il campionamento dei dati (treno, convalida, set di test), codifica o vettorizzazione one-hot, binning e ridimensionamento. La fase di addestramento del modello potrebbe essere un lavoro di addestramento, se il data scientist è a conoscenza della migliore configurazione del modello, o un lavoro di ottimizzazione degli iperparametri (HPO), in cui AWS definisce i migliori iperparametri per il modello (metodo bayesiano) e produce i corrispondenti manufatto modello. Nella fase di valutazione, l'artefatto del modello prodotto viene utilizzato per eseguire l'inferenza sul set di dati di convalida. Quindi la pipeline ML verifica se le metriche di accuratezza prodotte (come F1, precisione e decili di guadagno) superano le soglie necessarie. Se questo passaggio ha esito positivo, gli artefatti e i metadati del modello vengono spostati nel registro del modello per la produzione. Si noti che il passaggio della linea di base di esportazione sfrutta Monitor modello Amazon SageMaker funzionalità, producendo un oggetto JSON con le statistiche che verranno utilizzate in seguito per il rilevamento della deriva del modello e che possono essere ospitate nel registro del modello SageMaker come metadati del modello.
In caso di inferenza batch, i data scientist sono in grado di creare pipeline simili, come illustrato nella figura seguente.
La fase di preelaborazione dell'inferenza batch è spesso la stessa dell'addestramento, escludendo il campionamento dei dati e la colonna della verità fondamentale. L'inferenza batch è il passaggio che invia i dati in batch per l'inferenza all'endpoint corrispondente e può essere implementato utilizzando trasformazione batch. La fase di postelaborazione produce statistiche aggiuntive, come la distribuzione dei risultati, o unisce i risultati con ID esterni. Quindi, un passaggio di monitoraggio del modello è in grado di confrontare le statistiche di base dei dati utilizzati per l'addestramento (metadati JSON del modello nel registro del modello) con i nuovi dati in ingresso per l'inferenza.
Puoi saltare i passaggi di preelaborazione se i data scientist creano modelli di pipeline che possono essere archiviati nel registro dei modelli di SageMaker. Per maggiori dettagli, fare riferimento a Modelli host insieme alla logica di pre-elaborazione come pipeline di inferenza seriale dietro un endpoint.
Standardizzazione dei repository
Per consentire la collaborazione tra data scientist e ingegneri ML, è necessaria la standardizzazione della struttura del repository di codice. Inoltre, la standardizzazione è vantaggiosa per la struttura della pipeline CI/CD, consentendo l'incorporazione della convalida automatica, della costruzione (come la costruzione di container personalizzati) e delle fasi di test.
L'esempio seguente illustra la separazione delle soluzioni ML in due repository: un repository di creazione e training per l'addestramento (e facoltativamente un modello di pipeline) e la distribuzione per promuovere i modelli di pipeline di inferenza batch o creare un'istanza degli endpoint in tempo reale:
Deposito di costruzione/formazione
Repository di distribuzione
Il repository di costruzione e formazione è suddiviso in tre cartelle principali:
- Algoritmi – I data scientist sviluppano il codice per ogni passaggio delle pipeline ML nella cartella radice degli algoritmi. I passaggi possono essere raggruppati in preelaborazione, formazione, inferenza batch e postelaborazione (valutazione). In ogni gruppo è possibile definire più passaggi nelle corrispondenti sottocartelle, che contengono una cartella per gli unit test (inclusi input e output opzionali), le funzioni principali, il readme e un file Docker in caso di necessità di un container personalizzato. Oltre al main, nella stessa cartella possono essere ospitati più file di codice. Le librerie di supporto comuni per tutti i passaggi possono essere ospitate in una cartella di libreria condivisa. I data scientist sono responsabili dello sviluppo degli unit test perché possiedono la logica dei passaggi e gli ingegneri ML sono responsabili del miglioramento della gestione degli errori e della raccomandazione sulla copertura dei test. La pipeline CI/CD è responsabile dell'esecuzione dei test, della creazione automatica dei contenitori (se necessario) e del confezionamento di più file di codice sorgente.
- Gasdotti ML – Dopo aver sviluppato il codice sorgente e i test di ogni passaggio, il passaggio successivo consiste nel definire le pipeline SageMaker in un'altra cartella principale. Ogni definizione della pipeline ML viene inserita in una sottocartella che contiene il file .py e un file JSON o .yaml per i parametri di input, ad esempio gli intervalli di iperparametri. È necessario un file readme per descrivere le pipeline ML.
- Notebook – Questa cartella ospita i taccuini di origine utilizzati dal data scientist durante la sperimentazione.
Il repository di distribuzione è costituito da tre parti principali:
- Configurazione di inferenza – Contiene la configurazione degli endpoint in tempo reale o dell'inferenza batch per ambiente di sviluppo, come i tipi di istanza.
- Infrastruttura applicativa – Ospita il codice sorgente dell'infrastruttura necessario per eseguire l'inferenza, se necessario. Questo potrebbe essere un meccanismo di attivazione tramite Amazon EventBridge, Gateway API Amazon, AWS Lambda funzioni o SageMaker Pipelines.
- Test – È costituito da più sottocartelle a seconda della metodologia di test del cliente. Come set minimo di test, suggeriamo un test di integrazione (esecuzione end-to-end dell'inferenza inclusa l'infrastruttura dell'applicazione), stress test (esaminare i casi limite) e test ML (come la distribuzione dei punteggi di confidenza o delle probabilità).
Impegnando le modifiche al repository di creazione e addestramento, una pipeline CI/CD è responsabile della convalida della struttura del repository, dell'esecuzione dei test e della distribuzione e dell'esecuzione delle pipeline ML. Una diversa pipeline CI/CD è responsabile della promozione dei modelli, che esamineremo nella sezione seguente.
Standardizzazione della ramificazione del repository e CI/CD
Per garantire la solidità delle pipeline ML nell'account di sviluppo, si suggerisce una strategia di repository multi-ramificazione, mentre la distribuzione viene eseguita solo tramite pipeline CI/CD. I data scientist dovrebbero utilizzare un ramo di funzionalità per sviluppare la loro nuova funzionalità (codice sorgente). Quando sono pronti per distribuire le pipeline ML corrispondenti, possono inviarlo al ramo di sviluppo. Un'alternativa a questo approccio consiste nel consentire la distribuzione di pipeline ML per ramo di funzionalità. Per ulteriori informazioni, fare riferimento a Migliora il tuo flusso di lavoro di data science con una pipeline MLOps di formazione multi-ramo utilizzando AWS.
La figura seguente illustra la strategia di ramificazione e i passaggi necessari della pipeline CI/CD che eseguiamo nell'ambiente di sviluppo per la pipeline ML e la creazione di modelli.
L'esempio di codice dell'approccio multi-branch è disponibile in Pipeline di formazione MLOps multi-branch. Possiamo archiviare i modelli prodotti da una pipeline ML basata su un ramo di funzionalità in un gruppo di modelli di funzionalità separato e rimuoverli durante una richiesta di unione con il ramo principale. I modelli nel gruppo di modelli principale sono quelli promossi alla produzione.
Standardizzazione della struttura dei dati
Altrettanto importante per la standardizzazione del codice sorgente è la standardizzazione della struttura dei dati, che consente ai data scientist e agli ingegneri ML di eseguire il debug, l'audit e il monitoraggio dell'origine e della cronologia dei modelli e delle pipeline ML. Il diagramma seguente illustra un tale esempio.
Per semplicità, si supponga che i dati storici di input arrivino in un bucket dell'account di sviluppo sotto la sottochiave di input (normalmente si trova nel data lake). Per ogni caso d'uso ML, è necessario creare una sottochiave separata. Per attivare una nuova pipeline ML per l'esecuzione, il data scientist deve eseguire un commit e un push git, che attiva la pipeline CI/CD. Quindi la pipeline CI/CD crea una sottochiave copiando gli artefatti del codice (il file code
sottotasto) e dati di input (il input
sottochiave) in una sottopartizione dell'ID build. Ad esempio, l'ID build can essere una combinazione di data-ora e hash git o un ID di esecuzione della pipeline SageMaker. Questa struttura consente al data scientist di controllare ed eseguire query su distribuzioni ed esecuzioni precedenti. Successivamente, la pipeline CI/CD distribuisce e attiva la pipeline ML. Mentre la pipeline ML è in esecuzione, ogni passaggio esporta i risultati intermedi in ml-pipeline-outputs
. È importante tenere presente che diversi rami di funzionalità distribuiscono ed eseguono una nuova istanza di ML Pipeline e ciascuno deve esportare i risultati intermedi in una sottocartella diversa con una nuova sottochiave e/o un prefisso o suffisso standardizzato che includa il ID ramo di funzione.
Questo approccio supporta la completa verificabilità di ogni sperimentazione. Tuttavia, l'approccio multi-ramificato della strategia di sviluppo genera una grande quantità di dati. Pertanto, è necessaria una strategia del ciclo di vita dei dati. Suggeriamo di eliminare almeno i dati di ogni pipeline ML del ramo di funzionalità in ogni richiesta pull/merge riuscita. Ma questo dipende dal modello operativo e dalla granularità dell'audit che la tua azienda deve supportare. È possibile utilizzare un approccio simile nelle pipeline ML di inferenza batch
Fase affidabile
Dopo la separazione iniziale delle preoccupazioni tra data scientist, ingegneri ML e ingegneri dei dati utilizzando più account, il passaggio successivo consiste nel promuovere i modelli prodotti dal registro dei modelli in un ambiente isolato per eseguire l'inferenza. Tuttavia, dobbiamo garantire la robustezza dei modelli implementati. Pertanto, è obbligatoria una simulazione del modello distribuito in un ambiente di produzione speculare, vale a dire la pre-produzione (o la messa in scena).
La figura seguente illustra questa architettura.
La promozione di una distribuzione di un modello e di un endpoint nell'ambiente di pre-produzione viene eseguita utilizzando gli eventi di aggiornamento dello stato del registro del modello (o git push nel repository di distribuzione), che attiva una pipeline CI/CD separata utilizzando gli eventi EventBridge. Il primo passaggio della pipeline CI/CD richiede l'approvazione manuale del lead data scientist (e facoltativamente del product owner, dell'analista aziendale o di altri lead data scientist). L'approvatore deve convalidare i KPI delle prestazioni del modello e il QA del codice nel repository di distribuzione. Dopo l'approvazione, la pipeline CI/CD esegue il codice di test nel repository di distribuzione (test di integrazione, test di stress, test ML). Oltre all'endpoint del modello, il CI/CD verifica anche l'infrastruttura di attivazione, come EventBridge, funzioni Lambda o API Gateway. Il diagramma seguente mostra questa architettura aggiornata.
Dopo il successo dell'esecuzione dei test, la pipeline CI/CD notifica ai nuovi (o stessi) approvatori che un modello è pronto per essere promosso alla produzione. In questa fase, l'analista aziendale potrebbe voler eseguire ulteriori test di ipotesi statistiche sui risultati del modello. Dopo l'approvazione, i modelli e l'infrastruttura di attivazione vengono implementati in produzione. SageMaker supporta più metodi di distribuzione, come test blu/verde, canarino e A/B (vedi di più in Guardrail di schieramento). Se la pipeline CI/CD non riesce, un meccanismo di rollback riporta il sistema allo stato robusto più recente.
Il diagramma seguente illustra i passaggi principali della pipeline CI/CD per promuovere un modello e l'infrastruttura per attivare l'endpoint del modello, ad esempio API Gateway, funzioni Lambda ed EventBridge.
Integrazione di Data Lake e MLOps
A questo punto, è importante comprendere i requisiti dei dati per fase di sviluppo o account e il modo per incorporare MLOps con un data lake centralizzato. Il diagramma seguente illustra i livelli MLOps e data lake.
Nel data lake, gli ingegneri dei dati sono responsabili dell'unione di più origini dati e della creazione dei set di dati corrispondenti (ad esempio, una singola tabella dei dati della struttura o una singola cartella con file PDF o immagini) per i casi d'uso ML costruendo ETL pipeline definite dai data scientist (durante la fase di analisi dei dati esplorativi). Tali set di dati possono essere suddivisi in dati storici e dati per l'inferenza e il test. Tutti i dati vengono catalogati (ad esempio con AWS Glue Data Catalog) e possono essere condivisi con altri account e utenti utilizzando Lake Formation come livello di governance dei dati (per i dati strutturati). Al momento della stesura di questo documento, Lake Formation è compatibile solo con le query Athena, i lavori AWS Glue e Amazon EMR.
D'altra parte, l'ambiente MLOps deve irrigare le pipeline ML con set di dati specifici situati in bucket locali in dev, pre-prod e prod. L'ambiente di sviluppo è responsabile della creazione e dell'addestramento dei modelli su richiesta utilizzando le pipeline SageMaker che estraggono i dati dal data lake. Pertanto, suggeriamo come primo passaggio della pipeline di avere un passaggio Athena, in cui sono richiesti solo il campionamento e l'esecuzione di query dei dati, o un passaggio Amazon EMR, se sono necessarie trasformazioni più complesse. In alternativa, puoi utilizzare un processo AWS Glue tramite un passaggio di callback, ma non ancora come passaggio nativo con SageMaker Pipelines.
Pre-prod e prod sono responsabili del test o dell'esecuzione dell'inferenza batch e in tempo reale. Nel caso dell'inferenza in tempo reale, l'invio di dati agli account pre-prod e prod di MLOps non è necessario perché l'input per l'inferenza può risalire al carico utile della richiesta API Gateway. Nel caso di inferenza batch (o dati di input di grandi dimensioni), i set di dati necessari, dati di test o dati per l'inferenza, devono atterrare nei bucket di dati ML locali (pre-prod o prod). Hai due opzioni per spostare i dati in pre-prod e prod: attivando Athena o Amazon EMR ed estraendo i dati dal data lake, oppure inviando i dati dal data lake a quegli account MLOps. La prima opzione richiede lo sviluppo di meccanismi aggiuntivi negli account MLOps, ad esempio la creazione di eventi EventBridge programmati (senza sapere se i dati nel data lake sono stati aggiornati) o l'arrivo sui dati negli eventi S3 EventBridge nel data lake (per maggiori dettagli, vedi Semplificazione dell'accesso tra account con le policy delle risorse Amazon EventBridge). Dopo aver rilevato l'evento sul lato MLOps, una query Athena o Amazon EMR può recuperare i dati localmente e attivare inferenza asincrona or trasformazione batch. Questo può essere racchiuso in una pipeline SageMaker per semplicità. La seconda opzione consiste nell'aggiungere nell'ultimo passaggio della pipeline ETL la funzionalità di push dei dati nei bucket MLOps. Tuttavia, questo approccio combina le responsabilità (il data lake attiva l'inferenza) e richiede a Lake Formation di fornire l'accesso al data lake per scrivere nei bucket MLOps.
L'ultimo passaggio consiste nel riportare i risultati dell'inferenza nel data lake. Per catalogare i dati e renderli disponibili ad altri utenti, i dati devono tornare come nuova origine dati nel bucket di destinazione.
Fase scalabile
Dopo lo sviluppo della base MLOps e la produzione end-to-end del primo caso d'uso ML, l'infrastruttura di dev, pre-prod, prod e il repository, la pipeline CI/CD e la struttura dei dati sono stati testati e finalizzati . Il passaggio successivo consiste nell'integrare nuovi casi d'uso e team di machine learning nella piattaforma. Per garantire la rapidità del valore, SageMaker consente di creare modelli di progetto SageMaker personalizzati, che è possibile utilizzare per creare un'istanza di repository di modelli e pipeline CI/CD automaticamente. Con tali modelli di progetto SageMaker, i principali data scientist sono responsabili dell'istanziazione di nuovi progetti e dell'allocazione di un team dedicato per i nuovi casi d'uso di ML.
Il diagramma seguente illustra questo processo.
Il problema diventa più complesso se diversi team di data scientist (o più unità aziendali che devono produrre ML) hanno accesso a diversi dati riservati e più proprietari di prodotti sono responsabili del pagamento di una fattura separata per la formazione, l'implementazione e l'esecuzione dei modelli . Pertanto, è necessario un set separato di account MLOps (sperimentazione, dev, pre-prod e prod) per team. Per consentire la facile creazione di nuovi account MLOps, introduciamo un altro account, l'account di governance dell'analisi avanzata, che è accessibile ai membri IT e consente loro di catalogare, creare un'istanza o disattivare gli account MLOps su richiesta. In particolare, questo account ospita repository con il codice dell'infrastruttura degli account MLOps (VPC, sottoreti, endpoint, bucket, Gestione dell'identità e dell'accesso di AWS (IAM) ruoli e politiche, AWS CloudFormazione pile), an Catalogo dei servizi AWS prodotto per distribuire automaticamente gli stack CloudFormation dell'infrastruttura su più account con un clic e un Amazon DynamoDB tabella per catalogare i metadati, ad esempio quale team è responsabile di ciascun set di account. Con questa capacità, il team IT crea un'istanza di account MLOps su richiesta e alloca gli utenti necessari, l'accesso ai dati per account e vincoli di sicurezza coerenti.
Sulla base di questo scenario, separiamo i conti in effimeri e durevoli. Data Lake e strumenti sono account durevoli e svolgono il ruolo di un unico punto di verità rispettivamente per i dati e il codice sorgente. Gli account MLOps sono per lo più apolidi e possono essere istanziati o ritirati su richiesta, il che li rende effimeri. Anche se un insieme di account MLOps viene disattivato, gli utenti o gli auditor sono in grado di controllare esperimenti e risultati passati perché sono archiviati in ambienti durevoli.
Se desideri utilizzare l'interfaccia utente di Studio per MLOps, l'account degli strumenti fa parte dell'account di sviluppo, come illustrato nella figura seguente.
Se l'utente desidera utilizzare l'interfaccia utente di Sagemaker Studio per MLOps, l'account degli strumenti fa parte del dev
conto come da figura sopra. Il codice sorgente di esempio di questa fondazione MLOP può essere trovato in
Fondazione MLOps multi-account sicura basata su CDK.
Tieni presente che Sagemaker offre la possibilità di sostituire CodeCommit e CodePipeline con altri strumenti di sviluppo di terze parti, come GitHub e Jenkins (maggiori dettagli sono disponibili in Crea progetti Amazon SageMaker utilizzando il controllo del codice sorgente di terze parti e Jenkins ed Amazon SageMaker progetta MLOp Modello con GitLab e GitLab Pipeline).
Riepilogo di Persona, operazioni e tecnologia
Con il modello di maturità MLOps, possiamo definire una chiara progettazione dell'architettura e una roadmap di consegna. Tuttavia, ogni persona deve avere una visione chiara degli account e dei servizi AWS chiave con cui interagire e delle operazioni da condurre. Il diagramma seguente riassume queste categorie.
Conclusione
Una solida base MLOps, che definisce chiaramente l'interazione tra più persone e tecnologia, può aumentare la velocità di creazione del valore e ridurre i costi e consentire ai data scientist di concentrarsi sulle innovazioni. In questo post, abbiamo mostrato come costruire una tale base in più fasi, portando a un modello di maturità MLOps fluido per l'azienda e alla capacità di supportare più team di data science e casi d'uso ML in produzione. Abbiamo definito un modello operativo composto da più persone con molteplici competenze e responsabilità. Infine, abbiamo condiviso esempi di come standardizzare lo sviluppo del codice (repository e pipeline CI/CD), l'archiviazione e la condivisione dei dati e il provisioning dell'infrastruttura sicura MLOps per gli ambienti aziendali. Molti clienti aziendali hanno adottato questo approccio e sono in grado di produrre le proprie soluzioni di machine learning in pochi giorni anziché in mesi.
Se hai commenti o domande, ti preghiamo di lasciarli nella sezione commenti.
L'autore
Dott. Sokratis Kartakis è un Senior Machine Learning Specialist Solutions Architect per Amazon Web Services. Sokratis si concentra sul consentire ai clienti aziendali di industrializzare le loro soluzioni di Machine Learning (ML) sfruttando i servizi AWS e modellando il loro modello operativo, ovvero la base MLOps e la roadmap di trasformazione, sfruttando le migliori pratiche di sviluppo. Ha trascorso oltre 15 anni inventando, progettando, guidando e implementando soluzioni innovative di ML e Internet of Things (IoT) end-to-end a livello di produzione nei domini dell'energia, vendita al dettaglio, salute, finanza/bancario, sport motoristici ecc. A Sokratis piace passare il tempo libero con la famiglia e gli amici o andare in moto.
Giorgio Schina è uno Specialist Solutions Architect per AI/ML nella regione EMEA. Ha sede a Londra e lavora a stretto contatto con clienti nel Regno Unito e in Irlanda. Georgios aiuta i clienti a progettare e distribuire applicazioni di machine learning in produzione su AWS con un particolare interesse per le pratiche MLOps e consentendo ai clienti di eseguire machine learning su larga scala. Nel tempo libero ama viaggiare, cucinare e passare il tempo con gli amici e la famiglia.
Giuseppe Angelo Porcelli è un Principal Machine Learning Specialist Solutions Architect per Amazon Web Services. Con diversi anni di ingegneria del software e background ML, lavora con clienti di qualsiasi dimensione per comprendere a fondo le loro esigenze aziendali e tecniche e progettare soluzioni di intelligenza artificiale e machine learning che sfruttino al meglio il cloud AWS e lo stack Amazon Machine Learning. Ha lavorato a progetti in diversi domini, tra cui MLOps, Computer Vision, NLP e coinvolgendo un'ampia serie di servizi AWS. Nel tempo libero Giuseppe si diverte a giocare a calcio.
Shelbee Eigenbrode è Principal AI and Machine Learning Specialist Solutions Architect presso Amazon Web Services (AWS). Si occupa di tecnologia da 24 anni coprendo diversi settori, tecnologie e ruoli. Attualmente si sta concentrando sulla combinazione del suo background DevOps e ML nel dominio di MLOps per aiutare i clienti a fornire e gestire carichi di lavoro ML su larga scala. Con oltre 35 brevetti concessi in vari domini tecnologici, ha una passione per l'innovazione continua e l'utilizzo dei dati per ottenere risultati aziendali. Shelbee è un co-creatore e istruttore della specializzazione Practical Data Science su Coursera. È anche co-direttore di Women In Big Data (WiBD), capitolo di Denver. Nel tempo libero le piace passare il tempo con la sua famiglia, gli amici e i cani iperattivi.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/mlops-foundation-roadmap-for-enterprises-with-amazon-sagemaker/
- "
- 100
- a
- capacità
- WRI
- ABSTRACT
- accelerare
- accesso
- accessibile
- ospitare
- Il mio account
- Raggiungere
- operanti in
- aggiunta
- aggiuntivo
- Adozione
- Avanzate
- contro
- AI
- Algoritmi
- Tutti
- consente
- alternativa
- Amazon
- Amazon Web Services
- tra
- quantità
- .
- analista
- analitica
- Un altro
- api
- Applicazioni
- applicazioni
- approccio
- architettura
- revisione
- automatizzare
- Automatico
- automaticamente
- Automazione
- disponibile
- evitando
- AWS
- sfondo
- Linea di base
- perché
- diventare
- prima
- dietro
- benefico
- MIGLIORE
- fra
- Big Data
- Conto
- Incremento
- costruire
- Costruzione
- incassato
- affari
- aziende
- funzionalità
- Custodie
- casi
- centralizzata
- impegnativo
- Capitolo
- Controlli
- classico
- Cloud
- codice
- collaboreranno
- collaborazione
- Colonna
- combinazione
- Commenti
- commettere
- Uncommon
- Aziende
- compatibile
- completamento di una
- complesso
- conformità
- computer
- Segui il codice di Condotta
- conduzione
- fiducia
- Configurazione
- veloce
- coerente
- Contenitore
- Tecnologie Container
- contiene
- di controllo
- copiatura
- Corrispondente
- potuto
- coprire
- creare
- creato
- crea
- Creazione
- creazione
- Attualmente
- costume
- cliente
- Clienti
- dati
- l'accesso ai dati
- analisi dei dati
- privacy dei dati
- scienza dei dati
- scienziato di dati
- memorizzazione dei dati
- Giorni
- dedicato
- consegna
- Richiesta
- Denver
- Dipendente
- dipende
- schierare
- schierato
- distribuzione
- deployment
- implementazioni
- Distribuisce
- descrivere
- Design
- progettazione
- dettagli
- rivelazione
- Dev
- sviluppare
- Mercato
- strumenti di sviluppo
- differenza
- diverso
- discutere
- distribuzione
- docker
- dominio
- domini
- guidare
- spinto
- durante
- ogni
- bordo
- eliminato
- abbraccio
- enable
- Abilita
- consentendo
- da un capo all'altro
- endpoint
- energia
- Ingegneria
- Ingegneri
- Impresa
- aziende
- Ambiente
- eccetera
- valutare
- valutazione
- Evento
- eventi
- di preciso
- esempio
- Esempi
- esclusa
- esperimento
- gesta
- esplorazione
- famiglia
- caratteristica
- figura
- Infine
- Nome
- flusso
- Focus
- si concentra
- messa a fuoco
- i seguenti
- Calcio
- formazione
- essere trovato
- Fondazione
- Fondazioni
- Contesto
- quadri
- Gratis
- da
- funzionalità
- funzioni
- Inoltre
- porta
- GDPR
- generato
- Idiota
- GitHub
- scopo
- la governance
- concesso
- Gruppo
- Manovrabilità
- hash
- Salute e benessere
- Aiuto
- aiutare
- aiuta
- Alta
- storico
- storia
- ospitato
- Come
- Tutorial
- Tuttavia
- HTTPS
- centinaia
- Identità
- immagini
- realizzare
- implementato
- Implementazione
- importante
- competenze
- inclusi
- Compreso
- Aumento
- industrie
- informazioni
- Infrastruttura
- Innovazione
- innovazioni
- creativi e originali
- ingresso
- esempio
- integrazione
- integrazioni
- interazione
- interesse
- Interfaccia
- Internet
- Internet delle cose
- IoT
- Irlanda
- da solo
- IT
- Lavoro
- Offerte di lavoro
- accoppiamento
- Entra a far parte
- mantenere
- Le
- conoscenze
- grandi
- con i più recenti
- strato
- portare
- principale
- IMPARARE
- apprendimento
- Lasciare
- Legale
- livelli
- leveraging
- Biblioteca
- caricare
- locale
- a livello locale
- Londra
- macchina
- machine learning
- make
- Fare
- gestire
- gestione
- obbligatorio
- Manuale
- maturità
- meccanismo
- Utenti
- Unire
- Metodologia
- metodi
- Metrica
- forza
- mente
- ordine
- specchio
- ML
- modello
- modelli
- Monitorare
- mese
- Scopri di più
- Motorsports
- cambiano
- in movimento
- multiplo
- cioè
- nomi
- di denominazione
- necessaria
- esigenze
- GENERAZIONE
- normalmente
- operare
- operativo
- Operazioni
- ottimizzazione
- Opzione
- Opzioni
- minimo
- organizzazioni
- i
- Altro
- proprio
- proprietario
- proprietari
- parte
- particolare
- partito
- passione
- Brevetti
- Persone
- performance
- esecuzione
- fase
- piattaforma
- Giocare
- gioco
- per favore
- punto
- Termini e Condizioni
- Preparare
- Direttore
- Privacy
- Problema
- processi
- lavorazione
- Prodotto
- Prodotto
- Produzione
- della produttività
- progetto
- progetti
- promuoverlo
- promozione
- fornire
- purché
- fornisce
- traino
- qualità
- RE
- tempo reale
- ridurre
- riducendo
- regione
- registro
- Relazioni
- affidabile
- deposito
- richiesta
- richieste
- necessario
- Requisiti
- richiede
- riparazioni
- risorsa
- Risorse
- responsabilità
- responsabile
- Risultati
- nello specifico retail
- ritorno
- problemi
- tabella di marcia
- robustezza
- Ruolo
- radice
- Correre
- running
- stesso
- scalabile
- Scala
- scala
- in programma
- Scienze
- Scienziato
- scienziati
- sdk
- sicuro
- problemi di
- serial
- Serie
- servizio
- Servizi
- set
- flessibile.
- alcuni
- Forma
- condiviso
- compartecipazione
- mostrare attraverso le sue creazioni
- simile
- simulazione
- singolo
- Taglia
- abilità
- Software
- Ingegneria del software
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- codice sorgente
- specialista
- specifico
- in particolare
- velocità
- spendere
- Spendere
- dividere
- pila
- Stage
- tappe
- inizia a
- Regione / Stato
- statistiche
- statistica
- Stato dei servizi
- conservazione
- Tornare al suo account
- negozi
- Strategia
- snellire
- stress
- strutturato
- studio
- di successo
- supporto
- supportato
- supporti
- sistema
- SISTEMI DI TRATTAMENTO
- team
- le squadre
- Consulenza
- Tecnologie
- Tecnologia
- modelli
- test
- Testing
- test
- Il
- L’ORIGINE
- il mondo
- perciò
- cose
- di parti terze standard
- tre
- tempo
- insieme
- strumenti
- Treni
- Training
- Trasformare
- Trasformazione
- trasformazioni
- Di viaggio
- Tipi di
- ui
- Uk
- per
- capire
- unità
- Aggiornanento
- uso
- utenti
- utilizzare
- convalida
- APPREZZIAMO
- vario
- Visualizza
- visione
- sito web
- servizi web
- while
- entro
- senza
- Donna
- Lavora
- lavorato
- flussi di lavoro
- lavori
- mondo
- scrittura
- anni
- Trasferimento da aeroporto a Sharm