Amazon Web Services ブログ

データサイエンティスト向けのフルマネージド RStudio on Amazon SageMaker を発表

2 年前、当社は業界初の機械学習 (ML) 向けの完全統合開発環境 (IDE) である Amazon SageMaker Studio の提供を開始しました。Amazon SageMaker Studio は、すべての機械学習の開発ステップを実行できる単一かつウェブベースのビジュアルインターフェイスを提供します。これにより、データサイエンスチームの生産性が最大 10 倍向上します

多くのデータサイエンティストは、18,000 を超えるパッケージを含むオープンソースのエコシステムである R プロジェクトを愛用しています。これは単なるプログラミング言語ではなく、データサイエンスのためのインタラクティブな環境でもあります。RStudio は、R デベロッパーの間で最も人気のある、機械学習およびデータサイエンスプロジェクト向けの IDE の 1 つです。RStudio は、R 向けのオープンソースツールと、データサイエンスチームが開発したり、成果物を組織内で共有したりするためのエンタープライズ対応のプロフェッショナルソフトウェアを提供します。しかし、RStudio を自ら構築、保護、スケーリング、およびメンテナンスするのは面倒で手間がかかります。

2021 年 11 月 2 日(米国時間)、RStudio PBC と共同で、クラウドにおける業界初のフルマネージド RStudio Workbench IDE である RStudio on Amazon SageMaker の一般提供を発表しました。

現在の RStudio ライセンスを使用して、シンプルなステップをいくつか実行するだけで、セルフマネージドの RStudio 環境を Amazon SageMaker に簡単に移行できるようになりました。このすばらしいコラボレーションの詳細については、RStudio PBC のこのブログをお読みください

RStudio on Amazon SageMaker を使用すると、管理者が RStudio 環境を移行して Amazon SageMaker に統合し、既存の RStudio ライセンスを AWS License Manager を通じて管理する際のエクスペリエンスがシンプルなものとなります。管理者は、AWS Single Sign-On (SSO) または AWS Identity and Access Management (IAM) を使用して、R と Python の両方のデベロッパーを同じ Amazon SageMaker ドメインにオンボードし、RStudio と Amazon SageMaker Studio の両方を設定するための一元的な場所として使用できます。

そのため、データサイエンティストは、RStudio と Amazon SageMaker Studio ノートブックを切り替えるために、プログラミング言語とコーディングインターフェイスを自由に選択できます。コード、データセット、リポジトリ、その他のアーティファクトを含むすべての作業内容は、基盤となる Amazon EFS ストレージを介して 2 つの環境間で同期されます。

RStudio on SageMaker の開始方法
Amazon SageMaker からクリックするだけで、使い慣れた RStudio Workbench を起動できるようになりました。使用の開始に先立って、管理者は、RStudio on Amazon SageMaker を起動するために、RStudio PBC からエンドユーザー用の適切なライセンスを購入し、付与されたライセンスを AWS License Manager でセットアップし、Amazon SageMaker ドメインとユーザープロファイルを作成する必要があります。ライセンスの管理や使用状況のモニタリングなど、管理者のすべての業務内容については、セットアッププロセスのブログ記事、または AWS ドキュメントの Manage RStudio on Amazon SageMaker を参照してください。

必要なセットアッププロセスを完了すると、作成したユーザーリストの新しい [Launch app] (アプリケーションを起動) ドロップダウンリストから RStudio Workbench を開き、[RStudio] を選択できます。

RStudio Workbench のホームページがすぐに表示され、そのホームページ上にセッション、プロジェクト、および公開されたコンテンツのリストが表示されます。新しいセッションを作成するには、ページの [New Session] (新規セッション) ボタンを選択し、[Instance Type] (インスタンスタイプ) ドロップダウンリストで目的のインスタンスを選択し、[Start Session] (セッションを開始) を選択します。

軽量な分析向けに 2 基の vCPU と 4 GiB のメモリを使用できるコンピューティングインスタンスタイプを選択すると、デフォルトの ml.t3.medium インスタンスを使用できます。複雑で大規模な機械学習モデリングについては、Amazon SageMaker で利用可能なさまざまな機械学習インスタンスから、必要なコンピューティングとメモリを備えたラージインスタンスを選択できます。

数分後、セッションは RStudio Workbench で開発可能な状態となります。RStudio セッションを開始すると、Base R イメージがインスタンスのベースとして機能します。この Docker イメージには、Python と R の相互運用性のために、R v4.0、awsclisagemakerboto3 Python パッケージなどの AWS ツール、および reticulate パッケージが含まれています。

R パッケージの管理と分析結果の公開
RStudio Workbench とともに、RStudio ConnectRStudio Package Manager は RStudio の最も利用されている製品です。

RStudio Connect は、データサイエンティストが RStudio Workbench からインサイト、ダッシュボード、およびウェブアプリケーションを簡単に公開できるように設計されています。RStudio Package Manager は、組織のためにパッケージリポジトリを一元管理するため、データサイエンティストは、プロジェクトを確実に再現および反復できるようにしつつ、パッケージをより迅速かつ安全にインストールできます。

例えば、管理者は RStudio Package Manager でリポジトリを作成して、そのリポジトリが cran という名前のビルトインソースをサブスクライブするようにできます。

