Amazon Novaモデルのツール活用最適化

現代の急速に進化するテクノロジー環境において、大規模言語モデル (LLM) は自然言語処理のための強力なツールとして登場しました。しかし、静的なトレーニングデータへの依存は、現実世界のシナリオに適応する能力を制限します。業界が情報に基づいた意思決定が可能な AI ソリューションをますます要求するにつれて、外部ツールと API の統合が最も重要になっています。これらのツールが利用される精度は、自律エージェントの意思決定能力と運用効率を高めるために重要であり、最終的には洗練されたエージェントワークフローの開発につながります。

この記事では、Amazon Bedrock を介した Amazon Nova モデルを使用したツール呼び出しの技術的な側面について詳しく説明します。さらに、これらのモデルをカスタマイズしてツール利用の精度を高めるためのさまざまな方法について説明します。

LLM の能力をツール利用で拡張

LLM は、幅広い自然言語タスクで目覚ましい能力を発揮してきました。ただし、それらの真の可能性は、API や計算フレームワークなどの外部ツールとのシームレスな統合を通じて発揮されます。これらのツールにより、LLM はリアルタイムデータにアクセスしたり、ドメイン固有の計算を実行したり、正確な情報を取得したりできるため、信頼性と汎用性が向上します。

正確で最新の天気予報を提供する LLM を可能にする天気 API の統合を考えてみましょう。同様に、Wikipedia API を使用すると、LLM に膨大な情報リポジトリへのアクセス機能が装備され、より正確に複雑なクエリに応答できます。科学的なコンテキストでは、計算機や記号エンジンなどのツールが LLM が数値の不正確さを克服するのに役立ち、複雑な計算に対する信頼性が向上します。

これらのツールとシームレスに統合することにより、LLM は、動的で特殊なタスクを現実世界のユーティリティで処理できる、堅牢なドメイン対応システムに進化します。

Amazon Nova モデルと Amazon Bedrock

2024 年 12 月の AWS re:Invent で発表された Amazon Nova モデルは、卓越した価格対性能を提供するように設計されています。これらのモデルは、費用対効果を維持しながら、主要なテキスト理解ベンチマークで最先端のパフォーマンスを提供します。シリーズは 3 つのバリアントで構成されています。

  • Micro: エッジでの使用に最適化されたテキストのみのモデルで、超効率的なパフォーマンスを提供します。
  • Lite: 多様性とパフォーマンスのバランスが取れたマルチモーダルモデル。
  • Pro: 複雑なタスクに取り組むように設計された、高性能マルチモーダルモデル。

Amazon Nova モデルは、生成やエージェントワークフローの開発など、幅広いタスクに使用できます。これらのモデルは、ツール呼び出しと呼ばれるプロセスを通じて、外部ツールまたはサービスと対話する機能を備えています。この機能には、Amazon Bedrock コンソールや Converse や Invoke などの API を介してアクセスできます。

事前トレーニング済みのモデルを利用することに加えて、開発者はマルチモーダルデータ (Pro および Lite) またはテキストデータ (Pro、Lite、および Micro) でこれらのモデルを微調整するオプションがあります。この柔軟性により、開発者は目的のレベルの精度、レイテンシ、および費用対効果を実現できます。さらに、開発者は Amazon Bedrock コンソールと API を活用して、セルフサービスのカスタム微調整と、より大きなモデルからより小さなモデルへの蒸留を実行できます。

ソリューションの概要

ソリューションには、ツール使用向けに特別に設計されたカスタムデータセットを準備することが含まれます。次に、このデータセットを使用して、Converse および Invoke API を利用して、Amazon Bedrock を介した Amazon Nova モデルのパフォーマンスを評価します。その後、AmazonNova Micro および Amazon Nova Lite モデルは、Amazon Bedrock を介して準備されたデータセットを使用して微調整されます。微調整プロセスが完了すると、これらのカスタマイズされたモデルはプロビジョニングされたスループットを通じて評価されます。

ツール

