Amazon Bedrockの導入効果をレビューでご紹介(みのるん-KDDIアジャイル開発センター株式会社)
KDDIアジャイル開発センター株式会社 / みのるん
メンバー / インフラエンジニア
利用プラン | ツールの利用開始時期 |
---|---|
*** | 2023年9月 |
利用プラン | *** |
---|---|
ツールの利用開始時期 | 2023年9月 |
アーキテクチャ
アーキテクチャの意図・工夫
AWS Amplifyを使ってホストしているWebアプリケーションからAmazon BedrockのClaudeモデルを呼び出してテキストを生成し、アプリケーションの画面に表示させて利用しています。
バックエンドのLambdaではPythonプログラムを稼働させており、LLM用のフレームワークとしてLangChainを使ってBedrockのAPI呼び出し処理をラッピングしています。
また、Claudeの応答が遅延した際にAppSyncのGraphQLタイムアウト(30秒)に抵触しないよう、Bedrockの呼び出し処理を非同期化しClaudeのレスポンスをDynamoDBに一時格納する工夫をしています。
導入の背景・解決したかった問題
導入背景
一大トレンドである生成AI技術を活用して自社プロダクトを開発したいと考えており、OpenAI系の生成AIサービスを活用していましたが、ありきたりなチャットボット等はいくつか開発していたものの、ユニークな独自プロダクトの創出にはまだ漕ぎつけられていない状況でした。
また、エンタープライズ環境で求められる「プライベートなネットワークに閉じたセキュアな生成AIアプリケーション」の構築に対応するクラウドとしてMicrosoft Azureが検討に入っていましたが、社内ではAWSを用いた開発に慣れているエンジニアが多く、学習コストや環境準備などに少しハードルを感じておりました。
選定理由
1. 比較した軸・比較する際に重要視していた点
トレンド性の高い生成AI技術をエンジニアがスピーディに活用しプロダクトへ組み込める点
2. 決め手となったポイント
AWSのクラウドサービスを使い慣れたエンジニアが多く、またスピーディな開発に便利なマネージドサービスのラインナップが豊富なことから、AWS上で利用できるAmazon Bedrockの採用に至りました。
下記2点がAmazon Bedrockの採用の決め手になりました。
・AWSのクラウドサービスを使い慣れたエンジニアが多かった点
・スピーディな開発に便利なマネージドサービスのラインナップが豊富だった点
導入の成果
Amazon Bedrockを導入後、既存エンジニアのAWSスキルセットをそのまま活かし、サービスデザインから開発まで、わずか1ヶ月の期間で生成AI技術を活用したセキュアなプロトタイプアプリケーションを完成させることができました。
AWSで生成AI機能が使えることで、AWS Amplifyといった素早くアプリケーションをデプロイするためのサービスと組み合わせることにより、トレンド性の高い生成AIアプリケーションをホットなうちに開発成功させ、プレスリリース等で対外PRにも役立てることができました。
導入時の苦労・悩み
事前のユーザーヒアリングで「OpenAIのGPTシリーズに比べて後発ということもあり、言語モデルの賢さで劣るのではないかという懸念がある」というコメントを複数もらい、なぜOpenAI(on Microsoft Azure)ではなくBedrock(on AWS)なのか?という点の説得に苦労しました。
導入に向けた社内への説明
上長・チームへの説明
Amazon Bedrockはサーバーレスな生成AIサービスであるため、高性能な仮想サーバーを稼働させるような機械学習環境のセルフホスティングが不要で、アプリケーションから基盤モデルを呼び出した分だけの従量課金で手軽に生成AIをプロダクトへ組み込めることから、活用ハードルが低くコストパフォーマンスが高いことを説明しました。
活用方法
よく使う機能
Pythonのようなプログラミング言語からAWS SDK経由でAmazon BedrockのAPIを呼び出してアプリケーションへの実装に利用
AWSマネジメントコンソールからAmazon Bedrockのプレイグラウンド機能を利用してGUI上で生成AIモデルのレスポンスをテスト
ツールの良い点
1. 何よりAWSのいちサービスとして生成AIを利用できる点
使い慣れた開発者が多いためプラットフォーム自体の学習コストが低く、開発や保守が楽になるマネージドサービスが豊富で、既存のAWSシステムへの生成AI機能の組み込みも容易。Step Functionsへの統合も日々進んでおりローコード開発も可能。またコミュニティやWeb上でのユーザーによる情報発信が豊富で、少し調べれば先行事例やトラブルシューティング等の情報を見つけやすいです。
2. 複数の会社が提供する生成AIモデルを選んで組み合わせて利用できる点
OpenAIの対抗馬と目されるAnthropic社の言語モデルClaudeや、StabilityAI社の画像生成モデルStable Diffusion、RAG等のベクトル変換の多言語品質で評価が高いCohere社のEmbedモデルなど。またAgentsやKnowledge Baseといった生成AIオーケストレーション用のBedrock用マネージドサービスも続々と登場しています。
3. エンタープライズ環境での商用利用に耐えうるセキュリティ・ガバナンス・運用機能を備えている点
生成AIモデルへの入出力や学習に用いたデータはユーザー専用のプライベートな環境に閉じ、またネットワークアクセス経路もAWS PrivateLinkを用いて閉域に閉じたサービス間通信を実現することが可能。監査ログや運用ログ、監視メトリクスの記録にも対応しています。
ツールの課題点
1. 言語モデルのテキスト生成品質
例えばAnthropic社提供のClaude 2.1モデルは十分に実用的な日本語テキスト生成能力があるものの、OpenAIのGPTシリーズのように先発の競合製品があるなかで、どれだけ「賢さ」の面で追従し追い越していけるか期待。
2. 東京リージョンで利用可能な生成AIモデル、および周辺機能が限られる点
テキスト生成モデルの主力であるClaude 2系は2023年12月にようやく東京リージョンでも利用可能となったが、画像生成モデルのStable Diffusion XLであったり、AgentsやKnowledge Baseといったオーケストレーション系の周辺機能が海外リージョンでしか使えない点は、組織によってセキュリティ・ガバナンスの観点でハードルとなる可能性あり。(AWSサービス内の通信であればリージョンを跨いでもAWS設備内に閉じた経路とはなりますが…)
その他
■Amazon Bedrockを使用する中で失敗したエピソード
Webアプリケーションの処理にAmazon BedrockのClaudeモデル呼び出しを組み込んだところ、まとまった量のテキスト生成に30秒程度かかり、これがちょうどAWS AppSyncのタイムアウト時間(30秒)を超えてしまうことがあるという課題がありました。この対策として、前述したような「LLM呼び出し処理の非同期化」を工夫することで回避しました。
ツールを検討されている方へ
私も競合のAzure OpenAI Serviceを用いた生成AIアプリケーション開発を含め経験しましたが、やはりAmazon Bedrockの良さはAWSというプラットフォームが使えることそのものが大きなメリットだと感じます。BedrockのGA以降、数多くのユーザーによる登壇やブログ等のアウトプットが盛んに行われており調べ物もしやすいです。
またAgents for Bedrockのように大手クラウドサービスとして先発となるマネージドサービスのローンチも進んでおり、いよいよAWSの追い上げも本格的になって実用性が日に日に増しています。すでにAWSで開発しているプロダクトへトレンドの生成AI機能を組み込みたい方や、AWSエンジニアの豊富な組織では是非Amazon Bedrockの活用を検討してみてください。
KDDIアジャイル開発センター株式会社 / みのるん
メンバー / インフラエンジニア
よく見られているレビュー
KDDIアジャイル開発センター株式会社 / みのるん
メンバー / インフラエンジニア
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法