生成型 AIの誇大広告に圧倒されている場合は、アマゾン ウェブ サービス ( AWS ) が提供するものがあります。それは、 Bedrock です。このブラウザベースのマネージド サービスは、 AWSが提供する他の約 30 の機械学習サービスを補完します。

Amazon ベッドロックとは何ですか?

Amazon Bedrock は、生成 AI アプリケーションを開発、デプロイ、拡張するためのフルマネージド サービスです。この目的を達成するために、Bedrock はさまざまなプロバイダーのさまざまな AI ベース モデルを含むカタログを提供し、 検索拡張生成(RAG) とベクトル埋め込みを実装し、ナレッジ データベースをホストし、継続的な事前トレーニング セッションを可能にします。現在、Amazon Bedrock には 6 つの主な機能があります。

  • さまざまなAI モデルを試してください。

  • 外部データソースを統合します。

  • カスタマーサポートアプリケーションを開発します。

  • モデルをカスタマイズします。

  • アプリケーションの効率を最適化します。

  • それぞれのケースで最適な AI モデルを見つけます。

 Amazon Bedrock テスト済み

Bedrock と競合する主な製品には次のものがあります。

 Amazon Bedrock テスト済み

Amazon Bedrock をセットアップする

セットアップに関しては、AI モデルと Bedrock API という 2 つの領域で作業を行う必要があります。

  1. AI モデル: Bedrock でモデルを使用する前に、 (一度に 1 つずつ) モデルへのアクセスをリクエストする必要があります。 AWS コマンドライン インターフェイスまたはSDKのいずれかを使用する場合は、それらをインストールし、それに応じて設定する必要もあります。テストでは、モデルにアクセスするためのフォームに記入するのは予想よりも簡単で、ほとんどの場合、アクセスまでの待ち時間は非常に管理しやすいものでした。

  2. Bedrock API:テストではコンソールの使用に重点を置いているため、この点には触れていません。 ここで、API セットアップ プロセスの対象を絞ったガイドを見つけることができます

Bedrock のモデル推論パラメータ

AI モデルの応答を制御するために、Amazon Bedrock は、たとえば OpenAI とはわずかに異なるパラメーターを使用します。このサービスは、確率分布の「温度」のほか、回答の長さペナルティ停止シーケンスによる出力の長さである「トップ K 」と「トップ P 」を介してランダム性と多様性を制御します。以下では、個々の要素について詳しく説明します。

  • 温度は次のトークンの確率を調整します。温度が低いとより決定的な答えが得られ、温度が高いとよりランダムな答えが得られます。たとえば、気温が高いと、「…の蹄音が聞こえます」という文の完成に、「ユニコーン」などのありそうもない答えも含まれる可能性があります。一方、気温が低いと、「馬」などの可能性の高い答えに焦点が移ります。

  • 上位 K は、モデルが次のトークンとして考慮する最も可能性の高い「候補」の数です。

  • 上位 P は、モデルが次のトークンとして考慮する最も可能性の高い候補の割合です。

  • 応答の長さは、生成される応答内のトークンの数を制御します。

  • ペナルティは、応答内の長さ、繰り返されるトークン、トークンの頻度、およびトークンの種類に適用されます。

  • 停止シーケンスは、モデルが追加のトークンを生成するのを停止する文字列です。

Amazon Bedrock プロンプト、例、プレイグラウンド

 Amazon Bedrock テスト済み

このテストの時点で、Amazon Bedrock には GenAI モデルの使用例が 33 件あり、3 つの異なるプレイグラウンドが提供されています。後者は、さまざまなモデルおよびさまざまな構成で推論を実験するためのコンソール環境を提供します。次の選択肢があります。

  • eいずれかのプレイグラウンド (チャット、テキスト、または画像) を開始し、モデルを選択し、プロンプトを作成し、メタ パラメーターを設定します。

  • または、例から始めて、適切なプレイグラウンドで開きます。この場合、モデルとメタパラメータはすでに事前選択されており、プロンプト フィールドにはすでに入力されています。

Bedrock の例は、サポートされているさまざまなモデルとタスクのプロンプトとパラメーターを示しています。これらのタスクは次の領域をカバーします。

  • 要約を準備し、

  • 質問に答えたり、

  • 問題を解決し、

  • コードを生成し、

  • テキストも作成

  • 画像を生成します。

