bert-large-uncased-whole-word-masking-squad-emb-0001

ユースケースと概要説明

これは、Transformers ライブラリーによって提供されるオリジナルの bert-large-uncased-whole-word-masking の SQuAD v1.1 トレーニングセットに基づいて微調整された BERT-large モデルです。モデルは、英語のコンテキストまたは質問の埋め込みを実行します。入力はコンテキストまたは質問であり、出力は 1024D 埋め込みベクトルです。これにより、1024D 埋め込み空間内のコンテキストと質問埋め込みベクトルを単純に比較することで、質問に対する回答を含むコンテキストを見つけることができます。元のモデルの詳細については、BERT: 言語理解のためのディープ双方向トランスフォーマーの事前トレーニング、Hugging Face のトランスフォーマー: 最先端の自然言語処理を参照してください。

トークン化は、BERT トークナイザー (実装の詳細についてはデモコードを参照) と同梱されている vocab.txt 辞書ファイルを使用して行われます。入力はトークン化する前に小文字にする必要があります。

仕様

メトリック

GOps

246.93

MParams

333.96

ソース・フレームワーク

PyTorch*

GOps は、長いコンテキストに適した 1, 384 入力サイズに対して計算されます

精度

品質メトリックは、SQuAD v1.1 データセット (dev 分割) に基づいて計算されました。コンテキストの最大シーケンス長は 384、質問の最大シーケンス長は 32、入力は小文字です。

メトリック

top5

90.5%

トップ 5 は次のように計算されます。

  1. SQuAD v1.1 dev セットのコンテキストごとに、コンテキスト埋め込みベクトルが計算されます。

  2. SQuAD v1.1 開発セットからの質問ごとに、質問埋め込みベクトルが計算され、以前に計算された各コンテキスト埋め込みベクトルと比較されます。適切なコンテキストが、質問埋め込みに最も近い上位 5 つのコンテキスト埋め込みにある場合、top5_count は 1 増加します。

  3. top5 = top5_count/question_number

入力

  1. トークン ID、名前: input_ids、形状: コンテキストでは 1, 384、質問では 1, 32。トークン ID は、トークン化されたコンテキストまたは質問を表す整数値です。シーケンス構造は次のとおりです ([CLS][SEP] および [PAD] は、辞書で指定されている対応するトークン ID に置き換える必要があります): [CLS] + トークン化されたコンテキストまたは質問 + [SEP] + (最大シーケンス長 384 または 32 までパディングする [PAD] トークン)。

  2. 入力マスク、名前: attention_mask、形状:コンテキストの場合は 1, 384、質問の場合は 1, 32。入力マスクは、入力内の有効な値のマスクを表す整数値です。入力の値は次と等しくなります。

    • 1 は、[CLS] + トークン化されたコンテキストまたは質問 + input_ids[SEP] 部分に対応する位置 (つまり、[PAD] トークンを含む位置を除くすべての位置)

    • [PAD] はそれ以外の位置

  3. トークンタイプ、名前: token_type_ids、形状: コンテキストの場合は 1, 384、質問の場合は 1, 32。トークンタイプは、input_ids を質問と前提に分割することを表す整数値です。値は次のとおりです。

    • 0 は、[CLS] + トークン化されたコンテキストまたは質問 + input_ids[SEP] 部分に対応する位置 (つまり、[PAD] トークンを含む位置を除くすべての位置)

    • [PAD] はそれ以外の位置

  4. 位置インデックス、名前: position_ids、形状: コンテキストの場合は 1, 384、質問の場合は 1, 32。位置インデックスは、各入力トークンの位置インデックスを表す 0 ~ 383 (質問の場合は 31) の整数値のシーケンスです。position_ids は、どの入力トークンセットでも常に同じです

  • [CLS] は、質問の前に追加される特殊記号です。

  • [SEP] は、質問と質問の前提の間に挿入される特殊な区切り文字トークンです。

  • [PAD] は、指定された入力長 (384) を取得するために入力の残りを埋める特殊トークンです。

出力

埋め込み、名前: embedding、形状 1, 1024。これらのベクトルを使用すると、1024D 埋め込み空間でコンテキスト埋め込みベクトルと質問コンテキスト埋め込みベクトルを単純に比較することで、質問に対する回答を含むより適切なコンテキストを見つけることができます。

デモの使い方

Open Model Zoo が提供する次のデモでこのモデルを使用して、その機能を確認できます。