Recomendaciones de instancia para implementaciones de puntos de conexión multimodelo
Hay varios elementos que deben tenerse en cuenta al seleccionar un tipo de instancia SageMaker ML para un punto de conexión multimodelo:
-
Aprovisione suficiente capacidad de Amazon Elastic Block Store (Amazon EBS) para todos los modelos que tenga que atender.
-
Equilibre el rendimiento (minimice los inicios en frío) y el coste (no aprovisione en exceso la capacidad de instancia). Para obtener información sobre el tamaño del volumen de almacenamiento que SageMaker asocia para cada tipo de instancia para un punto de conexión y para un punto de conexión multimodelo, consulte Volúmenes de almacén de instancias.
-
Para un contenedor configurado para ejecutarse en modo
MultiModel
, el volumen de almacenamiento aprovisionado para sus instancias tiene más memoria que el modoSingleModel
predeterminado. Esto permite almacenar más modelos en caché en el volumen de almacenamiento de la instancia que en modoSingleModel
.
Al elegir un tipo de instancia de SageMaker ML, tenga en cuenta lo siguiente:
-
Actualmente, los puntos de conexión multimodelo se admiten en todos los tipos de instancias de CPU y en tipos de instancias de una sola GPU.
-
Para la distribución del tráfico (patrones de acceso) a los modelos que desea alojar detrás del punto de conexión multimodelo, junto con el tamaño del modelo (cuántos modelos se pueden cargar en la memoria en la instancia), tenga en cuenta la siguiente información:
-
Piense en la cantidad de memoria de una instancia como el espacio de caché para que se carguen los modelos y piense en la cantidad de vCPU como el límite de simultaneidad para realizar inferencias en los modelos cargados (suponiendo que la invocación de un modelo esté vinculada a la CPU).
-
En el caso de las instancias respaldadas por CPU, la cantidad de vCPU afecta al número máximo de invocaciones simultáneas por instancia (suponiendo que la invocación de un modelo esté vinculada a la CPU). Una mayor cantidad de vCPU le permite invocar más modelos exclusivos de forma simultánea.
-
En el caso de instancias respaldadas por GPU, una mayor cantidad de memoria de GPU e instancia le permite tener más modelos cargados y listos para servir solicitudes de inferencia.
-
En el caso de instancias respaldadas por CPU y GPU, tenga disponible memoria “holgada” para que los modelos no utilizados puedan descargarse, y especialmente para los puntos de conexión multimodelo con varias instancias. Si falla una instancia o una zona de disponibilidad, los modelos de esas instancias se redireccionarán a otras instancias situadas detrás del punto de conexión.
-
-
Determine su tolerancia a tiempos de carga/descarga:
-
Las familias de tipos de instancia d (por ejemplo, m5d, c5d o r5d) y g5s vienen con un SSD NVMe (memoria express no volátil), que ofrece un alto rendimiento de E/S y podría reducir el tiempo necesario para descargar modelos en el volumen de almacenamiento y para que el contenedor cargue el modelo desde el volumen de almacenamiento.
-
Dado que los tipos de instancia d y g5 vienen con un almacenamiento SSD NVMe, SageMaker no asocia un volumen de almacenamiento de Amazon EBS a estas instancias de computación de ML que alojan el punto de conexión multimodelo. El escalado automático funciona mejor cuando los modelos tienen un tamaño similar y son homogéneos, es decir, cuando sus requisitos de recursos y latencia de inferencia son similares.
-
También puede utilizar las siguientes instrucciones para optimizar la carga de modelos en sus puntos de conexión multimodelo:
Elegir un tipo de instancia que no pueda almacenar todos los modelos de destino en la memoria
En algunos casos, podría optar por reducir costes eligiendo un tipo de instancia que no pueda contener todos los modelos de destino en memoria a la vez. Sagemaker descarga los modelos de forma dinámica cuando se queda sin memoria para dejar espacio para un nuevo modelo objetivo. En el caso de modelos que se solicitan con poca frecuencia, se sacrifica la latencia de carga dinámica. En los casos con necesidades de latencia más estrictas, puede optar por tipos de instancia más grandes o más instancias. Invertir tiempo por adelantado en las pruebas y el análisis del rendimiento le ayuda a realizar implementaciones de producción satisfactorias.
Evaluar los resultados de caché de su modelo
Las métricas de Amazon CloudWatch pueden ayudarle a evaluar sus modelos. Para obtener más información sobre las métricas que puede utilizar con puntos de conexión multimodelo, consulte Métricas de CloudWatch para implementaciones de puntos de conexión multimodelo .
Puede utilizar la estadística Average
de la métrica ModelCacheHit
para monitorizar la proporción de solicitudes en las que el modelo ya está cargado. Puede utilizar la estadística SampleCount
de la métrica ModelUnloadingTime
para monitorizar el número de solicitudes de descarga enviadas al contenedor durante un período de tiempo. Si los modelos se descargan con demasiada frecuencia (un indicador de pérdidas, donde los modelos se descargan y se cargan de nuevo porque no hay suficiente espacio en caché para el conjunto de modelos de trabajo), considere utilizar un tipo de instancia mayor con más memoria o aumentar el número de instancias detrás del punto de conexión multimodelo. En el caso de los puntos de conexión multimodelo con varias instancias, tenga en cuenta que un modelo puede cargarse en más de una instancia.