DrDavis's picture
Upload folder using huggingface_hub
17c6d62 verified

BERT

Overview

BERT モデルは、Jacob Devlin、Ming-Wei Chang、Kenton Lee、Kristina Toutanova によって BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding で提案されました。それは マスクされた言語モデリング目標と次の文の組み合わせを使用して事前トレーニングされた双方向トランスフォーマー Toronto Book Corpus と Wikipedia からなる大規模なコーパスでの予測。

論文の要約は次のとおりです。

BERT と呼ばれる新しい言語表現モデルを導入します。これは Bidirectional Encoder Representations の略です トランスフォーマーより。最近の言語表現モデルとは異なり、BERT は深い双方向性を事前にトレーニングするように設計されています。 すべてのレイヤーの左と右の両方のコンテキストを共同で条件付けすることにより、ラベルのないテキストから表現します。結果として、 事前トレーニングされた BERT モデルは、出力層を 1 つ追加するだけで微調整して、最先端のモデルを作成できます。 実質的なタスク固有のものを必要とせず、質問応答や言語推論などの幅広いタスクに対応 アーキテクチャの変更。

BERT は概念的にはシンプルですが、経験的に強力です。 11 の自然な要素に関する新しい最先端の結果が得られます。 言語処理タスク(GLUE スコアを 80.5% に押し上げる(7.7% ポイントの絶対改善)、MultiNLI を含む) 精度は 86.7% (絶対値 4.6% 向上)、SQuAD v1.1 質問応答テスト F1 は 93.2 (絶対値 1.5 ポイント) 改善) および SQuAD v2.0 テスト F1 から 83.1 (5.1 ポイントの絶対改善)。

Usage tips

  • BERT は絶対位置埋め込みを備えたモデルであるため、通常は入力を右側にパディングすることをお勧めします。 左。

  • BERT は、マスク言語モデリング (MLM) および次の文予測 (NSP) の目標を使用してトレーニングされました。それは マスクされたトークンの予測や NLU では一般に効率的ですが、テキスト生成には最適ではありません。

  • ランダム マスキングを使用して入力を破壊します。より正確には、事前トレーニング中に、トークンの指定された割合 (通常は 15%) が次によってマスクされます。

    • 確率0.8の特別なマスクトークン
    • 確率 0.1 でマスクされたトークンとは異なるランダムなトークン
    • 確率 0.1 の同じトークン
  • モデルは元の文を予測する必要がありますが、2 番目の目的があります。入力は 2 つの文 A と B (間に分離トークンあり) です。確率 50% では、文はコーパス内で連続していますが、残りの 50% では関連性がありません。モデルは、文が連続しているかどうかを予測する必要があります。

このモデルは thomwolf によって提供されました。元のコードは こちら にあります。

Resources

BERT を始めるのに役立つ公式 Hugging Face およびコミュニティ (🌎 で示される) リソースのリスト。ここに含めるリソースの送信に興味がある場合は、お気軽にプル リクエストを開いてください。審査させていただきます。リソースは、既存のリソースを複製するのではなく、何か新しいものを示すことが理想的です。

複数の選択肢

⚡️ 推論

⚙️ 事前トレーニング

🚀 デプロイ

BertConfig

[[autodoc]] BertConfig - all

BertTokenizer

[[autodoc]] BertTokenizer - build_inputs_with_special_tokens - get_special_tokens_mask - create_token_type_ids_from_sequences - save_vocabulary

BertTokenizerFast

[[autodoc]] BertTokenizerFast

TFBertTokenizer

[[autodoc]] TFBertTokenizer

Bert specific outputs

[[autodoc]] models.bert.modeling_bert.BertForPreTrainingOutput

[[autodoc]] models.bert.modeling_tf_bert.TFBertForPreTrainingOutput

[[autodoc]] models.bert.modeling_flax_bert.FlaxBertForPreTrainingOutput

BertModel

[[autodoc]] BertModel - forward

BertForPreTraining

[[autodoc]] BertForPreTraining - forward

BertLMHeadModel

[[autodoc]] BertLMHeadModel - forward

BertForMaskedLM

[[autodoc]] BertForMaskedLM - forward

BertForNextSentencePrediction

[[autodoc]] BertForNextSentencePrediction - forward

BertForSequenceClassification

[[autodoc]] BertForSequenceClassification - forward

BertForMultipleChoice

[[autodoc]] BertForMultipleChoice - forward

BertForTokenClassification

[[autodoc]] BertForTokenClassification - forward

BertForQuestionAnswering

[[autodoc]] BertForQuestionAnswering - forward

TFBertModel

[[autodoc]] TFBertModel - call

TFBertForPreTraining

[[autodoc]] TFBertForPreTraining - call

TFBertModelLMHeadModel

[[autodoc]] TFBertLMHeadModel - call

TFBertForMaskedLM

[[autodoc]] TFBertForMaskedLM - call

TFBertForNextSentencePrediction

[[autodoc]] TFBertForNextSentencePrediction - call

TFBertForSequenceClassification

[[autodoc]] TFBertForSequenceClassification - call

TFBertForMultipleChoice

[[autodoc]] TFBertForMultipleChoice - call

TFBertForTokenClassification

[[autodoc]] TFBertForTokenClassification - call

TFBertForQuestionAnswering

[[autodoc]] TFBertForQuestionAnswering - call

FlaxBertModel

[[autodoc]] FlaxBertModel - call

FlaxBertForPreTraining

[[autodoc]] FlaxBertForPreTraining - call

FlaxBertForCausalLM

[[autodoc]] FlaxBertForCausalLM - call

FlaxBertForMaskedLM

[[autodoc]] FlaxBertForMaskedLM - call

FlaxBertForNextSentencePrediction

[[autodoc]] FlaxBertForNextSentencePrediction - call

FlaxBertForSequenceClassification

[[autodoc]] FlaxBertForSequenceClassification - call

FlaxBertForMultipleChoice

[[autodoc]] FlaxBertForMultipleChoice - call

FlaxBertForTokenClassification

[[autodoc]] FlaxBertForTokenClassification - call

FlaxBertForQuestionAnswering

[[autodoc]] FlaxBertForQuestionAnswering - call