モデル カタログで言語モデルを調べる
生成 AI アプリの言語モデルを選択することは、これがアプリの円滑な動作に影響を与えるため重要です。 Azure AI Foundry を使用して生成 AI アプリを開発するときは、次のようないくつかの目的で言語モデルを使用できるチャット アプリケーションを構築します。
- ユーザーの質問を理解する。
- 関連するコンテキストを検索する。
- ユーザーの質問に対する回答を生成する。
Azure AI Foundry ポータルでは、モデル カタログで、利用可能な言語モデルを参照できます。 Azure AI で使用できるモデル カタログと言語モデルの種類を調べることにしましょう。
モデル カタログを探索する
Azure AI Foundry ポータルでモデル カタログに移動すると、すべての利用可能な言語モデルを調べることができます。 さらに、Hugging Face オープンソース ライブラリからモデル カタログに任意のモデルをインポートできます。
ヒント
Hugging Face は、モデルを一般公開するオープンソース コミュニティです。 カタログ内のすべてのモデルを見つけることができます。 さらに、ドキュメントを参照して、BERT などの個々のモデルの動作の詳細について確認できます。
Azure AI Foundry モデル カタログは、Hugging Face やその他のソースのモデルと統合されます。 モデル カタログを使用すると、モデルの探索、微調整、デプロイを行うことができます。
重要
モデルの可用性は、地域 (リージョンとも呼ばれます) によって異なります。 地域は、AI ハブ レベルで指定されます。 新しい AI ハブを作成する際、場所ヘルパーを使用して、デプロイするモデルを指定し、デプロイできる地域の一覧を取得できます。 また、「モデルの概要テーブルとリージョンの可用性」で詳細を確認することもできます。
言語モデルを調べる
モデル カタログの利用可能な基盤および言語モデルは、既に事前トレーニングされています。 言語モデルをエンドポイントにデプロイすることも、特殊なタスクやドメイン固有の知識でパフォーマンスを向上するようにモデルを微調整することもできます。
選択するモデルは、ユース ケースとデプロイの設定によって異なります。 まず、モデルで実行するタスクを検討する必要があります。 次に例を示します。
- テキスト分類
- トークンの分類
- 質問応答
- 概要
- 翻訳
さまざまなタスクに一般的に使用される言語モデルの一部を次に示します。
Model | 説明 |
---|---|
BERT (トランスフォーマーによる双方向のエンコード表現) | トークンの前後のコンテキスト (双方向) を使用して情報をエンコードすることに重点を置いています。 "テキスト分類" や "質問応答" などの特定のタスクを実行するようにモデルを微調整する場合によく使用されます。 |
GPT (生成事前学習トランスフォーマー) | 一貫性のある、コンテキストに関連するテキストを作成するようにトレーニングされています。"テキストの生成" や "チャットの完了" などのタスクで最もよく使用されます。 |
LLaMA (大規模言語モデル Meta AI) | Meta によって作成されたモデルのファミリです。 LLaMA モデルのトレーニング時には、モデルの複雑さを増やすことよりも、多くのトレーニング データを提供することに重点が置かれています。 LLaMA モデルは、"テキストの生成" と "チャットの完了" に使用できます。 |
Phi-3-mini (phi モデルの 3.8B パラメーターのバリエーション) | リソースに制約がある環境やローカル推論 (電話など) 向けに最適化された軽量で最先端のモデルであり、最大 128 K トークンの長いコンテキスト プロンプトをサポートします。 安全性、整合性、人間のフィードバックによる強化学習に重点を置いて開発されています。 |
タスクを選択し、目的に適した使用可能なモデルをフィルター処理した後、Azure AI Foundry でモデルの概要を確認して、次のような他の考慮事項を考慮に入れることができます。
- モデルの機能: 言語モデルの機能と、それらがタスクにどの程度適合しているかを評価します。 たとえば、BERT のようなモデルは、短いテキストを理解することに優れています。
- 事前トレーニング データ: 言語モデルの事前トレーニングに使用されるデータセットを検討します。 たとえば、GPT-2 はインターネット上のフィルター処理されていないコンテンツでトレーニングされるため、偏りが発生する可能性があります。
- 制限と偏り: 言語モデルに存在する可能性がある制限や偏りに注意してください。
- 言語サポート: ユース ケースに必要な特定の言語サポートまたは多言語機能を提供するモデルを確認してください。
ヒント
Azure AI Foundry では、モデル カタログ内の各言語モデルの説明が提供されますが、それぞれのモデル カードを使用して各モデルの詳細情報を確認することもできます。 モデル カードは各モデルの概要で参照され、Hugging Face の Web サイトでホストされます
モデル間でベンチマークを比較する
言語モデルを探索する際には、モデルをデプロイして統合する前に、利用可能なモデルのベンチマークを比較してモデルの品質を評価することもできます。 ベンチマークは、言語モデルに関するレポート カードのようなものであり、 特定のテストやタスクを使用してモデルを他のモデルと比較することで、モデルのパフォーマンスを理解するのに役立ちます。 Azure AI Foundry ポータルのモデル ベンチマークにより、ベンチマーク メトリックに基づいて、特定のタスクで最高のパフォーマンスを発揮するモデルのキュレーション リストが提供されます。
言語モデルのパフォーマンスを評価するために一般的に使用されるメトリックの一部を次に示します。
メトリック | 説明 |
---|---|
精度 | 正確性スコアは、データセットとモデル レベルで使用できます。 データセット レベルでは、スコアはデータセット内のすべての例について計算された正確性メトリックの平均値です。 使用される正確性メトリックは、 メトリックを使用する HumanEval データセットを除くすべてのケースで完全に一致します。 完全一致は、モデルで生成されたテキストをデータセットに従って正しい回答とシンプルに比較し、生成されたテキストが回答と完全に一致する場合は 1 を、それ以外の場合は 0 を報告します。 Pass@1 は、コード生成タスクで一連の単体テストに合格するモデル ソリューションの割合を測定します。 モデル レベルでは、正確性スコアは各モデルのデータセット レベルの正確性の平均です。 |
一貫性 | 一貫性では、言語モデルが流暢で、自然に読めて、人間の言葉に近い出力をどの程度上手く生成できるかが評価されます。 |
流暢性 | 流暢性では、生成 AI の予測した回答の言語熟練度が評価されます。 これは、生成されたテキストが文法規則、統語構造、語彙の適切な使用にどの程度準拠しているかを評価し、言語的に正しくかつ自然に聞こえる応答をもたらします。 |
GPTSimilarity | GPTSimilarity は、グラウンド トゥルース文 (またはドキュメント) と AI モデルによって生成された予測文の類似性を定量化する測定値です。 これは、まず、グラウンド トゥルースとモデル予測の両方について、埋め込み API を使用して文レベルの埋め込みを計算することによって算出されます。 これらの埋め込みは、文の高次元ベクトル表現を表すもので、文のセマンティックな意味とコンテキストを捉えます。 |
現実性 | 現実度 (Groundedness) では、言語モデルの生成した回答が入力ソースからの情報とどの程度合致しているかが評価されます。 |
関連性 | 関連度では、言語モデルの生成した応答が、与えられた質問に対してどの程度適切で、直接的な関連性があるかが評価されます。 |
Note
言語モデルを使用するアプリケーションを開発および評価する場合、メトリックを使用して、モデルとアプリケーションのパフォーマンスを測定することが重要です。 異なるモデルを比較するベンチマークに使用される同じメトリックを、開発時に個々のモデルのパフォーマンスを評価するために使用することもできます。 これらのメトリックは、モデルのパフォーマンスを理解し、改善すべき領域を特定するのに役立ちます。
ニーズに適したモデルの選択は、反復的なプロセスになる可能性があります。 次に、モデルをテストし、ユース ケースに合わせてモデルを最適化する方法を試すことができるように、モデルをデプロイする方法を学習します。