Inicio rápido: cree un dominio sandbox de SageMaker IA para lanzar clústeres de Amazon EMR en Studio - Amazon SageMaker AI

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.

Inicio rápido: cree un dominio sandbox de SageMaker IA para lanzar clústeres de Amazon EMR en Studio

En esta sección, se explica la configuración rápida de un entorno de pruebas completo en Amazon SageMaker Studio. Creará un nuevo dominio de Studio que permitirá a los usuarios inicializar nuevos clústeres de Amazon EMR directamente desde Studio. Los pasos proporcionan un ejemplo de cuaderno que puede conectar a un clúster de Amazon EMR para empezar a ejecutar cargas de trabajo de Spark. Con este cuaderno, creará un sistema de generación aumentada (RAG) de recuperación utilizando el procesamiento distribuido y la base de datos vectoriales Amazon EMR Spark. OpenSearch

nota

Para empezar, inicie sesión en la consola de AWS administración con una cuenta de usuario AWS Identity and Access Management (IAM) con permisos de administrador. Para obtener más información sobre cómo registrar una cuenta de AWS y crear un usuario con acceso administrativo, consulte Complete los requisitos previos de Amazon SageMaker AI.

Paso 1: Crear un dominio de SageMaker IA para lanzar clústeres de Amazon EMR en Studio

En los siguientes pasos, aplicará una AWS CloudFormation pila para crear automáticamente un nuevo dominio de SageMaker IA. La pila también crea un perfil de usuario y configura el entorno y los permisos necesarios. El dominio de SageMaker IA está configurado para permitirle lanzar directamente clústeres de Amazon EMR desde Studio. En este ejemplo, los clústeres de Amazon EMR se crean en la misma AWS cuenta que SageMaker AI sin autenticación. Puede encontrar AWS CloudFormation pilas adicionales que admiten varios métodos de autenticación, como Kerberos, en el repositorio getting_started. GitHub

nota

SageMaker AI permite 5 dominios de Studio por AWS cuenta y de forma predeterminada. Región de AWS Asegúrese de que su cuenta no tenga más de 4 dominios en su región antes de crear la pila.

Siga estos pasos para configurar un dominio de SageMaker IA para lanzar clústeres de Amazon EMR desde Studio.
  1. Descargue el archivo sin procesar de esta AWS CloudFormation plantilla desde el sagemaker-studio-emr GitHub repositorio.

  2. Ve a la AWS CloudFormation consola: https://console.aws.amazon.com/cloudformation

  3. Elija Crear pila y seleccione Con recursos nuevos (estándar) en el menú desplegable.

  4. En el paso 1:

    1. En la sección Preparar la plantilla, seleccione Elegir una plantilla existente.

    2. En la sección Especificar plantilla, elija Cargar un archivo de plantilla.

    3. Carga la AWS CloudFormation plantilla descargada y selecciona Siguiente.

  5. En el paso 2, introduce un nombre para la pila y SageMakerDomainName, a continuación, selecciona Siguiente.

  6. En el paso 3, mantenga todos los valores predeterminados y elija Siguiente.

  7. En el paso 4, marque la casilla para confirmar la creación del recurso y seleccione Crear pila. De este modo, se crea un dominio de Studio en su cuenta y región.

Paso 2: inicialización de un nuevo clúster de Amazon EMR desde la interfaz de usuario de Studio

En los siguientes pasos, creará un nuevo clúster de Amazon EMR desde la IU de Studio.

  1. Ve a la consola de SageMaker IA https://console.aws.amazon.com/sagemaker/y selecciona Dominios en el menú de la izquierda.

  2. Haz clic en el Generativo de tu nombre de dominio AIDomain para abrir la página de detalles del dominio.

  3. Inicialización de Studio desde el perfil de usuario genai-user.

  4. En el panel de navegación izquierdo, vaya a Datos y luego a Clústeres de Amazon EMR.

  5. En la página de clústeres de Amazon EMR , elija Crear. Seleccione la plantilla SageMaker Studio Domain No Auth EMR creada por AWS CloudFormation la pila y, a continuación, elija Siguiente.

  6. Introduzca el nombre del nuevo clúster de Amazon EMR. Si lo desea, actualice otros parámetros, como el tipo de instancia de los nodos principales y maestros, el tiempo de espera de inactividad o la cantidad de nodos principales.

  7. Elija Crear recurso para inicializar el nuevo clúster de Amazon EMR.

    Tras crear el clúster de Amazon EMR, siga el estado en la página Clústeres de EMR. Cuando el estado cambie a Running/Waiting, el clúster de Amazon EMR estará listo para usarse en Studio.

Paso 3: Conectar un JupyterLab portátil al clúster de Amazon EMR

