メモ > サーバ > サービス: AWS > 生成AIについて調査
■生成AIについて調査
※SageMakerの初期設定や、SageMaker Studio Labの登録を行った…程度で止まっている
WSL2にStable Diffusion Web-UIをインストールできたので、いったんそちらで検証している
■EC2での利用
AWS EC2 GPUインスタンスでStable Diffusionを使う - Qiita
https://qiita.com/nijigen_plot/items/27f8e987dda6aea5836d
この解説をもとに、EC2で起動できそう
費用がどれくらいになるのかは、使う前に確認しておきたいが
EC2 (Windows) で Stable Diffusion Web UI を使ってみる
https://zenn.dev/kobayasd/articles/eab757ccc6bd6d
この内容は試してみたい。AWSの中の人による記事らしい?
似たような記事が他にあるかもしれないので、合わせて確認したい
g4dn.xlargeの性能や金額についても、自分で確認しておきたい
■Amazon Bedrockでの利用
基盤モデル API サービス - Amazon Bedrock - AWS
https://aws.amazon.com/jp/bedrock/
Amazon Bedrockがリリース! Lambdaから画像を10枚生成してS3に置くまでの流れをやってみた | DevelopersIO
https://dev.classmethod.jp/articles/bedrock-lambda-stable-diffusion/
AWSによる生成AIの新サービス「Amazon Bedrock」の可能性を考察する - Qiita
https://qiita.com/nasuvitz/items/679674d93219cfb8320d
Stable Diffusionなどの生成AIを簡単に使えるようになるらしい
AmazonがジェネレーティブAIを構築するためのサービス「Bedrock」やAI用基礎モデル「Titan FM」を発表 - GIGAZINE
https://gigazine.net/news/20230414-amazon-web-services-bedrock/
インフラの管理は不要らしい
Amazon、ChatGPTのようなテキスト生成AI「Titan」 - PC Watch
https://pc.watch.impress.co.jp/docs/news/1493983.html
「現在、限定プレビューを提供している」「テキスト生成、チャットボット、検索、テキスト要約、画像生成、パーソナライゼーションといった用途に活用できる」
専用のEC2インスタンスが裏側で起動されるみたい?
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門! - Speaker Deck
https://speakerdeck.com/minorun365/jin-sarawen-kenai-awsnosheng-cheng-aisabisu-amazon-bedrockru-men
後発の紹介記事
■Amazon SageMakerでの利用
SageMaker → JumpStart → Foundation models
「Stable Diffusion 2.1 base」にある「表示 モデル」をクリック
新規にウインドウが開くので、画面右上の「Studio でノートブックを開く」をクリック
ホームにある「SageMaker ドメインを作成」ボタンは何か
クリックしてみると、「SageMaker Domain をセットアップ」画面が表示される
高速セットアップ (1 分)
Amazon SageMaker でアカウントを設定し、SageMaker Domain の許可をセットアップします。
・パブリックインターネットアクセスと標準暗号化
・SageMaker Studio の統合
・共有可能な SageMaker Studio Notebook
・SageMaker Canvas
・IAM 認証
シングルユーザードメインと、SageMaker の使用を開始しようとしている初回ユーザーに最適です。
とあるので、そのままにしておく
「ドメイン名」を決める必要があるようなので、ひとまず「study」としてみる
「ユーザープロファイル」の「実行ロール」は「新しいロールの作成」としてみる
「IAMロールを作成する」ダイアログが開くが、「指定するS3バケット」はひとまず「任意のS3バケット」としてみる(※本番運用では好ましくない設定かもしれない)
「ロールを作成」ボタンをクリック
もとの画面に戻るので、「送信」ボタンをクリック
「VPCを選択」ダイアログが表示されたので、すでに作成してあるVPC「Study」を、サブネットは「Trust-A」を選択してみる(※本番運用では用途を理解して選択したい)
「保存して実行」ボタンをクリック
10分ほどしてから確認すると、ステータスが「Pending」から「InService」になっていた
作成したドメインは「SageMaker → Domains」から確認できる
話題のLlama 2という大規模言語モデルをAmazon SageMaker JumpStartで動かしてみた | DevelopersIO
https://dev.classmethod.jp/articles/sagemaker-jumpstart-llama2/
Stable Diffusion を AWS でサクッと動かすために Sagemaker JumpStart を使ってみる
https://zenn.dev/kobayasd/articles/8d2b3a1e1b5a2a
【無料】Amazon SageMaker Studio Labの始め方
https://zenn.dev/en2enzo2/articles/a1988487d5614b
AWS SageMaker Studio 費用(ノートブックとインスタンスもシャットダウンしないと課金される) - Qiita
https://qiita.com/Blahrmy/items/9cdeefe881299e9ca38c
AWSで学習済み機械学習モデルを爆速でデプロイする方法 - NIFTY engineering
https://engineering.nifty.co.jp/blog/17721
UIが一新されたAmazon SageMaker Studioの歩き方 | DevelopersIO
https://dev.classmethod.jp/articles/how-to-walk-around-amazon-sagemaker-studio-new-ui/
Stable Diffusion Web-UI を SageMaker Studio で動かしてみる
https://zenn.dev/kobayasd/articles/0371c7418b874e
※最初、ドメイン名「develop」で、VPC「Develop」上に作成しようとしたら、以下のエラーが表示された
上記のとおり「study」に作り直すと進んだが、どういうエラーなのかよく解らず
ValidationException
2 validation errors detected
Value '' at 'defaultSpaceSettings.executionRole' failed to satisfy constraint: Member must have length greater than or equal to 20
Value '' at 'defaultSpaceSettings.executionRole' failed to satisfy constraint: Member must satisfy regular expression pattern: ^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$
Amazon SageMaker Studio ドメインを作成する際に 「Missing required key ‘VpcId’ in params」 エラーが発生した時の対処方法 | DevelopersIO
https://dev.classmethod.jp/articles/tsnote-sagemaker-stuido-domain-missing-vpc/
Amazon SageMaker ドメイン作成時に設定が必要な各パラメータを解説 | DevelopersIO
https://dev.classmethod.jp/articles/amazon-sagemaker-domain-setup-parameter/
■Amazon SageMaker Studio Lab
【AWS グラレコ解説】データサイエンスの学びを支援する Amazon SageMaker Studio Lab をグラレコで解説 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
https://aws.amazon.com/jp/builders-flash/202205/awsgeek-sagemaker-studio-lab/?awsf.filter-name=*all
> AWSはAmazon SageMakerをすでに提供していますが、SageMakerとStudio Labは大きく3つの点で異なります。
> 1点目はAWSアカウントが不要であること、2点目は無料であること、3点目は利用可能な機能です。
> Studio Labは機械学習の学びや検証を行うため、SageMakerは検証した後の本格的な機械学習モデルの開発と運用のため、と役割が異なります。
> Studio Labにはもちろん SageMakerほど豊富な機能はありませんが、学習に十分な機能とスペックを備えています。
【無料】Amazon SageMaker Studio Labの始め方
https://zenn.dev/en2enzo2/articles/a1988487d5614b
Amazon SageMaker Studio Lab 使ってみた! | リウコムTechブログ
https://www.ryucom.co.jp/blog/aws/3787
※Jupyter Notebookをベースにした開発環境
Google Colaboratoryでも同じような環境が提供される
「Request free account」をクリック
以下のとおり入力して「Submit request」をクリック
Enter your email: refirio@example.com
Enter your first name: Taro
Enter your last name: Yamada
Select your country: Japan
Enter your company or organization name: example
Select your occupation: Programmer
Why are you interested in Amazon SageMaker Studio Lab?: Work
Enter referral code: (空欄)
以下のように表示された
Request submitted
Your request was submitted successfully. Please check your email for further registration steps.
少し待つと、no-reply@studiolab.sagemaker.aws から「Verify your email」というメールが届く
本文にある「Verify your email」ボタンをクリックすると、以下のように表示された
Email verification
Your email was verified.
We've added you to the waitlist. Once your request is approved, we'll send you an email with a link to create your account.
In the meantime, check out the FAQ to learn more about the Amazon SageMaker Studio Lab.
ウェイトリストに登録されたとのことなので、いったん待つ
3〜4日ほどで、「Account request approved」というメールが届いた
メールの案内に従って、アカウント登録を行う
Enter your email: refirio@example.com
Create a password: ********
Confirm the password: ********
Enter a username: example
登録すると「Verify your email」の画面が表示される
同じタイトルでメールが届いているので、メールの案内に従って認証する
SageMaker Studio Lab
https://studiolab.sagemaker.aws/login
手順中で作成したアカウントでログインできた
「Start runtime」をクリック
Mobile phone number required
Add a mobile number to associate with your SageMaker Studio Lab account so we can identify you.
To verify your number, we will send you a text message with a temporary code.
Message and data rates may apply.
と表示された
会社電話番号の 070-1254-9201 を入力(「+81 07012549201」とした。「+81 7012549201」だとエラーになった)
確認コードが送られてくるので入力する
起動が完了すると、「Open Project」の丸ボタンに色が付くのでクリック
JupyterLab(データ分析ツール)が起動する
画面右側に、以下のコードが入力されている箇所がある
a = 10
b = 20
c = a + b
print(a, b, c)
コードが記述されている部分をクリックして、Shift+Enterで実行できることを確認する
新規にファイルを作成してみる
画面左上の「+」をクリックし、「default:Python」を選択する
1 + 2 + 3
と入力して、Shift+Enterで実行できることを確認する
作業が終わったら、「Stop runtime」をクリックして終了させておく
(終了を忘れると課金が始まって…ということではなく、時間を過ぎると自動でセッションが切断されるらしい)