Accelerare lo sviluppo di AI/ML presso il Gruppo BMW con Amazon SageMaker Studio

Potenziare lo sviluppo di AI/ML nel Gruppo BMW con Amazon SageMaker Studio

Questo post è scritto in collaborazione con Marc Neumann, Amor Steinberg e Marinus Krommenhoek del BMW Group.

Il BMW Group – con sede a Monaco di Baviera, Germania – è guidato da 149.000 dipendenti in tutto il mondo e produce in oltre 30 stabilimenti produttivi e di assemblaggio in 15 paesi. Oggi, il BMW Group è il principale produttore mondiale di automobili e motociclette di lusso e offre servizi finanziari e di mobilità di alta gamma. Il BMW Group stabilisce tendenze nella tecnologia di produzione e nella sostenibilità come leader dell’innovazione con un mix di materiali intelligente, un cambiamento tecnologico verso la digitalizzazione e una produzione efficiente delle risorse.

In un mondo sempre più digitale e in rapido cambiamento, le strategie di sviluppo aziendale e di prodotto del BMW Group si basano fortemente sulla presa di decisioni basate sui dati. Pertanto, la necessità di scienziati dei dati e ingegneri di machine learning (ML) è cresciuta in modo significativo. A questi professionisti competenti è affidato il compito di costruire e implementare modelli che migliorano la qualità e l’efficienza dei processi aziendali di BMW e consentono decisioni informate da parte dei dirigenti.

Gli scienziati dei dati e gli ingegneri di ML hanno bisogno di strumenti capaci e di calcolo sufficiente per il loro lavoro. Pertanto, BMW ha costituito diversi anni fa un’infrastruttura centralizzata di ML/deep learning in loco e l’ha continuamente aggiornata. Per aprire la strada alla crescita dell’intelligenza artificiale, BMW Group doveva fare un salto in termini di scalabilità e elasticità riducendo al contempo i costi operativi, le licenze software e la gestione dell’hardware.

In questo post, parleremo di come BMW Group, in collaborazione con AWS Professional Services, ha costruito il suo servizio Jupyter Managed (JuMa) per affrontare queste sfide. JuMa è un servizio della piattaforma AI del BMW Group per i suoi analisti dei dati, ingegneri di ML e scienziati dei dati che fornisce uno spazio di lavoro user-friendly con un ambiente di sviluppo integrato (IDE). È alimentato da Amazon SageMaker Studio e offre JupyterLab per Python e Posit Workbench per R. Questa offerta consente agli ingegneri di ML di BMW di eseguire analisi dei dati e ML incentrati sul codice, aumenta la produttività degli sviluppatori fornendo capacità self-service e automazione dell’infrastruttura e si integra strettamente con il panorama degli strumenti IT centralizzati di BMW.

JuMa è ora disponibile per tutti gli scienziati dei dati, ingegneri di ML e analisti dei dati del BMW Group. Il servizio ottimizza lo sviluppo ML e i flussi di lavoro di produzione (MLOps) in tutto il BMW, fornendo un ambiente di sviluppo economico e scalabile che facilita la collaborazione senza soluzione di continuità tra squadre di data science ed engineering in tutto il mondo. Ciò si traduce in una sperimentazione più rapida e cicli di convalida delle idee più brevi. Inoltre, l’infrastruttura JuMa, basata su servizi serverless e gestiti di AWS, aiuta a ridurre il carico operativo per le squadre di DevOps e consente loro di concentrarsi sulla facilitazione dei casi d’uso e sull’accelerazione dell’innovazione nell’ambito dell’IA presso il BMW Group.

Sfide della crescita di una piattaforma di IA in loco

Prima di introdurre il servizio JuMa, i team BMW in tutto il mondo utilizzavano due piattaforme in loco che fornivano agli utenti ambienti JupyterHub e RStudio. Queste piattaforme erano troppo limitate per quanto riguarda CPU, GPU e memoria per consentire la scalabilità dell’IA presso il BMW Group. La scalabilità di queste piattaforme con la gestione di più hardware in loco, più licenze software e commissioni di supporto richiederebbe investimenti significativi iniziali ed elevati sforzi per la loro manutenzione. Inoltre, erano disponibili capacità di self-service limitate, che richiedevano un elevato sforzo operativo per i team di DevOps. Ancora più importante, l’uso di queste piattaforme non era allineato alla strategia di cloud-first IT del BMW Group. Ad esempio, i team che utilizzavano queste piattaforme non potevano migrare facilmente i loro prototipi di IA/ML all’industrializzazione delle soluzioni in esecuzione su AWS. Al contrario, le squadre di data science e analytics già utilizzavano AWS direttamente per la sperimentazione e dovevano occuparsi anche della costruzione e dell’operatività delle loro infrastrutture AWS, garantendo al contempo la conformità alle politiche interne del BMW Group, alle leggi e ai regolamenti locali. Ciò includeva una serie di attività di configurazione e governance, come l’ordinazione di account AWS, la limitazione dell’accesso a Internet, l’utilizzo di pacchetti elencati come consentiti e il mantenimento dei Docker image aggiornati.

Panoramica della soluzione

JuMa è un servizio di piattaforma AI completamente gestito, multi-tenant e sicuro costruito su AWS con SageMaker Studio al centro. Affidandosi ai servizi serverless e gestiti di AWS come principali componenti di base dell’infrastruttura, il team di JuMa DevOps non deve preoccuparsi di applicare patch ai server, aggiornare lo storage o gestire altri componenti di infrastruttura. Il servizio gestisce automaticamente tutti questi processi, fornendo una potente piattaforma tecnica generalmente aggiornata e pronta all’uso.

Gli utenti di JuMa possono ordinare senza sforzo un’area di lavoro tramite un portale self-service per creare un ambiente di sviluppo e sperimentazione sicuro e isolato per i loro team. Dopo che è stata fornita un’area di lavoro JuMa, gli utenti possono avviare gli ambienti JupyterLab o Posit in SageMaker Studio con pochi clic e iniziare lo sviluppo immediatamente, utilizzando gli strumenti e i framework con cui sono più familiarizzati. JuMa è strettamente integrato con una serie di servizi IT centrali BMW, tra cui la gestione dell’identità e dell’accesso, la gestione dei ruoli e dei diritti, il BMW Cloud Data Hub (data lake di BMW su AWS) e i database in loco. Quest’ultimo aiuta i team di AI/ML ad accedere in modo trasparente ai dati richiesti, purché siano autorizzati a farlo, senza la necessità di creare pipeline di dati. Inoltre, i notebook possono essere integrati nei repository Git aziendali per collaborare utilizzando il controllo delle versioni.

La soluzione astrae tutte le complessità tecniche associate alla gestione dell’account AWS, alla configurazione e alla personalizzazione per i team di AI/ML, consentendo loro di concentrarsi completamente sull’innovazione AI. La piattaforma garantisce che la configurazione dell’area di lavoro soddisfi i requisiti di sicurezza e conformità di BMW di default.

Il seguente diagramma descrive la vista di contesto ad alto livello dell’architettura:

User journey

I membri del team BMW AI/ML possono ordinare la propria area di lavoro JuMa utilizzando il catalogo standard di BMW. Dopo l’approvazione del responsabile di linea, l’area di lavoro JuMa ordinata viene fornita automaticamente dalla piattaforma. Il flusso di lavoro per la fornitura dell’area di lavoro include i seguenti passaggi (come numerati nel diagramma dell’architettura):

  1. Un team di data scientist ordina una nuova area di lavoro JuMa nel catalogo di BMW. JuMa fornisce automaticamente un nuovo account AWS per l’area di lavoro. Ciò garantisce la piena isolamento tra le aree di lavoro seguendo la struttura dell’account modello federato menzionato in SageMaker Studio Administration Best Practices.
  2. JuMa configura un’area di lavoro (che è un dominio Sagemaker) che consente solo le funzioni predefinite di Amazon SageMaker richieste per sperimentazione e sviluppo, kernel personalizzati specifici e configurazioni del ciclo di vita. Configura anche le subnet e i gruppi di sicurezza necessari per garantire l’esecuzione dei notebook in un ambiente sicuro.
  3. Dopo che le aree di lavoro sono state fornite, gli utenti autorizzati accedono al portale JuMa e accedono all’IDE di SageMaker Studio all’interno della propria area di lavoro utilizzando un URL pre-firmato di SageMaker. Gli utenti possono scegliere tra l’apertura di uno spazio privato di SageMaker Studio o uno spazio condiviso. Gli spazi condivisi favoriscono la collaborazione tra diversi membri di un team che possono lavorare in parallelo sugli stessi notebook, mentre gli spazi privati consentono un ambiente di sviluppo per carichi di lavoro solitari.
  4. Utilizzando il portale dati BMW, gli utenti possono richiedere l’accesso ai database in loco o ai dati archiviati nel Cloud Data Hub di BMW, rendendoli disponibili nella propria area di lavoro per sviluppo e sperimentazione, dalla preparazione e analisi dei dati fino all’addestramento e alla convalida del modello.