En los siguientes pasos, conectará un portátil JupyterLab al clúster de Amazon EMR en ejecución. Para este ejemplo, importa un bloc de notas que le permite crear un sistema de generación aumentada de recuperación (RAG) mediante el procesamiento distribuido y la base de datos vectoriales de Amazon EMR Spark. OpenSearch

  1. Lance JupyterLab

    Desde Studio, inicia la JupyterLab aplicación.

  2. Creación de un espacio privado

    Si no ha creado un espacio para JupyterLab la aplicación, elija Crear un JupyterLab espacio. Introduzca un nombre para el espacio y manténgalo como Privado. Deje todas las demás configuraciones en sus valores predeterminados y, a continuación, elija Crear espacio.

    De lo contrario, ejecute su JupyterLab espacio para iniciar una JupyterLab aplicación.

  3. Implementación de su LLM y sus modelos de incrustación para la inferencia
    • En el menú superior, seleccione Archivo, Nuevo y, a continuación, Terminal.

    • En el terminal, ejecute el siguiente comando:

      wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb mkdir AWSGuides cd AWSGuides wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/AmazonSageMakerDeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/EC2DeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/S3DeveloperGuide.pdf

      Al hacerlo, se recupera el cuaderno Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb en su directorio local y se descargan tres archivos PDF en una carpeta de AWSGuides local.

    • Abra lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb, conserve el kernel Python 3 (ipykernel) y ejecute cada celda.

      aviso

      En la sección Acuerdo de licencia de Llama 2, asegúrese de aceptar el EULA de Llama2 antes de continuar.

      El cuaderno implementa dos modelos, Llama 2 y all-MiniLM-L6-v2 Models, en ml.g5.2xlarge para realizar la inferencia.

      La implementación de los modelos y la creación de los puntos de conexión puede llevar algún tiempo.

  4. Apertura del cuaderno principal

    En JupyterLab, abre tu terminal y ejecuta el siguiente comando.

    cd .. wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb

    Deberías ver el Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb cuaderno adicional en el panel izquierdo de JupyterLab.

  5. Seleccione un kernel de PySpark.

    Abra su cuaderno de Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb y asegúrese de que está usando el kernel SparkMagic PySpark. Puede cambiar de kernel en la parte superior derecha de su cuaderno. Elija el nombre del kernel actual para abrir un modal de selección del kernel y, a continuación, elijaSparkMagic PySpark.

  6. Conexión del cuaderno al clúster
    1. En la parte superior del cuaderno, elija Clúster. Esta acción abre una ventana modal en la que se enumeran todos los clústeres en ejecución para los que tiene permiso de acceso.

    2. Seleccione su clúster y elija Conectar. Se abre una nueva ventana modal de selección del tipo de credencial.

    3. Elija No hay credenciales y luego Conectar.

      Modal que muestra una selección de credenciales de Amazon EMR para JupyterLab cuadernos.
    4. Se rellena y ejecuta automáticamente una celda del cuaderno. La celda del cuaderno carga la extensión sagemaker_studio_analytics_extension.magics, que proporciona la funcionalidad para conectarse al clúster de Amazon EMR. A continuación, utiliza el comando mágico %sm_analytics para iniciar la conexión con el clúster de Amazon EMR y la aplicación de Spark.

      nota

      Asegúrese de que la cadena de conexión a su clúster de Amazon EMR tenga un tipo de autenticación establecido en None. Esto se ilustra con el valor --auth-type None en el siguiente ejemplo. Puede modificar el campo si es necesario.

      %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --verify-certificate False --cluster-id your-cluster-id --auth-type None --language python
    5. Una vez que haya establecido correctamente la conexión, el mensaje de salida de la celda de conexión debería mostrar sus detalles de SparkSession, incluidos el ID del clúster, el ID de la aplicación YARN y un enlace a la interfaz de usuario de Spark para supervisar sus trabajos de Spark.

Ya está listo para usar el cuaderno de Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb. Este cuaderno de ejemplo ejecuta PySpark cargas de trabajo distribuidas para crear un sistema RAG utilizando y. LangChain OpenSearch

Paso 4: Limpia tu pila AWS CloudFormation

Cuando termine, asegúrese de terminar sus dos puntos de conexión y de eliminar su pila de AWS CloudFormation para evitar que le sigan cobrando. Al eliminar la pila, se limpian todos los recursos aprovisionados por la pila.

Para eliminar tu AWS CloudFormation pila cuando termines de usarla
  1. Ve a la AWS CloudFormation consola: https://console.aws.amazon.com/cloudformation

  2. Seleccione la pila que desea eliminar. Puede buscarla por su nombre o en la lista de pilas.

  3. Haga clic en el botón Eliminar para finalizar la eliminación de la pila y, a continuación, en Eliminar de nuevo para confirmar que se eliminarán todos los recursos creados por la pila.

    Espere a que finalice la eliminación de la pila. Esto puede tardar unos minutos. AWS CloudFormation limpia automáticamente todos los recursos definidos en la plantilla de pila.

  4. Compruebe que se hayan eliminado todos los recursos creados por la pila. Por ejemplo, compruebe si sobra algún clúster de Amazon EMR.

Eliminación de los puntos de conexión de la API de un modelo
  1. Ve a la consola de SageMaker IA:. https://console.aws.amazon.com/sagemaker/

  2. En el panel de navegación, seleccione Inferencia y elija Puntos de conexión.

  3. Seleccione el punto de conexión hf-allminil6v2-embedding-ep y, a continuación, elija Eliminar en la lista desplegable Acciones. Repita el paso para el punto de conexión meta-llama2-7b-chat-tg-ep.