メインコンテンツに移動
AWS グラレコ解説

データサイエンスの学びを支援する Amazon SageMaker Studio Lab をグラレコで解説

2022-05-02 | Author : 久保 隆宏

はじめに

builders.flash 読者のみなさん、こんにちは! DevRelの久保 隆宏と申します。4 月から新年度が始まりました。今年度は機械学習を勉強したい ! と考えている方もいらっしゃるのではないでしょうか。本記事では機械学習を学ぶ時につまずきがちな環境構築の問題を解決する Amazon SageMaker Studio Lab をご紹介します。2021 年のリリース後、Studio Lab は国内外の大学の授業や教材で幅広くご利用いただいています。現在 100 個近い GitHub リポジトリに Studio Lab ですぐ学べる Open in Studio Lab ボタンがつけられています。

builders.flash メールメンバー登録

builders.flash メールメンバー登録で、毎月の最新アップデート情報とともに、AWS を無料でお試しいただけるクレジットコードを受け取ることができます。 
今すぐ登録 »

Amazon SageMaker Studio Lab とは

Amazon SageMaker Studio Lab

Illustration introducing Amazon SageMaker Studio Lab in Japanese, explaining its beginner-friendly, free machine learning environment with no setup or AWS account required.
Amazon SageMaker Studio Lab は、メールアドレスのみで利用できる無料の機械学習の実行環境です。複雑な環境設定が不要で、機械学習を学び始めた初学者の方でも容易にご利用いただけます。

JupyterLab

Illustration showing the programming languages supported by AWS SageMaker Studio Lab in JupyterLab, including Python, Java, Golang, R, Julia, C++, and Rust. Japanese text explains Jupyter Lab supports many programming languages.

Amazon SageMaker Studio Lab は、オープンソースの JupyterLab をベースにしています。

JupyterLab とは、非営利団体「Project Jupyter」により開発されているオープンソースです。Web ベースのインタラクティブなプログラム開発環境であり、Python 以外にも Java や Go など様々な言語をサポートしています。Markdown のドキュメント、プログラミングコード、プログラムの実行結果の 3 つを含む ”Notebook” をインタラクティブに作成できるのが最大の特徴です。

ちなみに、”Jupyter” のスペルは ”Jupiter (木星)” と間違えているわけではなく、Julia、Python、R の 3 つの言語に由来します (※)。様々な企業の方が Contributor として開発しており、AWS からも Brian Granger 氏が長期的な計画を立案する Steering Council に参加しています。

※ : 詳細は Jupyter Blog をご参照ください。「I Python, You R, We Julia」。

Amazon SageMaker Studio Lab が提供する機能

SageMaker と Studio Lab の違い

AWS は Amazon SageMaker をすでに提供していますが、SageMaker と Studio Lab は大きく 3 つの点で異なります。

1 点目はAWSアカウントが不要であること、2 点目は無料であること、3 点目は利用可能な機能です。

Studio Lab は機械学習の学びや検証を行うため、SageMaker は検証した後の本格的な機械学習モデルの開発と運用のため、と役割が異なります。Studio Lab にはもちろん SageMaker ほど豊富な機能はありませんが、学習に十分な機能とスペックを備えています。

ブラウザ上で実行可能

Amazon SageMaker Studio Lab の機能とスペックを日本語で紹介したインフォグラフィック画像です。JupyterLab 環境、無料・セットアップ不要、CPU(12時間)、GPU(4時間)、15GBストレージ、Gitインストール済み、GitHubとの連携、ターミナル利用可能などの特徴が記載されています。

ブラウザ上で実行できるため、利用するパソコンに特別なスペックは必要ありません。「GPU が搭載された開発用のパソコンをクラウド上に持てるサービス」というイメージです。開発用のパソコンと感じる理由は 3 つです。1 つめは静的ストレージがあること、2 つめはターミナルが使えること、3 つめは開発環境がカスタマイズできることです。

パソコンと同じように静的ストレージがあるため、ブラウザを落としても、CPU / GPU のセッションが切れても、作業内容はすべて保存されています。再度ブラウザでアクセスし、セッションを繋ぎ直せば終了時点の作業内容から再開できます。

JupyterLab をベースとしているため、Jupyter の Kernel がサポートしているプログラミング言語であれば基本的に動かすことができます。Python や R はもちろん、Rust や C++ なども動かせます。また Jupyter の拡張をインストールしてカスタマイズすることもできます。

Amazon SageMaker Studio Lab の利点

Amazon SageMaker Studio Lab を学習環境に採用することで 3 つの利点が得られ、環境構築の問題を解消できます。 1 つめは ベースとなる OS をそろえることができ、Windows / Mac / Linux など OS の違いを配慮する必要がなくなる点。2 つめは conda を使用して教材専用の仮想環境を構築できるためライブラリ間のバージョンがそろわないことで発生する問題をなくすことができる点。3 つめは一度構築した教材専用の環境が永続化され、学習中使い続けられる点です。

共通の実行環境

Screenshot of the Amazon SageMaker Studio Lab interface showing the right-click context menu with the 'Build Conda Environment' option highlighted for an environment YAML file.

