bert-small-uncased-whole-word-masking-squad-0002#

ユースケースと概要説明#

これは、トランスフォーマー・ライブラリーによって提供されるオリジナルの bert-large-uncased-whole-word-masking-finetuned-squad から SQuAD v1.1 トレーニング・セットに基づいて抽出された、小規模な BERT-large に類似したモデルです。このモデルは英語の質問応答を実行します。入力は、前提とその前提に対する質問を連結したもので、出力は前提内の質問に対する回答の場所です。元のモデルの詳細については、BERT: 言語理解のためのディープ双方向トランスフォーマーの事前トレーニングHuggingFace のトランスフォーマー: 最先端の自然言語処理 を参照してください。

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

仕様#

メトリック

GOps

23.9

MParams

41.1

ソース・フレームワーク

PyTorch*

精度#

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

メトリック

F1

91.9%

完全一致 (EM)

85.4%

入力#

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

  2. 入力マスク、名前: attention_mask、形状: 1, 384。入力マスクは、入力内の有効な値のマスクを表す整数値です。入力の値は次と等しくなります:

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

    • 0 はそれ以外の位置です

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

    • 1 は、質問のトークン化された前提に対応する位置 + input_ids[SEP] 部分、および

    • 0 はそれ以外の位置です

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

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

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

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

出力#

最終出力は 2 つの 1, 384 浮動小数点値のロジットのスコアベクトルであり、ソフトマックス操作後の質問の前提における回答の開始位置と終了位置の確率になります。

  1. 開始位置: 名前: output_s、形状: 1, 384。開始位置は、開始位置の浮動小数点値のロジットスコアです。

  2. 終了位置: 名前: output_e、形状: 1, 384。終了位置は、終了位置の浮動小数点値のロジットスコアです。

デモの使い方#

このモデルは、Open Model Zoo が提供する次のデモで使用して、その機能を示します: