AIの未来を垣間見た! AWS AI Dayレポート

## はじめに
本レポートは、2024年10月31日に開催されたAWS AI Dayへ参加した際の所感と学びをまとめたものです。生成AIの最新動向や実例を学ぶことができ、大変有意義な機会となりました！

## AWS AI Dayとは？
生成 AI のプロダクション活用に興味があるすべての方向けに最新動向や実例を交えて紹介するAWS主催のイベントです。オフラインとオンラインのハイブリッドで開催され、私はオンラインで参加させていただきました。

↓以下、公式より抜粋したAWS AI Dayの概要です。↓
>AWS AI Day では、2024 年に加速した「生成 AI の実用化（プロダクション活用）」をテーマに、基調講演および事例を中心とした 14 のセッションでお届けします。

>基調講演では業務変革や価値創造を生成 AI で加速されているお客様にご登壇いただくともに、創業以来変わることなくお客様中心・長期的視野に立ちお客様と伴走してきた AWS が考える生成 AI ジャーニーをご紹介します。

>ブレイクアウトセッションでは、AWS および生成 AI を活用する企業、組織の皆様より、生成 AI を実際のビジネスに取り入れた際の効果、体験の向上、課題と対策などについて具体的なユースケースを元に学ぶことができます。また、AWS の生成 AI 分野における最新情報、セキュリティやサービス選択方法、生成 AI アプリケーション構築のヒントについて詳しく説明します。

## 基調講演 ～AWSのテクノロジーで加速する生成AIのプロダクション活用～

### AWSが提供する生成AIサービスについて
まず初めに、AWSでは過去18か月で326もの生成AI機能を提供したと発表がありました。
90%以上のサービスが実際に利用したビルダーから収集したフィードバックを基に構築しているそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/7f1b70f5-5983-d1f5-3e2e-41a8aa838d82.png)

そして、現在利用しているユーザーの多くが試すフェーズから実際のビジネスに活用するフェーズへ移行しており、利用用途も多岐に渡ります。
様々なユースケースに対応できるよう、3つのレイヤーに分けてAWSはサービスを提供されております。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/550d84d1-3b28-5e2c-8f38-fbb9c77f5192.png)

今回の講演では真ん中のレイヤーである「アプリケーション開発」にフォーカスした説明がありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/8e7d3ce5-0331-63d4-7a4b-edc130f14025.png)

#### ユースケース
生成AIを活用して解決したい課題を明確にします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/fdacb092-29f8-102c-7695-7630a6f86def.png)


#### モデルの選択
AWSは様々な基盤モデルを提供しており、ユースケースに適したモデルを選択できます。
※Amazon Bedrock では30を超えるモデルが選択可能です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/0d751cec-fef3-c473-b1b7-21c57a0661c9.png)

#### 責任あるAI
様々な業界で活用されつつある生成AIですが、影響力が拡大するにつれて生成AIの信頼性が重要視されております。
ユーザーが拡大するにつれて、責任をもってAIを利用するという意識が高まっていき、「責任あるAI」というコンセプトが生まれたという経緯があったそうです。

AWSが考えている8つの構成要素がコチラです↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/92e0cd9c-8420-8df9-b683-3b51534d34c9.png)


生成AIを利用する上で発生しうる新たなリスクと課題
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/91d3155c-665c-dc9a-e720-b4640349455f.png)

今回はデータプライバシーに関して踏み込んだ説明をいただきました。
図の左側フローではデータは学習されないので、自社の情報が流出する恐れはないが
気を付けないといけないのは、図の右側フローです。
生成AI利用した入出力データが生成AI提供企業によってモデルの学習に使われると、モデルを介して情報が流出してしまうという恐れがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/7278ad2f-f80f-dc35-7b9f-5456e04d622f.png)

そこで、Amazon Bedrockではユーザーがセキュリティを高める事ができる機能を各種提供しているそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/ede396e2-efbb-88d4-0ab5-c7ecbbaec624.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/ba56cf72-4759-606b-713a-5c3dce233a1b.png)

#### カスタマイズ
自社のデータを活用し、独自の価値を生み出す方法を具体的に紹介されていました。
※右側にいくほど、使用する難易度やハードルが高くなっていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/b0787ff8-0580-ca6c-8b73-f02359aae1ef.png)

こちらが一番簡単に利用できる実例です。
入力に情報の基となるドキュメントに加え、命令を与える事でドキュメントから情報を取得し回答してくれます。
※但し、このケースでは与えるドキュメントに欲しい情報が含まれている必要があります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/dae4c6ed-8c37-1aa8-8254-8408c29c04ab.png)

情報がどこにあるか分からない場合は、蓄積されたデータソースから検索した上で生成AIに答えてもらうRAGが解決方法としてあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/438fa34c-1a79-b168-4b8e-72f6cccee4d2.png)

