Realizzare architetture IT moderne per il Machine Learning

Per la maggior parte delle realtà aziendali, la capacità di fornire e di integrare continuamente soluzioni di intelligenza artificiale all’interno delle proprie applicazioni e nei workflow aziendali, viene considerata un’evoluzione particolarmente complessa. Nel panorama dell’intelligenza artificiale in rapida evoluzione il machine learning (ML) ricopre un ruolo fondamentale insieme alla “data science”. Pertanto, per aumentare i successi di determinati progetti di intelligenza artificiale, le organizzazioni devono disporre di architetture IT moderne ed efficienti per il machine learning. In questo articolo viene descritto come è possibile realizzare ovunque queste architetture grazie all’integrazione tra Kubernetes, Azure Arc ed Azure Machine Learning.

Azure Machine Learning

Azure Machine Learning (AzureML) è un servizio cloud che è possibile utilizzare per accelerare e gestire il ciclo di vita dei progetti di machine learning, portando i modelli di ML in un ambiente di produzione sicuro ed affidabile.

Kubernetes come destinazione di calcolo per Azure Machine Learning

Azure Machine Learning ha recentemente introdotto la possibilità di attivare una nuova destinazione per il calcolo computazionale: AzureML Kubernetes compute. Infatti, risulta possibile utilizzare un cluster Azure Kubernetes Service (AKS) esistente oppure un cluster Kubernetes abilitato per Azure Arc come destinazione di calcolo per Azure Machine Learning e utilizzarlo per validare e per distribuire modelli di ML.

Figura 1 – Panoramica su come portare Azure ML ovunque grazie a K8s ed Azure Arc

AzureML Kubernetes compute supporta due tipi di cluster Kubernetes:

  • Cluster AKS (in ambiente Azure). Utilizzando un cluster gestito Azure Kubernetes Service (AKS), è possibile ottenere un ambiente flessibile, sicuro ed in grado di soddisfare i requisiti di conformità per i workload di ML.
  • Cluster Kubernetes Arc-enabled (in ambienti differenti da Azure). Grazie ad Azure Arc-enabled Kubernetes risulta possibile gestire da Azure cluster Kubernetes in esecuzione in ambienti differenti  (on-premises o su altri cloud) e utilizzarli per distribuire modelli di ML.

Per abilitare e utilizzare un cluster Kubernetes per eseguire workload AzureML è necessario seguire i seguenti passaggi:

  1. Attivare e configurare un cluster AKS oppure un cluster Kubernetes Arc-enabled. A questo proposito si ricorda anche la possibilità di attivare AKS in ambiente Azure Stack HCI.
  2. Distribuire l’estensione AzureML sul cluster.
  3. Collegare il cluster Kubernetes al workspace di Azure ML.
  4. Utilizzare la destinazione di calcolo Kubernetes da CLI v2, SDK v2 e la Studio UI.
Figura 2 – Step per abilitare e per utilizzare un cluster K8s per workload AzureML

La gestione dell’infrastruttura per i workload di ML può risultare complessa e Microsoft consiglia che venga eseguita dal team IT-operations, in modo che il team di data science possa concentrarsi sull’efficienza dei modelli di ML. Alla luce di questa considerazione, la suddivisione dei ruoli può essere la seguente:

  • Il Team IT-operation è responsabile dei primi 3 passaggi riportati in precedenza. Inoltre, solitamente svolge le seguenti attività per il team di data science:
    • Effettua le configurazioni degli aspetti legati al networking ed alla sicurezza
    • Crea e gestisce le tipologie di istanze per i diversi scenari di carico di lavoro di ML al fine di ottenere un utilizzo efficiente delle risorse di calcolo.
    • Si occupa della risoluzione dei problemi relativi al carico di lavoro dei cluster Kubernetes.
  • Il Team di data science, concluse le attività di attivazione in carico al Team IT-operation, può individuare un elenco di destinazioni di calcolo e di tipologie di istanza disponibili nel workspace di AzureML. Queste risorse di calcolo possono essere usate per i workload di training oppure di inferenza. La destinazione di calcolo viene scelta dal team utilizzando gli strumenti specifici come AzureML CLI v2, Python SDK v2 oppure Studio UI.

Scenari d’uso

La possibilità di utilizzare Kubernetes come destinazione di calcolo per Azure Machine Learning, unita alle potenzialità di Azure Arc, consente di creare, sperimentare e distribuire modelli di ML in qualsiasi infrastruttura on-premises oppure su differenti cloud.

Questa possibilità attiva differenti nuovi scenari di utilizzo, precedentemente impensabili utilizzando solo l’ambiente cloud. La tabella seguente fornisce un riepilogo degli scenari d’uso resi possibili da Azure ML Kubernetes compute, specificando la posizione in cui risiedono i dati, la motivazione che guida ogni modello di utilizzo e come viene realizzato a livello di infrastruttura e di Azure ML.

Tabella 1 – Nuovi scenari d’uso resi possibili da Azure ML Kubernetes compute

Conclusioni

Gartner prevede che entro il 2025, a causa di una rapida diffusione di iniziative in ambito dell’IA, il 70% delle organizzazioni avrà reso operative architetture IT per l’intelligenza artificiale. Microsoft, grazie all’integrazione tra differenti soluzioni offre una serie di possibilità per attivare architetture flessibili e all’avanguardia per il Machine Learning, parte integrante dell’intelligenza artificiale.