これらの各例は、モデル、プロンプト、パラメーター、および回答を示しており、それぞれの例をプレイグラウンドで直接開くクリック可能なボタンが含まれています。そこで得られる結果は、例に示されているものと同じである場合とそうでない場合があります。特に、パラメーターで可能性の低いトークンが許可されている場合はそうです。以下では、3 つの例を詳しく見ていきます。

 Amazon Bedrock テスト済み

1. 例: 思考の連鎖

最初の例では、思考連鎖プロンプトとLlama-2 モデルChat 70B v1 を使用して、Amazon Bedrock で算術文章題を解く方法を示します。

この例には興味深い点がいくつかあります。 まず、比較的小規模なオープン ソースモデルで動作します。一方、 思考連鎖アクションは、 「ステップごとに考えてみましょう」という単純なプロンプトによって引き起こされます。これを削除すると、モデルが定期的にレールから外れ、不正確な答えが生成されるのを観察することになります。

 Amazon Bedrock テスト済み

2. 例:契約エンティティの抽出

この例では、Cohere の AI モデル コマンドを使用して契約から情報を抽出する方法を示します。

3. 例: 画像の修復

 Amazon Bedrock テスト済み

最後の例は画像編集、より正確には、Amazon の AI モデル「Titan Image Generator G1」を使用した「画像修復」(画像要素の置換または変更) を扱います。新しいイメージは、参照イメージ、マスク、プロンプトを使用して作成されます。

 Amazon Bedrock テスト済み

Amazon Bedrock とのオーケストレーション

オーケストレーションに関しては、Amazon Bedrock は現在次のオプションを提供しています。

  • データ ソースをナレッジベースにインポートし、RAG のセットアップに使用できるようにします。

  • アクションを実行できるエージェントを作成します。

これら 2 つは、生成 AI アプリケーションを構築するための最も重要な方法です。これらは、単純な即時エンジニアリングと、高価で時間のかかるモデルの事前トレーニングと微調整の間のどこかに位置します。

 Amazon Bedrock テスト済み

ナレッジベースを使用するには、Amazon Bedrock の段階的なプロセスに従います。

  • データソースを Amazon S3 バケットにインポートします。

  • データの「チャンク化」を設定します。デフォルト値はチャンクあたり約 300 トークンですが、カスタム サイズを設定することもできます。

  • ベクター ストアと埋め込みモデルを優先データベースにセットアップするか、AWS がデフォルトの Amazon OpenSearch サーバーレス設定を使用できるようにします。

  • Bedrock コンソールからナレッジ ベースを作成し、データ ソースに接続し、 テストします

  • 最後に、ナレッジ ベースを RAG モデルまたはエージェントに接続できます。 AWS re:Invent 2023 からのビデオ投稿では、このトピックについて詳しく説明しています。

エージェントは、 AI ベース モデル、データ ソース、ソフトウェア アプリケーション、プロンプト間の対話を調整します。また、 API を呼び出してアクションを実行します。 RAG コンポーネントに加えて、エージェントは次のことができます。

  • 従うべき指示、

  • OpenAPI スキーマを使用して呼び出し可能な API を定義したり、

  • ラムダ関数を呼び出します。

Amazon Bedrock を使用してモデルを評価およびデプロイする

Amazon Bedrock の評価とデプロイメントセクションには、次のような機能が含まれています。

  • AIモデルを評価し

  • スループットを提供します(「プロビジョンド スループット」)。

モデル評価は、単一モデルの自動評価、(独自のチームによる) 最大 2 つのモデルの手動評価、およびAWSエキスパートによる任意の数のモデルの手動評価をサポートしています。推奨される指標が使用されますが、評価タスクの種類によって異なります。独自のプロンプト データ セットまたは厳選されたプロンプト データ セットを使用できます。

プロビジョンド スループットを使用すると、AI モデルをデプロイするための専用容量を購入できます。コストは、選択したモデルとコミットメントのレベルによって異なります。

Amazon Bedrock で AI モデルをカスタマイズする

この時点で、AI モデルをカスタマイズするために Amazon Bedrock が提供するオプションを詳細に検討することは理にかなっています。次のカスタマイズ方法が実装されています。

  • プロンプト エンジニアリングは、 GenAI モデルをカスタマイズする最も簡単な方法の 1 つです。通常、モデルは 2 種類のプロンプト、つまりユーザー プロンプトとシステム プロンプトまたは指示プロンプトを受け入れます。前者は常に変化しますが、後者はモデルが採用すべき一般的な特性を定義します。多くの場合、明確に定義されたタスクにモデルがどのように応答するかを定義するには、迅速なエンジニアリングで十分です。

  • 検索拡張生成 (RAG) は、特定のデータ ソースを使用して大規模言語モデル(LLM) を「基盤化」するのに役立ちます。これには、モデルの元のトレーニング データ セットには含まれていない情報が含まれることがよくあります。 RAG は 3 つのステップで動作します。 1. データは特定のソース (Bedrock 用語での知識ベース) から「プル」されます。 2. プロンプトが展開されて、ソースから取得したコンテキストが含まれます。 3. これらの「成分」を使用して出力が生成されます。

  • 埋め込みは、取得したコンテキストの長さと関連性を最適化するために、RAG プロセスでよく使用されます。基本的に、埋め込み関数は単語またはフレーズを受け取り、それを浮動小数点数のベクトルにマップします。これらは通常、ベクトル検索インデックスをサポートするデータベースに保存されます。次に、「検索」ステップでは、通常、クエリの埋め込みと保存されたベクトルの間の角度の余弦を使用して、意味的類似性検索を実行し、「近い」情報を見つけます。検索エンジンは通常、答えを見つけるために同じことを行います。

  • 会話型検索エージェント(複数のエージェント) は、ツール、実行コード、埋め込み、ベクター ストアを組み合わせて会話型 LLM の概念を拡張します。 「追加特典付きRAG」とも言えます。エージェントは、大規模な言語モデルを特定のドメインに特化させ、カスタマイズされた出力を生成するのに役立ちます。 LangChain とLangSmith を使用すると、RAG パイプラインとエージェントを簡単に構築できます。

  • LLM 微調整は、モデルのパラメーターが特定のタスクに合わせて調整される教師あり学習プロセスです。これを行うために、モデルは、ターゲット タスクに関連する例でラベル付けされた、より小さいタスク固有のデータ セットでトレーニングされます。微調整プロセスには多くの場合、数時間または数日かかり、サーバー レベルで数百または数千のタグ付きサンプルが必要になります。それにもかかわらず、微調整は拡張事前トレーニングよりも大幅に高速です。

  • LLM の事前トレーニングは教師なし学習プロセスを表し、LLM に言語の基礎が「教えられ」、一般的な基本モデルが作成されます。高度な事前トレーニングまたは継続的な事前トレーニングでは、この基本モデルを拡張して、ラベルのないドメインまたはタスク固有のデータ セットを含めます。これは、AI モデルの特殊化に役立ちます。継続的な事前トレーニングの後に、微調整が行われることがよくあります。

微調整と継続的な事前トレーニングはどちらも通常、高価で時間のかかるプロセスです。これらのプロセス用にデータを準備することも課題となる場合があります。微調整となると、予算内でタグ付けを完了することが課題となります。一方、継続的な事前トレーニングの課題は、歪みなどが含まれていない、選択された特定の領域のデータセットを見つけることです。

 Amazon Bedrock テスト済み

Bedrock のローコード アドオンとしての PartyRock

Bedrock に伴い、 AWS はほぼ無料のローコード プラットフォームであるPartyRock をリリースしました。これは、ユーザーが生成 AI のトピックに取り組み始めるときに同行し、最初の小規模な AI アプリケーションの構築をサポートすることを目的としています。 AWS のチーフ エバンジェリスト Jeff Barr がブログ投稿で PartyRock の使用方法を説明しています。

Amazon Bedrock – テストの結論

Amazon Bedrock は、主に Microsoft の Azure AI Studio にとって深刻な競合相手です。特にすでにAWS をご利用の場合、Bedrock は GenAI アプリケーションの構築とスケーリングに適しています。 Amazon サービスが提供する基本モデルは Azure AI Studio よりも少なく、OpenAI モデルへのアクセスは提供されません。コンテンツ フィルターに関しては、Bedrock は (まだ) Azure AI Studio に少し遅れています。ただし、大部分の生成 AI アプリケーションでは、提供されているもので十分です。

コストに関する限り、プロンプトエンジニアリングと RAG アプリに Amazon Bedrock を使用すると、通常は費用対効果が高くなります (人件費を除く)。 Bedrock Playground でこれらのアプリケーションをテストするコストも、通常は無視できる程度です。ただし、AI モデルの微調整と (継続的な) 事前トレーニングとなると、中小企業は (モデルによっては) コストの観点からすでに躊躇する可能性があります。ただし、低遅延で多数のユーザーに継続的に付加価値を提供するアプリケーションは、すぐに元が取れるはずです。

それでもよくわからない場合は、 Amazon Bedrock の無料のインタラクティブなデモを見てください。 (FM)

この投稿は、米国の姉妹誌 Infoworld の記事に基づいています。