El incorporado Amazon SageMaker El algoritmo XGBoost proporciona un contenedor administrado para ejecutar el popular XGBoost marco de aprendizaje automático (ML), con la comodidad adicional de admitir funciones avanzadas de capacitación o inferencia como capacitación distribuida, fragmentación de conjuntos de datos para conjuntos de datos a gran escala, Pruebas de modelo A/Bo inferencia multimodelo puntos finales También puede ampliar este poderoso algoritmo para adaptarse a diferentes requisitos.
Empaquetar el código y las dependencias en un solo contenedor es un enfoque conveniente y sólido para fines de auditoría, reproducibilidad y mantenimiento del código a largo plazo. La modificación del contenedor sigue fielmente el contenedor base y evita la duplicación de funciones existentes que ya son compatibles con el contenedor base. En esta publicación, revisamos el funcionamiento interno del contenedor de algoritmos SageMaker XGBoost y proporcionamos scripts pragmáticos para personalizar directamente el contenedor.
Estructura del contenedor SageMaker XGBoost
El algoritmo XGBoost incorporado de SageMaker está empaquetado como un contenedor independiente, disponible en GitHub, y se puede ampliar con la licencia de código abierto Apache 2.0, fácil de usar para desarrolladores. El contenedor empaqueta el algoritmo XGBoost de código abierto y herramientas auxiliares para ejecutar el algoritmo en el entorno SageMaker integrado con otros servicios en la nube de AWS. Esto le permite entrenar modelos XGBoost en una variedad de fuentes de datos, hacer predicciones por lotes en datos fuera de línea, o alojar un punto final de inferencia en tiempo real industrial.
El contenedor admite operaciones de entrenamiento e inferencia con diferentes puntos de entrada. Para el modo de inferencia, la entrada se puede encontrar en la función principal en el script de servicio.py. Para el servicio de inferencia en tiempo real, el contenedor ejecuta un Frasco-Basado servidor web que cuando invocado, recibe una solicitud codificada en HTTP que contiene los datos, decodifica los datos en el XGBoost Matriz D formato, carga el modeloy devuelve un Respuesta de vuelta codificada en HTTP. Estos métodos están encapsulados bajo el Servicio de puntuación clase, que también se puede personalizar en gran medida a través del modo script (consulte el Apéndice a continuación).
El punto de entrada para el modo de entrenamiento (modo de algoritmo) es la función principal en el entrenamiento.py. La función principal configura el entorno de entrenamiento y llama a la función de trabajo de entrenamiento. Es lo suficientemente flexible como para permitir el entrenamiento distribuido o de un solo nodo, o utilidades como la validación cruzada. El corazón del proceso de formación se encuentra en la entrenar_trabajo función.
Los archivos de Docker que empaquetan el contenedor se pueden encontrar en el Repositorio GitHub. Tenga en cuenta que el contenedor se construye en dos pasos: un bases El contenedor se construye primero, seguido por el final recipiente encima.
Resumen de la solución
Puede modificar y reconstruir el contenedor a través del código fuente. Sin embargo, esto implica recopilar y reconstruir todas las dependencias y paquetes desde cero. En esta publicación, discutimos un enfoque más sencillo que modifica el contenedor directamente sobre la imagen del contenedor del algoritmo SageMaker XGBoost ya creada y disponible públicamente.
En este enfoque, nos recogida una copia de la imagen pública de SageMaker XGBoost, modifique los scripts o agregue paquetes y reconstruya el contenedor en la parte superior. El contenedor modificado se puede almacenar en un repositorio privado. De esta forma, evitamos la reconstrucción de dependencias intermedias y, en su lugar, construimos directamente sobre las bibliotecas ya compiladas empaquetadas en el contenedor oficial.
La siguiente figura muestra una descripción general de la secuencia de comandos utilizada para extraer la imagen base pública, modificar y reconstruir la imagen y cargarla en una imagen privada. Registro de contenedores elásticos de Amazon (Amazon ECR) repositorio. Él script bash en el código que acompaña a esta publicación realiza todos los pasos del flujo de trabajo que se muestran en el diagrama. El acompañamiento cuaderno muestra un ejemplo donde el URI de una versión específica del algoritmo SageMaker XGBoost primero se recupera y se pasa al script bash, que reemplaza dos de los scripts de Python en la imagen, la reconstruye y envía la imagen modificada a un repositorio privado de Amazon ECR. Puede modificar el código adjunto para adaptarlo a sus necesidades.
Requisitos previos
La Repositorio GitHub contiene el código que acompaña a esta publicación. Puedes ejecutar el cuaderno de muestra en su cuenta de AWS, o utilice el proporcionado Formación en la nube de AWS stack para implementar el bloc de notas con un bloc de notas de SageMaker. Necesita los siguientes requisitos previos:
- Una cuenta de AWS.
- Permisos necesarios para ejecutar trabajos de formación y transformación por lotes de SageMaker, y privilegios de Amazon ECR. La plantilla de CloudFormation crea una muestra Gestión de identidades y accesos de AWS (IAM) funciones.
Implementar la solución
Para crear los recursos de su solución con AWS CloudFormation, elija Pila de lanzamiento:
La pila implementa un cuaderno de SageMaker preconfigurado para clonar el repositorio de GitHub. el tutorial cuaderno incluye los pasos para extraer la imagen pública de SageMaker XGBoost para una versión determinada, modificarla y enviar el contenedor personalizado a un repositorio privado de Amazon ECR. El cuaderno utiliza el público. Conjunto de datos de abulón como muestra, entrena un modelo con el modo de entrenamiento integrado de SageMaker XGBoost y reutiliza este modelo en la imagen personalizada para realizar trabajos de transformación por lotes que producen inferencia junto con valores SHAP.
Conclusión
Los algoritmos incorporados de SageMaker brindan una variedad de características y funcionalidades, y se pueden ampliar aún más con la licencia de código abierto Apache 2.0. En esta publicación, revisamos cómo extender el contenedor integrado de producción para el algoritmo SageMaker XGBoost para cumplir con los requisitos de producción, como el código retroactivo y la compatibilidad con API.
El cuaderno de muestra y ayudante guiones proporcionar un punto de partida conveniente para personalizar la imagen del contenedor SageMaker XGBoost de la manera que le gustaría. ¡Darle una oportunidad!
Apéndice: modo de secuencia de comandos
Modo de secuencia de comandos proporciona una forma de modificar muchos algoritmos integrados de SageMaker proporcionando una interfaz para reemplazar las funciones responsables de transformar las entradas y cargar el modelo. El modo de secuencia de comandos no es tan flexible como la modificación directa del contenedor, pero proporciona una ruta completamente basada en Python para personalizar el algoritmo integrado sin necesidad de trabajar directamente con Docker.
En el modo de script, un user-module
se proporciona para personalizar la decodificación de datos, la carga del modelo y la realización de predicciones. El módulo de usuario puede definir un transformer_fn
que maneja todos los aspectos desde el procesamiento de la solicitud hasta la preparación de la respuesta. O en lugar de definir transformer_fn
, puede proporcionar métodos personalizados model_fn
, input_fn
, predict_fn
y output_fn
individualmente para personalizar la carga del modelo y la decodificación y preparación de la entrada para la predicción. Para obtener una descripción general más completa del modo de secuencia de comandos, consulte Traiga su propio modelo con el modo de script de SageMaker.
Acerca de los autores
peyman razaghi es científico de datos en AWS. Tiene un doctorado en teoría de la información de la Universidad de Toronto y fue científico investigador postdoctoral en la Universidad del Sur de California (USC), Los Ángeles. Antes de unirse a AWS, Peyman fue ingeniero de sistemas de personal en Qualcomm y contribuyó a una serie de estándares internacionales de telecomunicaciones notables. Es autor de varios artículos de investigación científica revisados por pares en el área de estadística e ingeniería de sistemas, y disfruta de la crianza de los hijos y el ciclismo fuera del trabajo.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/customize-the-amazon-sagemaker-xgboost-algorithm-container/
- "
- 100
- de la máquina
- acomodar
- Mi Cuenta
- avanzado
- algoritmo
- algoritmos
- Todos
- ya haya utilizado
- Amazon
- abejas
- enfoque
- Reservada
- AWS
- build
- incorporado
- California
- Elige
- clase
- Soluciones
- servicios en la nube
- código
- El cobro
- completamente
- Envase
- contiene
- comodidad
- Conveniente
- crea
- personalizado
- datos
- científico de datos
- desplegar
- despliega
- una experiencia diferente
- directamente
- discutir
- distribuidos
- Docker
- ingeniero
- Entorno
- ejemplo
- ampliar
- Caracteristicas
- Figura
- Nombre
- flexible
- siguiendo
- formato
- encontrado
- Marco conceptual
- función
- promover
- GitHub
- maravillosa
- mantiene
- Cómo
- Como Hacer
- HTTPS
- Identidad
- imagen
- información
- Las opciones de entrada
- COMPLETAMENTE
- Interfaz
- Internacional
- IT
- Trabajos
- Empleo
- aprendizaje
- Licencia
- compromiso a largo plazo
- Los Ángeles
- máquina
- máquina de aprendizaje
- HACE
- Realizar
- gestionado
- ML
- modelo
- modelos
- más,
- cuaderno
- número
- oficial
- digital fuera de línea.
- Operaciones
- Otro
- EL DESARROLLADOR
- punto
- Popular
- poderoso
- predicción
- Predicciones
- privada
- producir
- Producción
- proporcionar
- proporciona un
- proporcionando
- público
- fines
- en tiempo real
- repositorio
- solicita
- Requisitos
- la investigación
- Recursos
- respuesta
- responsable
- devoluciones
- una estrategia SEO para aparecer en las búsquedas de Google.
- Ruta
- Ejecutar
- Científico
- Servicios
- servicio
- sharding
- Software
- a medida
- código fuente
- Del Sur
- montón
- estándares de salud
- statistics
- Soportado
- Apoyar
- soportes
- Todas las funciones a su disposición
- La Fuente
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- juntos
- parte superior
- Toronto
- Formación
- trenes
- Transformar
- transformadora
- universidad
- utilizan el
- variedad
- Wikipedia
- Actividades:
- se