どうも。みなさん re:Invent 2024 楽しんでますか? 寺内は東京にいます。
とはいえ、AWSからの大量のNews情報はキャッチできますので、見ていると興味深いキーワードが。
the next generation of Amazon SageMaker
“ネクストジェネレーション” と聞くと、なんかワクワクしますよね。
ということで、詳しく見てみます。AWS発表のブログ記事は以下です。
Amazon SageMakerは、データアナリストや機械学習モデル開発者のための統合開発環境(IDE)です。
機械学習モデルの開発は、大きく以下のステップを踏みます。
この一連の流れを、1つのコンソールの中ですべてを実施できることを目指しているのがAmazon SageMaker だといえます。
SageMakerリリース後、AWSではBedrockが出たり、Redshift Serverlessが出たりとAWSサービス周辺も急激に変化しています。そうした変化に合わせて、よりよい開発体験を提供するために、SageMakerの再構築を行うことにしたのだと推測できます。
この記事では、Amazon SageMaker Unified Studio を準備し、Jupyter Notebook で HELLO WORLD するところまでを記載します。
東京リージョンでも使えるとのこで、早速やってみましょう。
AWSマネジメントコンソールのサービス検索で “sagemaker” と入れると、あれ?
従来のSageMakerは、Amazon SageMaker AI と名称が変わり、次世代SageMakerは、Amazon SageMaker platform という名称のようです。
早速、Amazon SageMaker platform を選んでみましょう。
こちらの画面には、しっかり Amazon SageMaker Unified Studio と書いてありますね。
従来のSageMakerと同じく、まずはDomainを作るようです。作ってみましょう。
クイックセットアップでやってみます。
しかし、下の黄色いところに、適切なVPCを作ったほうがいいようなことが書いてありますので、既存のVPCではなく、Amazon SageMaker Unified Studio専用のVPCを作ることにします。
名前くらいしか入れることはないですね。作成を押すと、sagemaker_unified_studio_network_setup.yml というCloudFormationテンプレートが動きいろいろ作ります。ここでできたVPCを観察してみると、以下のような構造のようです。
一つのパブリックサブネットと、三つのプライベートサブネットがあります。
驚くのは、勝手に作られたエンドポイントの数です。
なんと28個!
利用料いくらかかるのでしょう。Redshift ServerlessやEMRなど、いらないのは、速攻で消したいところです。
再度、SageMakerのクイックセットアップに戻ると、作られたVPCの情報がすでに入力されています。その他、S3やBedrockなどの情報を確認し、ドメインの作成ボタンを押します。
終わると、以下のドメインへのログイン画面が出ます。
SSOは、この環境では使っていないので、AWS IAMでのサインインを選びます。
めでたく、Amazon SageMaker Unified Studioのホーム画面が出ました。
次に、プロジェクトを作成します。右側真ん中あたりにある緑色の「プロジェクトを作成」を押します。
プロジェクトの名前を入れて、プロジェクトの種類を選択します。ここでは、「データ分析とAI-MLモデルの開発」を選択します。
以下のように、CodeCommitやログの保存期間、SageMakerインスタンスが使うEBSボリュームサイズ、LakehouseやRedshift Serverlessの名称などを設定します。
こうして「プロジェクトを作成」ボタンを押すことで、作成処理が始まります。
これは10分ほどかかります。
無事終わると、以下のようにAmazon SageMaker Unified Studioのホーム画面の画面中央上部でプロジェクトが選択できるようになります。
これらのプロジェクトの作成で、少なくともS3とCodeCommitリポジトリが作成されます。確認してみましょう。
S3のバケットはこちら。
CodeCommitはこちら。
リポジトリの中身を見てみるといくつかファイルができています。
さて、SageMakerのホーム画面でプロジェクトを選択すると、以下のように作業の中心となるワークスペースが開きます。
中心にはCodeCommitの中身であるファイルが作られています。
ここにファイルを新規作成し、git commit して、push すれば、そのままCodeCommitリポジトリに入るのですから楽ちんです。
さて、左上に「Discover」「Build」「Governance」というメニューがあります。これらの中身は、それぞれ以下のようになっています。
Discoverの中身。
データ解析系のメニュー、機械学習モデル開発のためのメニュー、ガバナンスのためのメニューと別れており、関連するサービスと密に連携が取れていることがわかります。
ここでは「Build」メニューから、JupyterLabを起動すると以下の画面になります。Python 3 のNotebookを作ってみます。
すると、わりとカッコいいNotebook画面がでました。ちょっとCloud 9っぽいというか、VS Codeっぽいというか。
ということで、Hello World、やっておきました。
左のツールバーで、Gitを選んで、CommitとPushをすれば、CodeCommitにしっかりと記録されます。ちょー簡単!
さて、生まれ変わったSageMaker Unified Studio 。全体的にAWSサービスのストレージおよびデータベースとの一体感が出て、使いやすくなっていそうです。
IICユーザでもIAMユーザでも使えるのがいいですね。
まずはやってみた、というレベルですが、データ分析の開発ワークスペースとして活用できればと思います。
ではまた。