re:Invent 2023: Amazon TitanとBedrock活用によるAI開発 - EAの事例も
はじめに
海外の様々な講演を日本語記事に書き起こすことで、隠れた良質な情報をもっと身近なものに。そんなコンセプトで進める本企画で今回取り上げるプレゼンテーションはこちら!
📖 AWS re:Invent 2023 - Explore Amazon Titan for language tasks (AIM331)
この動画では、Amazon BedrockとAmazon Titanモデルファミリーの最新情報が紹介されます。Titan Text ExpressとTitan Text Liteの一般提供開始や、RAGアプリケーションの実装例が示されます。さらに、Electronic Artsがこれらのモデルを活用して開発者の生産性向上やプレイヤー体験の改善を実現している具体的な事例も紹介されます。Amazon Bedrockを使った生成AIアプリケーション開発の可能性が詳しく解説される貴重なセッションです。
※ 動画から自動生成した記事になります。誤字脱字や誤った内容が記載される可能性がありますので、正確な情報は動画本編をご覧ください。本編
Amazon BedrockとTitanモデルファミリーの紹介
みなさん、こんにちは。私は Brant Swidler と申します。Amazon Bedrock の principal product manager で、特に Titan テキストモデルファミリーの開発に注力しています。本日は、senior principal solution architect の Ben Snively と、Electronic Arts のアプリケーションアーキテクトである Sachin Kotekal にも同席いただいています。
これから1時間ほどで、まず Amazon Bedrock の簡単な紹介から始めたいと思います。 その後、Amazon Titan モデルファミリーの詳細と、ここ数日で発表された内容についてお話しします。続いて、Ben が具体的なアーキテクチャとデモを通じて、Titan ファミリーがどのようにさまざまなシステムに統合できるか、そのベストプラクティスも含めてご紹介します。Sachin からは、Electronic Arts が現在これらのモデルをどのように活用しているかについて詳しくお話しいただきます。最後に、本日のまとめで締めくくります。
Amazon BedrockとTitanモデルの機能と最新アップデート
Amazon Bedrock をよくご存じない方のために説明しますと、これはさまざまな基盤モデルを選択できるプラットフォームです。テキスト生成モデルと画像生成モデルの両方が含まれています。Bedrock 内では現在、17種類の基盤モデルから選択できると思います。これらのモデルはそのまま使用することも、ニーズに合わせてカスタマイズすることも可能です。また、Bedrock knowledge bases の正式リリースにより、データソースとの接続も始められるようになりました。さらに、Bedrock agents を通じて外部システムとの連携も可能です。
また、Guardrails for Bedrock の発表により、モデルのパフォーマンスに制限を設けて、エンドユーザーに対して望ましい動作を定義できるようになりました。17のモデルが利用可能になったことで、モデル評価機能もプレビュー段階に入りました。これにより、複数のプロンプトを1つのモデルに送信したり、複数のモデルに送信したりして、要件を満たすモデルを人間による評価と自動化された方法の両方で特定できるようになります。
現在 Amazon Bedrock で利用可能なモデルセットには、AI21、Anthropic、Cohere、Meta の Llama モデルファミリー、Stability AI、そして Amazon の自社モデルである Amazon Titan が含まれています。Amazon Titan ファミリーのポートフォリオを見ると、テキストモデルとマルチモーダルモデルがあります。ご想像の通り、これらは今後も継続的に成長し、改良されていくでしょう。
今週から、Titan Text ExpressとTitan Text Liteが一般提供されました。数ヶ月前には、Titan Text Embeddingsも一般提供を発表しました。Titan Text Liteは、より小型のモデルで、ファインチューニングやカスタマイズの迅速な反復を可能にします。Titan Text Expressは、より広範な機能を持ち、ファンクションコーリング、より堅牢なRAGアプリケーション、そして100以上の言語をサポートする多言語対応が特徴です。英語では一般提供されていますが、他の99以上の言語ではプレビューで使用できます。また、コード生成やJSON、SQLなどのリッチテキストフォーマットにも対応しています。
注目すべき点として、Titan Text Liteのコンテキストウィンドウは4K、Titan Text Expressは8Kです。エンベディング側では、9月に発表がありました。また、Titan Image Generatorのプレビューも発表しました。これにもアクセスできるようサインアップしていただけるはずです。Titan Image Embeddingsについては別のセッションで扱われるので、今日は詳しく触れません。主な焦点は、Titan Text ExpressとTitan Text Liteモデルに当てられます。
プロンプトタイプとモデルの知識活用
顧客の利用状況を考えると、今日ここにいる皆さんに、パラメトリックな知識だけを活用してこれらのモデルを使用する頻度と、独自のデータソースを使用する頻度をお聞きしたら、多くの場合、モデルの固有の知識に頼るよりも、独自のデータを使用する方に偏っていると言えるでしょう。
異なるプロンプトタイプについて議論する際、私たちはしばしばこれを3つの一般的なカテゴリーに分類します。まず、オープンエンドのプロンプトがあります。これは「アメリカ合衆国の初代大統領は誰でしたか?」のような質問で、モデルのパラメトリックな知識に頼って回答する開かれた形式です。次のレベルは、クローズドエンドのプロンプトです。これは、提供されたコンテンツによって完全に構成されるプロンプトです。例えば、「提供されたコンテキストに基づいて、この質問の答えは何ですか?」や「このドキュメントを要約してください」といったものです。これらのタイプのプロンプトは、より完全にクローズドエンドのバリエーションに近いものです。また、提供したコンテンツとモデルのパラメトリックな知識から得られるコンテンツの両方に依存するハイブリッドなバリエーションもあります。これを取り上げるのは、顧客との作業や消費者向けまたは社内アプリケーションの設計において、モデルにどのような知識を持たせたいのか、そしてその知識をどこから得るべきかを考えることが非常に重要だからです。
モデルの固有の知識に頼りたい場合は、よりオープンエンドなアプリケーションに向かうことになります。特定のアプリケーションやデータに限定したい場合は、よりクローズドエンドなデータのバリエーションに向かうことになります。
モデルのカスタマイズ手法:行動と知識の制御
モデルのカスタマイズについて考えるとき、モデルの内容や機能を操作するには複数の方法があります。主に2つの側面を考慮します:行動の制御と知識の制御です。行動の制御は、異なる形式の出力やモデルが生成できる方法を理解することを含みます。知識の制御は、モデルが各シナリオで実際に使用している情報を理解することを含みます。これら2つの側面は、Y軸に知識の制御、X軸に行動の制御を配置したチャートで表現されます。
最も単純で実装しやすい方法は、プロンプトエンジニアリングです。これは、トレーニングなしで、自然言語で情報や指示をモデルのプロンプトに追加することを含みます。プロンプトエンジニアリングでは、ある程度まで知識と行動の両方を制御できます。ただし、モデルに提供するコンテキストウィンドウに制限されることが多いです。より大きなコンテキストウィンドウの方が良さそうに見えますが、そうすることのコスト最適化がメリットを上回る可能性があります。
チャートを上に進むと、知識を制御する方法が見えてきます。プロンプトエンジニアリングを通じてプロンプトに情報を入力するのが一つの方法です。もう一つの方法は、Retrieval Augmented Generation(RAG)です。これは、モデルがあなた自身のコンテンツを行き来して出力を提供することを含みます。モデルの理解だけに頼るのではなく、あなたの情報を含む外部データソースを指し示します。その検索結果がプロンプトに組み込まれ、モデルがその情報を消費して正しい結果を出力できるようになります。
知識制御の最も極端なバリエーションとして、特にTitanモデル向けに、continuous pre-trainingを発表しました。通常、私たちはテキスト全体でモデルをトレーニングし、その後人間による調整を行いますが、あなたのデータ全てにアクセスすることはできません。Continuous pre-trainingでは、教師なしの方法で、モデルの基礎となるパラメトリックな知識にあなたのデータをより多く注入することができます。これは、JSONLファイルに含まれるドキュメント全体のコーパスを含むS3バケットを指定するだけで簡単に行えます。このプロセスにはプロンプトと完了のペアは必要ありません。
行動制御の軸では、プロンプトエンジニアリングが再び一つの方法で、指示を直接モデルに追加します。もう一つの方法はファインチューニングで、これはcontinuous pre-trainingとは異なります。ファインチューニングでは、プロンプトと完了のペアがあります。この方法は、プロンプトの特定の指示に対してモデルが望む方法で応答するように調整する可能性が高くなります。Continuous pre-trainingで使用される教師なしの方法とは対照的に、プロンプトと完了のペアを含むS3バケットを指定できます。
Titanモデルの開発において使用した設計基準とシステム設計の一部について説明してきました。これらのモデルは昨日GAでリリースされました。また、Titan Textのプロンプトエンジニアリングガイドラインや、モデルサービスカードに関する詳細なドキュメントも用意されています。モデルサービスカードには、責任ある使用方法や、私たちがResponsible AIプラクティスの設計にどのようにアプローチしたかについての詳細が記載されています。これには、プロンプトエンジニアリングの設計方法や、ファンクションコーリングなどのトレーニング方法も含まれています。
Amazon Bedrockエージェントのようなものを使用する場合、これがチームのデモに入る前に説明したかったすべてです。 それでは、Amazon Titanの使用方法についてさらに詳しく説明するために、Benにバトンタッチします。
Amazon Titan Text Expressを活用したテキスト分析デモ
最初の例として、企業、組織、政府機関、または非営利団体のデータを重要な資産として扱う方法を紹介します。この例では、大量のデータや大規模な文字起こしデータを取り、それを要約して情報を抽出する方法を示します。これは知識タイプの演習であり、インタビューの文字起こしを使用して行います。
ここに表示されているのは、これから使用するノートブックです。これはインタビューの文字起こしです。この文字起こしはすでに実行されています。つまり、あなたのアーキテクチャでは、これはAIサービスのAmazon Transcribeによって生成され、Amazon S3に格納されている可能性があります。あるいは、すでに文字起こしがある場合もあります。しかし、より大規模なシステムでは、文字起こしを生成し、それを分析してさらに多くの情報を導き出す必要があります。
ここにAmazon S3にあるこのインタビューの文字起こしがあり、これから分析を始めます。 ここにコードがあり、このコードを実行し始めると、セルの下に文字起こしが表示されるのがわかります。ここをスクロールダウンすると、Werner VogelsとDr. Swami Sivasubramanianのインタビューを表す非常に大量のテキストが表示されます。
私たちは、トランスクリプト全体を取り、そこから4つの重要なハイライトを10語以内で抽出したいと考えています。そこでこのセルを実行します。コードを見ると、Amazon Titan Text Expressを呼び出し、プロンプトを提供しているのがわかります。一番上に、プロンプトとともにコンテキストが表示されています。インタビューを提供し、そのインタビューに基づいて情報を生成するという、クローズドエンドのプロンプトを使用しました。
ここで見られる上位4つの重要なポイントは次の通りです:AIと機械学習がデータを活用している;アルゴリズムとユースケースの複雑さが増している;AIとMLがより複雑な問題を解決できるようになっている;次のステップはgenerative AI、large language models、foundation modelsである。これらはすべて、トランスクリプト内の大量のテキストから抽出されました。
次に、同じ情報を使って記事を生成することができます。 このタスクでは、そのインタビューに基づいてナラティブを書くよう指示します。再びAmazon Titan Text Expressを呼び出し、記事を書くよう依頼します。ここでエンドポイントを呼び出し、しばらくするとテキストが表示されます。ここでSwami Sivasubramanian(VP of Database, Analytics, and Machine Learning)について、青い画面の後ろにそのインタビューから抽出された非常に良い記事が書かれているのが見えます。
Amazon Titan Text Expressは、この情報を取り、これらのタスクを実行し、情報を統合し、重要なポイントを抽出するのに非常に強力です。キーとなる日付や人物、あるいは異なるタイプの抽出技術などを求めることもでき、その情報を取得することができます。
Retrieval Augmented Generation (RAG)とAmazon Bedrock知識ベースの活用
次の例では、Retrieval Augmented Generation(RAG)の例を示します。Brantは、RAGについて、そしてクローズドエンドのプロンプト戦略で使用して、組織内のドキュメントや、そのfoundation modelの事前学習フェーズで使用されていなかったかもしれないドキュメントを利用できることについて話しました。ここではAmazon Bedrock knowledge baseを使用しています。素晴らしいのは、そのAmazon Bedrock knowledge baseをre:Inventセッションに向けたことです。
私たちは、Bedrock知識ベースをre:Inventセッションに向けました。今年のre:Inventセッションのタイトルを知識ベースとして使用するよう指示しました。Amazon Bedrock知識ベースが行ったのは、自動的にそれを同期し、私たちのためにチャンクを作成し、Titanエンベディングを使用して、それをAmazon OpenSearchに保存することでした。つまり、私たちがすべきことは、コンソール内でそれを設定するだけで、背後にあるOpenSearchサービスクラスターにデータを投入するすべての作業を行ってくれたのです。
知識ベースは異なる知識リポジトリをサポートしています。Pineconeやインメモリストアを使用することもできましたが、今回はAmazon OpenSearchサービスを選択しました。ここで行っているのは、OpenSearchサービスクラスターを呼び出すことです。見ているのは、これが呼び出すエンドポイントで、ここに入ってこのエンドポイントを直接呼び出すことができます。私が尋ねた質問は「今年re:Inventに行きます。Titanに関するセッションは何ですか?」というものです。つまり、それらのTitanセッションを取り出す質問をしているのです。
ここでは、上位5つのセッションを尋ねています。RAGアーキテクチャでは、その知識ベースを照会する際の定義の一部として、異なるベクトルの類似性アルゴリズムがどのような機能を持ち、いくつ返すかを定義します。 そして、そのクローズドプロンプト戦略を実行し、Titan Expressを呼び出して回答を得ます。これらが結果です。私は意図的にこのセッションでTitanの例を示し、言語モデルでTitanを探索することを計画しました。そして、Amazon Bedrockを通じてTitanに関連する別のものもあります。
コンソールを通じてこれを行うこともできます。ここで知識ベースを設定しました。ここにデータソースがあり、このデータソースを設定して情報を取り込み、知識ベースに同期させることができるようにしました。これが知識ベースの中にありました。そして、こちらでは同期ジョブの中で埋め込みも見ることができます。埋め込みを表示すると、ここで Titan 埋め込みを使用しているのがわかります。これは Jupyter 環境で見たのと同じベクトルストアです。
右側では、コンソールを通じてテストすることもできます。現在、コンソールでは推論部分の大規模言語モデルに Claude を使用しています。しかし、Jupyter 環境では Titan Express を使用しました。そこから、その例を基に構築できるのは、Amazon Bedrock を使用し、OpenSearch の知識ベースを Titan Express でエンコードしてベクトルを作成するということです。そして次に、AWS Lambda をプラグインして、エージェントスタイルのアーキテクチャ、推論、アクションを実行し、組織に基づく追加情報に RAG を使用し、アクションを実行することができます。
この例では、Lambda 関数が Amazon DynamoDB テーブルを呼び出し、ケース情報やチケット情報などを取得できます。これは、観察に基づいてアクションを実行したい場合のユースケースです。こちらでは、Amazon Bedrock 内でインターフェース定義を定義できます。このインターフェース定義では、名前と姓が必要とされます。大規模言語モデルの統合を通じて、実行すべきアクションのトレーサビリティを評価する際に、関数を呼び出す必要があるかどうかを判断します。
これはエージェントに Claude を使用しています。つまり、Claude モデルに基づいてエージェントを作成しました。そして、OpenSearch Serverless を使用する知識ベースで Titan 埋め込みを使用しています。Titan セッションについて尋ねると、その情報が返ってきました。そして、このエージェントを設定したチケット情報について尋ねることができます。これはすべて架空のデータです。しかし、このエージェントに結果を得るためのチケット情報を取得する関数について知らせるように設定しました。そして、ここで横に見えるのは、コンソールを通じてそのエージェントが何をしているかのトレーサビリティです。そして、知識ベースにアクセスする時と、Bedrock の下で特定の Lambda 関数を実行したい時のインタラクションに基づいて、それを確認できます。
では、次のセクションに移りましょう。
Electronic ArtsにおけるAmazon BedrockとTitanの活用事例
Ben、ありがとうございます。皆さん、こんにちは。ラスベガスで素晴らしい時間を過ごしていることを願っています。私の乗った飛行機の客室乗務員が言うには「失われた賃金」だそうですが。さて、私はSachin Kotekalと申します。Electronic Artsでアプリケーションアーキテクトとして働いています。
本日は、Amazon BedrockとAmazon Titanと共にAIを活用している当社の機会についていくつか見ていきます。詳しく説明する前に、まず私たちが誰で何をしているのかを紹介させてください。私はElectronic ArtsのIT Player Experience Teamの一員です。主に、ビジネスが世界クラスのコンテンツを生成し配信するのを支援するプラットフォームやツールの構築、EA Playのようなライブイベントのホスティングの促進、そしてプレイヤーがゲームプレイ中に問題やエラーに遭遇した際のサポートを行っています。
ご想像の通り、私たちは世界中の何百万ものプレイヤーを相手にしています。そのため、私たちの業務は複雑で予測不可能であり、必要に応じてスケールする必要があります。Amazon Bedrockとfoundation modelsの助けを借りて、開発が容易で、コスト効率が良く、必要に応じてスケーラブルな生成AIアプリケーションを構築できることを期待しています。
今日は、私たちの領域内の4つの異なる機会についてお話ししたいと思います。最初の2つはチームの生産性向上に関するものです。3つ目はプレイヤー体験の向上に関するものです。そして4つ目は、最も重要なことですが、ビジネスチームがソーシャルメディアの投稿からフィードバックや知見を得ることに関するものです。
開発者と品質エンジニアの生産性向上:ユニットテストとテストシナリオの自動生成
最初の機会について説明する前に、皆さんにクイックな聴衆アンケートをさせていただいてもよろしいでしょうか。手短に挙手をお願いします。日々の業務でコードを開発している方はどのくらいいらっしゃいますか?素晴らしいですね。次の質問です。時間的制約やビジネス上の優先事項のために、ユニットテストを書く際に妥協せざるを得なかったと感じたことがある方は手を挙げてください。素晴らしい。何人かの手が挙がっていますね。それは良いことです。たくさんの手が挙がっていますね。素晴らしいです。
ユニットテストが開発ライフサイクルの非常に重要な部分であることは、私たち全員が知っています。ユニットテストは、製品がソフトウェア開発ライフサイクルの次の段階に進む際にエラーがないことを確認するのに役立つことも、皆さんご存知でしょう。しかし、ビジネス上の優先事項や時間的制約のために、時にはユニットテストを二の次にせざるを得ないこともあります。私たちが提供しているのは、開発者向けのツールです。このツールを使えば、クリック一つで自動化されたユニットテスト、少なくともボイラープレートのテストを生成できます。そうすることで、開発者はエッジケースやより複雑なテストを書くことができます。これにより、開発プロセスの効率を向上させ、また、複数の複雑なシナリオで適切にテストされ、QAがより多くの回帰テストを実行できる状態の製品をリリースすることを確実にするため、開発者に責任を左シフトさせることができます。
デモに入る前に、簡単な高レベルアーキテクチャをご紹介します。左側に見えるのは、開発者が社内で構築されたプラグインまたはツールと対話している様子です。このツールは、バックグラウンドでサービスによって動作しています。このサービスは、Amazon BedrockのTitan foundation modelによってパワーアップされています。開発者がプラグインをトリガーすると、コードとメタデータがTitanに送信され、適切なプロンプトによってテストケースとユニットテストが生成され、それがコードエディタに返されます。私はBenほど勇敢で勇気があるわけではありませんので、録画されたデモをお見せします。では、再生しましょう。
ここに見えるのはコードエディタです。感情を絵文字に変換するシンプルなJava関数があります。開発者がちょうどプラグインをトリガーしたところで、この特定の関数に対してユニットテストを生成しているのが見えます。
数秒のうちに、生成されたテストが表示されるのが見えるでしょう。バックグラウンドでTitanモデルが自動的に生成した約10個のテストがあります。これで開発者はレビューを行い、必要に応じてさらにテストを追加したり、何かを変更したりすることができます。少なくとも、開始点となるボイラープレートのテストが用意されているわけです。
2つ目の機会についてお話ししたいと思います。これは主に品質エンジニアの生産性向上に関するものです。開発者だけが楽しむべきではありませんよね?品質エンジニアは製品にエラーがないことを確認するのに多くの時間を費やしています。これは彼らの日々の仕事を支援するためのものです。現在、品質エンジニアがビジネスから要件を受け取ると、要件を分析してテストシナリオを書くのに多くの時間を費やします。これは回帰テストや複雑な要件のテストを考える前の段階です。これは明らかに時間がかかり、必ずしも効率的ではありません。ほとんどの時間は、複雑なものやエッジケースを考える前に、基本的なテストシナリオの分析と作成に費やされています。
開発者向けに行ったのと同様に、品質エンジニア向けにもシンプルなツールやプラグインを提供したいと考えています。ボタンをクリックするだけで、テストシナリオを生成し、必要に応じてより複雑なものを追加できるようにします。これにより、品質をさらに向上させ、本番コードが失敗しないようにします。これにより、アプリケーションの信頼性を高めることができると期待しています。なぜなら、テストシナリオが幅広い実際のシナリオをカバーするからです。また、より複雑なシナリオもカバーされていることを確認します。
こちらが高レベルのアーキテクチャです。4つの機会に共通のパターンが見られますが、これはシンプルさを示したいだけです。左側に、品質エンジニアがJIRA内にカスタムビルドされたボタンと対話している様子が見えます。トリガーされると、要件やJIRAチケットからのその他のメタデータを取り込み、Amazon BedrockとTitanを利用したバックエンドサービスに渡します。生成されたシナリオは品質エンジニアに表示され、レビューや変更、追加を行うことができます。
簡単なデモを見てみましょう。 ここでも、カスタムボタンを設定したJIRAです。品質エンジニアが今カスタムボタンを押しています。 背後では、Amazon BedrockのTitanモデルが動作しています。要件からの説明やその他のメタデータを取り込みます。数秒後に、 モデルに表示されるシナリオが見えます。これで品質エンジニアはレビューを行い、必要に応じて追加のシナリオを加えたり、変更を加えたりすることができます。少なくとも、彼らには基本的な出発点があり、そこから始めることができます。そして、より複雑なシナリオを追加し続けることができます。また、回帰テストや自動化テストスイートにより多くの時間を費やすこともできます。
ゲーム内ヘルプチャットとソーシャルメディア分析:プレイヤー体験の向上
3つ目の機会についてお話ししたいと思います。これは「次世代プレイヤーチャット」と呼ばれるものです。現在、プレイヤーがゲームプレイ中に問題に遭遇したり、一般的な質問がある場合、EA Helpウェブサイトにアクセスするか、カスタマーサービスエージェントとチャットして質問に答えてもらいます。私たちが皆感じているように、プレイヤーにはこのような問題に対処するよりも、ゲームを楽しんでほしいものです。そこで、generative AIを使って、ゲーム内で簡単に質問に答えたり、エラーを修正したりする方法を提供したいと考えています。ゲームを離れる必要さえありません。主にAmazon Titanを使用したgenerative AIの助けを借りて、ゲーム内にこのヘルプアプリケーションを作成しました。これにより、プレイヤーは会話形式でシームレスなチャット体験を得て、必要な回答を得ることができます。これにより、応答時間を短縮し、ゲーム内での体験を大幅に向上させることができます。
ハイレベルのアーキテクチャは同じパターンに従っており、左側にプレイヤーがヘルプチャットと対話している様子が見られます。これはバックグラウンドでAmazon BedrockとAmazon Titanによって動作しています。ここでは、プレイヤーの質問に適切な解決策を提供し、回答するために参照できる知識ベース記事を含むOpenSearchも使用しています。これはサンプルのプロトタイプアプリケーションで、すぐにプレイヤーがNFS ゲームについて質問する様子が見られます。数秒のうちに、LLMが質問に対する詳細な手順を返答するのがわかるでしょう。
最後に、そして最も重要な機会として、ソーシャルインサイトについてお話ししたいと思います。ゲームシーズン中、私たちのゲームチームとビジネスチームは、マーケティング活動に忙しく、プレイヤーから適切なフィードバックを得て、それらすべてに対応することを確実にしています。想像できるように、このヘクティックなゲームシーズン中、プレイヤーのフィードバックを分析し、これらの様々なソーシャルメディアキャンペーンから感情を読み取ることは、ゲームチームにとって膨大な作業です。私たちは、ビジネスチームがこれらのソーシャルメディアインサイトを簡単に得られる方法を提供したいと考えています。
私たちが提供したのは、ビジネスチームが任意のソーシャルメディアキャンペーンにアクセスし、ソーシャルメディアの投稿を取得し、そのコンテンツ内のさまざまなフィードバックの感情や要約を得ることができるアプリケーションです。再び、ハイレベルのアーキテクチャは同じパターンに従っており、ゲームスタジオチームが管理ポータルと対話し、それがバックグラウンドでAmazon BedrockとAmazon Titanによって動作しています。彼らはこのURLにアクセスすることでインサイトを得ることができます。実際の動作を見てみましょう。
ここにF1 23ゲームのトレーラーがあります。すぐに、このソーシャルメディアの投稿に大量のコメントが表示されるのが見えるでしょう。これは、お見せしたいプロトタイプアプリケーションで、URLが与えられ、上位100件のコメントを分析するよう要求しています。数秒のうちに、この特定のソーシャルメディア投稿からのインサイトが表示されるはずです。動画は削除されていないので、実行の間の時間を削除していないため、少し遅延が見られます。明確に見えるのは、過去のフィードバック、つまりコメントで言及されていた内容を使用していることです。また、改善点も提供しています。過去のフィードバックだけでなく、プレイヤーや他のYouTuberがコメントセクションで言及していた改善点も含まれています。
最後に、Amazon BedrockとAmazon Titanを使用した生成AIは、私たちの組織内の複数の領域で役立っています。開発者がユニットテストを書き、テストプロセスを自動化し、より複雑なテストを書くのに役立つことを見てきました。品質エンジニアがテストシナリオを書き、複雑なテストケースを含めることで視野を広げるのを助けます。プレイヤーが問題を抱えたときに、ゲームアプリケーション内で直接サポートします。そして、ビジネスチームやゲームスタジオチームにとっては、様々なソーシャルメディアキャンペーンからソーシャルインサイトを得るのに役立ちます。Amazon BedrockとAmazon Titanを活用することで、業界内でイノベーションを推進し、前進することができるのです。
Amazon BedrockとTitanの責任ある使用とモデル評価
では、まとめとして、まず Bedrock と Amazon Titan テキスト、そして Amazon Titan ポートフォリオの概要を説明しました。Ben は Titan テキスト、Titan エンベディングの多くの例を紹介しました。これには知識ベースの例やエージェントの例、さらには一般的な RAG アプリケーションも含まれていました。実は、青い画面が点滅したため、少し早めに終了せざるを得ませんでした。そのシナリオでは、さらにいくつかのデモを予定していたのです。
Sachin は、Electronic Arts が現在 Titan テキストと Titan テキストエンベッドモデルを使用しているユースケースをいくつか紹介しました。追加の要約として、FAQ セクションに入る前に、よく聞かれる質問にいくつか答えたいと思います。AWS は私のデータをモデルのトレーニングに使用しますか?明確な答えは、絶対にそのようなことはありません。Bedrock 内で使用されるデータは、Bedrock サービス内に一切保存されません。実際、コンソールに表示しても、チャット履歴や会話履歴は表示されません。これは、コンソール側にもデータが保存されていないためです。
データは保存されておらず、Bedrock を通じて使用されるデータにアクセスすることはできません。これは Titan の一次提供モデルでも、サードパーティプロバイダーのモデルでも同様です。Amazon Titan と Amazon Bedrock の責任ある使用に関するアプローチについて、知っておくべきことは何ですか?Titan に関しては、AI サービスカードを直接参照していただきたいと思います。そこには、設計基準に関する大量のドキュメントがあります。AWS コンソールにアクセスして、サービスカードを探すだけで、Amazon 内ですでにリリースされている多くの AI サービスについて確認できます。
Titan テキストの GA リリースに伴い、サービスカードには責任ある使用設計のさまざまなパラダイムの詳細が記載されています。Amazon Titan を Bedrock 外でホスティングするために抽出することはできますか?答えは、できません。モデルをファインチューニングする場合、あなたのデータがモデルのファインチューニングに使用されます。そのモデルは技術的には何らかの形で共有知的財産となります。モデルは Bedrock 内に存在し、あなたのアカウントとアクセスを許可したアカウントからのみアクセス可能ですが、そのモデルをエクスポートして他の場所で使用することはできません。
Amazon Bedrock 内でモデルを選択する際に知っておくべきことは何ですか?冒頭で述べましたが、モデル評価と呼ばれる新機能をリリースしました。これは、モデルの分析を開始し、任意のシナリオで使用するモデルを決定するための方法です。私たちは多くの人間による評価を行っています。自動評価と人間による評価を比較すると、人間による評価の方が通常はるかに効果的です。なぜなら、出力の多くはかなり主観的だからです。
よく使う例として、「カリフォルニアはニューヨークより大きいですか?」と尋ねた場合を挙げます。まず最初に目にする回答は「はい」です。そして、「はい」という単語の完全一致を行えば、モデルが正解したかどうかを判断できると考えます。次のモデルが「はい、カリフォルニアはニューヨークより大きいです」と答えると、部分一致に移行する必要があることに気づきます。しかし、次のモデルが「はい、私は食べ物が好きです」と答えると、部分一致では必然的に間違いになってしまいます。そして次のモデルが「カリフォルニアはニューヨークより大きいです」と答えると、「はい」という言葉さえ回答に含まれていません。
多くの場合、自動評価は非常に難しいものですが、人間による評価は本当にスケールしません。これが、異なるモデルの評価を行う際のトレードオフのようなものです。私たちは Bedrock 内のモデル評価フレームワークを通じてこの問題に取り組んでいます。ここでよくある質問の多くに触れましたが、まだ20分ほど時間が残っています。そのため、FAQについてお話しできればと思います。追加のデモがあったため、予定より少し早く終わりましたが、喜んでお答えします。
※ こちらの記事は Amazon Bedrock を様々なタスクで利用することで全て自動で作成しています。
※ どこかの機会で記事作成の試行錯誤についても記事化する予定ですが、直近技術的な部分でご興味がある場合はTwitterの方にDMください。
Discussion