授業をする側の目線からは、「学習者に共通の実行環境を無料で配布できるサービス」といえます。conda は Python をはじめとしたプログラミング言語の環境構築に用いられるツールです (※)。conda を使用した仮想環境の構築は通常コマンドから行いますが、Studio Lab は環境を定義した yml ファイルを右クリックし、 “Build Conda Environment” を実行することで仮想環境を構築できます。コマンドに不慣れな学習者でも簡単に教材専用の環境を構築できます。

※ : Studio Lab では Anaconda ではなく mini-forge で conda を導入し、ライブラリは conda-forge からインストールするよう設定しています。そのため、Anaconda の商用ライセンスの影響は受けません。詳細は こちら をご覧ください。

日本語化も可能

An illustrated Japanese-language guide comparing traditional machine learning environment setup with Amazon SageMaker Studio Lab's fast code execution and learning-friendly environment. Includes cartoon characters, code examples, and interface screenshots.

オープンソースの Jupyter Lab をベースにしているため、言語パックをインストールすることで日本語化することができます。

このように Studio Lab は学習者にとっては学びやすい、教材作成者にとっては教えやすい環境といえます。

Amazon SageMaker Studio Lab の使い方

それでは Studio Lab の使い方を見ていきましょう。

教材を作成されている方は、GitHub リポジトリに Open in Studio Lab ボタンをつけると、学習者の環境セットアップをより簡単にできます。複数の Jupyter Notebook で構成される教材は、リポジトリ全体を静的ストレージにダウンロードすることで一括して持ってくることができます。

Studio Lab に持ってきた後は、JupyterLab と同じように Notebook を実行することができます。詳細は こちら をご参考ください。

Step-by-step Japanese instructions for cloning a GitHub repository in Amazon SageMaker Studio Lab, showing how to open in Studio Lab, start runtime, copy to project, and clone the entire repository.

Open in Studio Lab ボタン

Open in Studio Lab ボタンは、README.md に次の記述を入れるだけで作成できます。your-org、your-repo-name、your-branch-name、path-to-your-notebook.ipynb は開きたい Jupyter Notebook に合わせて記載します。

bash
[![Open in SageMaker Studio Lab](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/<your-org>/<your-repo-name>/blob/<your-branch-name>/<path-to-your-notebook.ipynb>)

URL の例

例えば、Studio Lab をご利用いただいている学習サイト「機械学習帳」にある Jupyter Notebook の URL は次のようになります。

https://github.com/chokkan/mlnote/blob/main/classification/01binary.ipynb

この時、各パラメーターの値は次のようになります。

パラメータ

your-org

chokkan

your-repo-name

mlnote

your-branch-name

main

path-to-your-notebook.ipynb

classification/01binary.ipynb


GitHub の Star の状況

Open in Studio Lab ボタンを設置いただいたリポジトリではいずれも GitHub の Star 数が増加しています。AWS としても、教えやすい、学びやすい教材をより広めることに貢献したいと考えています。

Amazon SageMaker との連携

Amazon SageMaker Studio Lab は、Amazon SageMaker にプロジェクトをエクスポートすることができます。つまり、Studio Lab でデータサイエンスの学習からプロトタイピングまで行い、実用性が見込めた際には本格的なモデル開発や推論が可能な SageMaker に移行できるということです。
A Japanese-language diagram illustrating the export process from Amazon SageMaker Studio Lab to Amazon SageMaker, including steps for data preparation, preprocessing, distributed training, MLOps, CI/CD, and model monitoring and deployment.

全体図

最後に、全体の図を見てみましょう。
Overview diagram in Japanese illustrating Amazon SageMaker Studio Lab, its features, supported programming languages, environment setup, and export capabilities to Amazon SageMaker.

まとめ

本記事では、Amazon SageMaker Studio Lab についてご紹介しました。

Studio Lab の登場で、AWS はデータサイエンスの学びから、クラウドを用いた MLOps の構築まで、機械学習プロジェクトの成長過程に長期間伴走できるようになりました。Studio Lab が、新年度より機械学習に取り組まれる方の入り口となれば幸いです。

Studio Lab の利用申請は下記のフォームからいつでも可能です。

Studio Labのアカウント登録申請フォーム »

現在多数の申し込みをいただいております。承認が遅い場合は、こちらの GitHub Issue のフォーム よりご連絡ください。

筆者プロフィール

A portrait of a person smiling, wearing a blue shirt, standing against a light-colored textured wall.

久保 隆宏

アマゾン ウェブ サービス ジャパン合同会社
DevRel, Machine Learning コンサルタント

機械学習エンジニア、プロダクトマネージャーを経て機械学習をプロダクトに活かすことに取り組んできました。DevRelでは機械学習領域での AWS 認知拡大に取り組んでいます。 趣味はランニングとテニス、ライブに行くことです。最近の情勢を受けライブハウスに行けないのが目下の悩みです。 現在、Machine Learning Product Manager について勉強中です。

Portrait photograph of a person with short dark hair, wearing glasses and a gray sweater, against a light blue background.

米倉 裕基

アマゾン ウェブ サービス ジャパン合同会社
テクニカルライター・イラストレーター

日英テクニカルライター・イラストレーター・ドキュメントエンジニアとして、各種エンジニア向け技術文書の制作を行ってきました。 趣味は娘に隠れてホラーゲームをプレイすることと、暗号通貨自動取引ボットの開発です。 現在、AWS や機械学習、ブロックチェーン関連の資格取得に向け勉強中です。