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.
Puntos de conexión multimodelo
Los puntos de conexión multimodelo proporcionan una solución escalable y rentable para implementar grandes cantidades de modelos. Utilizan la misma flota de recursos y un contenedor de servicio compartido para alojar todos sus modelos. Esto reduce los costes de alojamiento al mejorar la utilización del punto de conexión en comparación con el uso de puntos de conexión de modelo único. También reduce la sobrecarga de implementación, ya que Amazon SageMaker gestiona la carga de los modelos en la memoria y su escalado en función de los patrones de tráfico hacia su punto final.
El siguiente diagrama muestra cómo funcionan los puntos de conexión multimodelo en comparación con los puntos de conexión de un solo modelo.
Los puntos de conexión multimodelo son ideales para alojar una gran cantidad de modelos que utilizan el mismo marco de ML en un contenedor de servidores compartido. Si tiene una combinación de modelos a los que se accede con frecuencia y con poca frecuencia, un punto de conexión multimodelo puede atender este tráfico de manera eficiente con menos recursos y un mayor ahorro de costes. Su aplicación debe tolerar las penalizaciones de latencia ocasionales relacionadas con el arranque en frío que se producen al invocar modelos que se utilizan con poca frecuencia.
Los terminales multimodelo admiten el alojamiento tanto de los modelos respaldados como de los modelos respaldados. CPU GPU Al utilizar modelos GPU respaldados, puede reducir los costos de implementación del modelo mediante un mayor uso del punto final y sus instancias de procesamiento acelerado subyacentes.
Los puntos de conexión multimodelo permiten compartir el tiempo de los recursos de memoria en todos los modelos. Esto funciona mejor cuando los modelos son bastante similares en tamaño y latencia de invocación. Cuando es el caso, los puntos de conexión multimodelo pueden usar eficazmente instancias en todos los modelos. Si tiene modelos que requieren transacciones por segundo (TPS) o latencia significativamente más altos, le recomendamos alojarlos en puntos de conexión dedicados.
Puede utilizar puntos de conexión multimodelo con las siguientes funciones:
-
AWS PrivateLinky VPCs
-
Canalizaciones de inferencia en serie (pero solo se puede incluir un contenedor habilitado para varios modelos en una canalización de inferencia)
-
Prueba A/B
Puede utilizar la consola AWS SDK for Python (Boto) o la SageMaker consola para crear un punto final multimodelo. En el CPU caso de puntos finales multimodelo respaldados, puede crear su punto final con contenedores personalizados integrando la biblioteca de servidores multimodelo.
Temas
- Cómo funcionan los puntos de conexión multimodelo
- Cuadernos de ejemplo para puntos de conexión multimodelo
- Algoritmos, marcos e instancias compatibles para terminales multimodelo
- Recomendaciones de instancia para implementaciones de puntos de conexión multimodelo
- Creación de un punto de conexión multimodelo
- Invocar un punto de conexión multimodelo
- Agregar o eliminar modelos
- Cree su propio contenedor para terminales SageMaker multimodelo
- Seguridad de puntos de conexión multimodelo
- CloudWatch Métricas para despliegues de terminales multimodelo
- Establezca el SageMaker comportamiento de almacenamiento en caché del modelo de punto final multimodelo
- Establecer políticas de escalado automático para implementaciones de puntos de conexión multimodelo
Cómo funcionan los puntos de conexión multimodelo
SageMaker gestiona el ciclo de vida de los modelos alojados en puntos finales multimodelo de la memoria del contenedor. En lugar de descargar todos los modelos de un bucket de Amazon S3 al contenedor al crear el punto de conexión, los carga y almacena en caché de SageMaker forma dinámica cuando los invoca. Cuando SageMaker recibe una solicitud de invocación para un modelo en particular, hace lo siguiente:
-
Enruta la solicitud a una instancia detrás del punto de conexión.
-
Descarga el modelo desde el bucket de S3 al volumen de almacenamiento de esa instancia.
-
Carga el modelo en la memoria del contenedor (CPUoGPU, según si tiene instancias GPU respaldadas CPU o respaldadas) en esa instancia de cómputo acelerado. Si el modelo ya está cargado en la memoria del contenedor, la invocación es más rápida porque SageMaker no es necesario descargarlo ni cargarlo.
SageMaker sigue enviando las solicitudes de un modelo a la instancia en la que el modelo ya está cargado. Sin embargo, si el modelo recibe muchas solicitudes de invocación y hay instancias adicionales para el punto final multimodelo, SageMaker enruta algunas solicitudes a otra instancia para acomodar el tráfico. Si el modelo aún no está cargado en la segunda instancia, el modelo se descarga en el volumen de almacenamiento de esa instancia y se carga en la memoria del contenedor.
Cuando el uso de memoria de una instancia es elevado y SageMaker necesita cargar otro modelo en la memoria, descarga los modelos no utilizados del contenedor de esa instancia para garantizar que haya suficiente memoria para cargar el modelo. Los modelos que se descargan permanecen en el volumen de almacenamiento de la instancia y se pueden cargar en la memoria del contenedor más adelante sin volver a descargarse desde el bucket S3. Si el volumen de almacenamiento de la instancia alcanza su capacidad, SageMaker elimina los modelos no utilizados del volumen de almacenamiento.
Para eliminar un modelo, deja de enviar solicitudes y elimínalo del bucket de S3. SageMaker proporciona la capacidad de punto final multimodelo en un contenedor de servicio. Al agregar modelos a un punto de conexión multimodelo y eliminarlos del mismo, no es necesario actualizar el punto de conexión en sí. Para añadir un modelo, se carga en el bucket S3 y se empieza a invocar. No necesita cambios de código para usarlo.
nota
Al actualizar un punto de conexión multimodelo, las solicitudes de invocación iniciales en el punto de conexión pueden experimentar latencias más altas, ya que Smart Routing en los puntos de conexión multimodelo se adapta a su patrón de tráfico. Sin embargo, una vez que conozca su patrón de tráfico, podrá experimentar latencias bajas en los modelos que utilice con más frecuencia. Los modelos que se utilizan con menos frecuencia pueden sufrir algunas latencias de arranque en frío, ya que los modelos se cargan dinámicamente en una instancia.
Cuadernos de ejemplo para puntos de conexión multimodelo
Para obtener más información sobre cómo usar puntos de conexión multimodelo, puede probar los siguientes cuadernos de ejemplo:
-
Ejemplos de puntos finales multimodelo que utilizan CPU instancias respaldadas:
-
Cuaderno de XGBoost muestra de punto final multimodelo
: este cuaderno muestra cómo implementar varios XGBoost modelos en un punto final. -
Cuaderno de BYOC ejemplo de terminales multimodelo
: este cuaderno muestra cómo configurar e implementar un contenedor de clientes que admita puntos finales multimodelo. SageMaker
-
-
Ejemplo de puntos finales multimodelo que utilizan instancias respaldadas: GPU
-
Ejecute varios modelos de aprendizaje profundo con puntos de enlace SageMaker multimodelo de GPUs Amazon (MME)
: este cuaderno muestra cómo utilizar un contenedor de inferencia de NVIDIA Triton para implementar de 5 a 50 modelos en un punto de enlace ResNet multimodelo.
-
Para obtener instrucciones sobre cómo crear instancias de Jupyter Notebook y acceder a ellas, que puede utilizar para ejecutar los ejemplos anteriores, consulte. SageMaker Instancias de Amazon SageMaker Notebook Tras crear una instancia de bloc de notas y abrirla, selecciona la pestaña SageMaker Ejemplos para ver una lista de todos los SageMaker ejemplos. Los cuadernos de puntos finales multimodelo se encuentran en la ADVANCEDFUNCTIONALITYsección. Para abrir un bloc de notas, elija su pestaña Usar y, a continuación, Crear copia.
Para obtener más información sobre casos de uso de puntos de conexión multimodelo, consulte los siguientes blogs y recursos: