Hoy nosotros anunció RStudio en Amazon SageMaker, el primer entorno de desarrollo integrado (IDE) de aprendizaje automático (ML) en la nube para científicos de datos que trabajan en R. El lenguaje de código abierto R y su rico ecosistema con más de Paquetes 18,000 ha sido una de las mejores opciones para estadísticos, analistas cuantitativos, científicos de datos e ingenieros de aprendizaje automático. RStudio en SageMaker facilita a los científicos de datos ejecutar análisis estadísticos, construir modelos ML y crear contenido de ciencia de datos en un entorno centralizado para el equipo sin preocuparse por la infraestructura informática.
Junto con RStudio Workbench, como parte de la suite RStudio para desarrolladores de R, se encuentran RStudio Connect y RStudio Package Manager. Conectar RStudio facilita sacar a la luz conocimientos de ML y ciencia de datos a partir del complicado trabajo de los científicos de datos y ponerlos en manos de los responsables de la toma de decisiones. RStudio Connect está diseñado para permitir que los científicos de datos publiquen información, paneles y aplicaciones web. RStudio Connect también hace que el alojamiento y la administración de contenido sean simples y escalables para un amplio consumo.
Administrador de paquetes RStudio ayuda a organizar y centralizar los paquetes de R en los equipos y organizaciones de ML. A medida que los científicos de datos desarrollan sus modelos de ML, necesitan varios paquetes con diferentes capacidades para sus casos de uso de ML en RStudio. La administración manual de las fuentes y versiones de estos paquetes y numerosos repositorios públicos para usuarios empresariales es propensa a errores y también requiere mucho tiempo. RStudio Package Manager mitiga estos problemas al administrar el repositorio de paquetes de manera centralizada para su organización para que los científicos de datos puedan instalar paquetes de forma rápida y segura, y garantizar la reproducibilidad y repetibilidad del proyecto. La seguridad y la reproducibilidad son los aspectos más importantes en industrias reguladas como la salud y las finanzas.
En esta publicación, primero le mostramos cómo diseñar e implementar RStudio Connect y RStudio Package Manager con una solución bien diseñada en AWS. A continuación, le mostramos cómo utilizar RStudio Connect y RStudio Package Manager de RStudio en SageMaker. Usamos un Conjunto de datos de cáncer de mama de la UCI para crear varios tipos de contenido ML en lenguaje R en RStudio en SageMaker. El contenido de ML que demostramos en la publicación incluye R Markdown y una aplicación R Shiny
Resumen de la solución
La arquitectura de la solución se basa en versiones profesionales de los contenedores RStudio Connect y RStudio Package Manager Docker. RStudio Connect y RStudio Package Manager están configurados en dos Zonas de disponibilidad para alta disponibilidad. Los contenedores RStudio Connect y RStudio Package Manager admiten el escalado automático para manejar el tráfico entrante según el número de solicitudes entrantes, la memoria y el uso de CPU dentro de los contenedores.
Las imágenes del contenedor se almacenan y se obtienen de Registro de contenedores elásticos de Amazon (Amazon ECR) con el análisis de vulnerabilidades habilitado. Los problemas de vulnerabilidad deben abordarse antes de implementar las imágenes.
El siguiente diagrama ilustra la arquitectura de la solución.
Los siguientes son los pasos del flujo de trabajo de la solución:
- Los usuarios de R acceden a RStudio Connect y RStudio Package Manager a través de Ruta del Amazonas 53. Route 53 es un servicio DNS para solicitudes entrantes.
- Route 53 resuelve las solicitudes entrantes y las reenvía a WAF de AWS para controles de seguridad.
- Las solicitudes válidas llegan a un Balanceador de carga de aplicaciones (ALB), que los reenvía al Servicio de contenedor elástico de Amazon (Amazon ECS) clúster. El ALB verifica las solicitudes entrantes de un certificado HTTPS, que es emitido y validado por Administrador de certificados de AWS.
- Amazon ECS controla los contenedores en un clúster de Nube informática elástica de Amazon (Amazon EC2) (tipo de lanzamiento EC2) en un Grupo de Auto Scaling y es responsable de escalar hacia arriba y hacia abajo el número de contenedores según sea necesario utilizando un Proveedor de capacidad de Amazon ECS.
- Las solicitudes entrantes son procesadas por el servidor RStudio Connect en cualquiera de los contenedores RStudio Connect disponibles; los usuarios se autentican y las aplicaciones se representan en el navegador web. Las solicitudes del Administrador de paquetes de RStudio se enrutan al contenedor del Administrador de paquetes.
- Amazon Aurora sin servidor Las bases de datos PostgreSQL se utilizan para proporcionar alta disponibilidad utilizando varios contenedores para RStudio Connect y RStudio Package Manager. Aurora realiza una copia de seguridad de las bases de datos del clúster sin servidor de forma automática. Los datos de Aurora se cifran en reposo mediante Servicio de administración de claves de AWS (AWS KMS).
- Sistema de archivos elástico de Amazon (Amazon EFS) proporciona el sistema de archivos persistente requerido por RStudio Connect y RStudio Package Manager. Los datos de Amazon EFS se cifran en reposo mediante AWS KMS. Amazon EFS es un sistema de archivos NFS que almacena datos en varias zonas de disponibilidad en una Región de AWS para una alta disponibilidad y durabilidad de los datos. Los archivos creados en los montajes de Amazon EFS del contenedor RStudio Connect y RStudio Package Manager son automáticamente respaldados por Amazon EFS.
- Si la sesión del usuario se comunica con la Internet pública, las solicitudes salientes se envían a un Puerta de enlace NAT desde la subred del contenedor privado.
- La puerta de enlace NAT envía solicitudes salientes para ser procesadas a través de un puerta de enlace de internet. Las rutas a Internet también se pueden configurar mediante Puerta de enlace de tránsito de AWS.
Utilizamos Kit de desarrollo en la nube de AWS (AWS CDK) para Python para desarrollar el código de infraestructura y almacenar el código en un Compromiso de código de AWS repositorio, de modo que AWS CodePipeline puede integrar las pilas de AWS CDK para compilaciones automatizadas.
El código de implementación utiliza Zonas hospedadas públicas de la ruta 53 para dar servicio a RStudio Connect y RStudio Package Manager en URL de acceso público. Puedes usar Ruta 53 zonas hospedadas privadas para los contenedores RStudio Connect y RStudio Package Manager con un ALB interno, que proporciona puntos finales privados para los usuarios que vienen de RStudio en SageMaker en un modo de conectividad solo de VPC. Esto significa que no necesita un dominio público preexistente en su cuenta de AWS. Sin embargo, debe obtener las imágenes públicas de Docker (Conectar RStudio, Administrador de paquetes RStudio) y almacenarlos en un repositorio privado de Amazon ECR y apuntar el código de implementación a esas imágenes para la construcción de la infraestructura.
Si todas las comunicaciones entre los servicios de AWS deben permanecer dentro de AWS, puede utilizar Enlace privado de AWS para configurar los puntos de enlace de la VPC para los servicios de AWS. AWS PrivateLink se asegura de que el tráfico entre servicios no esté expuesto a Internet para los puntos finales de los servicios de AWS.
También puede consultar el Solución RStudio Team de RStudio para aprender cómo implementar una pila de tecnología RStudio en Amazon EC2 en AWS como alternativa a la solución que se analiza en esta publicación.
Requisitos previos
Para implementar las pilas de AWS CDK a partir del código fuente, debe revisar y cumplir los requisitos previos que se describen en el documento adjunto. Repositorio GitHub para asegurarse de tener los recursos necesarios para continuar.
Lanza la solución
- Clona el Repositorio GitHub, revisar la sucursal rsc-rspmy muévase a la carpeta aws-fargate-with-rstudio-open-source.
- Cree un repositorio de CodeCommit para guardar el código fuente para la instalación de RStudio Connect / RStudio Package Manager con el siguiente comando:
- Pase los parámetros requeridos en cdk.json siguiendo el Paso 3 en el Pasos de la instalación sección de la readme archivo.
- Instale la requisitos del paquete para la aplicación AWS CDK:
- Antes de enviar el código al repositorio de CodeCommit, sintetice las pilas de AWS CDK. Esto asegura que todos los valores de contexto necesarios se completen en el
cdk.context.json
file y evita que se mapeen los valores ficticios. - Confirme los cambios en el repositorio de CodeCommit que creó. Siga el paso 5 en el Pasos de la instalación del archivo Léame si necesita ayuda con los comandos de Git.
- Implemente las pilas de AWS CDK para instalar RStudio Connect / RStudio Package Manager mediante CodePipeline. Este paso tarda unos 30 minutos.
- Navegue hasta la Consola CodePipeline (el enlace te lleva al
us-west-2
Región). Supervise la canalización y confirme que los servicios se hayan creado correctamente.
El nombre de la canalización es RSC-RSPM-App-Pipeline-<instance>
. A partir de este punto, la canalización se activa en las confirmaciones en el repositorio de CodeCommit que creó. No hay necesidad de correr cdk deploy
(Paso 7) más.
- Cuando se completa la instalación de la canalización, puede acceder a RStudio Connect y RStudio Package Manager utilizando las siguientes URL, donde
r53_base_domain
yinstance
son los parámetros que pasaste a cdk.json:https://connect.<instance>.<r53_base_domain>
https://package.<instance>.<r53_base_domain>
- Puedes usar Ejecutivo de Amazon ECS para iniciar sesión en los contenedores RStudio Connect y RStudio Package Manager. Siga el readme para obtener instrucciones.
Administrar paquetes con RStudio Package Manager
RStudio Package Manager ayuda a permitir la coherencia y la estandarización de los paquetes R en toda la organización. En RStudio Package Manager, un administrador de TI puede incluir un paquete aprobado en el repositorio. Se pueden crear varios grupos para tener acceso a diferentes paquetes o versiones de paquetes. RStudio Package Manager también maneja todas las actualizaciones y versiones de los paquetes. El administrador puede habilitar las actualizaciones automáticas de los paquetes, o también puede configurar RStudio Package Manager de manera que los paquetes solo se puedan actualizar manualmente, lo que proporciona más aislamiento entre RStudio Package Manager y el servicio CRAN.
Configurar el Administrador de paquetes RStudio
Podemos crear un repositorio que extraiga los paquetes del RStudio CRAN usando el siguientes comandos. Necesitamos SSH en RStudio Package Manager usando Amazon ECS Exec para ejecutar estos comandos.
Los comandos crean un repositorio y lo suscriben a la fuente incorporada llamada cran
. Cuando esto esté completo, el dev-cran
El repositorio está disponible en la interfaz web de RStudio Package Manager, como se muestra en la siguiente captura de pantalla. El administrador y los usuarios que tienen la URL pueden acceder a esta interfaz web.
Además de servir paquetes CRAN, se pueden crear repositorios para distribuir paquetes locales, paquetes Git, paquetes locales junto con paquetes CRAN, un subconjunto de paquetes CRAN y locales aprobados y paquetes de última generación de GitHub. Para obtener más detalles sobre cómo crear repositorios, consulte Sirviendo paquetes CRAN. Además, RStudio Package Manager admite bioconductor. El bioconductor es un ecosistema de paquetes R de uso común en las ciencias de la vida. Podemos combinar paquetes de bioconductores con CRAN, así como paquetes locales en RStudio Package Manager.
Versiones del paquete RStudio Package Manager
En la interfaz web de RStudio Package Manager, en el Preparar pestaña, puede elegir un repositorio por fecha en una vista de calendario. También puede elegir si desea utilizar la última versión de los paquetes o congelar los paquetes en una instantánea en particular, como se muestra en la siguiente captura de pantalla.
En Preparar pestaña, también podemos ver qué prerrequisitos del sistema pueden ser necesarios para los paquetes del repositorio, junto con los comandos para instalarlos.
Configurar un dominio RStudio en SageMaker para usar RStudio Connect y RStudio Package Manager
Al crear un dominio de SageMaker con RStudio, tiene la opción de configurar un servidor RStudio Connect predeterminado y un repositorio RStudio Package Manager para todos los usuarios de su dominio SageMaker. Durante el proceso de creación del dominio de SageMaker, como se detalla en el Cree un dominio de SageMaker con RStudio sección en Introducción a RStudio en Amazon SageMaker, puede configurar las URL predeterminadas de RStudio Connect y RStudio Package Manager para todos los perfiles de usuario en Paso 3: configuración de RStudio. For Conectar RStudio, ingrese la URL del servidor RStudio Connect. Para Administrador de paquetes RStudio, ingrese a un repositorio CRAN o Bioconductor.
Las URL predeterminadas se configuran y guardan en /etc/rstudio/rsession.conf
para todos los usuarios de RStudio en SageMaker. Puede verificar el repositorio predeterminado en la consola de R con options('repos')
. Debería ver un repositorio que apunta a su Administrador de paquetes RStudio. En cuanto a la URL predeterminada de RStudio Connect, se completa automáticamente cuando publica con un clic un fragmento de contenido R.
Actualización de un repositorio desde RStudio Package Manager en una sesión de R
Si ya tiene un RStudio en funcionamiento en SageMaker y desea usar un repositorio diferente, puede configurar su sesión de R en RStudio en SageMaker para usar un repositorio de su RStudio Package Manager con los siguientes pasos:
- En una sesión R, en el Herramientas menú, seleccione Opciones Globales.
- Elige Buceo y Alojamiento y luego elige Cambios.
- En Personalizado campo, ingrese la URL del repositorio seleccionado (que se encuentra en el Preparar pestaña de la interfaz web de RStudio Package Manager) y elija OK.
- Elige OK de nuevo, ¡y terminamos!
Ahora, los paquetes que instalamos en RStudio provienen del repositorio seleccionado de su servidor RStudio Package Manager. Puedes verificarlo con options('repos')
o instalando un paquete y ver de dónde sale. Para obtener más detalles, consulte Comprobando el éxito.
Actualizar la cuenta de RStudio Connect en una sesión de R
Si ya tiene un RStudio en funcionamiento en SageMaker y desea utilizar un servidor RStudio Connect diferente al predeterminado, complete los siguientes pasos:
- En Herramientas menú, seleccione Opciones Globales.
- Elige DTP.
- Elige Contacto.
- Elige Conectar RStudio.
- Ingrese la URL pública de su servidor, por ejemplo,
https://xxxx.rstudioconnect.com
, y elige Siguiente.
Aparece una nueva página para pedirle que inicie sesión con una cuenta si es la primera vez.
- Elige Contacto para proceder.
- Elige Conectar cuenta en el diálogo de RStudio.
Debería ver su perfil de usuario de RStudio Connect y la URL del servidor en la lista.
Para más información, consulte la Conecte su cuenta de RStudioy Conexión: RStudio IDE.
Ahora, el servidor RStudio Connect está conectado correctamente a RStudio en Amazon SageMaker. Estamos listos para crear contenido excelente y publicarlo.
Cree contenido ML en RStudio en Amazon SageMaker
Puede crear fácilmente un análisis dentro de RStudio en Amazon SageMaker y pulsar un botón para publicarlo en su RStudio Connect para que sus colaboradores puedan consumir su análisis. Para esta publicación, usamos un Conjunto de datos de cáncer de mama de la UCI Desde mlbench
para recorrer algunos de los casos de uso comunes de publicación: aplicación R Markdown y Shiny.
Rebaja de R
R Markdown es una gran herramienta para ejecutar sus análisis en R como parte de un archivo de rebajas y compartirlos en RStudio Connect. En rsconnect_rmarkdown/breast_cancer_eda.Rmd
, realizamos dos análisis simples y graficamos en el conjunto de datos junto con los textos en markdown:
Podemos obtener una vista previa del archivo eligiendo Tejer y publicarlo en RStudio Connect eligiendo Publicar.
Además de R Markdown, la mayoría de las veces, está creando una aplicación interactiva o un tablero con Shiny. Veamos cómo podemos publicar aplicaciones Shiny de RStudio en Amazon SageMaker a RStudio Connect.
Aplicación brillante
Brillante es un paquete de R que facilita la creación de aplicaciones web interactivas mediante programación. Es popular entre los científicos de datos compartir sus análisis y modelos a través de una aplicación Shiny con sus partes interesadas. En rsconnect_shiny/breast-cancer-app/
, desarrollamos un modelo ML en breast_cancer_modeling.r
y crear una aplicación web para permitir a los usuarios interactuar con los datos y el modelo ML.
Para publicar, abra app.R
y elige Publicar. Seleccione ambos app.R
y breast_cancer_modeling.r
a publicar.
En la aplicación, puede cambiar dos características para visualizar en el gráfico y seleccionar los puntos de datos en el gráfico para ver los datos reales y las predicciones del modelo de si son casos de cáncer benigno o maligno. Al deslizar el umbral de probabilidad, puede interactuar con el modelo y obtener recuentos de clasificación diferentes. Puede ver el panel en acción en la siguiente captura de pantalla.
Conclusión
En esta publicación, le mostramos cómo implementar servidores RStudio Connect y RStudio Package Manager en AWS con una arquitectura basada en AWS Fargate y Amazon ECS, utilizando AWS CDK. Con RStudio Connect y RStudio Package Manager ejecutándose en la nube, le mostramos cómo usarlos desde RStudio en Amazon SageMaker. Luego, demostramos cómo implementar materiales basados en R, como las aplicaciones R Markdown y Shiny, en la instancia de RStudio Connect según un caso de uso de predicción de cáncer de mama.
Tener una instancia de RStudio Connect en la nube no solo permite que sus equipos de ciencia de datos y aprendizaje automático colaboren de manera más eficaz, sino que también facilita mucho el intercambio de conocimientos de aprendizaje automático entre las partes interesadas y las unidades de negocio. Esto, a su vez, promueve el uso de ML en su organización para un mejor resultado comercial. Con RStudio Package Manager, puede administrar, servir e instalar de forma rápida y segura paquetes R de fuentes confiables para garantizar la reproducibilidad del proyecto.
Puede obtener más información sobre RStudio en SageMaker desde la perspectiva de un científico de datos en la publicación Anuncio de RStudio completamente administrado en Amazon SageMaker para científicos de datos. También puede obtener más información sobre cómo configurar y administrar RStudio en SageMaker en la publicación. Introducción a RStudio en Amazon SageMaker. Para obtener más información sobre Amazon SageMaker Studio, el primer IDE para ML en la nube, consulte Estudio Amazon SageMaker.
Acerca de los autores
Michael Hsieh es un arquitecto senior de soluciones especializado en IA / ML. Trabaja con los clientes para avanzar en su viaje de ML con una combinación de ofertas de Amazon Machine Learning y su conocimiento del dominio de ML. Como un trasplante de Seattle, le encanta explorar la gran madre naturaleza que la región tiene para ofrecer, como las rutas de senderismo, el paisaje en kayak en SLU y la puesta de sol en Shilshole Bay.
Panda chayan es un arquitecto de infraestructura en la nube. Brinda servicios de asesoría y liderazgo intelectual a los clientes de AWS en el diseño de soluciones sólidas para migraciones en la nube, infraestructura en la nube (seguridad, red, DevOps), implementaciones de plataformas Greenfield, big data / AI / ML y soluciones de bases de datos y sin servidor. Cuando no está obsesionado con los clientes, disfruta de una carrera corta, la música, un libro o viajar con su familia.
Farooq Sabir es un arquitecto senior de soluciones especializado en IA / ML. Ayuda a los clientes a resolver sus problemas comerciales mediante la ciencia de datos, el aprendizaje automático y la inteligencia artificial.
- '
- 000
- 100
- 7
- 9
- de la máquina
- Mi Cuenta
- la columna Acción
- asesor
- Todos
- Amazon
- Amazon EC2
- Aprendizaje automático de Amazon
- Amazon SageMaker
- entre
- análisis
- applicación
- Aplicación
- aplicaciones
- aplicaciones
- arquitectura
- en torno a
- inteligencia artificial
- Aurora
- Confirmación de Viaje
- disponibilidad
- AWS
- Bay
- Negro
- Borde sangrante
- Cáncer de mama
- cada navegador
- build
- Construir la
- Calendario
- Cáncer
- Capacidad
- cases
- certificado
- el cambio
- Cheques
- clasificación
- Soluciones
- infraestructura de nube
- código
- viniendo
- Algunos
- Comunicaciónes
- Calcular
- Conectividad
- consumir
- consumo
- Envase
- Contenedores
- contenido
- Creamos
- Clientes
- página de información de sus operaciones
- datos
- Ciencia de los datos
- Base de datos
- bases de datos
- Diseño
- desarrollar
- desarrolladores
- Desarrollo
- DevOps
- dns
- Docker
- ecosistema
- Southern Implants
- certificados
- Empresa
- Entorno
- familia
- Caracteristicas
- financiar
- Nombre
- primer vez
- seguir
- Congelar
- gif
- Git
- GitHub
- maravillosa
- la salud
- Alta
- excursionismo
- mantener
- hosting
- Cómo
- Como Hacer
- HTTPS
- ICS
- industrias
- información
- EN LA MINA
- Insights
- Intelligence
- interactivo
- Internet
- solo
- cuestiones
- IT
- Clave
- especialistas
- idioma
- más reciente
- lanzamiento
- Liderazgo
- APRENDE:
- aprendizaje
- Ciencias de la vida
- LINK
- Lista
- carga
- local
- máquina de aprendizaje
- Management
- materiales
- ML
- modelo
- madre
- movimiento
- Música
- del sistema,
- LANZAMIENTO
- Lista de ofrendas
- habiertos
- Optión
- organización
- para las fiestas.
- la perspectiva
- plataforma
- Popular
- predicción
- Predicciones
- Vista previa
- privada
- Mi Perfil
- Perfiles
- proyecto
- público
- publicar
- tracción
- Python
- Quant
- Requisitos
- Recursos
- RESTO
- una estrategia SEO para aparecer en las búsquedas de Google.
- Ruta
- Ejecutar
- correr
- sabio
- la ampliación
- escanear
- Ciencia:
- CIENCIAS
- los científicos
- Seattle
- EN LINEA
- seleccionado
- Sin servidor
- Servicios
- servicio
- set
- Compartir
- En Corto
- sencillos
- Instantánea
- So
- Soluciones
- RESOLVER
- fundó
- quedarse
- tienda
- tiendas
- puesta del sol
- SOPORTE
- soportes
- Superficie
- te
- Tecnología
- La Fuente
- liderazgo de pensamiento
- equipo
- parte superior
- tráfico
- tránsito
- viajes
- Actualizaciones
- usuarios
- Ver
- vulnerabilidad
- web
- aplicaciones web
- navegador web
- QUIENES
- dentro de
- Actividades:
- flujo de trabajo
- funciona