見出し画像

Amazon Bedrock Prototyping Campに参加してBedrockを完全理解した

スマートラウンドでエンジニアをしている福本です!
「またお前か?」と思った方、スマートラウンドのオタクになってきましたね。

さて、AWSが開催する招待制のワークショップ「Amazon Bedrock Prototyping Camp」に、SREの和田さんと参加してきました💪

参加したのは2024/07/09(火)に目黒で行われた会で、今回はそちらの様子をお届けしようと思います。ちなみに、和田さんはこのワークショップのために自宅の大阪から目黒まで出張してました。面構えが違う。

本イベントはレポートOKとのことなので、当日のプログラム概要や取り組んだ内容、会場の様子などをお伝えできればと思います。ぜひ最後までお付き合いください👋



概要

イベント全体としては ①ハンズオン ②実装ワークショップ の2部構成で、Amazon Bedrock を 1 日かけて使い倒し完全理解する内容でした。

(1) Bedrock ハンズオン
・Amazon Bedrock の基礎と最新アップデートのご紹介
・Knowledge Base などを使った検索拡張生成 (RAG; Retrieval Augmented Generation) の実装
・Agents を利用した API の動的の呼び出しとタスク実行
(2) Prototyping
・お客様独自のデータを使った実装
・お客様のユースケースに合わせたプロンプトエンジニアリング
・スペシャリストによる個別に生成系 AI のサービス実装についてのディスカッションとメンタリング

スマートラウンド社内でもAmazon Bedrockは既にゴリゴリと使っているのですが、Amazon Kendraを使った独自データベースの構築や、それを用いてのRAGの活用については知見がありませんでした。

そのため、それらを含めたAmazon Bedrock周りの技術を完全理解できそうと思い、参加に至った次第です。

また、会場にはエンジニア以外の職種の方もいらっしゃったみたいで、さまざまな職種の方も楽しんで参加できる内容でした。

開始前の会場の様子です

プログラム

全体

当日の具体的なスケジュールとしては、以下のような感じです。いずれのプログラムも適度なボリュームで、ちゃんと集中して聞けて良かったです。

当日の進行資料から抜粋

1. 座学(生成AIプロジェクトの進め方)

最初は座学からスタート🏃‍♂️

いきなりAmazon Bedrockを使い始めず「どのようなケースでAIを使うべきか」という、導入にあたっての観点の整理からはじめていただききました。ビジネスゴールをちゃんと設定するの大事ですね。

座学の導入部分の資料から抜粋

ちなみに、AI/MLを用いて組織を継続的にどう成長させるか…というワークショップの資料を、AWSの方が作成してGitHub上で公開しています。AWSのリソースの豊富さを改めて実感しました。

また、生成AIでインパクトが出やすいケースの例も資料の中にありましたので参考のために貼っておきます。スマートラウンドでもこれらのケースで利用することが多いので、とても納得みがありました。

座学の導入部分の資料から抜粋

2. Bedrockハンズオン

さて、生成AIプロジェクトの進め方について理解した後は、いよいよAmazon Bedrockのハンズオンに移ります。

まずは、Amazon Bedrockの機能全体について説明いただききました。単にAPIを外部から叩くケースを普段使っていましたが、こうして見ると色々な機能があって、使い道がたくさんありそうな印象を受けました。

Bedrockハンズオン資料より抜粋

その後、Knowledge bases for Amazon Bedrockで、RAGをどう構築していくか…という説明がありました。フルマネージドなRAGをAWSで完結して構築できるのは開発者体験よさそうで良いですね。

Bedrockハンズオン資料より抜粋

その後、以下のような流れでプロンプトエンジニアリング・RAGを触ってみるところまで午前中に進めました。権限周りで少し詰まった箇所もあったのですが、AWSのSAの方がすぐにサポートしてくれるのがありがたいですね。

  1. Amazon S3をデータソースとしたKnowledge baseの作成

  2. Amazon SageMakerNotebookインスタンスを作成し環境構築

  3. NotebookでプロンプトエンジニアリングやRAGの実装

🍱ランチ

ハンズオンの後、参加者全員にお弁当が振る舞われました!!!!!!!野菜が多めで嬉しい!!!!!!!!!

量も多すぎなくて午後も集中できました

3. プロトタイピング

午前のハンズオンで作成したリソースをお片付けした後、いよいよプロトタイピング・実装に入ります 👨‍💻

チームによっては、イチから生成AIで取り組むテーマを考えたり、どの技術をどう使うかという企画・アイデアの部分からディスカッションをされている方々もいました。

私たちスマートラウンドの2人は、既に社内で取り組んでいるテーマがあったので(そのうち公開します…)、そちらのブラッシュアップを進めることとしました。

非常に良かった点として、「AWSのSAの方がたくさん現場に居らっしゃたので、たくさん壁打ちして実装についての相談もできた」というところが挙げられます。

自分に関して言うと、Amazon Bedrockで最近リリースされた Converse API(以下参照)の存在を午前のワークショップで知ったので、その実装方法についてSAの方に相談させていただきました。

スマートラウンドでは主にKotlinで開発を行っているため、AWS SDK for Javaを用いて該当機能を使うことになります。既存のInvokeModel APIと微妙に使い勝手が異なるため、うまくいかない箇所がありました。

ですが、当日来られていたSAの方の中に、Javaへの知見のある方を(急遽)呼んで頂けたので、その場でConverse APIに無事移行できました。ありがたい!

SAの人とやり取りして解決したあとの福本

(2024/07/23追記)上記のテックブログを書きましたので、興味のある方は御覧ください👇

一緒に参加したSREの和田さんも、別テーマで活用しているベクトルデータベースのpineconeを用いたRAGのチューニングについて、SAの方とやり取りをしていました。全部解決できるじゃん….。

というわけで、色々と相談しながら既存のコードをガシガシとアップデートしてたら時間が来てしまい、プログラム全体としては終了となりました。お疲れ様でした!


感想・おわりに

ここまで読んでいただき、ありがとうございました!

何度も触れたことではありますが、SAの方々をはじめとした、AWSの豊富なリソースにたくさんアクセスできたことが大変ありがたかったです。この場を借りてお礼を申し上げます。

結果として、Bedrockの最新機能やRAGのチューニングなど多くの知見を持ち帰るとともに、社内の既存の取り組みに対してもアップデートを行えました!改めて、とても価値のある時間になったと感じています。

さいごに、スマートラウンドでは普段からLLMや生成AIをフル活用してお仕事を進めています。こういった取り組みに興味のある方、選考に関係なくても構いませんのでぜひカジュアルトークをしましょう 🙌

以下のフォームからお申し込み頂けますので、興味があればご連絡ください👇

https://docs.google.com/forms/d/e/1FAIpQLSdZohQE7f4wLhkSXfUhXbUM2tJoH0XCrM9T7o-X9P5WWyb4Og/viewform


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