LLM でのツール使用には、ツール選択と引数抽出または生成という 2 つの重要な操作が含まれます。たとえば、特定の場所の天気情報を取得するように設計されたツールについて考えてみましょう。「今のロンドンの天気はどうですか?」などのクエリが表示されると、LLM は利用可能なツールを評価して、適切なツールが存在するかどうかを判断します。適切なツールが識別された場合、モデルはそれを選択し、必要な引数 (この場合は「ロンドン」) を抽出して、ツール呼び出しを構築します。

各ツールは、意図された機能、必須およびオプションの引数、および関連するデータ型を概説する正式な仕様で細心の注意を払って定義されています。tool config と呼ばれるこれらの正確な定義により、ツール呼び出しが正しく実行され、引数の解析がツールの運用要件に沿っていることが保証されます。この要件を遵守して、この例で使用されるデータセットは、それぞれ独自の引数と構成を持つ 8 つの異なるツールを定義しており、すべて JSON 形式で構造化されています。定義されている 8 つのツールは次のとおりです。

  • weather_api_call: 天気情報を取得するために設計されたカスタムツール。
  • stat_pull: 統計を識別するためのカスタムツール。
  • text_to_sql: テキストを SQL クエリに変換するためのカスタムツール。
  • terminal: ターミナル環境内でスクリプトを実行するためのツール。
  • wikipedia: Wikipedia ページを検索するための Wikipedia API ツール。
  • duckduckgo_results_json: DuckDuckGo を使用して検索を実行するインターネット検索ツール。
  • youtube_search: ビデオリストを検索するための YouTube API 検索ツール。
  • pubmed_search: PubMed の要約を検索するための PubMed 検索ツール。

データセット

このソリューションで使用されるデータセットは、Amazon Bedrock の基盤モデル (FM) の支援を受けて作成され、その後手動で検証および調整された合成ツール呼び出しデータセットです。このデータセットは、以前に説明した 8 つのツールセットのために開発され、別のモデルがこれらの例から学習し、見えないツール呼び出しに一般化できるように、多様な質問とツール呼び出しのコレクションを生成することを目的としています。

データセット内の各エントリは JSON オブジェクトとして構造化されており、モデルの質問 (モデルに対する自然言語ユーザークエリ)、ユーザー クエリに回答するために必要なグラウンドトゥルースツール、引数 (ツールを実行するために必要なパラメータを含むディクショナリ)、および追加の制約 (引数の順序が重要かどうかを示す order_matters: boolean や、引数の検証またはフォーマット用のオプションの正規表現 (regex) など) を定義するキーと値のペアが含まれています。これらのグラウンドトゥルースラベルは、事前トレーニング済みの Amazon Nova モデルのトレーニングを監督し、ツールを使用するために適応させます。教師あり微調整 と呼ばれるこのプロセスについては、次のセクションでさらに詳しく説明します。

トレーニングセットは 560 の質問で構成され、テストセットは 120 の質問で構成されています。テストセットは、ツールカテゴリごとに 15 の質問を含むように構造化されており、合計 120 の質問になります。

Amazon Nova 用のデータセットの準備

このデータセットを Amazon Nova モデルで効果的に利用するには、特定のチャットテンプレートに従ってデータをフォーマットする必要があります。ネイティブツール呼び出しには、入力内容を適切な形式にフォーマットしてからモデルに渡す変換レイヤーが組み込まれています。このソリューションでは、DIY ツール使用アプローチが採用され、カスタムプロンプトテンプレートが採用されています。具体的には、システムプロンプト、ツール構成が埋め込まれたユーザーメッセージ、およびグラウンドトゥルースラベルをアシスタントメッセージとして追加する必要があります。

Amazon S3 へのデータセットのアップロード

このステップは、微調整プロセス中に Amazon Bedrock がトレーニングデータにアクセスできるようにするために不可欠です。データセットは、Amazon Simple Storage Service (Amazon S3) コンソールを介して、またはプログラムでアップロードできます。

Amazon Bedrock API を介したベースモデルでのツール呼び出し

