

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# SageMaker Componenti AI per Kubeflow Pipelines
<a name="kubernetes-sagemaker-components-for-kubeflow-pipelines"></a>

Con i componenti SageMaker AI per Kubeflow Pipelines, puoi creare e monitorare processi nativi di formazione, ottimizzazione, implementazione degli endpoint e trasformazione in batch dell' SageMaker IA dalle tue Kubeflow Pipelines. Eseguendo i job Kubeflow Pipeline su SageMaker AI, sposti i lavori di elaborazione e formazione dei dati dal cluster Kubernetes al servizio gestito ottimizzato per l'apprendimento automatico di AI. SageMaker Questo documento presuppone una conoscenza preliminare di Kubernetes e Kubeflow. 

**Topics**
+ [Cos’è Kubeflow Pipelines?](#what-is-kubeflow-pipelines)
+ [Cosa sono i componenti Kubeflow Pipelines?](#kubeflow-pipeline-components)
+ [Perché usare SageMaker AI Components per Kubeflow Pipelines?](#why-use-sagemaker-components)
+ [SageMaker Componenti AI per le versioni di Kubeflow Pipelines](#sagemaker-components-versions)
+ [Elenco dei componenti SageMaker AI per Kubeflow Pipelines](#sagemaker-components-list)
+ [autorizzazioni IAM](#iam-permissions)
+ [Conversione delle pipeline per utilizzare l'intelligenza artificiale SageMaker](#converting-pipelines-to-use-amazon-sagemaker)
+ [Installazione di Kubeflow Pipelines](kubernetes-sagemaker-components-install.md)
+ [Usa i componenti AI SageMaker](kubernetes-sagemaker-components-tutorials.md)

## Cos’è Kubeflow Pipelines?
<a name="what-is-kubeflow-pipelines"></a>

Kubeflow Pipelines (KFP) è una piattaforma per la creazione e la distribuzione di flussi di lavoro di machine learning (ML) portatili e scalabili basati su container Docker. La piattaforma Kubeflow Pipelines comprende i seguenti elementi:
+ Un'interfaccia utente (UI) per la gestione e il monitoraggio di esperimenti, processi ed esecuzioni. 
+ Un motore (Argo) per la pianificazione di flussi di lavoro ML in più fasi.
+ Un SDK per definire e manipolare pipeline e componenti.
+ Notebook per interagire con il sistema tramite SDK.

Una pipeline è una descrizione di un flusso di lavoro ML espressa come [grafico aciclico diretto](https://www.kubeflow.org/docs/pipelines/concepts/graph/). [Ogni fase del flusso di lavoro è espressa come componente Kubeflow Pipeline, che è un modulo.](https://www.kubeflow.org/docs/pipelines/overview/concepts/component/) AWS SDK per Python (Boto3) 

Per ulteriori informazioni su Kubeflow Pipelines, consulta la [Documentazione di Kubeflow Pipelines](https://www.kubeflow.org/docs/pipelines/). 

## Cosa sono i componenti Kubeflow Pipelines?
<a name="kubeflow-pipeline-components"></a>

Un componente Kubeflow Pipelines è un insieme di codice utilizzato per eseguire una fase di una pipeline Kubeflow. I componenti sono rappresentati da un modulo Python integrato in un'immagine Docker. Quando la pipeline viene eseguita, il container del componente viene istanziato su uno dei nodi di processo del cluster Kubernetes che esegue Kubeflow e la logica viene eseguita. I componenti della pipeline possono leggere gli output dei componenti precedenti e creare output utilizzabili dal componente successivo della pipeline. Questi componenti semplificano e velocizzano la scrittura di pipeline per ambienti di sperimentazione e produzione senza dover interagire con l'infrastruttura Kubernetes sottostante.

Puoi utilizzare SageMaker AI Components nella tua pipeline Kubeflow. Invece di incapsulare la logica in un container personalizzato, è sufficiente caricare i componenti e descrivere la pipeline utilizzando Kubeflow Pipelines SDK. Quando la pipeline viene eseguita, le tue istruzioni vengono tradotte in un lavoro o in un'implementazione di SageMaker intelligenza artificiale. Il carico di lavoro viene quindi eseguito sull'infrastruttura di intelligenza artificiale completamente gestita. SageMaker 

## Perché usare SageMaker AI Components per Kubeflow Pipelines?
<a name="why-use-sagemaker-components"></a>

SageMaker I componenti AI per Kubeflow Pipelines offrono un'alternativa all'avvio di lavori ad alta intensità di calcolo dall'intelligenza artificiale. SageMaker I componenti integrano l' SageMaker intelligenza artificiale con la portabilità e l'orchestrazione di Kubeflow Pipelines. Utilizzando i componenti SageMaker AI per Kubeflow Pipelines, puoi creare e monitorare le tue risorse SageMaker AI come parte di un flusso di lavoro Kubeflow Pipelines. Ciascuno dei processi nelle tue pipeline viene eseguito sull' SageMaker intelligenza artificiale anziché sul cluster Kubernetes locale, consentendoti di sfruttare le funzionalità chiave dell' SageMaker IA come l'etichettatura dei dati, l'ottimizzazione degli iperparametri su larga scala e i lavori di formazione distribuiti o l'implementazione di modelli sicuri e scalabili con un clic. I parametri, lo stato, i log e gli output del processo di intelligenza artificiale sono ancora accessibili dall'interfaccia utente di Kubeflow Pipelines. SageMaker 

I componenti SageMaker AI integrano le principali funzionalità di SageMaker intelligenza artificiale nei flussi di lavoro ML, dalla preparazione dei dati alla creazione, all'addestramento e all'implementazione di modelli ML. È possibile costruire un’intera pipeline Kubeflow utilizzando questi componenti o integrare singoli componenti nel flusso di lavoro in base alle esigenze. I componenti sono disponibili in una o due versioni. Ogni versione di un componente sfrutta un backend diverso. Per ulteriori informazioni sulle versioni, consulta [SageMaker Componenti AI per le versioni di Kubeflow Pipelines](#sagemaker-components-versions).

Non sono previsti costi aggiuntivi per l'utilizzo dei componenti SageMaker AI per Kubeflow Pipelines. Tutte le risorse di SageMaker intelligenza artificiale utilizzate tramite questi componenti comportano costi aggiuntivi.

## SageMaker Componenti AI per le versioni di Kubeflow Pipelines
<a name="sagemaker-components-versions"></a>

SageMaker I componenti AI per Kubeflow Pipelines sono disponibili in due versioni. Ogni versione sfrutta un backend diverso per creare e gestire risorse sull'intelligenza artificiale. SageMaker 
+ **[I componenti SageMaker AI per Kubeflow Pipelines versione 1 (v1.x o precedente) utilizzano Boto3 () come backend.](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html)**AWS SDK per Python (Boto3)
+ [La versione 2 (v2.0.0-alpha2 e successive) di AI Components for Kubeflow Pipelines utilizza AI Operator for Kubernetes (ACK). SageMaker SageMaker ](https://github.com/aws-controllers-k8s/sagemaker-controller) 

  AWS [ha introdotto ACK per facilitare un modo nativo di Kubernetes di gestire le risorse cloud.](https://aws-controllers-k8s.github.io/community/) AWS ACK include un set di controller AWS specifici per il servizio, uno dei quali è il controller AI. SageMaker Il controller SageMaker AI semplifica l'utilizzo di Kubernetes come piano di controllo da parte degli sviluppatori di machine learning e dei data scientist per addestrare, ottimizzare e implementare modelli di machine learning (ML) nell'IA. SageMaker [Per ulteriori informazioni, consulta SageMaker AI Operators for Kubernetes](https://aws-controllers-k8s.github.io/community/docs/tutorials/sagemaker-example/) 

Sono supportate entrambe le versioni di SageMaker AI Components for Kubeflow Pipelines. Tuttavia, la versione 2 offre alcuni vantaggi aggiuntivi. In particolare, offre: 

1. Un'esperienza coerente per gestire le risorse SageMaker AI da qualsiasi applicazione, indipendentemente dal fatto che tu stia utilizzando le pipeline Kubeflow, la CLI di Kubernetes (`kubectl`) o altre applicazioni Kubeflow come Notebooks. 

1. La flessibilità necessaria per gestire e monitorare le risorse di intelligenza artificiale al di fuori del flusso di lavoro della pipeline Kubeflow. SageMaker 

1. Zero tempi di configurazione per utilizzare i componenti SageMaker AI se hai distribuito la versione completa di [Kubeflow](https://awslabs.github.io/kubeflow-manifests/docs/about/) al momento del AWS rilascio, poiché l'operatore SageMaker AI fa parte della sua implementazione. 

## Elenco dei componenti SageMaker AI per Kubeflow Pipelines
<a name="sagemaker-components-list"></a>

Di seguito è riportato un elenco di tutti i componenti SageMaker AI per Kubeflow Pipelines e le relative versioni disponibili. In alternativa, puoi trovare tutti i [componenti SageMaker AI per Kubeflow](https://github.com/kubeflow/pipelines/tree/master/components/aws/sagemaker#versioning) Pipelines in. GitHub

**Nota**  
Incoraggiamo gli utenti a utilizzare la versione 2 di un componente SageMaker AI ovunque sia disponibile.

### Componenti Ground Truth
<a name="ground-truth-components"></a>
+ **Ground Truth**

  Il componente Ground Truth consente di inviare lavori di etichettatura SageMaker AI Ground Truth direttamente da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Workteam**

  Il componente Workteam consente di creare lavori di team di lavoro privati basati sull' SageMaker intelligenza artificiale direttamente da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componenti di elaborazione dei dati
<a name="data-processing-components"></a>
+ **Processing**

  Il componente Processing consente di inviare lavori di elaborazione all' SageMaker IA direttamente da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componenti per l’addestramento
<a name="training-components"></a>
+ **Addestramento**

  Il componente Training consente di inviare lavori di SageMaker formazione direttamente da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Hyperparameter Optimization**

  Il componente Hyperparameter Optimization consente di inviare lavori di ottimizzazione degli iperparametri all' SageMaker IA direttamente da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componenti di inferenza
<a name="inference-components-kfp"></a>
+ **Hosting Deploy**

  I componenti di hosting consentono di implementare un modello utilizzando i servizi di hosting SageMaker AI da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Batch Transform**

  Il componente Batch Transform consente di eseguire lavori di inferenza per un intero set di dati in SageMaker AI da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Model Monitor**

  I componenti Model Monitor consentono di monitorare la qualità dei modelli di machine learning SageMaker AI in produzione da un flusso di lavoro Kubeflow Pipelines.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

## autorizzazioni IAM
<a name="iam-permissions"></a>

L'implementazione di Kubeflow Pipelines con componenti SageMaker AI richiede i seguenti tre livelli di autenticazione: 
+ Un ruolo IAM che garantisce al nodo gateway (che può corrispondere al computer locale o a un'istanza remota) l'accesso al cluster Amazon Elastic Kubernetes Service (Amazon EKS).

  L'utente che accede al nodo gateway assume questo ruolo per svolgere le seguenti operazioni:
  + Creazione di un cluster Amazon EKS e installazione di KFP
  + Creazione di ruoli IAM
  + Creazione di bucket Amazon S3 per i dati di input di esempio

  Il ruolo richiede le seguenti autorizzazioni:
  + CloudWatchLogsFullAccess 
  + [https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAWSCloudFormationFullAccess](https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAWSCloudFormationFullAccess) 
  + IAMFullAccesso
  + Amazon S3 FullAccess
  + Amazon EC2 FullAccess
  + Amazon EKSAdmin Policy (crea questa policy utilizzando lo schema di [Amazon EKS Identity-Based](https://docs.aws.amazon.com/eks/latest/userguide/security_iam_id-based-policy-examples.html) Policy Examples) 
+ Un ruolo di esecuzione IAM di Kubernetes assunto da Kubernetes pipeline pods (**kfp-example-pod-role**) o dal controller pod AI Operator for Kubernetes per accedere all'IA. SageMaker SageMaker Questo ruolo viene utilizzato per creare e monitorare lavori di intelligenza artificiale da Kubernetes. SageMaker 

  Il ruolo richiede le seguenti autorizzazioni:
  + AmazonSageMakerFullAccess 

  Puoi limitare le autorizzazioni ai pod KFP e controller creando e collegando policy personalizzate.
+ **Un ruolo di esecuzione SageMaker AI IAM assunto dai job SageMaker AI per accedere a AWS risorse come Amazon S3 o Amazon ECR (kfp-example-sagemaker-execution-role).**

  SageMaker I lavori di intelligenza artificiale utilizzano questo ruolo per:
  + Accedere alle risorse di SageMaker intelligenza artificiale
  + Inserimento di dati da Amazon S3
  + Archiviazione del modello di output su Amazon S3

  Il ruolo richiede le seguenti autorizzazioni:
  + AmazonSageMakerFullAccess 
  + Amazon S3 FullAccess 

## Conversione delle pipeline per utilizzare l'intelligenza artificiale SageMaker
<a name="converting-pipelines-to-use-amazon-sagemaker"></a>

[Puoi convertire una pipeline esistente per utilizzare l' SageMaker intelligenza artificiale trasferendo i contenitori di [elaborazione Python generici e i contenitori](https://docs.aws.amazon.com/sagemaker/latest/dg/amazon-sagemaker-containers.html) di formazione.](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html) Se utilizzi l' SageMaker intelligenza artificiale per l'inferenza, devi anche allegare le autorizzazioni IAM al cluster e convertire un artefatto in un modello.