Dopo che un modello di AI è stato sviluppato e convalidato in JuMa, i team di AI possono utilizzare il servizio MLOPs della piattaforma AI di BMW per distribuirlo in produzione in modo rapido ed efficiente. Questo servizio fornisce agli utenti un’infrastruttura ML di produzione e pipeline di qualità su AWS utilizzando SageMaker, che può essere configurato in pochi minuti con pochi clic. Gli utenti devono semplicemente ospitare il loro modello nell’infrastruttura fornita e personalizzare la pipeline per soddisfare le specifiche esigenze del caso d’uso. In questo modo, la piattaforma AI copre l’intero ciclo di vita dell’AI presso il Gruppo BMW.

Funzionalità di JuMa

Seguendo le migliori pratiche architetturali su AWS, il servizio JuMa è stato progettato e implementato secondo il Framework Well-Architected di AWS. Le decisioni architetturali di ciascun pilastro Well-Architected sono descritte in dettaglio nelle sezioni seguenti.

Sicurezza e conformità

Per garantire una completa isolamento tra gli utenti, ogni area di lavoro riceve il proprio account AWS, dove gli utenti autorizzati possono collaborare congiuntamente su compiti di analisi e sviluppo ed esperimento di modelli AI/ML. Il portale JuMa stesso garantisce l’isolamento in fase di esecuzione utilizzando l’isolamento basato su policy con AWS Identity and Access Management (IAM) e il contesto dell’utente JuMa. Per ulteriori informazioni su questa strategia, fare riferimento a Isolamento basato su policy in fase di esecuzione con IAM.

I data scientist possono accedere solo al proprio dominio tramite la rete BMW tramite URL pre-firmati generati dal portale. L’accesso diretto a Internet è disabilitato all’interno del loro dominio. I privilegi del dominio Sagemaker vengono creati utilizzando le figure manageriali del Gestore Ruoli di Amazon SageMaker per garantire un accesso con il minimo dei privilegi ai servizi AWS necessari per lo sviluppo, come SageMaker, Amazon Athena, Amazon Simple Storage Service (Amazon S3) e AWS Glue. Questo ruolo implementa delle linee guida per l’AI/ML (come quelle descritte in Governance e controllo), inclusa l’obbligatorietà della formazione dell’AI/ML che avvenga sia in Amazon Virtual Private Cloud (Amazon VPC) o senza connessione Internet, consentendo solo l’uso delle immagini SageMaker personalizzate e verificate da JuMa.

Poiché JuMa è progettato per lo sviluppo, l’esperimento e l’analisi ad hoc, implementa politiche di conservazione per rimuovere i dati dopo 30 giorni. Per accedere ai dati quando necessario e conservarli a lungo termine, JuMa si integra in modo trasparente con BMW Cloud Data Hub e i database in loco di BMW.

Infine, JuMa supporta più regioni per conformarsi a situazioni legali locali speciali che, ad esempio, richiedono l’elaborazione dei dati in loco per garantire la sovranità dei dati di BMW.

Eccellenza operativa

Sia la piattaforma backend di JuMa che le aree di lavoro sono implementate con servizi serverless e gestiti di AWS. L’utilizzo di questi servizi aiuta a ridurre gli sforzi del team della piattaforma BMW nella manutenzione e nell’operatività della soluzione end-to-end, cercando di essere un servizio zero-operazioni. Sia l’area di lavoro che il portale vengono monitorati utilizzando log, metriche e allarmi di Amazon CloudWatch per controllare gli indicatori chiave di prestazione (KPI) e notificare proattivamente il team della piattaforma di eventuali problemi. Inoltre, viene utilizzato il sistema di tracciamento distribuito AWS X-Ray per tracciare le richieste attraverso più componenti e aggiungere contesto rilevante dell’area di lavoro ai log di CloudWatch.

