AWSの生成AI「Amazon Bedrock」とは？ re:Inforceでアーキテクチャが一部公開！

昨年2022年終盤からのChatGPTブームで、グローバルなメガIT各社からこぞって言語モデルの自社サービスが発表されていました。Azure OpenAI、Google Bardに遅れること2023年4月、AWSから発表されたのがAmazon Bedrockです。



# 謎に満ちたBedrock …Amazonさん早く!!

2023年6月22日現在、まだBedrockはパブリックに提供されておらず、事前情報の発信のみです。未だにUI等、どういった形で具体的に利用できるものなのかも謎に包まれています。

https://aws.amazon.com/jp/bedrock/

一部のごく限られたユーザー向けにプライベートプレビューを実施している模様で、実際に提供されるのはいつになるのかと多くのAWSユーザーが待ちわびていることでしょう。

すでに業務でLLMを活用したアプリケーションを開発している方々の多くはMicrosoft Azureを使い始めてしまった気もしますが、AWSファンとしては待ち遠しいBedrockについて現時点で世に出ている貴重な情報源をいくつか読み解いてサマリー紹介したいと思います。



# 貴重な公式情報：AWSブログを簡単にまとめると…

公式に発信されているまとまった情報源として、4月13日のAWSブログがあります。

https://aws.amazon.com/jp/blogs/news/announcing-new-tools-for-building-with-generative-ai-on-aws/


### 内容抜粋

- Bedrockとは複数の基盤モデルをAPIで利用できる新しいサービス
- 目的に合わせたモデルを簡単に見つけられる
    - Jurassic-2 （AI21 Labs提供のテキスト生成AI）
    - Claude （Anthropic提供のチャットAI）
    - Stable Diffusion （Stability AI提供のテキスト→画像生成AI）
    - Titan （Amazon提供）
- ユーザーの独自データで簡単にモデルをカスタマイズできる。S3に数少ないサンプルを用意するのみ
- ユーザーの自前アプリケーションにも簡単に統合できる
- すべてのデータは暗号化されてVPC内に閉じるため個人情報や機密情報の保護が可能
- Amazon Titanは当面、2つのモデルを提供予定
    - テキスト生成
    - エンべディング



# 最新情報！ AWS re:Inforce 2023のBedrockセッション

先日6/13-14にかけてアメリカにてAWSのセキュリティの祭典 re:Inforce 2023が開催されていましたが、その中でもBedrockのセキュリティにフィーチャーしたセッションがありました。

YouTubeでアーカイブも公開されていましたので、新出情報を簡単にご紹介します。

https://www.youtube.com/watch?v=5EDOTtYmkmI


### 内容抜粋

- ユーザーが言語モデルやインフラを管理しなくていいよう、APIとして基盤モデルを使えることに重点を置いているのがBedrock
![スクリーン ショット 2023-06-22 に 22.34.39 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/30b97bbd-b206-f325-d97b-65dedf915fe8.png)

- Bedrockの主なメリットとして、前述のAWSブログの記載に近いポイントが紹介されています
![スクリーン ショット 2023-06-22 に 22.39.04 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/ce475150-9852-3397-cb98-b5a2c3b62c5c.png)

- 4種類の基盤モデルの特徴も分かりやすく補足されていました。自社モデルのTitanのほか、スタートアップ提供のテキスト生成モデル2つの違いとして、Jurassic-2は多言語対応がウリ。Claudeは通常のテキスト生成やワークフロー自動化が可能。
![スクリーン ショット 2023-06-22 に 22.44.15 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/c1c6a277-539d-6ab1-6c1e-79397d985a66.png)

- セキュリティの文脈をベースに、アーキテクチャの解説もされています。BedrockはAPIで利用するマネージドサービスですが、AWSないでユーザーのVPCから通信する際はパブリックIPを経由するものの、あくまで「AWSのプライベートネットワークに閉じて」通信が完結するためセキュアだということです。
![スクリーン ショット 2023-06-22 に 22.50.41 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/539565c6-304e-2272-a92b-3845245737b1.png)

- VPCエンドポイントを経由すれば、プライベートIPでBedrockのAPIを呼び出すことも可能。
![スクリーン ショット 2023-06-22 に 22.55.30 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/7ec14d89-c06f-5b8d-2e25-c6e9762ce419.png)

- Bedrockのバックエンド側のアーキテクチャも紹介されています。ユーザーのAWSアカウントから呼び出されたBedrockのAPIは、裏側で各モデル用の仲介AWSアカウントにある読み取り専用エンドポイントを呼びにいきます。その応答やプロンプト履歴は各ユーザーごとに分離されてセキュアに扱われるということです。
![スクリーン ショット 2023-06-22 に 23.01.34 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/a90bd060-278f-8315-eb43-960783144291.png)

- モデルへのファインチューニングを行う場合も、あくまで学習用データはユーザー側のAWSアカウント内にあり、SageMakerのトレーニングジョブを通してモデルがチューニングされる処理のなかでAIベンダー側からユーザーの学習用データへアクセスできないように隔離されているということです。
![スクリーン ショット 2023-06-22 に 23.10.05 午後a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/6a8c2952-0b79-6c06-d6f3-7ed57e1834e5.png)

- SageMakerの機能の一つ、JumpStartを使えば多数のモデルを自分のプライベート環境にデプロイしてチューニングすることができ、Bedrockで利用可能なJurassic-2なども提供対象に入っています。このJumpStartと比べると、Bedrockの場合はこれよりもっとシンプルで手軽な使い勝手になるということです。
![スクリーン ショット 2023-06-22 に 23.14.57 午後.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/e56a73f5-9723-a2b5-3759-2db5823b6e25.png)



# 最後に
ここまでの話から想像すると、BedrockはAWSマネジメントコンソールでいうとSageMakerコンソール配下の新しいサブ機能、もしくはSageMakerとは別の完全に新しいコンソールとして提供されるのでしょうか。

エンタープライズ環境ですでに利用可能なLLM関連の新技術は日々どんどんアップデートされているので、私はしばらくAzureを勉強する必要がありそうですが、大好きなAWSには頑張ってこのBedrockを早く世に出してほしいものです！