Uno de los modelos más populares disponibles en la actualidad es XGBoost. Con la capacidad de resolver varios problemas como la clasificación y la regresión, XGBoost se ha convertido en una opción popular que también entra en la categoría de modelos basados en árboles. En esta publicación, profundizamos para ver cómo Amazon SageMaker puede servir estos modelos usando Servidor de inferencia NVIDIA Triton. Las cargas de trabajo de inferencia en tiempo real pueden tener diferentes niveles de requisitos y acuerdos de nivel de servicio (SLA) en términos de latencia y rendimiento, y se pueden cumplir con los puntos finales en tiempo real de SageMaker.
SageMaker proporciona puntos finales de modelo único, que le permiten implementar un único modelo de aprendizaje automático (ML) en un extremo lógico. Para otros casos de uso, puede optar por administrar el costo y el rendimiento mediante puntos finales de varios modelos, que le permiten especificar varios modelos para hospedar detrás de un extremo lógico. Independientemente de la opción que elija, los terminales de SageMaker permiten un mecanismo escalable incluso para los clientes empresariales más exigentes, al mismo tiempo que brindan valor en una gran cantidad de características, que incluyen variantes de sombra, escalado automáticoe integración nativa con Reloj en la nube de Amazon (para más información, consulte Métricas de CloudWatch para implementaciones de terminales de varios modelos).
Triton admite varios backends como motores para admitir la ejecución y el servicio de varios modelos de ML para la inferencia. Para cualquier implementación de Triton, es crucial saber cómo el comportamiento del back-end afecta sus cargas de trabajo y qué esperar para que pueda tener éxito. En esta publicación, lo ayudamos a comprender el Backend de la biblioteca de inferencia forestal (FIL), que es compatible con Triton en SageMaker, para que pueda tomar una decisión informada sobre sus cargas de trabajo y obtener el mejor rendimiento y optimización de costos posibles.
Inmersión profunda en el backend de FIL
Tritón apoya la back-end de FIL para servir modelos de árbol, tales como XGBoost, LuzGBM, scikit-aprender Bosque al azar, Bosque aleatorio de RAPIDS cuML, y cualquier otro modelo soportado por Treelita. Estos modelos se han utilizado durante mucho tiempo para resolver problemas como la clasificación o la regresión. Aunque estos tipos de modelos se han ejecutado tradicionalmente en CPU, la popularidad de estos modelos y las demandas de inferencia han dado lugar a diversas técnicas para aumentar el rendimiento de la inferencia. El backend de FIL utiliza muchas de estas técnicas mediante el uso de construcciones cuML y se basa en C++ y la biblioteca principal de CUDA para optimizar el rendimiento de la inferencia en los aceleradores de GPU.
El backend de FIL usa las bibliotecas de cuML para usar núcleos de CPU o GPU para acelerar el aprendizaje. Para usar estos procesadores, se hace referencia a los datos desde la memoria del host (por ejemplo, arreglos NumPy) o arreglos de GPU (uDF, Numba, cuPY o cualquier biblioteca que admita el __cuda_array_interface__
) API. Una vez que los datos se almacenan en la memoria, el backend de FIL puede ejecutar el procesamiento en todos los núcleos de CPU o GPU disponibles.
Los subprocesos de back-end de FIL pueden comunicarse entre sí sin utilizar la memoria compartida del host, pero en las cargas de trabajo de conjuntos, se debe considerar la memoria del host. El siguiente diagrama muestra una arquitectura de tiempo de ejecución del programador conjunto en la que tiene la capacidad de ajustar las áreas de memoria, incluida la memoria compartida direccionable de la CPU que se utiliza para la comunicación entre procesos entre Triton (C++) y el proceso de Python (backend de Python) para intercambiar tensores (entrada/salida) con el backend FIL.
Triton Inference Server proporciona opciones configurables para que los desarrolladores ajusten sus cargas de trabajo y optimicen el rendimiento del modelo. La configuración dynamic_batching
permite a Triton retener solicitudes del lado del cliente y procesarlas por lotes en el lado del servidor para utilizar de manera eficiente el cómputo paralelo de FIL para inferir todo el lote en conjunto. La opción max_queue_delay_microseconds
ofrece un control a prueba de fallas de cuánto tiempo espera Triton para formar un lote.
Hay una serie de otros específicos de FIL DMX / KNX como opciones disponibles que afectan el rendimiento y el comportamiento. Sugerimos comenzar con storage_type
. Cuando se ejecuta el backend en GPU, FIL crea una nueva estructura de memoria/datos que es una representación del árbol en el que FIL puede afectar el rendimiento y el espacio. Esto es configurable a través del parámetro de entorno. storage_type
, que tiene las opciones denso, disperso y automático. Elegir la opción densa consumirá más memoria GPU y no siempre da como resultado un mejor rendimiento, por lo que es mejor comprobarlo. Por el contrario, la opción escasa consumirá menos memoria GPU y posiblemente pueda funcionar tan bien o mejor que la densa. La elección automática hará que el modelo sea denso de forma predeterminada, a menos que hacerlo consuma significativamente más memoria de GPU que escasa.
Cuando se trata del rendimiento del modelo, podría considerar enfatizar el threads_per_tree
opción. Una cosa que puede exceder en los escenarios del mundo real es que threads_per_tree
puede tener un mayor impacto en el rendimiento que cualquier otro parámetro. Establecerlo en cualquier potencia de 2 de 1 a 32 es legítimo. El valor óptimo es difícil de predecir para este parámetro, pero cuando se espera que el servidor maneje una carga mayor o procese lotes más grandes, tiende a beneficiarse de un valor mayor que cuando procesa unas pocas filas a la vez.
Otro parámetro a tener en cuenta es algo
, que también está disponible si está ejecutando en GPU. Este parámetro determina el algoritmo que se usa para procesar las solicitudes de inferencia. Las opciones soportadas para esto son ALGO_AUTO
, NAIVE
, TREE_REORG
y BATCH_TREE_REORG
. Estas opciones determinan cómo se organizan los nodos dentro de un árbol y también pueden generar mejoras en el rendimiento. El ALGO_AUTO
opción predeterminada a NAIVE
para almacenamiento escaso y BATCH_TREE_REORG
para almacenamiento denso.
Por último, FIL viene con el explicador de Shapley, que se puede activar usando el treeshap_output
parámetro. Sin embargo, debe tener en cuenta que las salidas de Shapley perjudican el rendimiento debido a su tamaño de salida.
formato de modelo
Actualmente no existe un formato de archivo estándar para almacenar modelos basados en bosques; cada marco tiende a definir su propio formato. Para admitir múltiples formatos de archivo de entrada, FIL importa datos utilizando el código abierto Treelita biblioteca. Esto permite que FIL admita modelos entrenados en marcos populares, como XGBoost y LuzGBM. Tenga en cuenta que el formato del modelo que está proporcionando debe establecerse en el model_type
valor de configuración especificado en el config.pbtxt
archivo.
Configuración.pbtxt
Cada modelo en un repositorio de modelos debe incluir una configuración de modelo que proporcione la información requerida y opcional sobre el modelo. Por lo general, esta configuración se proporciona en un config.pbtxt
archivo especificado como Protobuf ModelConfig. Para obtener más información sobre los ajustes de configuración, consulte Configuración del modelo. Los siguientes son algunos de los parámetros de configuración del modelo:
- tamaño_max_batch – Esto determina el tamaño máximo de lote que se puede pasar a este modelo. En general, el único límite en el tamaño de los lotes pasados a un servidor FIL es la memoria disponible para procesarlos. Para las ejecuciones de GPU, la memoria disponible está determinada por el tamaño del grupo de memoria CUDA de Triton, que se puede configurar a través de un argumento de línea de comando al iniciar el servidor.
- Las opciones de entrada – Las opciones en esta sección le indican a Triton la cantidad de funciones que debe esperar para cada muestra de entrada.
- salida – Las opciones en esta sección le dicen a Triton cuántos valores de salida habrá para cada muestra. Si el
predict_proba
se establece en true, se devolverá un valor de probabilidad para cada clase. De lo contrario, se devolverá un solo valor, que indica la clase predicha para la muestra dada. - grupo_de_instancias – Esto determina cuántas instancias de este modelo se crearán y si usarán GPU o CPU.
- tipo de modelo – Esta cadena indica en qué formato está el modelo (
xgboost_json
en este ejemplo, peroxgboost
,lightgbm
ytl_checkpoint
también son formatos válidos). - predecir_proba – Si se establece en verdadero, se devolverán valores de probabilidad para cada clase en lugar de solo una predicción de clase.
- salida_clase – Se establece en verdadero para los modelos de clasificación y falso para los modelos de regresión.
- umbral – Este es un umbral de puntuación para determinar la clasificación. Cuando
output_class
se establece en verdadero, debe proporcionarse, aunque no se utilizará sipredict_proba
también se establece en verdadero. - tipo de almacenamiento – En general, el uso de AUTO para esta configuración debería cumplir con la mayoría de los casos de uso. Si se selecciona el almacenamiento AUTOMÁTICO, FIL cargará el modelo utilizando una representación dispersa o densa según el tamaño aproximado del modelo. En algunos casos, es posible que desee configurar esto explícitamente en SPARSE para reducir la huella de memoria de los modelos grandes.
Servidor de inferencia Triton en SageMaker
SageMaker permite le permite implementar puntos finales de modelo único y multimodelo con NVIDIA Triton Inference Server. La siguiente figura muestra la arquitectura de alto nivel de Triton Inference Server. El repositorio de modelos es un repositorio basado en un sistema de archivos de los modelos que Triton pondrá a disposición para la inferencia. Las solicitudes de inferencia llegan al servidor y se enrutan al programador adecuado por modelo. Implementos Tritón múltiples algoritmos de programación y procesamiento por lotes que se puede configurar modelo por modelo. El planificador de cada modelo opcionalmente realiza lotes de solicitudes de inferencia y luego pasa las solicitudes al backend correspondiente al tipo de modelo. El backend realiza inferencias utilizando las entradas proporcionadas en las solicitudes por lotes para producir las salidas solicitadas. A continuación, se devuelven las salidas.
Al configurar sus grupos de escalado automático para puntos finales de SageMaker, es posible que desee considerar SageMakerVariantInvocationsPerInstance
como criterio principal para determinar las características de escalado de su grupo de escalado automático. Además, dependiendo de si sus modelos se ejecutan en GPU o CPU, también puede considerar usar CPUUtilization o GPUUtilization como criterios adicionales. Tenga en cuenta que para puntos finales de modelo único, debido a que los modelos implementados son todos iguales, es bastante sencillo establecer políticas adecuadas para cumplir con sus SLA. Para puntos finales de varios modelos, recomendamos implementar modelos similares detrás de un punto final determinado para tener un rendimiento predecible más estable. En los casos de uso en los que se utilizan modelos de diferentes tamaños y requisitos, es posible que desee separar esas cargas de trabajo en varios puntos finales de varios modelos o dedicar algún tiempo a ajustar su política de grupo de escalado automático para obtener el mejor equilibrio entre costo y rendimiento.
Para obtener una lista de los contenedores de aprendizaje profundo (DLC) de NVIDIA Triton compatibles con la inferencia de SageMaker, consulte Imágenes de contenedores de aprendizaje profundo disponibles.
Tutorial de la libreta SageMaker
Las aplicaciones de ML son complejas y, a menudo, pueden requerir un preprocesamiento de datos. En este cuaderno, nos sumergimos en cómo implementar un modelo de ML basado en árbol como XGBoost usando el backend FIL en Triton en un punto final de varios modelos de SageMaker. También cubrimos cómo implementar una canalización de inferencia de preprocesamiento de datos basada en Python para su modelo utilizando la función de conjunto en Triton. Esto nos permitirá enviar los datos sin procesar desde el lado del cliente y hacer que tanto el preprocesamiento de datos como la inferencia del modelo ocurran en un extremo de Triton SageMaker para un rendimiento de inferencia óptimo.
Característica del conjunto del modelo Triton
Triton Inference Server simplifica enormemente la implementación de modelos de IA a escala en producción. Triton Inference Server viene con una solución conveniente que simplifica la creación de canalizaciones de preprocesamiento y posprocesamiento. La plataforma Triton Inference Server proporciona el planificador de conjuntos, que es responsable de canalizar los modelos que participan en el proceso de inferencia al tiempo que garantiza la eficiencia y optimiza el rendimiento. El uso de modelos de conjunto puede evitar la sobrecarga de transferir tensores intermedios y minimizar la cantidad de solicitudes que deben enviarse a Triton.
En este cuaderno, mostramos cómo usar la función de conjunto para crear una canalización de preprocesamiento de datos con la inferencia del modelo XGBoost, y puede extrapolarlo para agregar posprocesamiento personalizado a la canalización.
Configurar el entorno
Comenzamos configurando el entorno requerido. Instalamos las dependencias requeridas para empaquetar nuestra tubería modelo y ejecutar inferencias usando Triton Inference Server. También definimos la Gestión de identidades y accesos de AWS (IAM) que dará acceso a SageMaker a los artefactos del modelo y NVIDIA Triton Registro de contenedores elásticos de Amazon (Amazon ECR) imagen. Ver el siguiente código:
Cree un entorno Conda para las dependencias de preprocesamiento
El backend de Python en Triton requiere que usemos un Conda entorno para cualquier dependencia adicional. En este caso, usamos el backend de Python para preprocesar los datos sin procesar antes de introducirlos en el modelo XGBoost que se ejecuta en el backend de FIL. Aunque originalmente usamos RAPIDS cuDF y cuML para realizar el preprocesamiento de datos, aquí usamos Pandas y scikit-learn como dependencias de preprocesamiento durante la inferencia. Hacemos esto por tres razones:
- Mostramos cómo crear un entorno Conda para sus dependencias y cómo empaquetarlo en el formato esperado por el backend Python de Triton.
- Al mostrar el modelo de preprocesamiento que se ejecuta en el backend de Python en la CPU mientras que XGBoost se ejecuta en la GPU en el backend de FIL, ilustramos cómo cada modelo en la canalización de conjunto de Triton puede ejecutarse en un backend de marco diferente, así como en diferentes configuraciones de hardware.
- Destaca cómo las bibliotecas RAPIDS (cuDF, cuML) son compatibles con sus equivalentes de CPU (Pandas, scikit-learn). Por ejemplo, podemos mostrar cómo
LabelEncoders
creado en cuML se puede usar en scikit-learn y viceversa.
Seguimos las instrucciones del Documentación de tritón para empaquetar dependencias de preprocesamiento (scikit-learn y Pandas) para usar en el backend de Python como un archivo TAR del entorno Conda. El guion bash crear_prep_env.sh crea el archivo TAR del entorno Conda, luego lo movemos al directorio del modelo de preprocesamiento. Ver el siguiente código:
Después de ejecutar el script anterior, genera preprocessing_env.tar.gz
, que copiamos al directorio de preprocesamiento:
Configurar el preprocesamiento con el backend de Triton Python
Para el preprocesamiento, usamos Triton back-end de Python para realizar el preprocesamiento de datos tabulares (codificación categórica) durante la inferencia de las solicitudes de datos sin procesar que ingresan al servidor. Para obtener más información sobre el preprocesamiento que se realizó durante el entrenamiento, consulte el cuaderno de entrenamiento.
El backend de Python permite que el preprocesamiento, el posprocesamiento y cualquier otra lógica personalizada se implementen en Python y se sirvan con Triton. El uso de Triton en SageMaker requiere que primero configuremos una carpeta de repositorio de modelos que contenga los modelos que queremos servir. Ya hemos configurado un modelo para el preprocesamiento de datos de Python llamado preprocesamiento en cpu_model_repository
y gpu_model_repository
.
Triton tiene requisitos específicos para el diseño del repositorio de modelos. Dentro del directorio del repositorio de modelos de nivel superior, cada modelo tiene su propio subdirectorio que contiene la información del modelo correspondiente. Cada directorio de modelo en Triton debe tener al menos un subdirectorio numérico que represente una versión del modelo. El valor 1 representa la versión 1 de nuestro modelo de preprocesamiento de Python. Cada modelo es ejecutado por un backend específico, por lo que dentro de cada subdirectorio de versión debe estar el artefacto del modelo requerido por ese backend. Para este ejemplo, usamos el backend de Python, que requiere que el archivo de Python que está sirviendo se llame model.py, y el archivo debe implementar ciertas funciones. Si estuviéramos usando un backend de PyTorch, se requeriría un archivo model.pt, y así sucesivamente. Para obtener más detalles sobre las convenciones de nomenclatura para los archivos de modelo, consulte Archivos modelo.
La modelo.py El archivo de Python que usamos aquí implementa toda la lógica de preprocesamiento de datos tabulares para convertir datos sin procesar en funciones que se pueden incorporar a nuestro modelo XGBoost.
Cada modelo de Triton también debe proporcionar un config.pbtxt
archivo que describe la configuración del modelo. Para obtener más información sobre los ajustes de configuración, consulte Configuración del modelo. Nuestro configuración.pbtxt El archivo especifica el backend como python y todas las columnas de entrada para datos sin procesar junto con la salida preprocesada, que consta de 15 características. También especificamos que queremos ejecutar este modelo de preprocesamiento de Python en la CPU. Ver el siguiente código:
Configurar un modelo de aprendizaje automático basado en árboles para el backend de FIL
A continuación, configuramos el directorio del modelo para un modelo de aprendizaje automático basado en árboles como XGBoost, que usará el backend de FIL.
El diseño esperado para cpu_memory_repository
y gpu_memory_repository
son similares a la que mostramos anteriormente.
Aquí, FIL
es el nombre del modelo. Podemos darle un nombre diferente como xgboost
si queremos. 1
es el subdirectorio de la versión, que contiene el artefacto del modelo. En este caso, es el xgboost.json
modelo que guardamos. Vamos a crear este diseño esperado:
Necesitamos tener el archivo de configuración config.pbtxt
describiendo la configuración del modelo para el modelo ML basado en árbol, de modo que el back-end de FIL en Triton pueda entender cómo servirlo. Para obtener más información, consulte la versión genérica más reciente. Opciones de configuración de Tritón y las opciones de configuración específicas del back-end de FIL. En este ejemplo, nos centramos en algunas de las opciones más comunes y relevantes.
Crear config.pbtxt
para model_cpu_repository
:
Del mismo modo, establezca config.pbtxt
para model_gpu_repository
(nota la diferencia es USE_GPU = True
):
Configure una canalización de inferencia del backend Python de preprocesamiento de datos y el backend FIL usando conjuntos
Ahora estamos listos para configurar la canalización de inferencia para el preprocesamiento de datos y la inferencia del modelo basado en árboles mediante un modelo de conjunto. Un modelo de conjunto representa una tubería de uno o más modelos y la conexión de tensores de entrada y salida entre esos modelos. Aquí usamos el modelo de conjunto para construir una canalización de preprocesamiento de datos en el backend de Python seguido de XGBoost en el backend de FIL.
El diseño esperado para el ensemble
El directorio del modelo es similar a los que mostramos anteriormente:
Creamos el modelo de conjunto configuración.pbtxt siguiendo la guía en Modelos de conjunto. Es importante destacar que necesitamos configurar el planificador de conjunto en config.pbtxt
, que especifica el flujo de datos entre modelos dentro del conjunto. El planificador de conjunto recopila los tensores de salida en cada paso y los proporciona como tensores de entrada para otros pasos de acuerdo con la especificación.
Empaquete el repositorio de modelos y cárguelo en Amazon S3
Finalmente, terminamos con la siguiente estructura de directorio del repositorio de modelos, que contiene un modelo de preprocesamiento de Python y sus dependencias junto con el modelo XGBoost FIL y el conjunto de modelos.
Empaquetamos el directorio y su contenido como model.tar.gz
para subir a Servicio de almacenamiento simple de Amazon (Amazon S3). Tenemos dos opciones en este ejemplo: usar una instancia basada en CPU o una instancia basada en GPU. Una instancia basada en GPU es más adecuada cuando necesita una mayor potencia de procesamiento y quiere usar núcleos CUDA.
Cree y cargue el paquete modelo para una instancia basada en CPU (optimizada para CPU) con el siguiente código:
Cree y cargue el paquete modelo para una instancia basada en GPU (optimizada para GPU) con el siguiente código:
Crear un punto final de SageMaker
Ahora tenemos los artefactos del modelo almacenados en un depósito S3. En este paso, también podemos proporcionar la variable de entorno adicional SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
, que especifica el nombre del modelo que Triton cargará. El valor de esta clave debe coincidir con el nombre de la carpeta en el paquete del modelo cargado en Amazon S3. Esta variable es opcional en el caso de un solo modelo. En el caso de modelos de conjuntos, esta clave debe especificarse para que Triton se inicie en SageMaker.
Además, puede configurar SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
y SAGEMAKER_TRITON_THREAD_COUNT
para optimizar el número de hilos.
Usamos el modelo anterior para crear una configuración de punto final donde podemos especificar el tipo y la cantidad de instancias que queremos en el punto final.
Usamos esta configuración de punto final para crear un punto final de SageMaker y esperamos a que finalice la implementación. Con los MME de SageMaker, tenemos la opción de alojar varios modelos de conjuntos repitiendo este proceso, pero nos quedamos con una implementación para este ejemplo:
El estado cambiará a InService
cuando la implementación es exitosa.
Invoque su modelo alojado en el punto final de SageMaker
Una vez que se ejecuta el punto final, podemos usar algunos datos sin procesar de muestra para realizar inferencias usando JSON como formato de carga útil. Para el formato de solicitud de inferencia, Triton utiliza el KFServing
norma comunitaria protocolos de inferencia. Ver el siguiente código:
El cuaderno al que se hace referencia en el blog se encuentra en el Repositorio GitHub.
Mejores prácticas
Además de las opciones para ajustar la configuración del backend de FIL que mencionamos anteriormente, los científicos de datos también pueden garantizar que los datos de entrada para el backend estén optimizados para que el motor los procese. Siempre que sea posible, ingrese datos en formato de fila principal en la matriz de GPU. Otros formatos requerirán conversión interna y ciclos de aceptación, lo que disminuirá el rendimiento.
Debido a la forma en que se mantienen las estructuras de datos FIL en la memoria de la GPU, tenga en cuenta la profundidad del árbol. Cuanto mayor sea la profundidad del árbol, mayor será la huella de memoria de la GPU.
Ingrese al instance_group_count
parámetro para agregar procesos de trabajo y aumentar el rendimiento del backend de FIL, lo que dará como resultado un mayor consumo de memoria de CPU y GPU. Además, tenga en cuenta las variables específicas de SageMaker que están disponibles para aumentar el rendimiento, como los subprocesos HTTP, el tamaño del búfer HTTP, el tamaño del lote y el retraso máximo.
Conclusión
En esta publicación, profundizamos en el backend de FIL que admite Triton Inference Server en SageMaker. Este backend proporciona aceleración de CPU y GPU de sus modelos basados en árboles, como el popular algoritmo XGBoost. Hay muchas opciones a considerar para obtener el mejor rendimiento para la inferencia, como tamaños de lote, formatos de entrada de datos y otros factores que se pueden ajustar para satisfacer sus necesidades. SageMaker le permite usar esta capacidad con terminales de uno o varios modelos para equilibrar el rendimiento y el ahorro de costos.
Lo alentamos a que tome la información de esta publicación y vea si SageMaker puede satisfacer sus necesidades de hospedaje para servir modelos basados en árboles, satisfaciendo sus requisitos de reducción de costos y rendimiento de la carga de trabajo.
El cuaderno al que se hace referencia en esta publicación se puede encontrar en los ejemplos de SageMaker Repositorio GitHub. Además, puede encontrar la documentación más reciente en el backend de FIL en GitHub.
Acerca de los autores
Raghu Ramesha es arquitecto sénior de soluciones de aprendizaje automático en el equipo de servicios de Amazon SageMaker. Se enfoca en ayudar a los clientes a crear, implementar y migrar cargas de trabajo de producción de ML a SageMaker a escala. Se especializa en dominios de aprendizaje automático, IA y visión por computadora, y tiene una maestría en Ciencias de la Computación de UT Dallas. En su tiempo libre le gusta viajar y la fotografía.
James Park es arquitecto de soluciones en Amazon Web Services. Trabaja con Amazon.com para diseñar, crear e implementar soluciones tecnológicas en AWS y tiene un interés particular en la IA y el aprendizaje automático. En su tiempo libre le gusta buscar nuevas culturas, nuevas experiencias y mantenerse al día con las últimas tendencias tecnológicas.
Patel Dhawal es Arquitecto Principal de Aprendizaje Automático en AWS. Ha trabajado con organizaciones que van desde grandes empresas hasta empresas emergentes medianas en problemas relacionados con la computación distribuida y la inteligencia artificial. Se enfoca en el aprendizaje profundo, incluidos los dominios de PNL y visión por computadora. Ayuda a los clientes a lograr una inferencia de modelos de alto rendimiento en Amazon SageMaker.
jiahong liu es arquitecto de soluciones en el equipo de proveedores de servicios en la nube de NVIDIA. Ayuda a los clientes a adoptar soluciones de inteligencia artificial y aprendizaje automático que aprovechan la computación acelerada de NVIDIA para abordar sus desafíos de capacitación e inferencia. En su tiempo libre, disfruta del origami, proyectos de bricolaje y jugar al baloncesto.
Kshitiz Gupta es arquitecto de soluciones en NVIDIA. Le gusta educar a los clientes de la nube sobre las tecnologías GPU AI que NVIDIA tiene para ofrecer y ayudarlos a acelerar sus aplicaciones de aprendizaje automático y aprendizaje profundo. Fuera del trabajo, le gusta correr, caminar y observar la vida silvestre.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoAiStream. Inteligencia de datos Web3. Conocimiento amplificado. Accede Aquí.
- Acuñando el futuro con Adryenn Ashley. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :posee
- :es
- :no
- :dónde
- $ UP
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- capacidad
- Nuestra Empresa
- acelerar
- acelerado
- acelerador
- aceleradores
- de la máquina
- Conforme
- en consecuencia
- Mi Cuenta
- Lograr
- a través de
- add
- adición
- Adicionales
- dirección
- direccionable
- Adopción
- Después
- en contra
- acuerdos
- AI
- algoritmo
- Todos
- asignaciones
- permitir
- permite
- a lo largo de
- ya haya utilizado
- también
- Aunque
- hacerlo
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon.com
- cantidad
- an
- y
- cualquier
- abejas
- aplicaciones
- adecuado
- arquitectura
- somos
- áreas
- argumento
- Formación
- artificial
- inteligencia artificial
- AS
- asistencias
- At
- auto
- Hoy Disponibles
- evitar
- AWS
- Backend
- Balance
- basado
- golpear
- base
- Baloncesto
- BE
- porque
- a las que has recomendado
- esto
- antes
- comenzar
- detrás de
- a continuación
- es el beneficio
- MEJOR
- mejores
- entre
- más grande
- Blog
- cuerpo
- ambas
- buffer
- build
- Construir la
- construido
- pero
- by
- C + +
- , que son
- PUEDEN
- tarjeta
- case
- cases
- Categoría
- Causa
- retos
- el cambio
- características
- comprobar
- chip
- Elige
- la elección de
- Ciudad
- clase
- clasificación
- cliente
- clientes
- Soluciones
- código
- Columnas
- COM
- proviene
- viniendo
- Algunos
- Comunicarse
- Comunicación
- vibrante e inclusiva
- compatible
- integraciones
- cálculo
- computadora
- Ciencias de la Computación
- Visión por computador
- informática
- Configuración
- conexión
- Considerar
- considerado
- consumir
- consumo
- Envase
- Contenedores
- contiene
- contenido
- contraste
- control
- Conveniente
- Conversión
- convertir
- Core
- Correspondiente
- Cost
- y reducción del coste
- ahorro de costes
- Protectora
- Para crear
- creado
- crea
- criterios
- crucial
- En la actualidad
- personalizado
- Clientes
- de ciclos
- Dallas
- datos
- Fecha
- día
- acuerdo
- Koops
- profundo
- deep learning
- más profundo
- Predeterminado
- por defecto
- Grado
- retrasar
- exigente
- demandas
- Dependiente
- desplegar
- desplegado
- Desplegando
- despliegue
- profundidad
- Diseño
- detalles
- Determinar
- determina
- determina
- determinar
- desarrolladores
- un cambio
- una experiencia diferente
- distribuidos
- Computación distribuída
- Bricolaje
- do
- documentación
- No
- "Hacer"
- dominios
- hecho
- donde
- dos
- durante
- cada una
- Más temprano
- educar
- eficiencia
- eficiente.
- ya sea
- enfatizando
- permite
- fomentar
- final
- Punto final
- Motor
- motores
- garantizar
- asegurando que
- Empresa
- empresas
- Todo
- Entorno
- Errores
- Incluso
- Cada
- ejemplo
- ejemplos
- intercambiar
- esperar
- esperado
- Experiencias
- exportar
- factores importantes
- bastante
- Caídas
- false
- Feature
- Caracteristicas
- Fed
- alimentación
- pocos
- Figura
- Archive
- archivos
- Encuentre
- acabado
- Nombre
- de tus señales
- Focus
- se centra
- seguir
- seguido
- siguiendo
- Footprint
- formulario
- formato
- encontrado
- Marco conceptual
- marcos
- fraude
- Gratuito
- Desde
- Además
- Ganancias
- General
- genera
- obtener
- Donar
- dado
- GPU
- muy
- Grupo procesos
- Grupo
- guía
- suceder
- Difícil
- Materiales
- Tienen
- he
- ayuda
- ayudando
- ayuda
- esta página
- de alto nivel
- Alto rendimiento
- más alto
- destacados
- su
- mantener
- mantiene
- fortaleza
- organizado
- hosting
- Cómo
- Como Hacer
- Sin embargo
- HTML
- http
- HTTPS
- Daño
- Identidad
- ids
- IDX
- if
- imagen
- Impacto
- Impactos
- implementar
- implementado
- implementos
- importaciones
- in
- incluir
- Incluye
- aumente
- Indica
- información
- informó
- Las opciones de entrada
- instalar
- ejemplo
- Instrucciones
- integración
- Intelligence
- intereses
- interno
- dentro
- IT
- SUS
- jpg
- json
- solo
- Guardar
- Clave
- Tipo
- Saber
- large
- Grandes empresas
- mayores
- Estado latente
- más reciente
- Disposición
- APRENDE:
- aprendizaje
- menos
- LED
- legítima
- menos
- Nivel
- Apalancamiento
- bibliotecas
- Biblioteca
- como
- LIMITE LAS
- línea
- Lista
- carga
- lógica
- lógico
- Largo
- máquina
- máquina de aprendizaje
- para lograr
- gestionan
- muchos
- Máster
- Match
- max
- máximas
- Puede..
- mecanismo
- Conoce a
- reunión
- Salud Cerebral
- mencionado
- Comerciante
- Métrica
- podría
- migrado
- mente
- ML
- Moda
- modelo
- modelos
- Mes
- más,
- MEJOR DE TU
- Más popular
- movimiento
- Punto final multimodelo
- múltiples
- debe
- nombre
- nombrando
- nativo
- ¿ Necesita ayuda
- Nuevo
- nlp
- no
- nodos
- cuaderno
- ahora
- número
- numpy
- Nvidia
- obtener
- of
- LANZAMIENTO
- Ofertas
- a menudo
- on
- ONE
- las
- , solamente
- de código abierto
- óptimo
- optimización
- Optimización
- optimizado
- optimizando
- Optión
- Opciones
- or
- solicite
- para las fiestas.
- Organizado
- originalmente
- OS
- Otro
- de otra manera
- nuestros
- salir
- salida
- afuera
- EL DESARROLLADOR
- paquete
- embalaje
- Los pandas
- Paralelo
- parámetro
- parámetros
- participativo
- particular
- pasado
- pasa
- camino
- Realizar
- actuación
- realiza
- permiso
- fotografía
- industrial
- plataforma
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- jugando
- Por favor
- plétora
- políticas
- política
- alberca
- Popular
- popularidad
- posible
- posiblemente
- Publicación
- industria
- predecir
- Previsible
- previsto
- predicción
- Predicciones
- previamente
- primario
- Director de la escuela
- problemas
- en costes
- tratamiento
- Poder de procesamiento
- procesadores
- producir
- Producción
- proyecta
- apropiado
- proto
- proporcionar
- previsto
- proveedor
- proporciona un
- proporcionando
- Python
- piñón
- azar
- que van
- más bien
- Crudo
- ready
- mundo real
- en tiempo real
- razones
- recomiendan
- reducir
- referido
- Independientemente
- región
- relacionado
- reemplazar
- repositorio
- representación
- que representa
- representa
- solicita
- solicitudes
- exigir
- Requisitos
- Requisitos
- requiere
- respuesta
- responsable
- resultado
- Resultados
- Función
- Ejecutar
- correr
- s
- sabio
- Inferencia de SageMaker
- mismo
- Ahorros
- escalable
- Escala
- la ampliación
- escenarios
- programación
- Ciencia:
- los científicos
- scikit-aprender
- Puntuación
- Sección
- ver
- la búsqueda de
- seleccionado
- envío
- mayor
- separado
- ayudar
- de coches
- Proveedor de servicios
- Servicios
- servicio
- set
- pólipo
- ajustes
- Forma
- compartido
- tienes
- Mostrar
- Shows
- lado
- significativamente
- similares
- sencillos
- soltero
- Tamaño
- tamaños
- So
- a medida
- Soluciones
- RESOLVER
- Resolver
- algo
- Fuente
- se especializa
- soluciones y
- especificación
- especificado
- pasar
- estándar
- comienzo
- Comience a
- Startups
- Estado
- Estado
- estable
- paso
- pasos
- STORAGE
- tienda
- almacenados
- sencillo
- Cordón
- estructura
- exitosos
- tal
- sugieren
- adecuado
- SOPORTE
- Soportado
- soportes
- ¡Prepárate!
- equipo
- técnicas
- Tecnologías
- Tecnología
- les digas
- términos
- que
- esa
- La
- la información
- su
- Les
- luego
- Ahí.
- Estas
- ellos
- cosa
- así
- aquellos
- ¿aunque?
- Tres
- umbral
- rendimiento
- equipo
- a
- hoy
- juntos
- nivel superior
- tradicionalmente
- entrenado
- Formación
- Transferencia
- Viajar
- árbol
- Tendencias
- Tritón
- verdadero
- dos
- tipo
- tipos
- típicamente
- entender
- subido
- ¿Cómo subir tu libro?
- us
- utilizan el
- usado
- Usuario
- usando
- utiliza
- Utilizando
- propuesta de
- Valores
- diversos
- versión
- vía
- visión
- W
- esperar
- quieres
- fue
- ver
- Camino..
- we
- web
- servicios web
- WELL
- tuvieron
- ¿
- cuando
- cuando
- sean
- que
- mientras
- seguirá
- dentro de
- sin
- Actividades:
- trabajado
- obrero
- funciona
- se
- XGBoost
- año
- Usted
- tú
- zephyrnet
- Zip