[レポート]AIM230-R – 新しいAmazon SageMaker ノートブックの体験: 大規模な共有と共同利用 #reinvent
どうも、DA事業本部の大澤です。
本エントリはAWS re:Invent 2019のセッション「AIM230-R - [NEW LAUNCH!] [REPEAT] New Amazon SageMaker notebook experience: Share & collaborate at scale」のレポートです。
セッション概要
Typically, starting notebooks requires spinning up compute instances, and there was previously no easy way to share and collaborate without tracking dependencies and other restrictions. Join us as we introduce the new Amazon SageMaker notebooks experience, which allows you to access notebooks in seconds without spinning up compute instances. The elastic notebooks allow you to easily scale compute up or down, and the changes take place automatically without interrupting your work. You can share notebooks by automatically reproducing the environment and library dependencies without manually tracking them so others can reproduce the results with the same data. With this new experience, you can build models faster and collaborate at scale.
意訳
一般的にノートブックを開始するには計算インスタンスを起動する必要があります。また以前は依存関係の追跡やそのほかの制限なしに共有や共同利用がする簡単な方法はありませんでした。 新しいAmazon SageMaker notebooksの経験を紹介するこのセッションに参加してください。新しいAmazon SageMaker notebooksでは計算インスタンスの起動なしで数秒でのノートブックへのアクセスが可能となります。この柔軟なノートブックは簡単に計算をスケールさせることができ、作業の邪魔をすることなくその変化が自動的に適用されます。自動的に環境やライブラリの依存を自動的に再現することでノートブックを共有できます。これによって他の人が同じデータで同じ結果が再現できるようになります。この新しい体験によって、大規模により早くかつ共同利用してモデルを構築できます。
スピーカー
- Karthik Kumar Odapally - Sr Solutions Architect, Amazon Web Services
- Parwinder Singh - Sr Data Engineer
レポート
Let's get to know each other
参加者に対していくつかの質問が行われました。
- データ分析は行うか、データ分析のサポートをするか
- Jupyterを使ったことはあるか、知ってるか
- SageMakerを使ってるか、本番環境で使ってるか
概要
- Amazon SageMaker Notebooks
- 二年前のre:Inventで紹介された
- もっと柔軟にという要望が多かった
- 今はプレビューだけど、2020年の早い時期に利用可能になる
- Jupyter
- SageMaker Notebooksは最も新しいJupyter Labのインターフェイス
- AWSはJupyterに還元してる
Notebooks at Pinterest
- Jupyter evolution path at Pinterest
- 次のように徐々に改善していった
- DBクライアント、スクリプティング
- Jupyter、 R shiny、Rstudioをローカルでセットアップ
- 内部データクライアントとともに共通のJupyterインスタンスをセットアップ
- Jupyterクラスタ(JupyterHub) On Kubernetesをセットアップ
- Jupyter クラスター+ワークフローとスケジュール機能を持った専用のランタイム環境
- エンタープライズのデータサイエンスチーム
- パフォーマンスと使用量のロギングと分析
- クエリ結果をキャッシング
- Elasticsearchでインデックス化と検索
- ノートブックライフサイクル
- Jupyterでノートブック作成
- Jupyterでバージョンコントロール
- Report
- ノートブックのプロダクション化(レポート)
- パラメータ化
- スケジュール化
- セキュリティ
- Pastis
- Envoy
- Knox
- Impersonation
- OAuth
- LDAP
- TLS
- IAM
- セキュリティグループとセキュリティゾーン
- Jupyterイメージと環境
- Build
- Image distribution
- Build stabilization
- jupyter docker image build
- challenge
- 複雑なアクセスコントロール
- チームスペシフィックなワークフロー
- ライブラリ競合の解決
- 環境に適合するための学習曲線
新しい Amazon SageMaker Notebooks
- クイックスタートアップ
- 遅くなる理由
- オプションの設定
- 起動時間
- 新しいAmazon SageMaker Notebooksではともに早くなった
- シンプルに使いはじめることもできるし、環境のカスタマイズも可能
- 遅くなる理由
- 柔軟なユーザ管理
- データサイエンスチームでは複数のサイエンティストで1AWSアカウントを共有する
- マネジメントコンソールは使いたがらない
- SageMaker Studioは1アカウントで複数のユーザをサポートする
- ユーザはAWS Single Sign-OnもしくはIAMロールで管理可能
- ユーザベース、グループベース、全体それぞれに対して設定可能
- ユーザはそれぞれのホームディレクトリを持っている
- 新しいSageMaker Notebooksでは全てのユーザがホームディレクトリを持つ
- ノートブックシェアリング
- 最も要望が多かった機能
- 簡単に共有できるようになった
- 共有されたノートブックは再現可能なようにカスタマイズされた環境情報を持っている
- カスタマイズ可能な環境(Coming Soon)
- Amazon SageMaker Notebooksでは事前定義された環境が利用できる
- conda環境のようだけど、フルシステムを含む
- pip installみたいな感じでユーザは環境をカスタマイズできる
- 管理者はDockerコンテナでチームのカスタム環境を設定可能
- Flexible Compute(Coming Soon)
- ノートブックで作業している時に、バックエンドの計算環境をドロップダウンで簡単に選択できる
- メモリやCPU、GPUを切り替えられる
- 必要であれば、もっと安い環境にもできる
- 管理者は使用可能なインスタンスタイプを設定可能
- GPUインスタンスは高いのでミスには注意が必要
DEMO
実際にノートブックを開いて、ノートブックの機能を確認しました。
- シングルサインオンでログイン
- Jupyter Labベース
- Git
- 実験管理
- 実験ごとの試行(trial)/学習ジョブ情報を表示できる
- ノートブック
- 基本的な機能はJupyterノートブックと同様
- 共有可能なスナップショットを作成
- Gitリポジトリ情報を含むかどうか選択可能
- 出力を含むかどうか選択可能
さいごに
AWS re:Invent 2019のセッション「AIM230-R - [NEW LAUNCH!] [REPEAT] New Amazon SageMaker notebook experience: Share & collaborate at scale」のレポートをお伝えしました。Amazon SageMaker Notebooksの特徴である、クイックスタートや共有機能、カスタマイズ可能な環境、計算環境の切り替えなどなどどれもとても興味深いです!現在、Amazon SageMaker Notebooksはプレビューです。GAになるのが待ち遠しいです!