RStudio no Amazon SageMaker é o primeiro RStudio Workbench totalmente gerenciado do setor em nuvem. Você pode iniciar rapidamente o familiar ambiente de desenvolvimento integrado (IDE) RStudio e aumentar e diminuir os recursos de computação subjacentes sem interromper seu trabalho, facilitando a criação de soluções de aprendizado de máquina (ML) e análise em R em escala. O RStudio no SageMaker já vem com um imagem embutida pré-configurado com programação R e ferramentas de ciência de dados; no entanto, muitas vezes você precisa personalizar seu ambiente IDE. A partir de hoje, você pode trazer sua própria imagem personalizada com pacotes e ferramentas de sua escolha e disponibilizá-los para todos os usuários do RStudio no SageMaker em apenas alguns cliques.
Trazer sua própria imagem personalizada tem vários benefícios. Você pode padronizar e simplificar a experiência inicial para cientistas de dados e desenvolvedores fornecendo uma imagem inicial, pré-configurar os drivers necessários para conectar-se a armazenamentos de dados ou pré-instalar software especializado em ciência de dados para seu domínio de negócios. Além disso, as organizações que anteriormente hospedavam seu próprio RStudio Workbench podem ter ambientes em contêiner existentes que desejam continuar a usar no RStudio no SageMaker.
Neste post, compartilhamos instruções passo a passo para criar uma imagem personalizada e trazê-la para o RStudio no SageMaker usando o Console de gerenciamento da AWS or Interface de linha de comando da AWS (AWS CLI). Você pode colocar seu primeiro ambiente IDE personalizado em funcionamento em algumas etapas simples. Para obter mais informações sobre o conteúdo discutido neste post, consulte Traga sua própria imagem do RStudio.
Visão geral da solução
Quando um cientista de dados inicia uma nova sessão no RStudio no SageMaker, uma nova instância de computação de ML sob demanda é provisionada e uma imagem de contêiner que define o ambiente de tempo de execução (sistema operacional, bibliotecas, versões R e assim por diante) é executada no ML instância. Você pode fornecer aos cientistas de dados várias opções para o ambiente de tempo de execução criando imagens de contêiner personalizadas e disponibilizando-as no inicializador do RStudio Workbench, conforme mostrado na captura de tela a seguir.
O diagrama a seguir descreve o processo para trazer sua imagem personalizada. Primeiro, você cria uma imagem de contêiner personalizada de um Dockerfile e a envia para um repositório em Registro do Amazon Elastic Container (Amazônia ECR). Em seguida, você cria uma imagem do SageMaker que aponta para a imagem do contêiner no Amazon ECR e anexa essa imagem ao seu Domínio do SageMaker. Isso disponibiliza a imagem personalizada para iniciar uma nova sessão no RStudio.
Pré-requisitos
Para implementar esta solução, você deve ter os seguintes pré-requisitos:
- Um RStudio no domínio SageMaker
- Gerenciamento de acesso e identidade da AWS (IAM) políticas para interagir com o Amazon ECR
- A versão apropriada da AWS CLI
Fornecemos mais detalhes sobre cada um nesta seção.
RStudio no domínio SageMaker
Se você tiver um domínio SageMaker existente com RStudio habilitado antes de 7 de abril de 2022, você deve excluir e recriar o domínio RStudioServerPro
app sob o nome do perfil de usuário domain-shared
para obter as atualizações mais recentes para trazer sua própria capacidade de imagem personalizada. Os comandos da AWS CLI são os seguintes. Observe que esta ação interrompe os usuários do RStudio no SageMaker.
Se esta é a primeira vez que você usa o RStudio no SageMaker, siga o processo de configuração passo a passo descrito em Comece a usar o RStudio no Amazon SageMaker, ou execute o seguinte Formação da Nuvem AWS template para configurar seu primeiro RStudio no domínio SageMaker. Se você já tem um RStudio em funcionamento no domínio SageMaker, pode pular esta etapa.
O seguinte modelo do RStudio no SageMaker CloudFormation requer uma licença do RStudio aprovada por meio do AWS License Manager. Para obter mais informações sobre licenciamento, consulte Licença RStudio. Observe também que apenas um domínio do SageMaker é permitido por região da AWS, portanto, você precisará usar uma conta e região da AWS que não tenha um domínio existente.
- Escolha Pilha de Lançamento.
O link leva você para a região us-east-1, mas você pode mudar para a região de sua preferência. - No Especificar modelo seção, escolha Próximo.
- No Especifique os detalhes da pilha seção, para Nome da pilha, Insira o nome.
- Escolha parâmetros, insira um nome de perfil de usuário do SageMaker.
- Escolha Próximo.
- No Configurar opções de pilha seção, escolha Próximo.
- No Avaliações seção, selecione Reconheço que o AWS CloudFormation pode criar recursos do IAM e escolha Próximo.
- Quando o status da pilha muda para
CREATE_COMPLETE
, Vá para o Painel de controle no console do SageMaker para localizar o domínio e o novo usuário.
Políticas do IAM para interagir com o Amazon ECR
Para interagir com seus repositórios privados do Amazon ECR, você precisa das seguintes permissões do IAM no usuário ou função do IAM que você usará para criar e enviar imagens do Docker:
Para criar inicialmente a partir de uma imagem pública do Amazon ECR, conforme mostrado nesta postagem, você precisa anexar o arquivo gerenciado pela AWS AmazonElasticContainerRegistryPublicReadOnly política para seu usuário ou função do IAM também.
Para criar uma imagem de contêiner do Docker, você pode usar um cliente Docker local ou o Compilação do Docker do SageMaker Ferramenta CLI de um terminal dentro do RStudio no SageMaker. Para este último, siga os pré-requisitos em Usar a CLI do Amazon SageMaker Studio Image Build para criar imagens de contêiner de seus notebooks do Studio para configurar as permissões do IAM e a ferramenta CLI.
Versões da AWS CLI
Existem requisitos mínimos de versão para que a ferramenta AWS CLI execute os comandos mencionados nesta postagem. Certifique-se de atualizar a AWS CLI no terminal de sua escolha:
- AWS CLI v1 >= 1.23.6
- AWS CLI v2 >= 2.6.2
Preparar um Dockerfile
Você pode personalizar seu ambiente de tempo de execução no RStudio em um Dockerfile. Como a personalização depende do seu caso de uso e dos requisitos, mostramos o essencial e as personalizações mais comuns neste exemplo. Você pode baixar a íntegra amostra Dockerfile.
Instale os componentes da sessão do RStudio Workbench
O software mais importante para instalar em sua imagem de contêiner personalizada é o RStudio Workbench. Nós baixamos do bucket S3 público hospedado pelo RStudio PBC. Existem muitos lançamentos de versão e distribuições de SO para uso. A versão da instalação precisa ser compatível com a versão RStudio Workbench usada no RStudio no SageMaker, que é 1.4.1717-3 no momento da escrita. O sistema operacional (SO do argumento no snippet a seguir) precisa corresponder à base OS
usado na imagem do contêiner. Em nossa amostra dockerfile, a imagem base que usamos é o Amazon Linux 2 de um repositório público do Amazon ECR gerenciado pela AWS. O sistema operacional RStudio Workbench compatível é centos7.
Você pode encontrar todas as opções de versão do SO com o seguinte comando:
Instale o R (e versões do R)
O tempo de execução para sua imagem de contêiner RStudio personalizada precisa de pelo menos uma versão do R. Primeiro podemos instalar uma versão do R e torná-la o R padrão criando links virtuais para /usr/local/bin/
:
Os cientistas de dados geralmente precisam de várias versões do R para que possam alternar facilmente entre projetos e base de código. O RStudio no SageMaker oferece suporte para alternar facilmente entre as versões do R, conforme mostrado na captura de tela a seguir.
RStudio no SageMaker verifica e descobre automaticamente as versões do R nos seguintes diretórios:
Podemos instalar mais versões na imagem do contêiner, conforme mostrado no trecho a seguir. Serão instalados em /opt/R/
.
Instale os drivers profissionais do RStudio
Os cientistas de dados geralmente precisam acessar dados de fontes como Amazona atena e Amazon RedShift dentro do RStudio no SageMaker. Você pode fazer isso usando Drivers profissionais RStudio e Conexões do RStudio. Certifique-se de instalar as bibliotecas e drivers relevantes, conforme mostrado no snippet a seguir:
Instalar bibliotecas personalizadas
Você também pode instalar bibliotecas R e Python adicionais para que os cientistas de dados não precisem instalá-las rapidamente:
Quando você terminar sua personalização em um Dockerfile, é hora de criar uma imagem de contêiner e enviá-la para o Amazon ECR.
Crie e envie para o Amazon ECR
Você pode criar uma imagem de contêiner do Dockerfile a partir de um terminal onde o mecanismo Docker está instalado, como seu terminal local ou Nuvem AWS9. Se você está construindo a partir de um terminal dentro do RStudio no SageMaker, você pode usar Criação de imagem do SageMaker Studio. Demonstramos os passos para ambas as abordagens.
Em um terminal local onde o mecanismo do Docker está presente, você pode executar os seguintes comandos de onde o Dockerfile está. Você pode usar o script de exemplo criar-e-atualizar-imagem.sh.
Em um terminal no RStudio no SageMaker, execute os seguintes comandos:
Após esses comandos, você tem um repositório e uma imagem de contêiner do Docker no Amazon ECR para nossa próxima etapa, na qual anexamos a imagem de contêiner para uso no RStudio no SageMaker. Observe o URI da imagem no Amazon ECR <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:<TAG>
para uso posterior.
Atualize o RStudio no SageMaker através do console
O RStudio no SageMaker permite a personalização do tempo de execução por meio do uso de uma imagem personalizada do SageMaker. Uma imagem do SageMaker é um suporte para um conjunto de versões de imagem do SageMaker. Cada versão de imagem representa uma imagem de contêiner compatível com RStudio no SageMaker e armazenada em um repositório do Amazon ECR. Para disponibilizar uma imagem personalizada do SageMaker para todos os usuários do RStudio em um domínio, você pode anexar a imagem ao domínio seguindo as etapas desta seção.
- No console do SageMaker, navegue até o Imagens personalizadas do SageMaker Studio anexadas ao domínio página e escolha Anexar imagem.
- Selecionar Nova imageme insira o URI da imagem do Amazon ECR.
- Escolha Próximo.
- No Propriedades da imagem seção, forneça uma Nome da imagem (obrigatório), Nome de exibição da imagem (opcional), Descrição (opcional), função do IAM e tags.
A nome de exibição da imagem, se fornecido, é mostrado no iniciador de sessão no RStudio no SageMaker. Se o Nome de exibição da imagem campo fica vazio, o nome da imagem é mostrado no RStudio no SageMaker. - Deixar Caminho de montagem EFS e Configuração avançada (User ID e ID do Grupo) como padrão porque o RStudio no SageMaker gerencia a configuração para nós.
- No Tipo de imagem seção, selecione Rimagem do estúdio.
- Escolha Submeter.
Agora você pode ver uma nova entrada na lista. Vale a pena notar que, com a introdução do suporte de imagens personalizadas do RStudio, você pode ver um novo Tipo de uso coluna na tabela para indicar se uma imagem é uma imagem do RStudio ou uma Estúdio Amazon SageMaker imagem.
Pode levar de 5 a 10 minutos para que as imagens personalizadas estejam disponíveis na interface do usuário do inicializador de sessão. Você pode então iniciar uma nova sessão R no RStudio no SageMaker com suas imagens personalizadas.
Com o tempo, você pode querer aposentar imagens antigas e desatualizadas. Para remover as imagens personalizadas da lista de imagens personalizadas no RStudio, selecione as imagens na lista e escolha Separar.
Escolha Separar novamente para confirmar.
Atualize o RStudio no SageMaker por meio da AWS CLI
As seções a seguir descrevem as etapas para criar uma imagem do SageMaker e anexá-la para uso no RStudio no SageMaker no console do SageMaker e usando a AWS CLI. Você pode usar o script de exemplo criar-e-atualizar-imagem.sh.
Crie a imagem e a versão da imagem do SageMaker
A primeira etapa é criar uma imagem do SageMaker a partir da imagem de contêiner personalizada no Amazon ECR executando os dois comandos a seguir:
Observe que a imagem personalizada exibida no iniciador de sessão no RStudio no SageMaker é determinada pela entrada de --display-name
. Se o nome de exibição opcional não for fornecido, a entrada de --image-name
é usado em seu lugar. Observe também que a função do IAM permite que o SageMaker anexe uma imagem do Amazon ECR ao RStudio no SageMaker.
Crie um AppImageConfig
Além de uma imagem do SageMaker, que captura o URI da imagem do Amazon ECR, uma configuração de imagem do aplicativo (AppImageConfig) é necessário para uso em um domínio do SageMaker. Simplificamos a configuração para um RSessionApp
image para que possamos apenas criar uma configuração de espaço reservado com o seguinte comando:
Anexar a um domínio do SageMaker
Com a imagem do SageMaker e a configuração da imagem do aplicativo criadas, estamos prontos para anexar a imagem de contêiner personalizada ao domínio do SageMaker. Para disponibilizar uma imagem personalizada do SageMaker para todos os usuários do RStudio em um domínio, anexe a imagem ao domínio como uma configuração de usuário padrão. Todos os usuários existentes e novos usuários poderão usar a imagem personalizada.
Para melhor legibilidade, colocamos a seguinte configuração no arquivo JSON configurações do usuário padrão.json:
Neste arquivo, podemos especificar a imagem e AppImageConfig
pares de nomes em uma lista em DefaultUserSettings.RSessionAppSettings.CustomImages
. Este snippet anterior pressupõe que duas imagens personalizadas estão sendo criadas.
Em seguida, execute o seguinte comando para atualizar o domínio do SageMaker:
Depois de atualizar o domaim, pode levar de 5 a 10 minutos para que as imagens personalizadas estejam disponíveis na interface do usuário do inicializador de sessão. Você pode então iniciar uma nova sessão R no RStudio no SageMaker com suas imagens personalizadas.
Desanexar imagens de um domínio do SageMaker
Você pode destacar imagens simplesmente removendo o ImageName
e AppImageConfigName
pares de default-user-settings.json
e atualizar o domínio.
Por exemplo, atualizar o domínio com o seguinte default-user-settings.json
remove r-4.1.3-rstudio-2022
da IU de inicialização da sessão R e sai r-4.1.3-rstudio-1.4.1717-3
como a única imagem personalizada disponível para todos os usuários em um domínio:
limpar
Para remover imagens e recursos com segurança no domínio SageMaker, conclua as etapas a seguir em Limpar recursos de imagem.
Para remover com segurança o RStudio no SageMaker e o domínio do SageMaker, conclua as etapas a seguir em Excluir um domínio do Amazon SageMaker para excluir qualquer aplicativo RSessionGateway, perfil de usuário e domínio.
Para remover imagens e repositórios com segurança no Amazon ECR, conclua as etapas a seguir em Excluindo uma imagem.
Por fim, para excluir o modelo do CloudFormation:
- No console do AWS CloudFormation, escolha Stacks.
- Selecione a pilha que você implantou para esta solução.
- Escolha Excluir.
Conclusão
O RStudio no SageMaker simplifica para os cientistas de dados a criação de ML e soluções analíticas em R em escala e para os administradores gerenciarem um ambiente robusto de ciência de dados para seus desenvolvedores. Os cientistas de dados desejam personalizar o ambiente para que possam usar as bibliotecas certas para o trabalho certo e obter a reprodutibilidade desejada para cada projeto de ML. Os administradores precisam padronizar o ambiente de ciência de dados por motivos regulatórios e de segurança. Agora você pode criar imagens de contêiner personalizadas que atendam aos seus requisitos organizacionais e permitir que os cientistas de dados as usem no RStudio no SageMaker.
Nós encorajamos você a experimentá-lo. Feliz desenvolvimento!
Sobre os autores
Michael Hsieh é um arquiteto de soluções sênior especialista em IA/ML. Ele trabalha com os clientes para avançar em sua jornada de ML com uma combinação de ofertas de AWS ML e seu conhecimento de domínio de ML. Como um transplante de Seattle, ele adora explorar a grande Mãe Natureza que a cidade tem a oferecer, como as trilhas para caminhadas, passeios de caiaque no SLU e o pôr do sol na Baía de Shilshole.
Declan Kelly é engenheiro de software da equipe do Amazon SageMaker Studio. Ele trabalha no Amazon SageMaker Studio desde seu lançamento no AWS re:Invent 2019. Fora do trabalho, ele gosta de fazer caminhadas e escaladas.
Sean Morgan é arquiteto de soluções de IA/ML na AWS. Ele tem experiência nas áreas de semicondutores e pesquisa acadêmica e usa sua experiência para ajudar os clientes a atingirem seus objetivos na AWS. Em seu tempo livre, Sean é um colaborador e mantenedor ativo de código aberto e é o líder do grupo de interesse especial dos complementos do TensorFlow.
- Coinsmart. A melhor troca de Bitcoin e criptografia da Europa.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. ACESSO LIVRE.
- CryptoHawk. Radar Altcoin. Teste grátis.
- Fonte: https://aws.amazon.com/blogs/machine-learning/use-a-custom-image-to-bring-your-own-development-environment-to-rstudio-on-amazon-sagemaker/
- "
- &
- 1.3
- 10
- 100
- 2019
- 2022
- 7
- a
- Sobre
- Acesso
- Conta
- Alcançar
- Açao Social
- ativo
- Adição
- Adicional
- administradores
- avançar
- Todos os Produtos
- permite
- já
- Amazon
- analítica
- app
- se aproxima
- apropriado
- Abril
- disponível
- AWS
- Bay
- Porque
- ser
- Benefícios
- Melhor
- entre
- fronteira
- trazer
- construir
- Prédio
- negócio
- Pode obter
- capturas
- casas
- alterar
- escolha
- escolhas
- Escolha
- Cidades
- Na nuvem
- código
- Coluna
- combinação
- comum
- compatível
- completar
- Computar
- Configuração
- Conexão de
- cônsul
- Recipiente
- conteúdo
- continuar
- contribuinte
- crio
- criado
- Criar
- personalizadas
- Clientes
- personalizar
- dados,
- ciência de dados
- cientista de dados
- demonstrar
- depende
- implantado
- descreve
- descrito
- detalhes
- desenvolvedores
- Desenvolvimento
- Ecrã
- distribuições
- Estivador
- Não faz
- domínio
- down
- download
- cada
- facilmente
- efeito
- encorajar
- Motor
- engenheiro
- Entrar
- Meio Ambiente
- fundamentos
- exemplo
- existente
- vasta experiência
- familiar
- Campos
- Primeiro nome
- primeira vez
- seguir
- seguinte
- segue
- Gratuito
- da
- cheio
- Além disso
- obtendo
- Objetivos
- ótimo
- Grupo
- feliz
- ajudar
- titular
- hospedado
- Contudo
- HTTPS
- Dados de identificação:
- imagem
- imagens
- executar
- importante
- da indústria
- INFORMAÇÕES
- entrada
- instalar
- instância
- integrado
- interesse
- IT
- Trabalho
- viagem
- Conhecimento
- mais recente
- lançamento
- de lançamento
- conduzir
- aprendizagem
- Licença
- Licenciamento
- Line
- LINK
- Links
- linux
- Lista
- local
- máquina
- aprendizado de máquina
- fazer
- FAZ
- Fazendo
- gerencia
- gerenciados
- de grupos
- Gerente
- Match
- mencionado
- poder
- mínimo
- ML
- mais
- Morgan
- a maioria
- mãe
- múltiplo
- Natureza
- Navegar
- Cria
- Próximo
- oferecer
- Ofertas
- operando
- sistema operativo
- Opções
- organizacional
- organizações
- próprio
- pontos
- políticas
- Privacidade
- preferido
- presente
- privado
- processo
- profissional
- Perfil
- Programação
- projeto
- projetos
- fornecer
- fornecido
- fornecendo
- público
- rapidamente
- RE
- alcançar
- razões
- região
- reguladores
- liberar
- Releases
- relevante
- removendo
- repositório
- representa
- requeridos
- Requisitos
- exige
- pesquisa
- recurso
- Recursos
- Tipo
- Execute
- corrida
- seguramente
- Escala
- Ciência
- Cientista
- cientistas
- Sean
- segurança
- Semicondutor
- conjunto
- contexto
- instalação
- vários
- Partilhar
- mostrar
- mostrando
- simples
- desde
- So
- Suave
- Software
- Engenheiro de Software
- sólido
- solução
- Soluções
- especial
- especialista
- especializado
- pilha
- começado
- começa
- Declaração
- Status
- lojas
- estudo
- pôr do sol
- ajuda
- suportes
- Interruptor
- .
- Profissionais
- terminal
- A
- Através da
- tempo
- hoje
- ferramenta
- ferramentas
- ui
- para
- Atualizar
- Atualizações
- atualização
- us
- usar
- usuários
- versão
- se
- dentro
- sem
- Atividades:
- trabalhar
- trabalho
- Equivalente há
- escrita
- investimentos