Distribuisci e utilizza una piattaforma di deep learning multi-framework su Kubernetes

Nodo di origine: 1580762

Descrizione

In qualità di professionista del deep learning, desideri affidabilità e scalabilità mentre orchestra le tue attività di formazione. Inoltre, vorresti farlo in modo coerente su più librerie. Con Fabric for Deep Learning (FfDL) su Kubernetes, puoi raggiungere questo obiettivo offrendo agli utenti la possibilità di sfruttare librerie di deep learning come Caffe, Torch e TensorFlow nel cloud in modo resiliente con il minimo sforzo. La piattaforma utilizza un livello di distribuzione e orchestrazione che facilita l'apprendimento da una grande quantità di dati in un periodo di tempo ragionevole tra i nodi di calcolo. Un livello di provisioning delle risorse consente una gestione flessibile dei lavori su risorse eterogenee, come unità di elaborazione grafica (GPU) e unità di elaborazione centrale (CPU), in un cloud IaaS (Infrastructure as a Service).

Panoramica

L’addestramento delle reti neurali profonde, noto come deep learning (parte dei metodi di machine learning), è altamente complesso e ad alta intensità di calcolo. Un tipico utente del deep learning è inutilmente esposto ai dettagli dell'infrastruttura hardware e software sottostante, inclusa la configurazione di costose macchine GPU, l'installazione di librerie di deep learning e la gestione dei lavori durante l'esecuzione per gestire errori e ripristini. Nonostante la facilità di ottenere hardware dai cloud IaaS e di pagare a ore, l'utente deve comunque gestire tali macchine, installare le librerie richieste e garantire la resilienza dei lavori di formazione sul deep learning.

È qui che risiede l’opportunità del deep learning come servizio. In questo modello di codice ti mostriamo come distribuire un Fabric di deep learning su Kubernetes. Utilizzando artefatti architettonici nativi del cloud come Kubernetes, microservizi, grafici Helm e archiviazione di oggetti, ti mostriamo come distribuire e utilizzare un Fabric di deep learning. Questo Fabric si estende su più motori di deep learning come TensorFlow, Caffe e PyTorch. Combina la flessibilità, la facilità d'uso e l'economicità di un servizio cloud con la potenza del deep learning. Lo troverai facile da usare e, utilizzando le API REST, potrai personalizzare la formazione con risorse diverse in base ai requisiti o al budget dell'utente. Consenti agli utenti di concentrarsi sul deep learning e sulle applicazioni invece di concentrarsi sui guasti.

Flow

flusso

  1. Il programma di distribuzione FfDL distribuisce la codebase FfDL su un cluster Kubernetes. Il cluster Kubernetes è configurato per utilizzare GPU, CPU o entrambi e ha accesso allo storage di oggetti compatibile con S3. Se non specificato, viene creato un pod S3 simulato localmente.
  2. Una volta distribuito, il data scientist carica i dati di training del modello nell'archivio oggetti compatibile con S3. FfDL presuppone che i dati siano già nel formato richiesto come prescritto da diversi framework di deep learning.
  3. L'utente crea un file manifest del modello FfDL. Il file manifest contiene diversi campi che descrivono il modello in FfDL, le informazioni sull'archivio oggetti, i requisiti delle risorse e diversi argomenti (inclusi gli iperparametri) necessari per l'esecuzione del modello durante il training e il test. L'utente interagisce quindi con FfDL utilizzando la CLI/SDK o l'interfaccia utente per distribuire il file manifesto del modello FfDL con un file di definizione del modello. L'utente avvia il processo di formazione e ne monitora l'avanzamento.
  4. L'utente scarica il modello addestrato e i log associati una volta completato il processo di addestramento.

Istruzioni

Trova i passaggi dettagliati per questo modello nel README. I passaggi ti mostreranno come:

  1. Compila, codifica e crea immagini Docker.
  2. Installa i componenti FfDL con l'installazione del timone.
  3. Esegui uno script per configurare Grafana per il monitoraggio di FfDL.
  4. Ottieni gli endpoint Grafana, FfDL Web UI e FfDL REST API.
  5. Esegui alcuni semplici lavori per addestrare un modello di rete convoluzionale utilizzando TensorFlow e Caffe.

Fonte: https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

Timestamp:

Di più da Sviluppatore IBM