目次
ご挨拶
お疲れさまです。
「DENET ADVENT CALENDAR 2023」12月8日を担当させていただく寺井です。
アドカレ企画概要はこちら→[アドカレ2023] DENET ADVENT CALENDAR 2023に雪が降る
"アドベントカレンダー" という言葉すら知らなかったレベルなんですが、AWS界隈でこんなに盛り上がっているとは知りませんでした。
このイベントをトリガーとして、色んなサービスを触っていけたらと思ってますのでよろしくお願いいたします!!🙏
経緯と目的
前々からずっと「SageMaker」使ってみたいなぁ~。
と思ってたんですが、「機械学習」というワードに対してどうしても苦手意識があり、後回しにしちゃってました…。
そんな中で「SageMaker Canvas」が「Bedrock」で利用できる基盤モデル(FM)をサポートしたという記事を目にしたので、みんな大好き生成系AIを触りながら「SageMaker」にチャレンジしてみたいと思います。
参考記事:Amazon SageMaker Canvas がサポートを拡張し、すぐに使用できるモデルに基盤モデル (FM) が含まれるようになりました
Amazon SageMaker について
そもそも「Amazon SageMaker」ってどんなサービス?
フルマネージドインフラストラクチャ、ツール、ワークフローを使用して、あらゆるユースケース向けの機械学習 (ML) モデルを構築、トレーニング、デプロイします。
Amazon SageMaker(機械学習モデルを大規模に構築、トレーニング、デプロイ)| AWS
一言でまとめると 『クラウド上で機械学習モデルを作成・運用できるサービス』 といったイメージでしょうか。
「Amazon SageMaker Canvas」って?
ビジネスアナリストにビジュアルインターフェイスを提供することで機械学習 (ML) へのアクセスを拡張します。これにより、ビジネスアナリストは、自ら正確な ML 予測を生成できます。ML の経験は不要で、コードを 1 行も書く必要はありません。SageMaker Canvas を使用すると、すぐに使用できるモデルにアクセスしたり、カスタムモデルを作成したりして、数分で何千ものドキュメント、画像、テキスト行から情報を抽出し、予測を生成できます。すぐに使用できるモデルの使用を開始するために必要なのは、すぐに使用できるモデルを選択し、データをアップロードして、ワンクリックで予測を生成することだけです。
Amazon SageMaker(機械学習モデルを大規模に構築、トレーニング、デプロイ)| AWS
『専門知識がなくても、ノーコードで直感的な画面操作だけで機械学習モデルを作り、データから予測を出せるツール』 といったイメージになるかと思います。
「ノーコード・ローコード」という単語も最近よく耳にしますが、取っつきやすそうなサービスのようですね。
「Amazon SageMaker Canvas」の料金
主にかかってくるのは接続時間単位で課金される費用となります。
- ワークスペースインスタンス (セッション-時間) の料金:1.9 USD/時間
起動してからログアウトするまでのセッション時間に対して課金されますので、利用が終了すればログアウトすることを忘れないようにしないとですね。
他には、「カスタムモデルのトレーニング」や、「モデル使用による予測」に対する課金などがあります。
詳細については以下の公式ページを確認ください。
「Amazon Bedrock」の料金
使用するモデルによって単価が異なりますが、「入力/出力トークン数」による料金が発生します。
その他、「モデルのカスタマイズ(ファインチューニング)」や「プロビジョンドスループット」に対する課金などがあります。
詳細については以下の公式ページを確認ください。
補足:ファインチューニングについて
「Fine-tuning」 を直訳すると 「微調整」 です。
もう少し掘り下げると、
『基盤となるモデルを特定のタスクやデータに合わせて性能を 「微調整」して最適化 するプロセス』
となります。
補足:FM(基盤モデル)について
「FM」はFoundation Modelの頭文字を取ったものです。
直訳すると 『基盤モデル』 です。これはそのまんまですね。
このブログを通して完成するもの
先に完成品を紹介しておきます。
「SageMaker Canvas」にてデフォルトで利用可能な基盤モデルを複数並べて比較することが可能になります。
ノーコードで、且つGUIで色んなモデルを一覧で比較できるのは非常に便利だと感じました。
※今回の一連の検証では約$15料金が発生しました。
(主にSageMaker Canvasのセッション利用時間に対する課金)
実際に検証される際にはご留意ください。
準備
リージョンはBedrockで使用できるFMの多さから、us-east-1(バージニア北部)を利用しています。
(未対応の場合のみ)Bedrockで使いたいモデルのアクセスを有効化
Amazon Bedrockのページから[Model access]を開いて[Manage model access]
「Anthropic」だけはちょっと追加の対応が必要で、[Submit Use case details]からユースケースを入力して送信します。(英語ですけどGoogle翻訳でなんとかなります。)
その他、使いたいモデルにチェックを入れて[Request model access]
申請した後は、使いたいモデルの[Access status]が[Access granted]となっていることを確認します。
今回検証に使用するのは
- Claude 2
- Titan
- Jurassic-2 Ultra
ですが、お好きなものをチョイスしてください。
やってみる
SageMakerの初期設定(クイックセットアップ)
SageMakerのコンソールのトップページにある[シングルユーザー向けの設定]から、ワンクリックでクイックセットアップを行います。
このボタンだけで、SageMakerによって以下のリソースなどがまとめて作成されているようです。
- EFS
- セキュリティグループなど(EFSアクセス用途)
- S3
- CloudWatch ロググループ
SageMaker Canvasの開始
先ほど作成された対象ドメインを選択して
[ドメインの詳細] > [ユーザープロファイル]タブ > 対象ユーザープロファイルの[起動]プルダウン > [Canvas]
もしくは
「SageMaker Canvas」のトップページ > 作成されたユーザープロファイルが選択されている状態で[Canvasを開く]
からでも起動可能です。
起動には10分程度時間がかかりますので、気長にお待ち下さい。
モデルを使用する
トップページの[Get started now]からモデルを使用していきます。
また[Compare]を押すことで、複数のモデルにまとめてリクエストを送ることが可能です。(ええやん
(補足)Bedrockのモデル有効化ができていない場合
前準備の段階で実施した[Bedrockによるモデルの有効化]作業を行っていないと、以下のような画面になりモデルの使用ができませんのでご注意ください。
([モデル使用のリクエスト]をクリックするとモデル有効化に関する公式ドキュメントに飛ぶ)→画面は日本語に翻訳しています。
複数モデルを並べて比較する
今回は思いつきで アドベントカレンダーにちなんだ「俳句」 を考えてもらうことにしました。
挑戦者は以下のモデルたちです。
さぁその結果は……!?
︙
︙
︙
︙
︙
︙
︙
すみません、そもそも「Jurassic-2 Ultra」が日本語に対応していなかったようです。
(回答が面白すぎたので採用。)
Jurassic-2 Ultra:
言語: 英語、スペイン語、フランス語、ドイツ語、ポルトガル語、イタリア語、オランダ語
Amazon Bedrock での AI21 Labs Jurassic
若干の事故はありましたけど、やはり「Claude 2」は優秀ですねぇ。
俳句に詳しいわけじゃないですけど、ちゃんと「季語」と「五・七・五」を考えて作ってて関心しました。
「Titan Express」は微妙な感じですが、英語ならいい感じになるかもしれませんね。
感想
ドキュメントとか見ながらじゃなくても、GUIで直感的にポチポチ作れたので、めちゃめちゃイイ感じでした。
まだまだ「SageMaker Canvas」の良さを存分に味わえてないので、今度はファインチューニングに挑戦したいと思います💪💪
ありがとうございました!
好きなこと:音楽、猫、お酒、ゲーム、効率化
経歴:音楽専門学校 → テレビ業界AD → 通信回線代理店 → IT関連職業訓練 → 2022.12~ 株式会社ディーネット