見出し画像

AWSの生成系AI体験ワークショップをやってみた

こんにちは!ChatGPTと会話するときもどうしても敬語になってしまうあさっちです。

最近、弊社ライフイズテックでもAI Labを中心として生成系AIを活用したプロダクトを開発しています。私自身はインフラの構築や権限設定の作業などが多いため、生成系AIそのものに触れて学ぶ機会が欲しいなと思っていたところ、AWSが提供している「生成系AI体験ワークショップ」という教材を見つけたので早速やってみることにしました。


生成系AI体験ワークショップとは

ワークショップの概要

ワークショップ冒頭の文章をお借りすると、

このワークショップでは、Generative AI (生成系 AI) を活用したアプリケーションを AWS 上に構築し、社内データを活用したチャットボットや要約、文章校正、画像生成などのユースケースを体験していきます。

とあり、前半では生成系AIを活用したアプリケーションをCloudFormation、または、CDKを使って構築していきます。
後半では、構築されたアプリケーションをブラウザで操作しながら、チャットボットや要約、文章校正、画像生成など、どのようなことができるかを体験します。所要時間は60-90分となっています。作成したリソースには課金が発生します。

アプリケーションの構成

前半で構築するアプリケーションは以下の図のような構成になっています。

いろいろなサービスを使っていてやってみるのがちょっと大変そうに思えてきますが、Web上にあるCloudFormationの「Launch Stack」ボタンを押す、または、GitHubからソースコードをcloneしてからCDKのコマンドを実行することで簡単に構築できます。
(私がワークショップを始めた11/18時点ではCDKの手順しかありませんでしたが、その後CloudFormationの手順も追加されたようです)

Amazon Bedrock で利用する大規模言語モデル (Anthropic Claude) と画像生成モデル (Stable Diffusion XL) は、事前にコンソールから有効化しておく必要があります。

遭遇したエラー

ワークショップの手順は、コンソールの画面キャプチャも入っていて丁寧に説明されているので、基本的に内容に沿って進めていけば大丈夫です。
ただ、私の環境ではCloudShellからCloud9環境を作成するコマンドを実行したときに以下のエラーが出ました。

An error occurred (ConflictException) when calling the CreateEnvironmentEC2 operation: Unable to find public subnets in the VPC vpc-***************** that support the instance type t2.large. Choose a different EC2 instance type or create your development environment in a specific subnet.

どうもCloud9環境を作成するスクリプトで、EC2インスタンスを起動するときデフォルトVPCを使おうとしたのですが、デフォルトVPCにパブリックサブネットが設定されていなかったのが原因だったようです。
今回はとりあえず、コンソールから手動でパブリックサブネットが設定されている別のVPCを指定してCloud9環境を作成し、次のアプリケーション構築の手順に進みました。

やってみた感想

「体験」が中心

こちらは生成系AI「体験」ワークショップという名前の通り、AWS上で開発したり構築したりすることを学ぶのではなく、操作してどんなことができるかを経験してみることが主な目的となっています。
構築自体は、CloudFormationのボタンやCDKのコマンドを実行するだけでできてしまうので、どのように開発するかや設定するかを知りたい方はもの足りないかもしれません。
ただ、GitHub上にワークショップで利用したCDKのソースコードが上がっていますので、コードを読んで構成やAPIの使い方を学んだり、自分で修正して試してみたりすることはできそうです。

アプリケーションはそのまま使える

ワークショップ用なので、構築するのは簡単なアプリケーションかと思いきや、認証機能からチャット、RAGチャット、文章生成、要約、校正、翻訳、画像生成の機能があり、そのまま普段から使えそうな出来栄えです。

特にAmazon Bedrockはリリースされてそれほど時間が経ってないこともあり、今回利用している大規模言語モデルであるAnthropicのClaudeと、OpenAIのGPT-4などを比べて精度や速度などを比較してみてもいいと思います。

また、アプリケーションに認証機能があるのに加えて、最後の「発展」の項目で「IPアドレスの制限」と「サインアップの無効化」というセキュリティ対策を実施する手順もあります。
外部からのアクセスも制限されていますので、業務に関するドキュメントをS3にアップロードしてAmazon Kendoraに読み込ませることで、自分のユースケースに沿ったRAGを試してみることもできます。

自分の記事を校正にかけてみると

ワークショップで構築したアプリケーションの中に校正の機能がありますので、試しに自分の記事にどんな指摘が入るのかやってみました。
入力したのは、11/17に公開した記事『【書評】システム障害対応に立ち向かう意義とは? - 「3カ月で改善!システム障害対応 実践ガイド」』の前書き部分です。

指摘された事項は以下の3点です。

  • 情報の授業」は具体的な科目名が望ましいです。例えば「情報科」など。

  • 「障害」の定義が明確ではありません。システム障害なのか、それともサービス障害なのかを明確にすることを推奨します。

  • 利用者数やサービスレベルの向上についてのデータや根拠が不足しています。例えば、前年比の伸び率などの数値を提示することを推奨します。

上の2点については、特に中学校だと情報科などはなく、他の科目の中でプログラミングを学ぶこともあると聞いたのと、障害については記事の後半にも書いた通りこれから定義やレベル、対応フローを決めていくところなので、抽象的な書き方にしていました。
3点目については確かに数字を提示したほうがよかったと思います。利用者数についてはプレスリリースが出ていますので、今更ではありますが追加させていただきます。

校正については、言葉の流れのみで判断していて、文脈を理解できないところもありそうですが、データや根拠が不足しているところなどは参考にできそうです。

これからやってみたいこと

ワークショップを通して、生成系AI(Amazon Bedrock)でどのようなことができそうか理解することができるので、公開されているソースコードも参考にしながら自分でアプリケーションを作ってみたくなります。

生成系AIを利用したアプリケーションは、先日同じグループのぎだじゅんさんが記事で紹介していたPartyRockでも簡単に作ることができます。こちらでは裏側で動いている生成系AIの仕組みは分かりませんが、AWSアカウントは必要ないので、作りながらいろいろとアイデアを膨らませてから、Amazon Bedrockを使って自分好みのアプリケーションを開発してみるのもよさそうです。

生成系AIはこれからますます身近になってくると思いますので、身の回りの課題を解決したり業務を効率化したりするどのようなアプリケーションがリリースされてくるのか楽しみです。それでは、また!

この記事が参加している募集

AIとやってみた