ツール使用データセットが作成され、必要に応じてフォーマットされたら、Amazon Nova モデルをテストするために使用できます。Converse API と Invoke API の両方を、Amazon Bedrock でのツール使用に使用できます。Converse API は、動的でコンテキストを認識した会話を可能にし、モデルが複数ターンの対話に関与できるようにします。一方、Invoke API を使用すると、ユーザーは Amazon Bedrock 内の基になるモデルを呼び出して対話できます。

Converse API を使用するには、メッセージ、システムプロンプト (ある場合)、およびツール構成を API に直接送信します。

LLM 応答からツールと引数を解析するには、質問「ねえ、今のパリの気温は?」を検討してください。出力は、質問に答えるために必要なツールと引数を識別するために解析されます。

ツール利用を強化するための Amazon Nova モデルの微調整

微調整は、Amazon Nova などの事前トレーニング済みの言語モデルを特定のタスクに適応させるための重要なステップです。モデルを目的のアプリケーションに合わせて調整されたデータセットでトレーニングすることにより、モデルはより高い精度と効率でタスクを実行することを学習できます。ツール使用のコンテキストでは、微調整により、適切なツールを選択し、正しい引数を抽出するモデルの能力が大幅に向上します。

微調整のプロセスには、モデルの予測とトレーニングデータセットのグラウンドトゥルースラベルの間の差を最小限に抑えるために、モデルの内部パラメータを調整することが含まれます。これは通常、反復プロセスを通じて実現され、モデルがトレーニングデータに繰り返し公開され、観測されたエラーに基づいてパラメータが調整されます。

微調整データセットの準備

微調整データセットは、モデルが現実世界のシナリオで処理することが予想される質問とツール呼び出しの種類を反映するように慎重にキュレーションする必要があります。データセットには、さまざまなツールカテゴリと引数パターンをカバーする、さまざまな例を含める必要があります。

データセット内の各例は、質問、呼び出す対応するツール、およびツールを実行するために必要な引数で構成されている必要があります。引数は、構造化された方法で、通常は JSON オブジェクトとしてフォーマットする必要があります。

微調整プロセス

微調整プロセスは、Amazon Bedrock コンソールまたは API を使用して実行できます。このプロセスには、微調整するモデル、微調整データセット、および目的のトレーニングパラメータを指定することが含まれます。

トレーニングパラメータは、学習率、バッチサイズ、エポック数など、微調整プロセスのさまざまな側面を制御します。学習率は、各反復中にパラメータ調整が行われる大きさ (大きさ) を決定します。バッチサイズは、各反復で処理される例の数を決定します。エポック数は、モデルがトレーニングデータセット全体に公開される回数を決定します。

微調整されたモデルの評価

微調整プロセスが完了したら、微調整されたモデルのパフォーマンスを評価することが不可欠です。これは、微調整プロセス中に使用されなかった個別のテストデータセットでモデルをテストすることによって行うことができます。

テストデータセットは、モデルが現実世界のシナリオで処理することが予想される質問とツール呼び出しの種類を表す必要があります。モデルのパフォーマンスは、精度、適合率、再現率、F1 スコアなどのメトリックを測定することによって評価できます。

ツール利用のために Amazon Nova モデルをカスタマイズする利点

ツール利用のために Amazon Nova モデルをカスタマイズすると、いくつかの利点があります。

  • 精度の向上: タスク固有のデータセットでモデルを微調整すると、ツール選択と引数抽出の精度が大幅に向上します。
  • 効率の向上: 微調整されたモデルは、事前トレーニング済みのモデルよりもツール使用タスクをより効率的に実行できることがよくあります。
  • 適応性の向上: 微調整により、モデルは特定のドメインやユースケースに適応できます。
  • コストの削減: 場合によっては、微調整により、ツール使用タスクを実行するために必要な計算リソースを削減できます。

結論

ツール利用のために Amazon Nova モデルをカスタマイズすることは、LLM のパフォーマンスと適応性を高めるための価値のある手法です。タスク固有のデータセットでモデルを微調整することにより、開発者はツール使用アプリケーションの精度、効率、および適応性を大幅に向上させることができます。業界が情報に基づいた意思決定が可能な AI ソリューションをますます要求するにつれて、ツール利用のための LLM のカスタマイズはますます重要になります。