$ rspm sync --wait # 同期を開始します
$ rspm create repo --name=prod-cran --description='Access CRAN packages' # リポジトリを作成します:
$ rspm subscribe --repo=prod-cran --source=cran # リポジトリが cran ソースをサブスクライブするようにします

これらの手順が完了したら、RStudio Package Manager のウェブインターフェイスで prod-cran リポジトリを使用できます。

これで、RStudio Workbench でパッケージをインストールおよび管理するようにこのリポジトリを設定できます。また、コラボレーションの相手が簡単に成果物を利用できるようにするため、RStudio Connect を介して RStudio Workbench からインサイト、ダッシュボード、およびウェブアプリケーションを公開するよう RStudio Connect を設定することもできます。

例えば、分析をインラインで実行して、コラボレーションの相手に公開できる R Markdown を作成します。コードを記述しながら [Preview] (プレビュー) ボタンを使用してスライドをプレビューし、RStudio セッションで [Publish] (公開) アイコンを使用して公開できます。

また、インタラクティブなウェブインターフェイスを簡単に作成できる Shiny アプリケーションや、Streamlit などの Python ベースのコンテンツを RStudio Connect インスタンスに公開することもできます。

詳細については、AWS Machine Learning Blog で、私の同僚である Michael Hsieh、Chayan Panda、および Farooq Sabir によって著された Host RStudio Connect and Package Manager for ML development in RStudio on Amazon SageMaker を参照してください。

トレーニングジョブと Amazon SageMaker の統合
RStudio on Amazon SageMaker を使用する利点の 1 つに、Amazon SageMaker の機能の統合があります。Amazon SageMaker の RStudio および Jupyter Notebook インスタンスを使用すると、同じ Amazon EFS ファイルシステムを共有できます。Jupyter Notebook で記述された R コードをインポートしたり、Jupyter Notebook と RStudio の両方で同じファイルを使用したりできます。この 2 つの間でファイルを移動する必要はありません。

例えば、ライブラリのインポート、Amazon SageMaker セッションの作成、IAM ロールの取得、サンプルデータのインポートと視覚化を含む R サンプルコードを実行できます。その後、S3 バケットにデータを保存し、トレーニングコンテナを指定して Amazon SageMaker Estimator を定義することで、XGBoost モデルでトレーニングタスクをトリガーします。詳細については、Amazon SageMaker の R コードのサンプルを参照してください。

# reticulate ライブラリ、readr ライブラリ、および sagemaker ライブラリをインポートします
library(reticulate)
library(readr)
sagemaker <- import('sagemaker')

# sagemaker セッションを作成します
session <- sagemaker$Session()

# 実行ロールを取得します
role_arn <- sagemaker$get_execution_role()

# UCI パブリックリポジトリから csv ファイルを読み込みます
data_file <- 'http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data'

# データフレームにデータをコピーし、列の名前を変更し、データフレームのヘッドを表示します
data_csv <- read_csv(file = data_file, col_names = FALSE, col_types = cols())
names(data_csv) <- c('sex', 'length', 'diameter', 'height', 'whole_weight', 'shucked_weight', 'viscera_weight', 'shell_weight', 'rings')
head(data_csv)

# 高さが 0 に等しいデータを可視化します
library(ggplot2)
options(repr.plot.width = 5, repr.plot.height = 4) 
ggplot(abalone, aes(x = height, y = rings, color = sex, alpha=0.5)) + geom_point() + geom_jitter()

# Amazon S3 バケットにデータをアップロードします
s3_train <- session$upload_data(path = data_csv,
                                bucket = my_s3_bucket,
                                key_prefix = 'r_hello_world_demo/data')
s3_path = paste('s3://',bucket,'/r_hello_world_demo/data/abalone.csv',sep = '')

# XGBoost モデルをトレーニングし、トレーニングコンテナを指定し、Amazon SageMaker Estimator を定義します
container <- sagemaker$image_uris$retrieve(framework='xgboost',
                                           region= session$boto_region_name,
										   version='latest')							
estimator <- sagemaker$estimator$Estimator(image_uri = container,
                                           role = role_arn,
                                           train_instance_count = 1L,
                                           train_instance_type = 'ml.m5.4xlarge',
                                           train_volume_size = 30L,
                                           train_max_run = 3600L,
                                           input_mode = 'File',
                                           output_path = s3_path)

今すぐご利用いただけます
RStudio on Amazon SageMaker は、Amazon SageMaker Studio と AWS License Manager の両方が利用可能なすべての AWS リージョンでご利用いただけます。RStudio on Amazon SageMaker の独自のライセンスを使用することができます。また、Amazon SageMaker または他の AWS のサービス内の基盤となるコンピューティングリソースおよびストレージリソースの料金を、使用量に基づいてお支払いいただきます。

RStudio on Amazon SageMaker の使用を開始するために、AWS 無料利用枠をご利用いただけます。最初の 2 か月間は、Amazon SageMaker Studio で 250 時間/月の ml.t3.medium インスタンスを使用できます。詳細については、Amazon SageMaker の料金のページを参照してください。

ぜひお試しいただき、Amazon SageMaker の AWS フォーラムで、または通常の AWS Support の担当者を通じて、フィードバックをお寄せください。

Channy

原文はこちらです。