Los científicos de datos necesitan un entorno consistente y reproducible para el aprendizaje automático (ML) y las cargas de trabajo de ciencia de datos que permita administrar las dependencias y sea seguro. Contenedores de aprendizaje profundo de AWS ya proporciona imágenes de Docker preconstruidas para entrenar y servir modelos en marcos comunes como TensorFlow, PyTorch y MXNet. Para mejorar esta experiencia, anunciamos una versión beta pública de la distribución de código abierto de SageMaker en la JupyterCon de 2023. Esto proporciona una experiencia de ML unificada de extremo a extremo entre los desarrolladores de ML de diferentes niveles de experiencia. Los desarrolladores ya no necesitan cambiar entre diferentes contenedores de marco para la experimentación, o cuando pasan de entornos locales de JupyterLab y cuadernos de SageMaker a trabajos de producción en SageMaker. La distribución de SageMaker de código abierto es compatible con los paquetes y bibliotecas más comunes para ciencia de datos, aprendizaje automático y visualización, como TensorFlow, PyTorch, Scikit-learn, Pandas y Matplotlib. Puede empezar a utilizar el contenedor desde el Galería pública de Amazon ECR empezando hoy.
En esta publicación, le mostramos cómo puede usar la distribución de código abierto de SageMaker para experimentar rápidamente en su entorno local y promocionarlos fácilmente a puestos de trabajo en SageMaker.
Resumen de la solución
Para nuestro ejemplo, mostramos el entrenamiento de un modelo de clasificación de imágenes usando PyTorch. usamos el KMNIST conjunto de datos disponible públicamente en PyTorch. Entrenamos un modelo de red neuronal, probamos el rendimiento del modelo y finalmente imprimimos el entrenamiento y la pérdida de prueba. El cuaderno completo para este ejemplo está disponible en el Repositorio de ejemplos de SageMaker Studio Lab. Comenzamos la experimentación en una computadora portátil local utilizando la distribución de código abierto, la movemos a Estudio Amazon SageMaker para usar una instancia más grande y luego programe el cuaderno como un trabajo de cuaderno.
Requisitos previos
Necesita los siguientes requisitos previos:
Configura tu entorno local
Puede comenzar a usar directamente la distribución de código abierto en su computadora portátil local. Para iniciar JupyterLab, ejecute los siguientes comandos en su terminal:
Puedes reemplazar ECR_IMAGE_ID
con cualquiera de las etiquetas de imagen disponibles en el Galería pública de Amazon ECR, o elige el latest-gpu
etiqueta si está utilizando una máquina compatible con GPU.
Este comando iniciará JupyterLab y proporcionará una URL en el terminal, como http://127.0.0.1:8888/lab?token=<token>
. Copie el enlace e ingréselo en su navegador preferido para iniciar JupyterLab.
Configurar estudio
Studio es un entorno de desarrollo integrado (IDE) de extremo a extremo para ML que permite a los desarrolladores y científicos de datos crear, entrenar, implementar y monitorear modelos de ML a escala. Studio proporciona una extensa lista de imágenes propias con marcos y paquetes comunes, como Data Science, TensorFlow, PyTorch y Spark. Estas imágenes facilitan que los científicos de datos comiencen con ML simplemente eligiendo un marco y un tipo de instancia de su elección para el cómputo.
Ahora puede usar la distribución de código abierto de SageMaker en Studio usando Studio's trae tu propia imagen característica. Para agregar la distribución de código abierto a su dominio de SageMaker, complete los siguientes pasos:
- Agregue la distribución de código abierto a su cuenta Registro de contenedores elásticos de Amazon (Amazon ECR) ejecutando los siguientes comandos en su terminal:
- Cree una imagen de SageMaker y adjunte la imagen al dominio de Studio:
- En la consola de SageMaker, inicie Studio eligiendo su dominio y perfil de usuario existente.
- Opcionalmente, reinicie Studio siguiendo los pasos en Apague y actualice SageMaker Studio.
Descarga el cuaderno
Descargue el cuaderno de muestra localmente desde el Repositorio GitHub.
Abra la computadora portátil en el IDE de su elección y agregue una celda al comienzo de la computadora portátil para instalar torchsummary
. torchsummary
El paquete no es parte de la distribución, e instalarlo en la computadora portátil asegurará que la computadora portátil se ejecute de principio a fin. Recomendamos usar conda
or micromamba
para gestionar entornos y dependencias. Agregue la siguiente celda al cuaderno y guarde el cuaderno:
Experimento en el cuaderno local
Cargue el cuaderno en la interfaz de usuario de JupyterLab que inició eligiendo el ícono de carga como se muestra en la siguiente captura de pantalla.
Cuando esté cargado, inicie el cv-kmnist.ipynb
computadora portátil. Puede comenzar a ejecutar las celdas de inmediato, sin tener que instalar dependencias como torch, matplotlib o ipywidgets.
Si siguió los pasos anteriores, puede ver que puede usar la distribución localmente desde su computadora portátil. En el siguiente paso, usamos la misma distribución en Studio para aprovechar las funciones de Studio.
Mover la experimentación a Studio (opcional)
Opcionalmente, promovamos la experimentación a Studio. Una de las ventajas de Studio es que los recursos informáticos subyacentes son totalmente elásticos, por lo que puede aumentar o disminuir fácilmente los recursos disponibles y los cambios se realizan automáticamente en segundo plano sin interrumpir su trabajo. Si desea ejecutar el mismo cuaderno anterior en un conjunto de datos y una instancia informática más grandes, puede migrar a Studio.
Navegue a la interfaz de usuario de Studio que lanzó anteriormente y elija el icono de carga para cargar el cuaderno.
Después de iniciar el cuaderno, se le pedirá que elija la imagen y el tipo de instancia. En el iniciador del kernel, elija sagemaker-runtime
como la imagen y un ml.t3.medium
instancia, luego elija Seleccione.
¡Ahora puede ejecutar el cuaderno de principio a fin sin necesidad de realizar ningún cambio en el cuaderno desde su entorno de desarrollo local a los cuadernos de Studio!
Programar el cuaderno como un trabajo
Cuando haya terminado con su experimentación, SageMaker ofrece múltiples opciones para poner en producción su computadora portátil, como trabajos de capacitación y canalizaciones de SageMaker. Una de estas opciones es ejecutar directamente el propio cuaderno como un trabajo de cuaderno programado no interactivo mediante Trabajos de bloc de notas de SageMaker. Por ejemplo, es posible que desee volver a entrenar su modelo periódicamente u obtener inferencias sobre los datos entrantes periódicamente y generar informes para el consumo de sus partes interesadas.
En Studio, elija el icono del trabajo del cuaderno para iniciar el trabajo del cuaderno. Si ha instalado la extensión de trabajos de la computadora portátil localmente en su computadora portátil, también puede programar la computadora portátil directamente desde su computadora portátil. Ver Guía de instalación para configurar la extensión de trabajos del cuaderno localmente.
El trabajo del cuaderno usa automáticamente el URI de la imagen ECR de la distribución de código abierto, por lo que puede programar directamente el trabajo del cuaderno.
Elige Ejecutar según lo programado, elija un horario, por ejemplo cada semana el sábado, y elija Crear. También puedes elegir Corre ahora si desea ver los resultados inmediatamente.
Cuando se completa el primer trabajo del cuaderno, puede ver los resultados del cuaderno directamente desde la interfaz de usuario de Studio eligiendo Notebook bajo Archivos de salida.
Consideraciones adicionales
Además de usar la imagen de ECR disponible públicamente directamente para las cargas de trabajo de ML, la distribución de código abierto ofrece las siguientes ventajas:
- El Dockerfile utilizado para crear la imagen está disponible públicamente para que los desarrolladores exploren y creen sus propias imágenes. También puede heredar esta imagen como imagen base e instalar sus bibliotecas personalizadas para tener un entorno reproducible.
- Si no está acostumbrado a Docker y prefiere usar entornos Conda en su entorno JupyterLab, le proporcionamos un
env.out
archivo para cada una de las versiones publicadas. Puede utilizar las instrucciones del archivo para crear su propio entorno Conda que imite el mismo entorno. Por ejemplo, consulte el archivo de entorno de la CPU cpu.env.fuera. - Puede usar las versiones de GPU de la imagen para ejecutar cargas de trabajo compatibles con GPU, como aprendizaje profundo y procesamiento de imágenes.
Limpiar
Complete los siguientes pasos para limpiar sus recursos:
- Si ha programado su computadora portátil para que se ejecute según un horario, pause o elimine el horario en el Definiciones de trabajo del cuaderno ficha para evitar pagar por futuros trabajos.
- Cierre todas las aplicaciones de Studio para evitar pagar por el uso informático no utilizado. Ver Cierre y actualice las aplicaciones de Studio para obtener instrucciones.
- Opcionalmente, elimine el dominio de Studio si creó uno.
Conclusión
Mantener un entorno reproducible en las diferentes etapas del ciclo de vida de ML es uno de los mayores desafíos para los científicos y desarrolladores de datos. Con la distribución de código abierto de SageMaker, proporcionamos una imagen con versiones mutuamente compatibles de los marcos y paquetes de ML más comunes. La distribución también es de código abierto, lo que brinda a los desarrolladores transparencia en los paquetes y procesos de compilación, lo que facilita la personalización de su propia distribución.
En esta publicación, le mostramos cómo usar la distribución en su entorno local, en Studio y como contenedor para sus trabajos de capacitación. Esta función se encuentra actualmente en versión beta pública. Lo alentamos a que pruebe esto y comparta sus comentarios y problemas en el repositorio público de GitHub!
Sobre los autores
Durga Sury es Arquitecto de soluciones de aprendizaje automático en el equipo de Amazon SageMaker Service SA. Le apasiona hacer que el aprendizaje automático sea accesible para todos. En sus 4 años en AWS, ayudó a configurar plataformas de IA/ML para clientes empresariales. Cuando no está trabajando, le encantan los paseos en moto, las novelas de misterio y las largas caminatas con su husky de 5 años.
Ketan Vijayvargiya es ingeniero sénior de desarrollo de software en Amazon Web Services (AWS). Sus áreas de enfoque son el aprendizaje automático, los sistemas distribuidos y el código abierto. Fuera del trabajo, le gusta pasar su tiempo viviendo solo y disfrutando de la naturaleza.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- EVM Finanzas. Interfaz unificada para finanzas descentralizadas. Accede Aquí.
- Grupo de medios cuánticos. IR/PR amplificado. Accede Aquí.
- PlatoAiStream. Inteligencia de datos Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- :posee
- :es
- :no
- $ UP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- Nuestra Empresa
- accesible
- a través de
- add
- adición
- Adicionales
- Ventaja
- ventajas
- AI / ML
- Todos
- ya haya utilizado
- también
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Servicios Web de Amazon (AWS)
- an
- y
- anunció
- cualquier
- applicación
- aplicaciones
- somos
- áreas
- AS
- At
- adjuntar
- automáticamente
- Hoy Disponibles
- evitar
- AWS
- fondo
- bases
- basado
- BE
- Comienzo
- beta
- entre
- Mayor
- cada navegador
- build
- by
- PUEDEN
- CAT
- Células
- retos
- Cambios
- manera?
- Elige
- la elección de
- clasificación
- COM
- Algunos
- compatible
- completar
- Calcular
- Configuración
- consistente
- Consola
- consumo
- Envase
- Contenedores
- Para crear
- creado
- En la actualidad
- personalizado
- Clientes
- personalizan
- datos
- Ciencia de los datos
- conjuntos de datos
- profundo
- deep learning
- Predeterminado
- desplegar
- describir
- desarrolladores
- Desarrollo
- una experiencia diferente
- directamente
- distribuidos
- sistemas distribuidos
- Docker
- dominio
- hecho
- DE INSCRIPCIÓN
- cada una
- Más temprano
- más fácil
- pasan fácilmente
- permite
- fomentar
- final
- de extremo a extremo
- ingeniero
- garantizar
- Participar
- Empresa
- Entorno
- ambientes
- Cada
- todos
- ejemplo
- ejemplos
- existente
- experience
- experimento
- Experiencia
- explorar
- exportar
- extensión
- en los detalles
- Feature
- Caracteristicas
- realimentación
- Archive
- Finalmente
- Nombre
- Focus
- seguido
- siguiendo
- Marco conceptual
- marcos
- Desde
- ser completados
- completamente
- futuras
- generar
- obtener
- GitHub
- GPU
- Tienen
- es
- he
- ayudado
- aquí
- su
- Cómo
- Como Hacer
- HTML
- HTTPS
- ICON
- if
- imagen
- Clasificación de la imagen
- imágenes
- inmediatamente
- mejorar
- in
- Entrante
- instalar
- instalado
- instalando
- ejemplo
- Instrucciones
- COMPLETAMENTE
- dentro
- cuestiones
- IT
- sí mismo
- Trabajos
- Empleo
- jpg
- json
- el lab
- portátil
- mayores
- lanzamiento
- lanzado
- aprendizaje
- Permíteme
- bibliotecas
- ciclo de vida
- como
- Me gusta
- LINK
- Lista
- local
- localmente
- Inicie sesión
- Largo
- por más tiempo
- de
- ama
- máquina
- máquina de aprendizaje
- para lograr
- Realizar
- gestionan
- administrar
- matplotlib
- podría
- migrado
- ML
- modelo
- modelos
- Monitorear
- MEJOR DE TU
- motocicleta
- movimiento
- múltiples
- mutuamente
- Mystery
- nombre
- Naturaleza
- ¿ Necesita ayuda
- necesidad
- del sistema,
- red neural
- Nuevo
- Next
- no
- cuaderno
- ahora
- of
- Ofertas
- on
- ONE
- habiertos
- de código abierto
- Optión
- Opciones
- or
- "nuestr
- salir
- afuera
- EL DESARROLLADOR
- paquete
- paquetes
- Los pandas
- parte
- apasionado
- pausa
- pago
- actuación
- Colocar
- Plataformas
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- Publicación
- preferir
- preferido
- requisitos previos
- Imprimir
- privada
- en costes
- tratamiento
- Producción
- Mi Perfil
- promover
- proporcionar
- proporciona un
- proporcionando
- público
- en público
- publicado
- Push
- Python
- piñón
- con rapidez
- recomiendan
- reemplazar
- Informes
- repositorio
- Requisitos
- Recursos
- Resultados
- Ejecutar
- correr
- s
- SA
- sabio
- Tuberías de SageMaker
- mismo
- sábado
- Guardar
- Escala
- programa
- programada
- Ciencia:
- los científicos
- scikit-aprender
- seguro
- ver
- mayor
- de coches
- Servicios
- servicio
- set
- ajustes
- Compartir
- ella
- Mostrar
- mostrar
- mostró
- mostrado
- sencillos
- simplemente
- So
- Software
- Desarrollo de software ad-hoc
- Soluciones
- Fuente
- Spark
- pasar
- etapas
- las partes interesadas
- comienzo
- fundó
- Comience a
- paso
- pasos
- estudio
- tal
- soportes
- Switch
- Todas las funciones a su disposición
- ETIQUETA
- ¡Prepárate!
- equipo
- tensorflow
- terminal
- test
- esa
- La
- su
- Les
- luego
- Estas
- ellos
- así
- equipo
- a
- hoy
- antorcha
- Entrenar
- Formación
- Transparencia
- try
- tipo
- ui
- subyacente
- unificado
- no usado
- Actualizar
- subido
- Enlance
- Uso
- utilizan el
- usado
- Usuario
- usos
- usando
- versión
- Ver
- visualización
- quieres
- deseado
- we
- web
- servicios web
- semana
- cuando
- seguirá
- sin
- Actividades:
- trabajando
- años
- Usted
- tú
- zephyrnet