

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de un canal de entrada de ML en AWS Clean Rooms ML
<a name="create-ml-input-channel"></a>

**Requisitos previos: **
+ Y Cuenta de AWS con acceso a AWS Clean Rooms
+ Una colaboración configurada en la AWS Clean Rooms que desea crear el canal de entrada ML
+ Permisos para consultar datos y crear canales de entrada de aprendizaje automático en la colaboración. 
+ (Opcional) Un algoritmo modelo existente para asociarlo al canal de entrada de ML o permisos para crear uno nuevo
+ (Opcional) Tablas con reglas de análisis que se pueden ejecutar para el modelo especificado. 
+ (Opcional) Una plantilla de consulta o análisis SQL existente que se utilizará para generar el conjunto de datos
+ (Opcional) Un rol de servicio existente con los permisos adecuados o permisos para crear un nuevo rol de servicio
+ (Opcional) Una AWS KMS clave personalizada si quieres usar tu propia clave de cifrado
+ Permisos adecuados para crear y administrar modelos de aprendizaje automático en la colaboración

Un *canal de entrada de ML* es un conjunto de datos que se crea a partir de una consulta de datos específica. Los miembros con la capacidad de consultar datos pueden preparar sus datos para el entrenamiento y la inferencia mediante la creación de un canal de entrada de aprendizaje automático. La creación de un canal de entrada de aprendizaje automático permite que los datos se utilicen en diferentes modelos de entrenamiento dentro de la misma colaboración. Debe crear canales de entrada de aprendizaje automático independientes para el entrenamiento y la inferencia.

Para crear un canal de entrada de ML, debe especificar la consulta SQL que se utiliza para consultar los datos de entrada y crear el canal de entrada de ML. Los resultados de esta consulta nunca se comparten con ningún miembro y permanecen dentro de los límites de Clean Rooms ML. El nombre de recurso de Amazon (ARN) de referencia se utiliza en los siguientes pasos para entrenar un modelo o ejecutar una inferencia.

------
#### [ Console ]

**Para crear un canal de entrada de ML (consola)**

1. Inicie sesión Consola de administración de AWS y abra la AWS Clean Rooms consola en [https://console.aws.amazon.com/cleanrooms](https://console.aws.amazon.com/cleanrooms/home).

1. En el panel de navegación izquierdo, elija **Colaboraciones**.

1. En la página de **colaboraciones**, elija la colaboración en la que desee crear un canal de entrada de aprendizaje automático.

1. Cuando se abra la colaboración, selecciona la pestaña de **modelos de aprendizaje automático**.

1. En **Modelos ML personalizados**, en la sección **Canales de entrada ML**, selecciona **Crear canal de entrada ML**.

1. En la página **Crear canal de entrada ML**, para ver los **detalles del canal de entrada ML**, haga lo siguiente: 

   1. En **Nombre**, introduce un nombre único para tu canal.

   1. (Opcional) En **Descripción**, introduce una descripción de tu canal.

   1. En **Algoritmo del modelo asociado**, seleccione el algoritmo que desee utilizar.

      Elija **Asociar algoritmo de modelo** para agregar uno nuevo.

1. En **Dataset**, elige un método para generar el conjunto de datos de entrenamiento:
   + Elija una **consulta SQL** para usar los resultados de una consulta SQL como conjunto de datos de entrenamiento. 

     Si eligió una **consulta SQL**, introduzca la consulta en el campo de **consulta SQL**.

     (Opcional) Para importar una consulta que haya utilizado recientemente, seleccione **Importar de consultas recientes**. 
   + Elija una **plantilla de análisis** para usar los resultados de una plantilla de análisis como conjunto de datos de entrenamiento.
**aviso**  
La generación de datos sintéticos protege contra la inferencia de atributos individuales, ya sea que haya personas específicas presentes en el conjunto de datos original o que estén presentes los atributos de aprendizaje de esas personas. Sin embargo, no impide que los valores literales del conjunto de datos original, incluida la información de identificación personal (PII), aparezcan en el conjunto de datos sintético.  
Recomendamos evitar los valores en el conjunto de datos de entrada que estén asociados a un solo sujeto de datos, ya que pueden volver a identificar a un sujeto de datos. Por ejemplo, si solo un usuario vive en un código postal, la presencia de ese código postal en el conjunto de datos sintético confirmaría que el usuario estaba en el conjunto de datos original. Para mitigar este riesgo, se pueden utilizar técnicas como truncar valores de alta precisión o reemplazar catálogos poco comunes por *otros*. Estas transformaciones pueden formar parte de la consulta utilizada para crear el canal de entrada de ML.

   1. Si no hay tablas asociadas, elija **Asociar tabla** para agregar tablas con una regla de análisis que se pueda ejecutar para el modelo especificado. 

   1. Elija el **tipo de trabajador** que se utilizará al crear este canal de datos. El tipo de trabajador predeterminado es **CR.1X.** Especifique el **número de trabajadores que se van a utilizar**. El número de trabajador predeterminado es **16**. Para especificar las **propiedades de Spark**:

      1. Amplíe **Propiedades de Spark**.

      1. Selecciona **Añadir propiedades de Spark**.

      1. En el cuadro de diálogo de **propiedades de Spark**, elija un **nombre de propiedad** en la lista desplegable e introduzca un **valor**.

      En las tablas siguientes se proporciona una definición para cada propiedad.

      Para obtener más información sobre las propiedades de Spark, consulte [Propiedades de Spark](https://spark.apache.org/docs/latest/configuration.html#spark-properties) en la documentación de Apache Spark. 
**nota**  
Puedes configurar un máximo de 50 propiedades de Spark. El valor de cada propiedad puede tener un máximo de 500 caracteres.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/clean-rooms/latest/userguide/create-ml-input-channel.html)    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/clean-rooms/latest/userguide/create-ml-input-channel.html)

   1. **En Retención de datos en días**, introduce el número de días que se van a conservar los datos.

   1. En el **formato de resultado,** elija **CSV** o **Parquet** como formato de datos que debe usar el canal de entrada ML.

1. Para **acceder al servicio**, elija el **nombre del rol de servicio existente** que se usará para acceder a esta tabla o elija **Crear y usar un nuevo rol de servicio**. 

1. Para el **cifrado**, elija el **secreto de cifrado con una clave de KMS personalizada para especificar su propia clave** de KMS y la información relacionada. De lo contrario, Clean Rooms ML gestionará el cifrado.

1. Elija **Crear canal de entrada ML**. 

   La creación del canal de entrada ML tardará unos minutos. Puede ver una lista de canales de entrada ML en la pestaña de **modelos ML**.

**nota**  
Una vez creado el canal de entrada ML, no podrá editarlo.

------
#### [ API ]

Para crear un canal de entrada (API) de ML

Ejecute el siguiente código con sus parámetros específicos: 

```
import boto3 
acr_client = boto3.client('cleanroomsml')

acr_client.create_ml_input_channel(
    name="ml_input_channel_name",
    membershipIdentifier='membership_id',
    configuredModelAlgorithmAssociations=[configured_model_algorithm_association_arn],
    retentionInDays=1,
    inputChannel={
        "dataSource": {
            "protectedQueryInputParameters": {
                "sqlParameters": {
                    "queryString": "select * from table",
                    "computeConfiguration": {
                        "worker": {
                            "type": "CR.1X",
                            "number": 16,
                            "properties": {
                                "spark": {
                                    "spark configuration key": "spark configuration value",
                                }
                            }   
                        }
                    },
                    "resultFormat": "PARQUET"
                }
            }
        },
        "roleArn": "arn:aws:iam::111122223333:role/role_name"
    }
)
channel_arn = resp['ML Input Channel ARN']
```

------