Tutte le modifiche all’infrastruttura di JuMa vengono gestite e implementate tramite automazione utilizzando l’infrastruttura come codice (IaC). Ciò aiuta a ridurre gli sforzi manuali e gli errori umani, aumentare la coerenza e assicurare modifiche riproducibili e versionate sia nella piattaforma backend di JuMa che nelle aree di lavoro. In particolare, tutte le aree di lavoro vengono provisionate e aggiornate tramite un processo di integrazione basato su AWS Step Functions, AWS CodeBuild e Terraform. Pertanto, non è necessaria alcuna configurazione manuale per integrare nuove aree di lavoro nella piattaforma JuMa.

Ottimizzazione dei costi

Utilizzando i servizi serverless di AWS, JuMa assicura una scalabilità on-demand, dimensioni delle istanze pre-approvate e un modello di pagamento in base all’utilizzo delle risorse durante le attività di sviluppo e sperimentazione del team AI/ML. Per ottimizzare ulteriormente i costi, la piattaforma JuMa monitora e individua le risorse inutilizzate all’interno di SageMaker Studio e le spegne automaticamente per evitare spese per risorse non utilizzate.

Sostenibilità

JuMa sostituisce le due piattaforme di BMW in loco per l’analisi e l’apprendimento approfondito che consumano una quantità considerevole di elettricità e producono emissioni di CO2 anche quando non sono in uso. Spostando i carichi di lavoro AI/ML da sistemi in loco ad AWS, BMW ridurrà l’impatto ambientale dismettendo le piattaforme in loco.

Inoltre, il meccanismo di spegnimento automatico delle risorse inattive, le politiche di conservazione dei dati e i rapporti sull’utilizzo dello spazio di lavoro implementati in JuMa aiutano a ridurre ulteriormente l’impronta ambientale dell’esecuzione dei carichi di lavoro AI/ML su AWS.

Efficienza delle prestazioni

Utilizzando SageMaker Studio, i team di BMW traggono vantaggio da una facile adozione delle ultime funzionalità di SageMaker che possono contribuire ad accelerare i loro esperimenti. Ad esempio, possono utilizzare le funzionalità di Amazon SageMaker JumpStart per utilizzare i modelli pre-addestrati più recenti e open source. Inoltre, aiuta a ridurre gli sforzi del team AI/ML nel passaggio dall’esperimento all’industrializzazione delle soluzioni, poiché l’ambiente di sviluppo fornisce gli stessi servizi core di AWS ma limitati alle capacità di sviluppo.

Affidabilità

I domini di SageMaker Studio vengono distribuiti in modalità solo VPC per gestire l’accesso a Internet e consentire solo l’accesso ai servizi AWS previsti. La rete viene distribuita in due zone di disponibilità per proteggersi da un singolo punto di guasto, raggiungendo una maggiore resilienza e disponibilità della piattaforma per gli utenti.

Le modifiche ai workspace di JuMa vengono automaticamente distribuite e testate negli ambienti di sviluppo e integrazione, utilizzando IaC e pipeline CI/CD, prima di eseguire l’aggiornamento dell’ambiente del cliente.

Infine, i dati archiviati in Amazon Elastic File System (Amazon EFS) per i domini di SageMaker Studio vengono conservati anche dopo l’eliminazione dei volumi per scopi di backup.

Conclusione

In questo post, abbiamo descritto come BMW Group, in collaborazione con AWS ProServe, ha sviluppato un servizio di piattaforma AI completamente gestito su AWS utilizzando SageMaker Studio e altri servizi serverless e gestiti di AWS.

Con JuMa, i team di AI/ML di BMW sono in grado di sbloccare nuovo valore aziendale accelerando gli esperimenti e il time-to-market per le soluzioni AI innovative. Inoltre, migrando dalla piattaforma in loco, BMW può ridurre gli sforzi operativi complessivi e i costi, aumentando allo stesso tempo la sostenibilità complessiva e la sicurezza generale.

Per saperne di più sull’esecuzione dei carichi di lavoro di sperimentazione e sviluppo AI/ML su AWS, visita Amazon SageMaker Studio.