RAGの構築は考慮すべき事項がいくつかあり、容易には実現できないのですが
その煩雑さを解消するサービスとして「Amazon Bedrock Knowledge Bases」を紹介されてました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/f6dcab9f-8f77-d28c-edd0-8fba780b471a.png)

#### アプリ運用
日進月歩で進化する生成AIは、ケースバイケースで冒頭に紹介された生成AIジャーニーを行ったり来たりする事が予想されます。その変化に対応するよう効率よく生成AIアプリケーション開発を進める事ができるようAWSは開発を支援するサービスを提供しているので、是非活用して下さいとの事でした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/4773a68a-96a9-d060-3fdd-468bfaaa2275.png)

## コンテンツ審査を題材とした生成 AI 機能実装のベストプラクティス
生成 AI によるコンテンツ審査を題材として、生成 AI を活用した機能実装における考慮点や解決策など具体的な実装方法を紹介いただけました。
開発者としてはこういった具体的な事例紹介のセッションがイメージを掴みやすく、インプットしやすいと感じております。

### 内容
コンテンツ審査を題材として、生成AIを実プロダクトへ実装する際に直面する考慮店を整理し、具体的な打ち手を紹介するセッションです。

### 今回のケース
LLMを利用して誹謗中傷やスパムを排除したい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/be39f675-0b83-2111-9db0-2c72d6d4875c.png)

### 実際LLMをプロダクションに導入する際に考慮すべき点は多い
- 他手段との棲み分け
- 精度
- レスポンス速度
- 可用性・スループット
- コスト
- セキュリティ
- LLMOps

打ち手としては一般的に以下が考えられますが、セッションではいくつかのトピックにフォーカスして説明いただきました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/33e7c589-897a-3ebc-8f8c-9706c21ac8e8.png)

### LLMと従来の手法の棲み分け
LLMを利用するかのジャッジは状況によりますが、以下のように整理されてました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/fa3bee94-2923-7acb-44b7-d0ff3252fa9a.png)

### 精度の改善
まずは、簡易的な評価の仕組み作りが精度改善の近道です。
試行錯誤するうちに評価基準が変化する事も多いので、改善のIterationを回すための最低限な評価の仕組みを用意してあげることが重要みたいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/5adb2f3c-5c2b-2492-c09a-7c7d10fa6710.png)

また、最先端のモデルを活用する事も精度改善の近道のようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/144d470c-146f-30d2-3905-661e4ad37422.png)

Promptの原則をおさえる事も重要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/4c043dca-aa3e-e2aa-d6d4-f95e5790f765.png)

タスクを一つのLLMで処理するのではなく、適切に分割する事も精度改善のポイントとして挙げられていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/65179141-c789-3af4-984d-b6850188c4e1.png)

### コスト最適化に向けた打ち手

適切なモデルを選択する事も重要ですが、利用規模に応じて過度に最適化せずシンプルなアプローチにする事が結果的にコスパ良い場合があるようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/b00c172d-bcca-a3ff-1a81-37223db472b1.png)

最新のモデルを利用する事で同じ性能でも過去のモデルよりコストが断然低くなるので、
定期的にモデルのアップデートは必須です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/cbc18e18-df4f-2d83-2fb5-70dc2a0b60e9.png)

また、非同期処理化でもコスト最適化できるバッチ推論機能を利用で50%のコスト削減が見込めるようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/ff8d30c4-2b47-9073-4c73-8f16adcf5a90.png)

### 可用性・スループット
まずはクオーターを確認して、制限に引っかかってないかを確認します。
特にシステム上の制約がなければus-west-2を選択しておけば間違いなさそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/149defec-3183-b275-c234-067ad0b7c66c.png)

また、一時的にエラーが返されてもユーザーに意識させないリトライの仕組みも重要と仰ってました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/26fea696-9142-568d-5e79-b8dcee9fc596.png)

UX的に可能であれば、非同期処理にて対応し過負荷で一時的に利用不能でもエンドユーザーへの影響を小さくできるそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/5c54333c-caa7-35c8-bd90-1504042ec8e7.png)

### レスポンス速度

モデルによって速度が違うので、ユースケースに応じて最適なモデルの選択をする必要があります。
リージョンの選定も速度に影響するので要検討です。
ただ、東京リージョンでは選べるモデルの数が少ないので近いからという理由で選定しないよう注意しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880077/76e7e707-e965-634b-3a54-17114784f273.png)


### LLMOps
Bedrock専用のダッシュボードがCloudWatchに用意されてるので、まずはこの機能でモニタリング。
更には、評価や改善するツールも広がりを見せているので、今後益々拡張が続く見込みのようです。

## 最後に
AWS AI Dayに参加し、生成AIの最新動向を学ぶことができ、大変有意義な機会となりました。本イベントで得た知見を活かし、今後ますます生成AIを活用したイノベーションを推進できるようなエンジニアを目指す所存です。生成AIの可能性は無限にあり、今後の展開が非常に楽しみです。